A Minecraft server that stutters leads to frustrated players. Fortunately most performance issues can be solved with the right settings and tools.
Understanding TPS
TPS stands for Ticks Per Second. Minecraft runs at 20 TPS. When it drops below 18, players notice delay. Use /tps or the Spark profiler to check.
JVM flags
Default Java settings are not optimised for Minecraft. Use Aikar flags for G1GC garbage collection, or try ZGC for servers with 12GB+ RAM. Set -Xmx to 80% of available RAM.
Server software
Vanilla server is slow. Use instead:
- Paper: the standard for performance. Compatible with Spigot plugins.
- Purpur: builds on Paper with extra optimisations.
- Fabric + Lithium: for modded servers.
Key settings
View and simulation distance
The two biggest factors. Lower view-distance to 6-8 and simulation-distance to 4-6. Players barely notice, but the server saves enormous processing power.
Entity limits
Too many mobs cause lag. Set limits per chunk in your configuration.
Chunk pre-generation
Use Chunky to pre-generate the world. Generating new chunks costs a lot of CPU.
Monitoring
Install the Spark profiler as a plugin. It shows which plugins and processes use the most CPU and memory.
Regular restarts
Schedule automatic restarts every 6 to 12 hours. Java memory usage grows slowly through fragmentation.
More on Minecraft hosting.