Optimize Minecraft performance (TPS, lag)
Lower the view-distance, tune paper.yml, and remove heavy plugins to bring TPS back up.
Optimize Minecraft performance (TPS, lag)
A healthy Minecraft server runs at 20 TPS (ticks per second). Below 18, players feel lag: blocks reappearing, mobs teleporting.
Cause / The problem
The TPS drop comes from main-thread overload: too many loaded chunks, too many active entities (villagers, farm mobs), a heavy plugin, or an unoptimized default configuration.
Solution
- Switch to Paper or Purpur if you’re still on Vanilla/Spigot. This is the most immediate performance gain (up to 2x faster).
- Lower
view-distanceinserver.properties: go from 10 to 6-7. Also dropsimulation-distanceto 4-5. Every chunk removed frees up CPU. - Tune
paper-world.yml(orpaper.yml):entity-activation-range: reduce the ranges (monsters: 24, animals: 16).tick-rates.villager: raise to 2 or 3 to ease villager processing.hopper: enabledisable-move-eventandcooking-when-full.
- Profile with Spark before removing anything. Install the Spark plugin, run
/spark profiler, wait a few minutes, then/spark profiler stop. The HTML report shows exactly which plugin or mechanic consumes the most. - Replace the heavy plugins flagged by the profile. Frequent culprits: mob-stack plugins, heavy world-edit tools, poorly optimized economy systems.
- Limit entities with a plugin like FarmControl or EntityTrackerFixer to reduce tracking of inactive mobs.
Measure TPS with /spark tps or /tps. An optimized server stays at 19-20 TPS even with dozens of players.