D Darkless Help
Open the portal

Help Game servers Minecraft

Make Minecraft run smoother

What TPS and MSPT mean, how to find what is causing lag, and the settings that fix most of it. More memory is rarely the answer.

4 min Updated 7 Nov 2026 Game servers

Most lag on a Minecraft server comes from the world being too much work for one CPU core, not from a lack of memory. This guide shows how to measure it, find the cause, and fix the usual ones.

TPS and MSPT#

The server runs the world in ticks, 20 a second. On Paper and Purpur, type tps and mspt in the Console to see how it's keeping up.

MeasureHealthyLagging
TPS, ticks per second20Below about 18: blocks come back, mobs stutter
MSPT, milliseconds per tickWell under 5050 or more. At 45 it's about to lag.

Run Paper or Purpur#

If your server is on vanilla, moving to Paper is the biggest single improvement you can make. It runs the same worlds and the same game, much faster, and it lets you use the tools below. Purpur is built on Paper and adds more settings. See Change the Minecraft version or install a modpack.

Find the cause with Spark#

Guessing at lag wastes evenings. Spark is a free profiler that shows what each tick is spent on. Paper includes it on recent versions; on older ones, or on Fabric and Forge, install it as a plugin or mod.

  1. While the server is lagging, type this in the Console:
spark profiler start
  1. Wait a few minutes while the lag happens.
  2. Stop it:
spark profiler stop
  1. Spark prints a link. Open it to see a tree of what the server spent its time on.

Look for one thing taking a big share: a particular mob, a plugin, a chunk full of hoppers, a mod's machines. That is what to fix. If you open a ticket about lag, include the link.

spark health gives a quick summary of TPS, MSPT, CPU and memory without a full profile.

Turn down the distances#

In server.properties, two settings decide how much of the world is loaded and run around each player:

  • view-distance is how far players can see, in chunks. Every chunk in view is sent to them and kept loaded.
  • simulation-distance is how far mobs, crops and redstone actually run.

Dropping view-distance from 10 to 7 or 8 halves the work on a busy server, and most players don't notice. Keep simulation-distance the same or a little lower, 6 for example. Restart after changing them.

On Paper, the per-world settings in config/paper-world-defaults.yml let you go further. The ones that help most on mob-heavy servers are the entity limits and how far away mobs stay active. Change a little at a time, and measure with Spark after each change.

Pre-generate the world#

Making new chunks is the most expensive thing a server does. When players explore with elytra, the server generates land as fast as they fly, and everyone lags. Generating the world ahead of time, while nobody is on, stops that.

Chunky is a free plugin, and a mod for Fabric and Forge, that does this. Install it, then in the Console:

chunky radius 5000
chunky start

This generates everything within 5,000 blocks of the world's centre. It takes a while, possibly hours for a big radius, and the server runs slower while it works, so start it when the server is quiet. chunky pause and chunky continue stop and resume it. Then set a world border at the same distance so nobody walks off the edge of what you generated:

worldborder set 10000

The border's size is its full width, so 10000 matches a radius of 5000. Remember pre-generated land takes disk space, so start smaller if your disk is tight.

Memory is not everything#

A Minecraft server does most of its work on one core, so a slow tick is a CPU problem and more memory won't speed it up. A bigger plan helps only when the console shows OutOfMemoryError, Spark shows memory near the top with the garbage collector always running, or a modpack asks for more than your plan has.

The usual causes, and their fixes#

CauseFix
Too many mobs in one placeLimit the farm, or lower the entity limits in Paper's config
Hoppers and redstone clocksSpark shows which. Cut the chains down.
A heavy plugin or modSpark names it. Update it, change its settings, or replace it.
Exploring new landPre-generate with Chunky
Running for daysA nightly restart: see Schedule restarts and backups

Still stuck? Open a ticket and say which guide you followed.