Minecraft Reference

How to Optimize Your Minecraft Server Performance

Reduce lag on your Minecraft server with Paper settings, view distance tuning, entity limits, and Spark profiler. Covers spigot.yml and paper-world-defaults.yml.

Last updated: June 15, 2026

4.9

608+ Satisfied Customers

Most server lag comes from a handful of settings, so a little tuning goes a long way. Hardware matters too, since managed Minecraft hosting from WinterNode runs with no CPU limits, so your server can act on the tuning below without being throttled. Two community guides cover the deep math behind every value, and we use their numbers throughout: YouHaveTrouble and Paper-chan.

Quick wins

  • Run Paper (or a fork like Purpur or Pufferfish). It keeps Bukkit/Spigot plugin support with big performance gains, and we recommend it even for vanilla servers. Switch with the Edition Installer.
  • Apply Aikar’s flags for tuned JVM garbage collection. See Aikar’s Flags.
  • Tune the 6 key values below. They are the highest-impact settings on the server.
  • Pre-generate your world with Chunky so the server is not generating chunks while players explore.
  • Right-size your RAM. 1.13+ needs 3GB minimum and 6GB is recommended (older versions like 1.12.2 run leaner; avoid 1.13 to 1.14, which have chunk/lighting issues fixed in 1.15). See the RAM guide.
  • Profile with Spark to find what is actually costing you TPS.

The 6 key values

These matter most, and they must be tuned together. Lowering view or simulation distance without also tightening the despawn and spawn ranges leaves mobs that never despawn, and changing mob-spawn-range will break most YouTube farm designs.

SettingFileDefaultRecommended
view-distanceserver.properties107
simulation-distanceserver.properties104
mob-spawn-rangespigot.yml83
despawn-ranges hardpaper-world-defaults.yml12856
despawn-ranges softpaper-world-defaults.yml3230

The sixth, entity-activation-range (spigot.yml), is set per mob type: animals 32 → 16, monsters 32 → 24, misc 16 → 8, water 16 → 8, villagers 32 → 16. Raiders and flying-monsters stay at 48. Apply the despawn-range values above to every mob group.

More settings worth changing

All recommended; open the guides above for the full reasoning, and skip any whose tradeoff you do not want.

bukkit.yml

  • chunk-gc.period-in-ticks 600300. Unloads vacant chunks more often, with no player-facing downside.
  • spawn-limits (mob caps), lowered per type: monsters 70 → 20, animals 10 → 5, water-animals 15 → 2, water-ambient 20 → 2, ambient 15 → 1, axolotls 5 → 3, water-underground-creature 5 → 35. Fewer mobs and slower vanilla farms; tune alongside the spawn ranges.

spigot.yml

  • max-tick-time (tile and entity) 501000. Effectively disables it. Paper disables it by default; set it anyway on Spigot.
  • merge-radius exp 3.04.0, item 2.53.5. Merges nearby orbs and items into fewer entities (can merge through walls).
  • tick-inactive-villagers truefalse. Stops ticking villagers outside the activation range, which can delay restocks and iron farms if your range is tight.

paper-world-defaults.yml

  • max-auto-save-chunks-per-tick 248. Spreads chunk saves over more ticks.
  • max-entity-collisions 82. Caps collision processing per entity, so packed-together mobs stop causing lag.
  • optimize-explosions falsetrue. Faster explosion algorithm; may affect ultra-technical machines like world eaters.
  • anti-xray.enabled falsetrue. Blocks x-ray. Engine 1 is lighter, engine 2 is stronger.
  • redstone-implementation vanillaeigencraft. Much faster redstone, but can break bug-reliant technical builds.
  • armorstands.tick truefalse. Stops ticking armor stands, which breaks gravity, piston, and Frost Walker uses.

Hub (lobby) servers

A hub is small and mostly decorative, so you can optimize harder and often run it on a smaller plan: disable keep-spawn-loaded, raise the mob-spawn interval, disable player collisions, raise the tick rates, and lower simulation-distance.

Pre-generate your world

Generating chunks on the fly as players explore is one of the biggest sources of lag. Pre-generate a few thousand blocks (1000 to 2500 is a good start) with Chunky. For a custom generator, Terra comes closest to vanilla generation speed.

Plugins

Reducing entities is the biggest TPS lever, but you do not need anti-lag plugins. Avoid ClearLagg, Mob Stacker, and similar tools: they mostly delete dropped items (which Minecraft already clears after 5 minutes) and change how players interact with the game without fixing the real cause.

Profile your server

  • Spark is the go-to profiler for CPU, RAM, TPS, and disk usage. See its command list.
  • Timings: run /timings on, leave it for at least 3 minutes, then /timings report. The report shows what is eating your tick (a high “Count natural mobs”, for example, means too many entities).

Need a hand?

Have a question, or want help dialing any of this in? Reach out to our team anytime. We are happy to walk you through it. If we can fix it for you, great; if the best answer is a guide or a tool, we will point you there. Either way, that is what the team is here for.