Direct answer
20 TPS does not rule out short tick spikes, high ping, packet loss or client-side rendering lag. Use MSPT percentiles, a performance profile and a separate network test to identify which layer is responsible.
What it means
TPS averages can hide occasional 100+ ms ticks. Conversely, a server processing ticks quickly cannot compensate for a player’s poor Wi-Fi connection or an overloaded proxy.
Practical example: Example: players report rubber-banding only while crossing into new chunks, but the dashboard shows 20 TPS. A high-percentile MSPT spike during generation can still be responsible. If the server shows consistently low MSPT but distant users experience delayed actions, compare their route to the proxy and packet loss instead.
If you are a player
- Check whether only one player is affected or everyone near the same world area.
- Compare the in-game F3/client performance and network symptoms with another server.
- Record when rubber-banding, delayed inventory actions or FPS drops occur.
If you run the server
- Run
/spark tpsand collect a spark profile during actual lag if supported. - Check high-percentile tick times, GC pauses and the hottest plugin/entity/chunk work.
- Compare proxy/backend latency and packet loss from affected regions.
- Look for chunk-send stalls or packet-heavy plugins when tick time remains healthy.
- Repeat an identical workload after each change and confirm the original symptom improves.
Important notes
- More allocated RAM does not make a slow main-thread workload faster. Change heap size only when memory/GC evidence supports it.
References
Use the documentation for the exact software and release you run. These sources support the settings or diagnostic behavior used in this fix.
Related fixes and guides
Help us improve this article
Tell us what is missing, unclear, outdated, or incorrect. You can also suggest something we should add.