How to Reduce Game Server Lag: A Practical Diagnosis Guide
A diagnosis-first guide to server lag that separates tick lag, network latency, and client FPS, then works through fixes in order of impact.
We earn commissions from hosting providers on this page. This doesn't affect our rankings, which are based on independent research and analysis. Full disclosure
"The server is lagging" is the most common complaint a server admin hears, and the least useful. Players use the word lag for three completely different problems, and each one has a different cause, a different measurement, and a different fix. Guessing wrong wastes evenings: you prune mods when the problem was routing, or you upgrade RAM when the problem was a mob farm. This guide teaches you to diagnose first, then fix in order of impact.
The Three Things Players Call Lag
Before touching a single setting, figure out which of these you are dealing with:
- Server tick lag. The simulation itself is running slow. The server cannot finish computing each game tick in its time budget, so the whole world slows down: mobs freeze, blocks reappear after breaking, crops stop growing, doors respond late. Key signature: it affects every player at once, including players with perfect ping.
- Network latency. The simulation is healthy, but data between a player and the server is slow or lossy. Symptoms: rubber-banding, hits not registering, delayed chat, players teleporting around. Key signature: it affects specific players, usually the ones farthest from the server or on bad connections, while others play fine.
- Client FPS. The player's own machine cannot render fast enough. Choppy visuals, stuttering camera, low frame counts. Key signature: it follows the player, not the server. They will have it in singleplayer too.
One question sorts most cases instantly: "Is everyone experiencing this, or just you?" Everyone means tick lag. One or two players means their network or their PC. If a player says "my FPS drops to 20 when I look at the base," that is a client problem no server setting will solve.
How to Measure Each One
Measuring server tick health
Every game has a target simulation rate and most expose a way to read it:
- Minecraft (Spigot/Paper): run
/tps. Healthy is a solid 20.0. Anything sustained below 19 is real tick lag, and below 15 is severe. On Paper,/msptshows milliseconds per tick: the budget is 50ms, so averages approaching 50 mean the server is out of headroom. For finding the cause, the spark plugin's profiler shows exactly which entities, chunks, or plugins consume the tick. - Rust: in the server console,
serverinforeports the server framerate and entity count. Healthy servers hold roughly 30 server FPS or better; single digits mean the simulation is drowning, and a six-figure entity count late in a wipe is usually why. - Factorio: the game targets 60 UPS (updates per second). The debug overlay (F4 options, then F5) shows FPS and UPS side by side. If UPS is below 60 for everyone, the server simulation is the bottleneck.
- 7 Days to Die: the console command
memprints heap usage and entity counts, useful for spotting runaway zombie or item counts. - Games without a tick readout (Valheim, many others): watch server CPU usage in your host's panel while symptoms occur, and use the "everyone at once" test. A single core pinned at 100 percent during lag is tick lag.
Measuring network latency
- In-game ping. Most games show per-player ping on the scoreboard or via console. Under 50ms is excellent, 50-100ms is fine, 150ms+ is noticeable in anything fast-paced.
- Command-line ping.
ping your.server.ipfrom the affected player's machine. Look at the average and, just as important, the variation. A steady 90ms plays better than a ping that swings between 30ms and 300ms. - Trace the route.
tracert your.server.ipon Windows (tracerouteon Linux/macOS) shows every hop between the player and the server. A large latency jump at one hop, or timeouts partway through, points at a specific network segment. If the jump happens at the player's first hop, it is their home connection or Wi-Fi. If it happens deep in a carrier's network, it is a routing problem neither of you controls directly. - Packet loss. On Windows,
pathpingcombines a trace with loss statistics per hop. Loss above 1-2 percent produces rubber-banding even when average ping looks fine.
Measuring client FPS
Have the player check their frame counter (F3 in Minecraft, perf 2 in the Rust F1 console, or the platform overlay). If frames are low but ping and server tick are healthy, the fix lives on their machine: graphics settings, render distance, client-side mods.
Server-Side Fixes, Ordered by Impact
Once you have confirmed tick lag, work down this list. It is ordered by how often each item is the actual cause.
1. Entity cleanup
Entities are the number one tick killer in nearly every survival game. Thousands of dropped items, an overcrowded mob farm, hundreds of tamed animals in one pen, or a base with items decaying on the ground all bill the tick directly.
- In Minecraft,
/kill @e[type=item]clears dropped items immediately, and spark's profiler will show which chunks hold entity hotspots. Mob farms that rely on huge idle populations are the classic offender. - In Rust, entity count grows all wipe. Check it with
serverinfoand compare early-wipe vs late-wipe performance. - In 7 Days to Die and DayZ, item and zombie counts spike around player bases and events.
2. View and simulation distance
Distance settings scale server load roughly with the square of the radius, which makes them the highest-leverage dials you have. In Minecraft's server.properties, lowering view-distance from 10 to 7 and keeping simulation-distance modest can cut world processing dramatically with little visible cost. Most games have an equivalent: reduce how much world each player forces the server to simulate.
3. Tick budget and activation settings
Server software often lets you spend the tick more selectively. On Spigot/Paper, spigot.yml settings like entity-activation-range control how far from players mobs get full AI updates, and Paper's config exposes per-category limits. These settings trade simulation fidelity at the edges for a stable tick. Our Minecraft optimization guide covers the specific values worth changing.
4. Mod and plugin audit
If lag arrived after you added content, the new content is guilty until proven innocent. A profiler (spark on Minecraft) will often name the culprit outright. Without a profiler, use a binary search: disable half your mods, test, then halve again. Tedious, but it converges fast, and it beats guessing. Pay special attention to mods that scan the world, add many spawned creatures, or run tasks every tick.
5. World pruning
Old worlds carry dead weight. In Minecraft, tools like MCA Selector can delete chunks nobody has visited in months, shrinking the world file and the workload. In Valheim, heavy terraforming permanently increases world data. In Rust, this is what the monthly wipe cycle exists to solve. A fresh or trimmed world on the same hardware is often startlingly faster.
Network-Side Fixes
If the measurements point at latency rather than tick rate:
- Pick the right region. Nothing you configure beats physics. Host the server in the region where most of your players live, and accept that a group split between continents will always have someone above 150ms. If your current host has no location near your players, that alone is a reason to move.
- Check routing, not just distance. Occasionally a player 500km away gets worse ping than one 2,000km away because their ISP routes traffic badly. The
tracertoutput proves this. Affected players can report the route to their ISP, though results vary. - VPN caveats. A VPN adds a hop, so it usually increases latency. The exception: when a player's ISP has genuinely bad peering to your host, a VPN can route around the bad path and improve things. Treat it as a diagnostic clue, not a recommended fix. If a VPN makes the connection better, the underlying route is the problem.
- Fix the local link first. Wi-Fi, powerline adapters, and congested home uploads cause more "server lag" complaints than actual servers do. A player with fluctuating ping should test on ethernet before anyone touches server settings.
When the Host's Hardware Is the Problem
Sometimes you optimize everything and the tick still drops. Before blaming your mods further, verify the hardware underneath you:
- Run a clean-world test. Spin up a fresh, unmodded world on the same plan. If a vanilla server with two players cannot hold its target tick rate, no configuration was ever going to save you. The hardware or its contention is the problem.
- Watch for inconsistent performance. Shared hosting means neighbors. If the same world lags at some hours and purrs at others with identical player counts, another tenant is likely eating the CPU you thought was yours. On a VPS,
topshowing high steal time (thestcolumn) is the same story with receipts. - Know what single-thread performance means. Most game simulations run on one core. A host advertising many cores at a low clock speed is the wrong shape for game servers. Two hosts selling "8GB plans" can differ by 50 percent or more in real tick capacity.
Upgrade RAM or Move Providers?
The final decision tree, based on everything you measured:
- Upgrade RAM if you saw memory symptoms: out-of-memory crashes, usage pinned above 90 percent, stutters on save. Our RAM sizing guide covers the trigger points in detail.
- Move providers if the clean-world test failed, performance varies by time of day, or your player base has outgrown the host's regions. More RAM on weak or oversold hardware buys you nothing, because tick lag is a CPU problem wearing a monthly price tag.
- Do neither if the profiler points at one greedy mod or an entity hotspot. Fix the world, keep the money.
Diagnose, measure, then spend. If you are still stuck after working through this list, our troubleshooting guide covers crashes, connection failures, and the rest of the misery spectrum, and the comparison tool can help if the answer turned out to be moving.