Tutorial · 18 Aug 2026 · 6 min
Tuning a Minecraft server that actually holds tick rate
Minecraft rewards a fast single core over a wide CPU. Adding vCPUs past a certain point does nothing for tick rate — so before you buy a bigger tier, make sure the software is not the bottleneck.
Start with garbage collection. The G1GC flags that are widely used for Paper servers are a good default, and they cost nothing to try. Unstable tick times on an otherwise idle server are almost always a GC problem.
Then look at world generation. A server that generates terrain while players are online will stutter, because chunk generation competes for the same thread that ticks the world. Pre-generating moves that cost into a window where nobody is playing.
Cap view and simulation distance separately. Simulation distance is what actually drives entity and block ticking cost, and it is often left higher than it needs to be.
Watch memory, not just CPU. If the JVM is swapping or constantly in full GC, tick rate collapses regardless of how much headroom the host has. Give the JVM a sensible heap and leave the rest for the operating system page cache — it makes chunk reads on NVMe noticeably faster.
Finally, monitor before you upgrade. A2Panel records CPU, memory and disk per instance, so you can see whether you are bounded by a single core, by disk, or by memory pressure. Upgrading blind usually just moves the bottleneck.
Related
Engineering
Why NVMe changes the shape of your workload
Storage latency decides whether an application is designed around waiting. Moving from spinning disks to NVMe removed a whole class of architecture problems.
Architecture
Why we run services behind Cloudflare tunnels
The safest port is the one you never open. Tunnels let an A2Cloud node run services without accepting a single inbound connection.