Skip to main content

Server lag: choose checks for delays, freezes or low FPS

“Lag” can describe a slow game loop, a delayed network connection or a client struggling to draw the scene. Choose the symptom before changing RAM or removing content. This route starts with observation and bounded measurements. It does not assume an overloaded host, a faulty plugin or insufficient memory from one graph.

What happens during the problem?

Follow a symptom link using mouse, touch, or Tab and Enter. These sections are ordinary visible HTML and do not run a diagnostic program.

1. Is the display slow for one player?

Check: ask another player at the same location whether interaction timing is also slow. Have the affected player record their FPS and compare the scene without optional shaders or a local visual pack, preserving their settings first. Change one client option at a time.

If FPS improves while other players and game timing remain normal: continue client graphics or pack troubleshooting. That result does not justify changing the server world. If everyone sees slow interactions too: check server tick timing. If FPS is normal but actions arrive late: check the network pattern.

2. Who experiences the delay?

Check: note the time, affected players and region, whether voice or other applications also struggle, and whether server tick measurements stay normal. Compare a second authorised player's report during the same incident. Avoid publishing player addresses.

If one network is affected: investigate its local connection with the player; a permitted alternate connection can provide comparison evidence. If several independent networks are affected while ticks look normal: request a network-path investigation. If ticks also deteriorate: collect a server-side sample. Healthy ticks do not by themselves prove the network caused the delay.

3. Does the server game loop slow down?

For supported Paper installations, follow the TPS/MSPT and spark guide. Paper's command reference identifies 20 TPS as the target and below 50 milliseconds per tick as the budget for that rate. These numbers are Minecraft tick metrics, not universal targets for every game.

If timing deteriorates during the complaint: take one short, representative profile with the documented tool. Current Paper includes spark; older or other server platforms require their own supported setup. Follow the official profiling instructions, and share reports privately because metadata can reveal your server configuration.

If timing remains normal: revisit network evidence or client FPS. If the profile points to a component: compare its documented behaviour and reproduce on a test copy before changing production. A sampled stack is a clue, not automatic proof that the named plugin is defective.

4. Do freezes match travel or scheduled jobs?

Check: record the spike times alongside exploration, backups, map renders, world generation and plugin jobs. Check free storage and whether more than one heavy task overlaps. Correlation helps choose a next check; it does not establish the cause.

If spikes follow travel into new terrain: review planned terrain generation, including its storage requirements. Do not start a generation job during the active incident. If spikes match backup or render schedules: review the task schedule and profile one representative period; preserve recovery coverage rather than disabling all backups.

If disk writes fail or quota is exhausted: use the storage investigation. Never delete worlds or persistent plugin data as a performance experiment. If no pattern emerges: send the time window and observations.

5. Is this an exit or watchdog event?

Check: preserve the first error before and after the freeze. Use the Paper watchdog guide for a long-tick report, or the memory-versus-process-kill guide for an abrupt exit. The Paper troubleshooting reference distinguishes severe stalls and exits requiring host evidence.

Do not disable the watchdog, repeatedly force-kill the process or assume adding RAM solves a stall. If the console also stops responding or the whole service disappears, ask support to inspect process and node evidence.

6. Use the game's own measurements

Use Rust lag and entity checks or FiveM resource performance checks where applicable. Do not apply Minecraft TPS thresholds or Java flags to these games. For another supported game, record its performance indicators and ask for the appropriate route.

Outcome: compare one correction or escalate

Keep a completed backup before changing configurations. Apply one documented correction and repeat the same observation under comparable normal play; undo it if behaviour worsens. Do not stage a load test against production. Send support the service ID, build, times, affected players, relevant measurements, redacted first error and private profile link. Distinguish observations from guesses. Return to symptom choices.