Skip to main content
Minecraft Server Performance Tuning - visual guide

Minecraft Server Performance Tuning

Reduce Minecraft server lag by adjusting view distance, simulation distance, and Paper performance options.

Quick Wins for Lag

Lower view-distance in server.properties to 6-8. Default 10 is heavy on bandwidth and chunk loading.

Lower simulation-distance to 4-6. Entities and redstone beyond this distance do not tick. Simulation distance has a stronger impact on TPS than view distance.

Reduce max-players if you are hitting your slot limit and seeing TPS drops.

Use /gamerule random_tick_speed 3 (default) or lower to reduce random tick load. Higher values cause lag.

Paper-Specific Tuning

Paper has its own config files, both in config/: paper-global.yml (server-wide) and paper-world-defaults.yml (the defaults every world inherits). These replace the older paper.yml. A paper-world.yml inside a world directory overrides the defaults for that one world only.

In paper-global.yml, adjust chunk loading rates: player-max-chunk-generate-rate, player-max-chunk-load-rate, and player-max-chunk-send-rate.

In spigot.yml, set entity-activation-range to lower values to reduce mob AI processing.

Enable optimize-explosions and use-faster-teleporting in config/paper-world-defaults.yml.

Use the /tps command (op only) to see your server ticks per second. 20 TPS = perfect. Below 15 = noticeable lag.

Use spark (/spark profiler) to profile which plugins cause the most lag. The report can be viewed in a browser. Timings, which older guides name, no longer exists on current Paper.

Common Lag Sources

Large mob farms - lower the spawn limits in bukkit.yml, turn natural spawning off with /gamerule spawn_mobs false, or use a plugin like ClearLag.

Redstone clocks and dense redstone builds - limit with Paper redstone-implementation setting in config/paper-world-defaults.yml.

Many loaded chunks from spread-out players - lower view-distance or use a plugin to enforce grouping.

Heavy plugins - use spark (Paper) to profile which plugins cause the most lag.

Hopper farms - Paper has hopper-chunk-limit settings in config/paper-world-defaults.yml to reduce hopper processing load.