The server cannot keep up with ticks (Can't keep up!)
- Platforms
- Paper · Purpur · single server
- Verified
- Verified
- Confidence
- Confidence 95%
What it looks like in the log
Any one of these lines is enough. The agent matches them locally, on your server.
logs/latest.log
[WARN] Can't keep up! Is the server overloaded?
Symptoms
- Players see lag: movement rubber-banding, delayed block breaking, mobs “teleporting”
- The log repeatedly shows “Can't keep up! Is the server overloaded? Running Nms or N ticks behind”
Cause
The server's main thread fell more than 2 seconds behind the tick schedule: one or more ticks took far longer than 50 ms. The message is printed by vanilla, Spigot, forks (Leaf, Purpur) and Paper before the tick loop rewrite; current Paper no longer prints it — there, overload shows up in MSPT.
Possible causes
- Heavy plugins or their tasks on the main thread (synchronous database/HTTP requests, large operations)
- World load: many entities/redstone/hoppers, chunk generation (pre-generation, players flying fast)
- Resource shortage: the host CPU is overloaded by neighbours, long GC pauses due to a small heap
How to fixLow risk
- A single message right after startup (world loading) is normal; it is a concern if it keeps recurring during play.
- Profile during the lag:
/spark profiler start, then/spark profiler stopafter 2–5 minutes — see which plugins/tasks are occupying the main thread. - Check
/spark tpsand/spark healthreport: MSPT, CPU load, GC pauses; with frequent long GCs, increase the heap or look for a leak. - If pre-generation is running (Chunky and similar), slow it down or run it with no players online; limit entity farms and
view-distance/simulation-distance.
Translated from the Russian original; log lines are quoted verbatim.