Fixing Lag and Low TPS
Minecraft aims for 20 ticks per second (TPS) — one full simulation step every 50ms. When something takes longer than that to process, the server falls behind and everything visibly slows down: mobs stutter, blocks take a moment to break, doors lag open.
Checking Your TPS
On Paper/Spigot, run tps in the terminal (see Using the Terminal) for a live reading. Vanilla and Bedrock don’t expose a direct equivalent — for those, lag shows up as delayed player/mob movement rather than a number you can check.
The Usual Culprits, in Order of Impact
View and simulation distance. These directly multiply how much world the server has to keep simulating. Lowering view-distance and simulation-distance/tick-distance a few notches is usually the single biggest lever you have — see the server.properties examples in Paper Setup Guide and Bedrock Getting Started.
Entity count. Large mob farms, item pile-ups (dropped items that never despawn because doTileDrops/doEntityDrops is off, or a hopper backlog), and dense animal breeding are common causes of a slow, steady TPS decline rather than a sudden spike.
Redstone. Fast clocks, large item sorters, and chunk-spanning contraptions are cheap individually but add up fast in a working farm. If lag tracks with a specific build rather than being constant, this is usually it.
Chunk loading. A world that keeps growing as players explore has more chunks to keep in memory and simulate. preGenerating a world’s terrain ahead of time (a Paper/Bukkit plugin like Chunky) shifts that cost to a one-time job instead of an ongoing one during normal play.
RAM Isn’t Usually the Fix
More memory helps with crashes (OutOfMemoryError), not tick speed — a bigger plan than your world actually needs doesn’t make ticks process faster, and can occasionally make things worse by triggering longer garbage-collection pauses. See RAM Is Automatic, Not a Flag You Set in the Paper Setup Guide for how AtomicHost sizes heap for you.