Minecraft “Can't keep up! Is the server overloaded?”: how to fix server lag
This console warning means the server couldn't finish its work in time and fell behind. Once in a while it's harmless. If it keeps appearing, players feel it as rubber-banding, slow mobs and blocks that come back after they break them. Here is how to find the cause and fix it.
What the warning means
A Minecraft server runs 20 ticks a second, so each tick has 50 milliseconds. When ticks take longer, the server falls behind and prints by how much, for example “Running 2500ms or 50 ticks behind”. Two numbers tell you how healthy the server is:
- TPS (ticks per second): 20 is perfect. Below 18, players start to notice.
- MSPT (milliseconds per tick): under 50 means the server keeps up, and the lower it is, the more headroom you have.
A warning or two while the server starts, or right after a big change to the world, is normal. Repeated warnings during play are not.
1. Measure before changing anything
Paper includes the spark profiler. In the console, or in game with a slash in front:
spark tps spark profiler start --timeout 600
spark tps shows TPS and MSPT. The profiler runs for 10 minutes, then gives you a link to a report that shows where tick time goes: which plugin, entity, chunk generation or redstone. On a vanilla server, /tick query shows tick times, and spark is also available as a mod for Fabric and Forge.
2. Pre-generate the world
Generating new chunks is one of the heaviest jobs a server does, and players exploring fast, for example with elytra, create a lot of them. Generate the area players will use before they need it, with the Chunky plugin, and then set a matching world border:
chunky radius 5000 chunky start worldborder set 10000
Run it when the server is quiet; a large radius can take hours.
3. Lower view and simulation distance
In server.properties, view-distance sets how far players can see, and simulation-distance how far around them the world actually runs: mobs move, crops grow and redstone works. Lowering simulation-distance to 6 or 8 saves a lot of work, while players still see far.
4. Deal with entities and farms
- Big mob farms and animal pens. Hundreds of entities in one place are a classic cause. Agree a cap on animals per player, and clear out the excess.
- Dropped items and experience orbs. Farms that drop items nobody collects keep many entities alive.
- Redstone clocks and hoppers. Clocks that never stop and long hopper chains run every tick. The spark report shows which ones cost the most.
Paper's configuration has options to merge items, limit entities and tune hoppers. Change one setting at a time and measure again, so you know what helped.
5. Check plugins and mods
If the spark report points at a plugin, update it first; many lag problems are fixed in newer versions. Remove plugins you don't use, and replace ones that do heavy work on every tick.
6. Check memory and hardware
- Memory. When memory is nearly full, the server spends its time on garbage collection, and spark's report shows the pauses. Give it a little more, or find what is filling it. See how much RAM a Minecraft server needs.
- CPU. The main game loop runs on one thread, so one fast core matters more than many slow ones. An overloaded shared host causes lag that no setting can fix.
- Storage. Loading and saving chunks is quick on NVMe and slow on busy hard disks.
A quick checklist
- Run Paper or Purpur instead of the vanilla server
- Pre-generate the world and set a border
- Keep simulation-distance modest
- Profile with spark before and after each change
- Use a host with fast single-thread CPU and NVMe storage
Players who get cut off with a timeout while the server lags need this guide to connection errors.
Host your Minecraft server in Singapore
Low ping for players in India, Malaysia and Indonesia, on fast AMD EPYC cores with NVMe and DDoS protection.
