MinecraftUpdated 7 min read

Why Is My Minecraft Server Lagging? Complete Troubleshooting Guide

Find out which kind of lag you have (server tick lag, network latency, low client FPS, memory pressure or an overloaded CPU) and fix the cause instead of guessing.

"Lag" is five different problems that look alike. Each has a different cause and a different fix, and only some of them are solved by a bigger server. Work out which one you have first.

Step 1: Which kind of lag is it?

What players notice Who's affected Most likely cause
Mobs freeze, blocks reappear after breaking, crops and furnaces slow down, everyone rubber-bands Everyone at once Server tick lag (low TPS)
One player rubber-bands or has high ping; others are fine One or a few players Network latency
The picture stutters or the frame rate drops, even in singleplayer One player Client FPS
Everything freezes for a second every few minutes, then catches up Everyone at once Memory pressure
Constant slowness that gets worse with more players or near farms Everyone at once Overloaded CPU

The quickest way to tell server lag from the rest: if everyone lags at the same moment, it's the server. If it's one person, it's their connection or their computer.

Step 2: Measure the server

Install spark (from Package Manager on Beacon, or from Modrinth for any loader) and run these in Console:

spark tps
spark health
  • TPS (ticks per second) should be 20. Minecraft runs its game loop 20 times a second; below 20, the world slows down.
  • MSPT (milliseconds per tick) should be under 50. Each tick has 50 ms; anything over that and the server falls behind. MSPT is the better number to watch, because TPS stays at 20 right up until the server is out of time.
  • spark health also shows CPU and memory use.

Paper also has /mspt and /tps built in. On Beacon, the Console page shows CPU and memory graphs too.

If TPS is 20 and MSPT is comfortably under 50 while players complain, the server isn't the problem: skip to network latency or client FPS.

Server tick lag

TPS is below 20, or MSPT is above 50. Something in the world is taking too long each tick. Don't guess what: profile it.

spark profiler start

Let it run for a few minutes while the lag is happening, then:

spark profiler stop

Open the link it prints. The profile shows exactly which entities, block entities, plugins or mods are using the tick. See How to Find Lag With the spark Profiler.

The usual culprits, roughly in order:

  1. Entities. Huge mob farms, thousands of animals in one pen, item piles, villagers trapped in trading halls. Run spark profiler and look for entity and tickEntity; on Paper, paper entity list shows counts by type.
  2. Chunk generation. Players exploring new land makes the server generate terrain live. Pre-generate the world with Chunky before players spread out.
  3. Redstone and hoppers. Clocks that never stop, and long hopper chains. Paper's paper-world-defaults.yml has hopper and redstone settings that cut the cost.
  4. Simulation distance. Every player keeps the chunks around them ticking. Lower simulation-distance in server.properties to 6–8. This is often the single biggest win, and players still see as far (that's view-distance).
  5. One plugin or mod. The profile names it. Update it, configure it, or replace it.

The fix is almost always one of these, not more hardware. See How to Pre-Generate a World and How to Change the View Distance.

Network latency

TPS is fine, but one or a few players rubber-band, see delayed block breaks, or get "Timed out".

  1. Check their ping: spark ping lists every player's latency, and the bars in the Tab player list show it too. Under 100 ms is fine; over 200 ms is noticeable.
  2. If one player has high ping, the cause is their connection: Wi-Fi far from the router, someone else downloading or streaming, or distance from the server. Ask them to try a wired connection.
  3. If everyone far away has high ping, the server is a long way from them. Choose a location closer to most of your players.
  4. If everyone suddenly lags and disconnects together while TPS stays at 20, it may be a network problem at the host or an attack. Hosts with DDoS protection filter most attacks; contact support if it continues.

A bigger plan doesn't help network latency.

Client FPS

The game itself stutters or the frame rate drops. This is the player's computer, not the server.

  1. Press F3: the top-left shows the frame rate. Under 30 FPS feels laggy.
  2. Check whether it happens in singleplayer too. If it does, it's definitely the client.
  3. Lower Render Distance in Video Settings, turn off shaders, and close other programs.
  4. Install Sodium (Fabric) or Embeddium (NeoForge/Forge) for a large FPS boost. See How to Install OptiFine (or Better Alternatives).
  5. For modpacks, give the launcher enough memory: see How to Allocate More RAM on Modded Launchers.

Nothing on the server fixes low FPS.

Memory pressure

Everyone freezes together for a moment every few minutes, then the world jumps forward. Memory use sits near the limit.

  1. Watch memory while players are on. If it climbs to the limit, drops, and climbs straight back, the garbage collector is struggling.
  2. Run spark gc to see how often collection runs and how long the pauses are. Pauses of hundreds of milliseconds cause visible freezes.
  3. Look in the log for OutOfMemoryError or Java heap space.

Fixes: lower view-distance and simulation-distance, cut entity counts, remove unused plugins or mods, and restart daily with a schedule if a plugin leaks memory. If memory is at the limit after that, the server genuinely needs more RAM. See How to Fix Out of Memory Errors and How Much RAM Does a Minecraft Server Need?.

Overloaded CPU

TPS drops below 20 when more players are on, CPU sits near its limit, and memory has plenty of room. The log may say Can't keep up! Is the server overloaded?

Minecraft runs each world's tick on one main thread, so the server can be overloaded while overall CPU looks only partly used. The profile from Server tick lag above tells you what's using it. Fix those causes first: they're usually cheaper than an upgrade, and an upgrade won't help if one farm is using the whole tick.

When does upgrading actually help?

Your measurements Upgrade?
TPS 20, MSPT low, one player lags No: their connection or computer
Low FPS on one player's screen No: client settings
Low TPS, profile shows one farm, plugin or mod No: fix or remove that
Low TPS while exploring Not first: pre-generate the world
Memory at the limit after reducing distances and entities Yes: more RAM
Low TPS spread across normal play, after the fixes above, with the CPU at its limit Yes: a plan with more CPU

Still lagging?

Collect a spark profile link from while the lag is happening, and open a ticket with it. A profile shows exactly where the time goes, which makes it far quicker to help.