TPS and MSPT explained: how to tell if your server is lagging
What TPS and MSPT mean on a Minecraft server, healthy values, how to check them with /tps, /mspt and spark, and what to do when they drop.
Updated · 2 min read
TPS (ticks per second) tells you how fast the server is running, and MSPT (milliseconds per tick) tells you how much of its time budget each tick uses. A healthy server runs at 20 TPS with MSPT below 50.
What a tick is
Minecraft runs the game in ticks. In each tick the server moves mobs, grows crops, runs redstone, processes player actions and saves data. The target is 20 ticks per second, so each tick has a budget of 50 ms.
- If every tick finishes within 50 ms, the server holds 20 TPS.
- If ticks take longer than 50 ms, the server cannot fit 20 into a second and TPS drops. The whole game slows down: mobs move in slow motion, blocks reappear after breaking, and day length stretches.
Healthy values
| MSPT | TPS | What it means |
|---|---|---|
| Under 30 ms | 20 | Plenty of headroom. |
| 30 to 50 ms | 20 | Fine, but near the limit. Watch it as players join. |
| Over 50 ms | Below 20 | Server is lagging. |
| Sudden spikes over 100 ms | Brief drops | Short freezes, often from saving, chunk generation or garbage collection. |
MSPT is more useful than TPS because it shows how close you are to lagging before TPS actually drops. A server at 20 TPS with 45 MSPT has almost no headroom left.
How to check
On Paper, run these in the console or in game:
/tps
/mspt
/tps shows averages over the last 1, 5 and 15 minutes. /mspt shows tick times over the last few seconds and the last minute.
With spark (included in recent Paper versions, or as a plugin or Forge mod):
/spark tps
This shows both values over several windows, plus CPU usage.
On Vanilla servers there is no /tps command. You can use the /debug start and /debug stop commands, which report the average tick rate over the recorded period, or install a server that supports spark.
TPS lag vs ping lag
TPS is the server's speed. Ping is the delay between one player and the server.
- Low TPS affects everyone on the server equally.
- High ping affects one player, usually because of distance or their connection. Choosing a server location close to most of your players helps. Schokr has locations in North America, Europe and Asia.
The "Can't keep up!" message
When ticks fall far enough behind, the console prints Can't keep up! Is the server overloaded?. That is the same problem as low TPS, seen from the log. See what "Can't keep up!" means.
CPU and TPS
Most of each tick runs on a single main thread. That means a server with steady access to one fast core performs better than one starved of CPU. On Schokr, your team's free package has 150% CPU (1.5 cores) shared across all your servers. If one server lags while another sits idle, rebalance the CPU split between them.
When TPS drops
- Profile it with spark to find the cause. See how to use spark.
- Apply the fixes in how to reduce lag.
- Check MSPT again under the same conditions.