Skip to content

Managing your Minecraft server

Updated July 02, 2026
Minecraft
Minecraft Performance and Backups | GameServerKings KB

Minecraft Performance and Backups

This guide covers keeping a Minecraft server smooth and protecting your world, for both Java and Bedrock. It applies on top of any of the setup guides: Java: Getting Started, Java: Plugins, Java: Mods, or Bedrock.

Performance Tips (Java)

  • Use PaperMC or Purpur, not vanilla. The performance gains over the vanilla jar are large, especially with more than a handful of players. Paper optimizes entity ticking, chunk loading, and dozens of other systems.
  • Lower view-distance and simulation-distance. Default 10 each is reasonable; drop to 6 to 8 for crowded servers. simulation-distance especially drives CPU cost, since it controls how far entities and redstone actually tick.
  • Install Spark for profiling. The Spark plugin (/spark profiler) identifies exactly which plugins, entities, or chunks are eating your tick time. It is the single best tool for diagnosing lag.
  • Watch your tick rate. A healthy server holds 20 TPS (ticks per second). Use /spark tps or a plugin to monitor. Sustained drops below 20 mean the server cannot keep up.
  • Cap entities. Mob farms and item-drop accumulation are common lag sources. Paper's paper-world-defaults.yml lets you cap entities per chunk.
  • Schedule daily restarts at low-population hours to clear memory fragmentation.

Performance Tips (Modded Java)

  • Allocate enough RAM. Large modpacks are memory-hungry; if you see out-of-memory crashes, raise the Xmx heap size.
  • Use a performance mod set. Packs increasingly bundle Lithium, Starlight, and FerriteCore (Fabric) or equivalents for big server-side gains.
  • Pre-generate chunks. Tools like Chunky generate the world ahead of time so players are not triggering expensive generation while exploring.
  • Watch for laggy machines. In automation packs (Create, mekanism), a runaway machine setup can tank the whole server. Spark profiling finds these.

Performance Tips (Bedrock)

  • Lower tick-distance. Default 4 is reasonable; drop to 3 on crowded servers. It controls simulated chunks per player.
  • Cap max-players realistically. Bedrock is lighter than Java but still benefits from a sane slot count for your RAM.
  • Schedule daily restarts like any long-running server.

JVM Memory and Garbage Collection (Java)

The Startup tab exposes the Xmx (max heap) value. A few principles:

  • Allocate roughly 75% of your purchased RAM to the heap, leaving the rest for the OS and off-heap overhead.
  • More RAM is not always better. Beyond what the server actually uses, extra heap just makes garbage-collection pauses longer. A 20-player Paper server rarely needs more than 6 to 8 GB.
  • Modded servers are the exception and genuinely need large heaps.

If you see periodic lag spikes that are not tied to auto-save, they may be garbage-collection pauses. Right-sizing the heap (not over-allocating) usually helps.

Backups

The world folder (named per level-name) is the critical data on both editions. The panel Backups tab snapshots the whole server volume.

  • Daily snapshot minimum, via the panel Backups tab
  • Twice-daily for busy servers or active build projects
  • Before every update (Minecraft version, plugin/mod updates, pack upgrades)
  • Monthly download to your own storage for off-platform safety

Automated Backups

Set up an automated daily backup through 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}

Plugin Backups Are Not a Substitute

Plugins like EssentialsX offer /backup commands, but they only copy the world to a configured folder on the same volume. They do not protect against volume-level issues the way panel backups do. Use panel backups as your primary safety net.

Scheduled Restarts

Both editions benefit from a daily restart to clear memory creep. 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)

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, or you would have to set online-mode=false (insecure for public servers, not recommended).
  • Plugin or mod errors after a Minecraft update: Plugins and mods must be updated for each MC version. Check compatibility before bumping your server version.
  • Modded server out of memory: Raise the JVM heap (Xmx) in the Startup tab.
  • Lag spikes every 30 seconds or so: Often auto-save. On Paper, tune the save interval, or schedule less frequent full saves. Spark profiling confirms whether saves are the cause.
  • TPS drops as the server fills up: Lower view-distance and simulation-distance, profile with Spark, and cap entities. Confirm you are running Paper, not vanilla.
  • Bedrock players cannot connect to a Java server: That requires Geyser, not a config change.
Made with 💜 by GameServerKings