GameGrid
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 randomTickSpeed 3 (default) or lower to reduce random tick load. Higher values cause lag.

Paper-Specific Tuning

Paper has its own config files: paper-global.yml (server-wide) and paper-world.yml (per-world). These replace the older paper.yml.

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 paper-world.yml, set entity-activation-range to lower values to reduce mob AI processing.

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

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

Use /timings report to profile which plugins cause the most lag. The report can be viewed in a browser.

Common Lag Sources

Large mob farms - cap mob count with /gamerule doMobSpawning or use a plugin like ClearLag.

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

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

Heavy plugins - use /timings report (Paper) to profile which plugins cause the most lag.

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