Why is my Minecraft server lagging?
Tell server lag from connection lag, measure it on any loader, and fix the usual causes on a shared server.
“Lag” covers two different problems, and the fix depends on which one you have. This guide shows how to tell them apart, how to measure the server side on any loader, and what usually causes it on a free server.
Server lag or connection lag?
- Server lag (low TPS) — the whole world slows down for everyone at once: mobs freeze then jump, crops and furnaces run slowly, blocks you break come back for a moment. The server cannot finish its work in time.
- Connection lag (high ping) — only one player is affected. They rubber-band or see others teleport, while everyone else is fine. That is the network between that player and the server, not the server itself.
If one friend lags and the rest do not, it is almost always their connection — Wi-Fi, distance, or a busy home network. Free servers run in Germany and Finland, so players far from Europe will always see higher ping.
Ticks, TPS and MSPT
A Minecraft server updates the world in steps called ticks, aiming for 20 ticks per second (TPS). That gives each tick 50 milliseconds. MSPT (milliseconds per tick) is how long each tick actually takes. Under 50 MSPT the server keeps up and TPS stays at 20; above 50, it falls behind and TPS drops. MSPT is the more useful number, because it shows how close you are to the limit before anything feels slow.
Measuring it
Type these into the Console tab while the server is running:
tick query— built into Minecraft 1.20.3 and newer, on every loader. Shows the target rate and how long recent ticks took.tpsandmspt— Paper and Purpur.forge tps— Forge;neoforge tps— NeoForge. Both show the tick time per dimension, which tells you whether the Overworld or the Nether is the problem.
One warning: do not install the spark profiler mod or plugin on a free server. Its profiler cannot start inside the locked-down container free servers run in, and it crashes the server at startup. Modpack installs remove it automatically for that reason.
What actually causes it
- Loaded chunks — every loaded chunk is updated every tick. Free servers cap view and simulation distance at 6 for exactly this reason.
- Entities — thousands of dropped items, packed animal pens, villager trading halls and mob grinders. This is the most common cause on survival servers.
- Redstone — large contraptions, especially clocks that run constantly whether anyone is there or not.
- World generation — exploring new terrain is expensive. Several players flying in different directions on elytra can drag a server down on its own.
- Heavy mods or plugins — tech mods with big machine networks, and plugins that do a lot of work every tick.
- Memory pressure — when the heap is nearly full, Java spends more and more time cleaning up. See How much RAM does a Minecraft server need?.
What you can do
- Pre-generate the area people will play in, with a plugin or mod such as Chunky, so terrain is not being created live.
- Clear dropped items and cull oversized animal pens. Have farms collect into chests instead of leaving items on the ground.
- Switch off redstone clocks and farms that are not in use.
- Remove mods and plugins you are not actually using — see How to add mods to your Minecraft server.
- On Vanilla, moving to Paper or Purpur gives you a server with many performance fixes built in, and Fabric has well-known performance mods.
If it lags straight after waking
The first minute after a server wakes is busier than normal: it is loading the world, and on a modpack it is loading every mod. A short stutter as the first players join is expected and settles on its own.
It is not a bug
Free servers share hardware with others on the same machine — that trade is what keeps the tier free, and some variance in tick time comes with it. If a server consistently needs more than 3 GB and two cores can give it, cloning to a paid Spawnly server removes the sharing entirely, and your free server keeps running while you try it.