When one tick has more work than its budget, the server’s tick interval stretches, and the whole area slows down or stutters.
Why One tick (e.g., 50 ms) has more work than its budget → Effect Game state meant to update 20 times a second updates only 8 times → On screen Slow motion across the zone (stutter on some server designs), sluggish skill response
Primary owner Game team (Server development) · Also Infra team (Server infrastructure)
Game team action items
Cut expensive computation, split the tick across threads, spread players out (channels), record tick processing time as a metric.
Infra team action items
Add tick time and per-core CPU utilization to monitoring and alerts, consider CPUs and instances with high single-core performance (clock speed).
Ballpark numbers
The budget is 50 ms on a 20-tick server, 33 ms at 30 ticks, and 16.7 ms at 60 ticks. To be ready for sudden crowds, it’s safer to leave headroom and normally use only about half the budget.
On the graph
Rises with load · Server tick time, player count per zone/channel, game thread CPU
Where to look
Tick time (p99) and tick-overrun count logged by the server, on one graph with player count per zone/channel. Without tick metrics, CPU utilization of the game thread from pidstat -t 1
Confirmed if
Tick time goes over budget (50 ms at 20 ticks) when players crowd in, while the game thread sits near 100% CPU
Ruled out if
Ticks overrun while game-thread CPU is low: points to waiting (GC pause, locks, blocking calls). Long run queue latency in bcc runqlat means threads aren’t getting CPU time: points to a CPU shortage or too many threads
Check with
Game server or client logs and metrics
Learn more
What a late tick looks like depends on the server design. A server that advances game state by a fixed amount of time each tick (e.g., 50 ms) slows down game time itself, so players see slow motion. A server that moves everything by the actual elapsed time in one step keeps the game running at normal speed, but packets become sparse and each move is large, so it shows up as stutter or teleporting. Either way, input response gets slower. If one game thread runs the whole server, the whole server slows down; if each area has its own thread, only that area does. Some games, such as EVE Online, deliberately slow game time by up to 10 times during large battles (Time Dilation) so the computation can keep up.
VALORANT's 128-Tick ServersRiot Games A 128-tick server must finish each frame within 7.8125 ms; server frame time is measured per subsystem and the budget is split among them
HED-GP Technical Retrospective: What a HED-acheCCP Games Under overload, EVE Online slows game time with Time Dilation down to a floor of 10% (10 times slower); node CPU normally stays below 80%
Handling variation in timeUnity When a fixed-step simulation falls behind, it runs the catch-up steps in a batch and discards time beyond the limit, so game time runs slower than real time
pidstat(1) — Linux manual pagesysstat -t shows per-thread statistics (CPU utilization and so on) for the threads in a process