Direct answer

A server can report 20 TPS while spending 35–45 ms on typical ticks. It is meeting its deadline but has little headroom for spikes.

How to check it

  1. Read spark tick statistics during normal peak usage, including distribution and peak MSPT. Track changes over several sessions rather than trusting a single /tps sample.
  2. Record the original configuration or test conditions, capture a profile or a repeatable observation, and identify the affected world or player group.
  3. Make the measurement under the same player count and workload you will later use to verify the change.

What to change

At 20 TPS the nominal interval is 50 ms. A 40 ms median leaves only about 10 ms for unexpected tick work, so brief chunk-generation or plugin events may cause freezes even while the average TPS stays at 20.

Gameplay and compatibility warning

Improve the largest measured hotspot before increasing view distance or player cap. Compare high-percentile ticks after the change.

Software and version notes

Check the active version and generated configuration before copying paths or values. Different forks and mod loaders may implement this behavior differently.

This article is written for Paper / compatible servers. Configuration keys and defaults can move between versions. The source material checked for this page includes PaperMC profiling guide. If your server is Folia, Leaf, Purpur, Fabric, Forge, NeoForge, or another fork/loader, do not assume a Paper-only setting exists or behaves identically.

Verify the result

Repeat the same test with the same software build, player count and world activity. Compare the targeted symptom and any spark measurements, then check that intended game mechanics still work. If the change does not produce a reproducible improvement, revert to the recorded baseline.

References