Minecraft TPS Explained
Learn what Minecraft TPS means, how MSPT affects it, why 20 TPS matters, and how to diagnose server lag without confusing it with FPS.
TPS means ticks per second. A Minecraft Java server tries to run 20 ticks every second, so one tick has about 50 milliseconds of time to finish. If a tick takes longer than that, the server falls behind and TPS drops.
TPS vs MSPT
TPS is the symptom. MSPT is usually the measurement you need to fix it.
| Metric | Meaning | Healthy target |
| --- | --- | --- |
| TPS | How many ticks the server completes per second | Near 20 |
| MSPT | Milliseconds spent per tick | Under 50 ms |
| Spike | One unusually slow tick | Investigate if repeated |
| Average | Long-term tick cost | Useful, but can hide spikes |
If MSPT is usually 25 but sometimes jumps to 400, the server may feel fine most of the time and freeze during specific events. If MSPT sits near 60 all evening, the server is overloaded continuously.
What Players Notice
Low TPS feels like server-side delay:
- Blocks reappear after breaking.
- Mobs move slowly or freeze.
- Eating, bows, and commands respond late.
- Redstone and farms slow down.
- Teleports, chunk loading, and combat feel delayed.
It does not usually reduce a player's frame rate. That distinction matters because a player saying "lag" could mean TPS, FPS, ping, packet loss, or chunk loading.
Why TPS Drops
Common causes include entities, chunks, plugins, redstone, hoppers, villagers, world generation, backups, storage stalls, garbage collection, and underpowered CPU cores. The right fix depends on the cause. Adding RAM can help memory pressure, but it does not make a slow tick loop faster.
Start with the TPS drops guide, then capture a profile with spark while the issue is happening.
Quick Reading Rule
Use this simple triage:
| Observation | Likely direction | | --- | --- | | TPS low, CPU high | Main-thread work, plugins, entities, chunks | | TPS low, CPU not high | Storage stalls, GC, host throttling, blocked thread | | TPS 20, players complain | FPS, ping, packet loss, client mods, chunk send | | TPS drops during exploration | Chunk generation or chunk IO | | TPS drops near farms | Entities, hoppers, villagers, redstone |
A clean idle profile is not proof that peak-hour lag is fixed. Capture data during the problem window.
What Not to Do
Do not lower every setting at once. Do not install a random "lag remover" plugin before profiling. Do not clear all entities as a routine fix unless you understand what will be removed. Those actions can hide evidence, break farms, or annoy players without solving the real tick cost.
Use a measured loop: observe, profile, change one area, restart cleanly if needed, and compare the next profile.
FAQ
What TPS should a Minecraft server have?
A healthy Java server targets 20 TPS. Short dips can happen, but repeated TPS below 20 means ticks are taking longer than the server budget.
Is 18 TPS bad?
Occasional 18 TPS during world saves or exploration may be tolerable. Constant 18 TPS during normal play should be profiled.
Can players have low FPS while TPS is 20?
Yes. FPS is client rendering performance. TPS is server simulation performance.
Related Tools
Startup Log Classifier
Paste a Minecraft startup log excerpt to classify Java mismatch, port conflicts, memory errors, plugin failures, dependency issues, and TPS overload.
Minecraft JVM Flag Generator
Generate practical Minecraft server JVM flags for Paper, Purpur, Forge, Fabric, and Velocity with sensible heap sizing and GC reminders.
Server Lag Diagnostic Wizard
Diagnose Minecraft server lag by separating TPS, MSPT, chunks, entities, plugins, villagers, hoppers, disconnects, FPS, and player-specific issues.
Related Articles
Fix Minecraft Server TPS Drops
Fix Minecraft server TPS drops by profiling Spark, checking MSPT, entities, chunks, plugin tasks, view distance, memory, and hosting limits.
TPS vs FPS for Minecraft Server Owners
Understand TPS vs FPS in Minecraft, how to tell server lag from client lag, and what evidence admins should ask players for before changing settings.
How to Use Spark Profiler on Minecraft Server
Use Spark profiler on a Minecraft server to capture TPS lag, read MSPT clues, avoid idle profiles, and turn profiler reports into focused fixes.