Minecraft TPS Explained: Why 20 Is the Magic Number
If you have ever heard another Minecraft player talk about "TPS lag" and wondered what they meant, this article is for you. Every Minecraft server in existence is judged by one number: ticks per second, or TPS. The healthy number is 20.0. Anything less means your server is struggling.
This article breaks down what TPS actually is, why the magic number is 20 (and not 30 or 60), what happens when your server drops below it, and how to check your own TPS in any version of the game.
The short answer
Minecraft processes its world in fixed chunks of time called "ticks". One tick equals 50 milliseconds. That means the server is supposed to complete 20 ticks every second.
If the server cannot finish all the calculations for a tick within 50 ms, it falls behind. The next tick takes longer. Then the next. Soon the world is running in slow motion.
20 TPS is the heartbeat of Minecraft. As long as your server stays at 20.0 TPS, the game runs at full speed. Drop below that and everything gets slower in real time.
What a "tick" actually is
A tick is the basic time unit of Minecraft. Every tick, the server does work. Then it waits until 50 milliseconds have passed. Then it starts the next tick.
In each tick, the server has to process:
- Movement and physics for every player and entity
- AI for every loaded mob (zombies, villagers, animals)
- Block updates (water flowing, lava spreading, sand falling)
- Redstone signal calculations
- Block entity logic (furnaces smelting, hoppers transferring, brewing stands working)
- Lighting recalculations
- Plugin and mod hooks
- Chunk save and load operations
- Player network packets (chat, inventory changes, etc.)
If all of that finishes in under 50 ms, the server hits 20 TPS. If it takes longer, TPS drops.
The crucial part is that ticks are sequential. The server cannot start tick 2 until tick 1 is finished. Every laggy tick directly delays everything that comes after it.
Why 20, specifically
When Notch wrote Minecraft in 2009, he picked 20 ticks per second as the game's heartbeat. There is no deep technical reason it had to be 20 instead of 25 or 30. Other games use different rates. Quake used 10. Valorant uses 128. Minecraft uses 20.
What 20 gave him was a simple math relationship: one tick equals 50 ms exactly, which divides cleanly into one second. It is fast enough that mob movement and combat feel responsive, and slow enough that even modest hardware in 2009 could keep up.
Once that decision was locked in, the entire Minecraft world was built around it. Every game timing depends on it:
- A redstone repeater "1 tick" delay means 100 ms (2 ticks, because of how repeaters work)
- A piston extends in 3 ticks (150 ms)
- A wheat plant needs 2,400 ticks to fully grow (about 2 minutes)
- A day-night cycle takes 24,000 ticks (20 minutes real time at 20 TPS)
- A nether portal takes 80 ticks to teleport you (4 seconds)
If TPS drops to 10, all of those timings double in real time. A 4-second portal becomes 8 seconds. A 20-minute day becomes 40 minutes.
This is what makes TPS so different from FPS. Your client framerate (FPS) only affects how smoothly the game looks on your screen. TPS affects how fast the game world actually runs.
What happens when TPS drops
Imagine your server normally runs at 20 TPS. One night, dozens of players join a chunk full of complex farms. Suddenly your TPS drops to 10.
Here is what every player sees, in real time:
- Mobs walk at half speed
- Crops grow at half speed
- Furnaces smelt at half speed
- Day and night cycle at half speed (a "day" takes 40 real minutes)
- Hoppers transfer items at half speed
- Combat feels delayed (you swing your sword and the hit registers half a second late)
- Redstone clocks fire half as often
- Pistons extend and retract slowly
The visual world looks normal. You can still walk. You can still mine blocks. But the game is functionally running in slow motion, and combat especially becomes infuriating because hit registration relies entirely on tick timing.
At 5 TPS the game becomes nearly unplayable. At 1 TPS the server is essentially frozen and most players will time out.
The cruel part is that the server does not actually crash. It just gets slower. So the host's monitoring shows the server as "online" while every player on it is suffering.
How to check your TPS
The method depends on your server type.
Paper, Spigot, or Purpur servers:
Run /tps in chat. The server returns three numbers, like 20.0, 19.8, 19.5. These are the average TPS over the last minute, 5 minutes, and 15 minutes.
A healthy server shows 20.0, 20.0, 20.0. Anything lower for sustained periods is a problem.
Vanilla servers:
Run /debug start, wait 10 minutes, then run /debug stop. The server saves a profiling report in your debug folder. This is more involved but more detailed than what /tps shows.
With a mod or plugin:
Spark is the most popular profiling tool for Paper. It generates web-based reports that show exactly which entities, plugins, or chunks are eating tick time. Useful when you want to know not just that you are lagging, but why.
From the server console:
Most server software prints warnings when TPS drops, with messages like "Can't keep up! Is the server overloaded?" If you see these in your console, your server is missing tick deadlines. Repeated warnings are a clear signal something is wrong.
What causes TPS drops
In order of how often they cause problems:
1. Too many entities. Every mob, item, arrow, and falling block is an entity. Every entity gets ticked. A field of 5,000 dropped items will wreck your TPS, even on good hardware. Mob farms are the most common offender.
2. Hopper chains. Hoppers tick constantly looking for items to move. A single line of 20 chained hoppers is fine. A storage system with 500 hoppers on a redstone clock is a TPS killer.
3. Heavy redstone. Complex contraptions, especially redstone clocks that fire every tick, can saturate the tick loop. Cellular automaton builds, computational redstone, and redstone-driven mob farms are common offenders.
4. Chunk loading. Loading new chunks takes work. Players riding fast vehicles like minecarts or elytra into ungenerated terrain force the server to generate chunks live, which causes brief but severe TPS drops.
5. Bad plugins. Some plugins do work on the main thread instead of background threads. A poorly written plugin that scans every block in a chunk on every tick will tank your TPS. Spark or Timings can identify which plugin is the offender.
6. Insufficient hardware. Even a perfectly optimized server will drop TPS if the CPU is too slow. If your single thread benchmark is low (see our guide to single thread performance), your server is starting from a disadvantage no matter what you run on it.
7. View distance set too high. Each chunk loaded into a player's view costs tick budget. View distance of 20 with 50 players means hundreds of chunks loaded simultaneously. Drop to 10 and you cut that load by 75 percent.
What "good" TPS looks like
A healthy server should show 20.0 TPS as its 1-minute average. The 5-minute and 15-minute averages should also be 20.0 or extremely close.
Brief dips during chunk loading or major redstone activations are normal. Sustained drops are not.
If your /tps reading sits at 19.0 during quiet times, your server has a chronic problem. Either the hardware is too weak, the plugin set is too heavy, or there are entity-heavy areas you are not aware of. Anything below 19.5 sustained is worth investigating.
If your reading is below 15 during peak hours, players will already be complaining. You are past the point of needing to fix it.
Why hosts hide TPS information
A lot of hosting companies do not surface TPS in their default control panel. Some do not display it at all unless you install Paper and run /tps yourself.
This is by design. If players cannot see TPS, they blame their internet, their PC, or their mods. They keep paying. The hosting company does not have to admit that their server hardware is the actual bottleneck.
When evaluating a host, ask if their control panel shows live TPS. The good ones do. The ones that hide it usually have a reason.
A short FAQ
Is TPS the same as FPS?
No. FPS is your client framerate, controlled by your computer's GPU. TPS is the server's tick rate, controlled by the server's CPU. You can have 240 FPS with 5 TPS (game looks smooth but runs in slow motion) or 20 FPS with 20 TPS (game looks choppy but runs at full speed).
Can TPS go above 20?
Not in vanilla Minecraft. The server is hard-capped at 20 TPS. There are mods like Carpet that can run the world faster, but they are intended for testing, not normal play.
Does ping affect TPS?
No. Ping is network latency between you and the server. TPS is the server's internal processing rate. They are unrelated. You can have a server with 5 ms ping and 10 TPS, or 200 ms ping and a perfect 20 TPS.
Will more RAM fix TPS?
Usually not. RAM helps with chunk loading and prevents out-of-memory crashes. TPS is almost always limited by CPU speed. If you are dropping TPS while your RAM is barely used, more RAM will not help.
Why does Paper show better TPS than Vanilla on the same hardware?
Paper includes hundreds of optimizations to the server code that reduce per-tick work. Spigot and Paper consistently outperform Vanilla in TPS, often by significant margins, on the same hardware.
Wrapping up
20 TPS is the speed at which Minecraft is meant to run. Below that, every aspect of the game gets slower in real time, and players notice fast.
If your server is lagging, check TPS first. Use /tps if you have Paper, or /debug for Vanilla. The number will tell you if the problem is your hardware, your plugins, or something else entirely.
If you are paying for hosting and your TPS is regularly below 19.5, something is wrong. It might be your modpack. It might be your plugins. It might be the host running you on a CPU that simply cannot keep up. Either way, the number does not lie.