Short answer
Run /tps in game or the console. A steady 20.0 with stutter means your connection or client, not the server. Below 18 and the server is the bottleneck, and the fix order is view distance, entities, redstone, plugins, then RAM.
Block lag, rubber-banding and doors that open seconds late all trace back to one number: whether the server keeps up with its 20-tick-per-second loop. The players who fix lag guess, change five settings, restart, and hit the same problem next week. The players who fix it once measure, change one thing, and measure again.
This guide is that loop, applied to the causes that account for almost all lag on small servers: loaded chunks, entities, redstone clocks and plugins. The steps work on Paper and on vanilla, though the Paper-specific profiling commands assume Paper.
Before you start
- Operator access, so you can run console commands
- Ten minutes with the server empty to get a clean baseline
- A note of what changed recently: new plugin, new farm, new world
1. Decide whether the lag is on the server or on your connection
Run /tps in game, or type it into the server console. Paper reports the average over the last 1, 5 and 15 minutes. Twenty is the target; the server cannot go higher.
If the reading is 20.0 while you stutter, the server is fine and the problem is between you and it. Lower your client render distance, close background programs, and test on a wired connection before touching any server setting. The rest of this guide only applies once the reading is below 20.
/tps2. Profile it with spark so you know what to fix
Guessing wastes evenings. Spark is a profiler plugin that reports which chunks, entities and plugins are consuming tick time. Install it, let the server run under normal load for a few minutes, and ask it for a report.
Run /spark profiler start, wait for the lag to happen while players are on, then /spark profiler stop. Open the link it prints. The top entries are your to-do list; everything below them is noise for now.
/spark profiler start
# play for a few minutes while the lag happens
/spark profiler stop- A spike in chunk generation means players are exploring far past the pregenerated map.
- A spike on one chunk or entity type means a farm, spawner or animal pen is the culprit.
- A plugin near the top means a plugin is eating the tick, and you can find it without guessing which one.
3. Lower view distance, which is usually the biggest win
View distance is the number of chunks the server sends and generates around each player. It defaults to 10 and is allowed to range from 3 to 32. Each step up multiplies the chunks in play, so dropping from 10 to 6 removes more than half the tick work. Simulation distance, which decides how far mobs move and think, defaults to 10 as well and can go lower.
Set both in server.properties, restart, and ask the players. Most people cannot tell 6 from 10 once fog and client settings are doing their job.
view-distance=6
simulation-distance=64. Cap the things that multiply without asking
Entity pile-ups are the other common cause. Hundreds of mobs in a breeding pen, a broken spawner that has run for a month, and an unattended farm all tick every second whether anyone is watching or not. Visit your farms, kill what has accumulated, and set Paper entity limits so a runaway farm is throttled instead of fatal.
Hoppers are the same story in a different shape: a line of them moves items every tick. Where possible, transport with water streams or a dropper line, and cap the hopper count in paper-world.yml.
entity:
spawning:
disable-mob-spawning: false
spawn-limits:
monsters: 40
animals: 10
water-animals: 5
ambient: 5
hopper:
hopper-transfer: 8/paper chunkinfo
/kill @e[type=!player]5. Quiet the redstone and half-disable the plugins
Redstone clocks and observer chains built for daylight detectors keep ticking forever by design. Find them with a spark report and then throttle them: observers that need to check every tick can be slowed by putting a delay on the repeater chain, or the area can be unloaded when nobody is there.
Plugins get the same treatment. Disable half of them, let the server run through a normal session, and keep halving until the lag goes. Then re-enable the ones that earned their memory. A plugin that is not earning its place is a plugin you update later when it breaks.
Once the changes are in, run /tps again with a similar number of players online. That second reading is the only proof that anything helped.
/plugins
/tpsGood to know
- Extra RAM does not fix tick lag. It fixes out-of-memory crashes and GC stutter, which feel different: the server freezes in pulses rather than dragging. If memory is genuinely the problem, the memory guide covers it.
- A restart that makes lag disappear for an hour has not fixed anything. It has cleared a pile-up or a leak, and both come back. Use the relief as a hint about where to look.
- How the numbers work: 20 TPS is 50 milliseconds per tick.
/msptreports how long a tick actually takes, so anything above 50 means the server is falling behind. The TPS and MSPT reference explains the relationship in full.
Common questions
Why does my server lag with only two players online?
Player count is rarely the cause. Loaded chunks, entities, redstone and plugins all tick whether anyone is there or not. A single mega-farm or an unattended spawner will lag a server with an empty lobby, and a spark report will show it immediately.
Does more RAM reduce lag?
No. RAM prevents out-of-memory crashes and smooths garbage collection. If /tps is below 20 while memory usage sits at 40 percent, the bottleneck is tick work: chunks, entities, redstone or plugins. Adding memory changes nothing there.
What TPS should a healthy server show?
20.0, steady. Brief dips to 19 during heavy moments are normal. Sustained readings under 18 are the point where players feel it, and single digits mean something is badly wrong, almost always an entity pile-up or a runaway farm.
Is Paper or vanilla better for lag?
Paper, measurably, on identical hardware: its patches raise tick headroom without changing gameplay. If your vanilla server already hits 20.0 at times you care about, the switch buys you room for a bigger world rather than a cure for a specific farm. Installing Paper takes one restart.
Sources
Official documentation this guide was checked against.
Rather not run this on your own machine? PufferHost gives every player a free Minecraft server with 3 GB of RAM and 10 slots. Create a free server.