Skip to content

Managing your Minecraft server

Protect your Minecraft world: what a backup must include, safe save commands on Java and Bedrock, CoreProtect rollback, and scheduled daily restarts.

Updated August 19, 2026
Minecraft

This guide covers the two jobs that keep a Minecraft server alive over months rather than weeks: protecting the world and running it on a sane routine. It applies to both Java and Bedrock, on top of any of the setup guides: Java: Getting Started, Java: Plugins, Java: Mods, or Bedrock.

Performance now has pages of its own, because it deserved more than a bullet list:

Performance in Ninety Seconds

If you only take three things from the performance pages, take these:

  1. Lower simulation-distance before view-distance. Simulation distance decides how many chunks actually tick entities, crops and redstone; view distance mostly costs bandwidth. Dropping simulation to 6 while leaving view at 8 to 10 is the cheapest win there is.
  2. Run Paper or Purpur rather than the vanilla jar if you are using plugins. The tick-loop optimisations are substantial once you are past a handful of players — Minecraft Server Software Compared sets out the trade-offs.
  3. Measure before you buy. More RAM fixes very few lag problems, because the Minecraft tick loop runs on a single thread. /spark tps tells you in one command whether memory is even involved.

Bedrock

Bedrock Dedicated Server has no JVM and no spark, so the two Java pages above do not apply to it. Its levers are narrower:

  • Lower view-distance in server.properties. Bedrock's default is a very generous 32 chunks. This is the lever with real headroom in it — bringing it down to 12 to 16 on a busy server costs players almost nothing.
  • Leave tick-distance alone. It controls how many chunks are ticked around each player and is Bedrock's nearest equivalent to Java's simulation-distance, but its default of 4 is also its minimum — the allowed range is 4 to 12. There is nothing to gain by lowering it, and raising it costs CPU.
  • Set max-players to something your plan can actually serve. Bedrock is lighter than Java, but a slot count set past the hardware still guarantees lag at peak.
  • Restart daily, as with any long-running server.

What Is Actually in a Minecraft World

Knowing which files carry your community's work makes every decision below obvious. On Java Edition, the world directory is named by level-name in server.properties (world by default), and it contains:

Path What it holds
level.dat Global world state — seed, spawn point, time, gamerules, world border. level.dat_old is the previous copy
dimensions/minecraft/overworld/region/ The Overworld terrain itself, as r.<x>.<z>.mca region files
dimensions/minecraft/the_nether/, .../the_end/ The other two dimensions, same layout
.../entities/ and .../poi/ Entity data and points of interest — villager job sites and beds, Nether portals, bee nests, lodestones — stored separately from the terrain region files
data/ Scoreboards, raids, wandering trader state, world generation settings
datapacks/ Data packs enabled for this world
Player data Per-player .dat and .json files, keyed by UUID — inventories, positions, statistics and advancements

And these live outside the world folder, in the server root — losing them loses your staff structure and your bans:

  • ops.json, whitelist.json, banned-players.json, banned-ips.json
  • server.properties, and on Paper the config/ directory
  • plugins/ (with each plugin's own data folder inside it) or mods/

Back up the whole server, not the world folder

Plugin data is the reason. A land-claim plugin, an economy plugin and a permissions plugin all store their state in plugins/<PluginName>/, and restoring a world without them gives you the terrain back and nothing else — no claims, no balances, no ranks. The panel's Backups tab snapshots the entire server volume, which is exactly what you want. See How to Create a Backup for the mechanics.

A Backup Routine That Holds Up

The panel workflow — creating, restoring, downloading, locking and the retention allowance — is covered in How to Create a Backup. What matters here is when, and Minecraft's answer differs from most games because a world is cumulative: nobody wipes it, so a loss is permanent.

  • Daily automatic snapshot, minimum, on any server people actually play on.
  • Twice daily during a big build project or an active season.
  • Before every update — Minecraft version, plugin or mod updates, pack upgrades. This is the one people skip and the one that costs worlds.
  • Monthly download to your own storage. A panel backup protects you from your own mistakes; a copy on your own disk protects you from everything else.

Plugin backups are not a substitute

Plugins such as EssentialsX offer their own /backup command, but they copy the world to another folder on the same volume. That protects against a bad /fill; it does not protect against anything that affects the volume itself. Use panel backups as the primary safety net and treat plugin backups as a convenience on top.

Automating it

From the Schedules tab:

  1. Create schedule: "Daily Backup"

  2. Cron: 0 5 * * * (5 AM server time)

  3. Add task: Create Backup, name pattern auto-{date}

Taking a Consistent Snapshot

A world being written to while it is being copied can produce a backup with half-saved chunks. Panel backups handle this for you, and for most people that is the end of the matter. If you are copying files by hand — an SFTP pull, or an external script — flush the world to disk first and pause writes while you copy.

On Java, the sequence is save-off, then save-all flush, then your copy, then save-on. save-all flush writes every player and chunk to disk immediately, and save-off queues further level changes in memory until you re-enable saving. The full sequence, with the reasoning, is in Minecraft Server Commands.

Never leave save-off on

With saving disabled, everything your players do lives only in memory. A crash at that point loses all of it. If a manual copy fails halfway through, run save-on before you do anything else.

On Bedrock, the equivalent commands are different and often missed:

save hold
save query
save resume
Bedrock Dedicated Server console

save hold stops the server writing to the world files and queues changes. save query then reports the path of every file that must be copied, along with the number of bytes to truncate each one to — Bedrock's files can contain trailing data that is not yet valid, so the truncation lengths are part of the answer, not a detail. save resume re-enables writing.

Rollback: Three Different Undos

"Can you roll it back?" means three different operations depending on what went wrong, and picking the wrong one costs more than the original damage.

What happened The right undo What it costs
One player griefed a build, stole from chests, or a plugin misfired CoreProtect rollback — surgical, targeted at one player, one area and one time window Nothing else on the server is touched
The world is corrupt, an update went wrong, or a /fill flattened something enormous Panel backup restore Everything since that backup is lost, for everyone
A player lost an inventory to a bug CoreProtect with a:inventory Nothing else is touched

A full restore is a blunt instrument. If a single player broke a single base, restoring last night's backup punishes everyone who played since, and they will notice. Choosing between the three, and the prevention layer that stops you needing any of them, is covered in full in Minecraft Grief Protection and Rollback.

CoreProtect

CoreProtect logs block, container, inventory and chat activity so it can be reversed later. It is a Paper/Spigot plugin — install it as described in How to install plugins for Minecraft Java Edition.

It only knows what happened after you installed it

CoreProtect cannot roll back griefing that happened before it was logging. This is the single reason to install it on day one rather than the day you need it.

Toggle the inspector and left- or right-click a block to see its history:

> co inspect
Console or in-game

Look before you leap. /co lookup takes the same parameters as a rollback but only reports:

> co lookup t:2h r:20 a:-block
Who broke the diamond blocks here in the last two hours?

Then roll back what you found. The parameters are u: user, t: time, r: radius, a: action, i: include and e: exclude:

> co rollback u:PlayerName t:1h #preview
> co rollback u:PlayerName t:1h r:30
> co rollback u:PlayerName t:6h r:#global e:stone,dirt
> co rollback u:PlayerName t:5m a:inventory
Rollback examples

Three things to know before you run one:

  • The default radius is 10 blocks if you do not specify r:, which restricts the rollback to your immediate surroundings. Use r:#global for a server-wide rollback, and mean it when you do.
  • #preview shows you the result without applying it. Use it every time on anything larger than a few blocks.
  • A rollback is itself reversible. /co restore with the same parameters — or /co undo — puts back what a rollback removed, so an over-broad rollback is recoverable.

Lookups are global by default while rollbacks are not, which is a deliberate asymmetry: it makes searching wide and changing narrow the path of least resistance.

Restoring a World, or Moving One

A panel restore overwrites the current server state, so take a fresh backup first if there is any chance you will want the current state back. The full workflow, including pulling a single file out of a downloaded archive, is in How to Create a Backup. Putting a world on the server rather than restoring one — a singleplayer save you played on your own PC, or a second world running alongside the first — is a different job, covered in Minecraft World Management.

A Minecraft world only travels forwards

Loading a world on a newer Minecraft version upgrades it in place, permanently, the moment the server starts — nobody needs to join. A downgraded server then refuses it with Server attempted to load chunk saved with newer version of minecraft!. There is no supported way back. The pre-upgrade backup is the only route, which is why "before every update" is on the list above. Updating Your Minecraft Server walks the upgrade through in a safe order.

Scheduled Restarts

Both editions benefit from a daily restart. On Java it clears memory creep and resets anything a plugin has slowly leaked; on Bedrock it does much the same for the server process. From the Schedules tab:

  1. Create schedule: "Daily Restart"

  2. Cron: 0 4 * * * (4 AM, before the 5 AM backup)

  3. Tasks (Java, with player warnings via a plugin or say):

    • Send Command: say Server restarting in 5 minutes.
    • Send Command: say Server restarting in 1 minute. (offset 240s)
    • Send Power Action: Restart (offset 300s)

A restart is maintenance, not a fix

A nightly restart is good hygiene. Restarting every few hours to stay playable is a symptom — see Diagnosing Minecraft Server Lag to find out what you are actually restarting away from.

For player warnings, chained backup-then-restart schedules and the rest of the automation this tab can do, see Minecraft Scheduled Restarts and Server Automation.

Common Issues

  • "Failed to verify username" (Java): a player without a paid Minecraft account tried to connect while online-mode=true. They need a real account. Setting online-mode=false is insecure on a public server and is not a fix — every ban, whitelist entry and anti-cheat measure you own depends on that one setting, as Minecraft Anti-Cheat and Fair Play explains.
  • The world reverted after a restart: saving was disabled — usually save-off left on after a manual backup, or a plugin that pauses saves. Run save-on and verify with save-all flush.
  • Plugin or mod errors after a Minecraft update: plugins and mods are built per Minecraft version. Check compatibility and take a backup before bumping the version, because the world upgrade is one-way.
  • A player lost their inventory: co lookup u:PlayerName t:1h a:inventory first, then roll back the same window if the log confirms it. Do not restore a backup for one inventory.
  • Griefing discovered days later: CoreProtect can still reverse it if it was logging at the time — widen t: accordingly. If it was not installed, only a backup from before the grief can help.
  • Backup fails or the schedule stops running: check the Backups tab for the allowance message. If every backup is locked and you are at the limit, new ones fail silently every night. How to Create a Backup covers this.
  • Bedrock players cannot connect to a Java server: that requires Geyser, not a config change.

Made with 💜 by GameServerKings

Need a Minecraft server?

Deploy an instantly-provisioned Minecraft server on high-clock hardware — DDoS protected, no contracts, cancel anytime.

From $4.80 /month