TPS means ticks per second: how many times a Minecraft server runs its game loop in one second. The target is 20.0. MSPT, milliseconds per tick, is the time one tick takes, and it must stay under 50 for the server to hold 20 TPS. This page covers Java Edition servers, where Paper's documentation and the Minecraft Wiki are clear.
What TPS and MSPT mean
One pass of the game loop is a tick. In each tick the server moves mobs, updates blocks, handles redstone, sends packets and saves on a schedule. TPS counts those passes per second. MSPT measures how long each pass actually took. The two numbers describe the same thing from opposite ends.
| Measure | What it tells you | Healthy value | Direction |
|---|---|---|---|
| TPS | Game loop runs per second | 20.0 (Paper docs) | Higher is better |
| MSPT | Time one tick takes, in milliseconds | Below 50 for 20 TPS (Paper docs) | Lower is better |
Why 20 TPS is the target
Twenty ticks per second means one tick every 50 milliseconds. The Minecraft Wiki says the game normally runs at that fixed rate, so an in-game day lasts exactly 24,000 ticks, or 20 minutes. Paper's scheduling docs say a tick taking more than 50 ms is the moment a server starts to fall behind and lag.
Most actions count ticks, not real seconds. Paper's docs give an example: a task set to run after 100 ticks takes 5 seconds at 20 TPS but 10 seconds at 10 TPS. The wiki says the same in general terms: on a slower machine, many things take longer. Low TPS therefore slows crops, mobs and redstone, not just the picture.
How to check TPS and MSPT
On Paper, `/tps` reports TPS over the past 1, 5 and 15 minutes, and `/mspt` reports average, minimum and maximum MSPT over the last 5, 10 and 60 seconds. Paper's docs add that both are superseded by `/spark`, and that it is the only command to rely on for performance information. In Java Edition, `/tick query` (added in 1.20.3, permission level 3) prints the target tick rate, average time per tick and percentiles.
The F3 debug screen shows MSPT as "ms ticks", and the frame time graph (F3 + 2) shows TPS. The wiki notes that both work only in singleplayer or as a multiplayer host, because the numbers come from the integrated server. To watch a dedicated server from inside the game, two of our listed projects do it.
TabTPS
Server Plugin by jpenilla
TabTPS shows TPS and MSPT in the tab menu, boss bar and action bar. It must be on the server, and its page lists no player-side install. It is listed for Paper, Fabric, NeoForge and Sponge.
TPS HUD
Server Plugin by mooziii
TPS HUD works the other way round. It is installed on the player's side, and its page says it displays the server's TPS without anything installed on the server. A server-side plugin or mod is optional.
What makes a server drop below 20 TPS
A server drops below 20 when ticks regularly take longer than 50 ms. The Minecraft Wiki lists common contributors to server-side lag: hoppers that keep searching for items above them, redstone dust causing many block and light updates, large numbers of mobs running AI, and a random tick speed set too high.
Paper's scheduling docs add a cause that comes from code. Synchronous tasks run on the main server thread, the same thread that handles all game logic, so every one of them affects performance. Web requests, file access and database calls belong in asynchronous tasks, which run off the main thread. Entity counts matter too. Paper's `/paper entity list` lists ticking entities, and `/paper chunkinfo` shows how many chunks are fully ticking.
Which plugins and mods add load
None of the sources names a specific plugin or mod as a cause of low TPS, so we do not either. What the Paper docs do say is general: anything a plugin schedules on the main thread counts against the 50 ms budget. A modded server is subject to the same budget. For a player who runs mods or plugins, the practical step is to measure with `/spark`, not guess. Our Paper vs Spigot vs Purpur page covers the server software, and how to install plugins covers adding them.
What you can do about low TPS
The wiki's own mitigations are plain: cover hoppers with a solid block (a composter is described as even better), switch off redstone clocks when unused, use torches to stop hostile spawns, and use entity-efficient farm designs. Simulation distance also matters, since the wiki says chunks within it are ticked every game tick. See simulation distance vs render distance.
ServerCore
Java Mod by Wesley1808
ServerCore is a server-side Fabric and NeoForge mod aimed at server performance. Its page lists entity activation range, villager lobotomization and dynamic checks that adjust settings from tick time. Its Forge builds have stopped. Features that change vanilla behaviour are off by default, so it needs configuring. The Fabric Wiki also lists Lithium, which it says improves block ticking and mob AI without changing behaviour. Our optimization mods roundup lists more.
We read these pages on 11 October 2026. We did not run a server, measure TPS or profile any plugin or mod. The sources say nothing about tick behaviour on Bedrock Edition, and the wiki's Bedrock section on ticks is empty. For general lag on a single machine, see how to fix lag and boost FPS.
Sources
- 1.Commands, PaperMC Docs (docs.papermc.io, read 11 October 2026)
- 2.Scheduling, PaperMC Docs (docs.papermc.io, read 11 October 2026)
- 3.Tick, Minecraft Wiki (minecraft.wiki, read 11 October 2026)
- 4.Debug screen, Minecraft Wiki (minecraft.wiki, read 11 October 2026)
- 5./tick, Minecraft Wiki (minecraft.wiki, read 11 October 2026)
- 6.Established Serverside Mods, Fabric Wiki (wiki.fabricmc.net, last modified 12 September 2025)







