How to reduce lag on a Minecraft server
Lag is a catch all word for three different problems, and the fix depends on which one you have. Guessing wastes time; a two minute check tells you where to look.
Which kind of lag is it?
| What players see | Kind | Where the problem is |
|---|---|---|
| Blocks come back after breaking them, mobs freeze then jump, everyone feels it at once | Server lag (low TPS) | The server |
| Only one player rubber bands, others are fine | Connection lag (high ping) | That player's connection |
| The picture stutters, but the world keeps moving normally | Low FPS | That player's computer |
Only the first one is about the server. The server runs at 20 ticks per second (TPS). Each tick has 50 milliseconds; when a tick takes longer, the server falls behind and the whole world slows down for everyone.
Measure it with spark
spark is a free profiler that shows exactly what the server spends its time on. It is available as a plugin for Paper and as a mod for Fabric, Forge and NeoForge.
- Install spark from the Plugins or Mods tab and restart.
- When the lag happens, type
/spark tps. It shows TPS and MSPT, the milliseconds per tick. Under 50 MSPT is healthy. - Start a profile with
/spark profiler start, let it run for two or three minutes while the lag is there, then/spark profiler stop. - spark gives a link to a report. Open it and expand the biggest entries: they tell you whether entities, chunk loading, redstone or a plugin eats the time.
View distance and simulation distance
These two settings in server.properties have the biggest effect of anything you can change, and they do different things.
view-distanceis how far players can see. Chunks in that range are sent to players but not simulated.simulation-distanceis how far around each player the world is alive: mobs move, crops grow, redstone runs.
Simulation is the expensive part. Lowering simulation-distance to 6 while keeping view-distance at 10 keeps the view the same and takes a large load off the server. Players only notice that farms far away from them stop running, which they do in singleplayer too.
Entities: the usual suspect
In most spark reports on busy survival servers, entities are at the top: mobs, dropped items, minecarts and item frames. Common causes:
- Mob farms that collect hundreds of animals or villagers in one place.
- Item farms without a collection system, so thousands of items lie on the ground.
- Large animal pens. Cows and chickens tick like any mob.
Talk to the owners of big farms first. On Paper, config/paper-world-defaults.yml also has limits, for example on how many entities can push into each other, and bukkit.yml controls how many mobs spawn per player.
Pre-generate the world
Generating new terrain is one of the heaviest things a server does. When players explore in different directions on a fresh world, TPS drops. Generating the area in advance, while nobody plays, removes that cost. Pre-generate your world shows how, straight from the World tab.
Server software and mods
- On vanilla? Switch to Paper in Settings. It is the same game with much better performance, and the world stays as it is.
- On Fabric? Add performance mods such as Lithium and FerriteCore. They change nothing about gameplay.
- Heavy plugins: if spark points at one plugin, look for a lighter alternative or check its settings. Plugins that scan the whole world, like some anti cheat or map plugins, can be heavy.
When it is not the server
If spark shows 20 TPS and players still complain, look at their side. High ping comes from distance and the player's own connection; a player far away from the server always has more delay. Low FPS is solved on the player's computer, for example with the Sodium mod, lower render distance, or closing other programs.
Questions
Will more RAM fix lag?
Only if the server is short of memory. Most lag comes from the processor having too much to do in each tick: entities, redstone, new chunks. spark tells you which it is.
What does Can't keep up! Is the server overloaded? mean?
The server was a number of ticks behind and skipped ahead. Once at startup is normal. If it repeats while people play, the server is lagging and a spark profile will show why.
What is a good TPS?
20 is perfect and the maximum. Above 19 nobody notices. Below 15 players start to feel it, and below 10 the game becomes hard to play.
Do scheduled restarts help?
They clear memory and unload chunks, which helps servers with plugins that slowly build up. They do not fix a farm or a plugin that causes lag straight after a restart.
Checked against Paper and Fabric for Minecraft Java 26.2, September 2026. Written by the Cheapest Minecraft Hosting team, updated .