MSPT in Minecraft: What It Means and How to Fix It

Published on

MSPT stands for milliseconds per tick. Learn what MSPT means in Minecraft, how to check it, what causes high MSPT, and how to bring it below the 50ms threshold for smooth gameplay.

Written by Jochem – Infrastructure Expert – 5-10 years experience in game server hosting, VPS infrastructure, and 24/7 streaming solutions. Read author bio →

MSPT in Minecraft: What It Means and How to Fix It

MSPT stands for milliseconds per tick. It measures how long your server takes to process one game tick. Minecraft runs at 20 ticks per second (TPS), which means each tick has a 50ms budget. If your MSPT goes above 50ms, TPS drops and players feel lag.

MSPT vs TPS

TPS tells you how many ticks your server completes per second. MSPT tells you how long each tick takes. TPS is the symptom. MSPT is the cause.

A server with 20 TPS and 45ms MSPT is close to its limit. A server with 20 TPS and 12ms MSPT has plenty of headroom. Both show 20 TPS, but one is about to fall apart under any additional load.

The relationship is simple:

  • MSPT below 50ms = 20 TPS (smooth)
  • MSPT at 50ms = 20 TPS (at the edge)
  • MSPT above 50ms = TPS drops below 20 (lag starts)
  • MSPT at 100ms = 10 TPS (unplayable)

How to Check MSPT

In-game command

Press F3 on Java Edition. The debug screen shows MSPT in the bottom-left area labeled "ms ticks." On 1.20+, it displays min/avg/max values.

Spark profiler

Install the Spark plugin on your server. Run /spark tps to see TPS and MSPT together. Run /spark profiler start to record a detailed breakdown of what is consuming tick time.

Spark is the standard tool for server performance analysis. It works on Paper, Purpur, Fabric, Forge, and NeoForge.

Timings report (Paper/Purpur)

Run /timings on, wait 5 minutes, then /timings paste. This gives a web-based report showing which tasks eat the most tick time. Spark has largely replaced Timings as the preferred tool.

What Causes High MSPT

Entities

Mob farms, animal pens, and item drops on the ground are the biggest tick consumers. Each loaded entity runs AI pathfinding calculations every tick. A farm with 200 cows in one chunk will spike MSPT.

Fix: Set entity limits in bukkit.yml or paper-global.yml. Use spawn-limits to cap hostile and passive mobs. Kill excess entities with /kill @e[type=item].

Chunk loading

When players explore new terrain, the server generates chunks. Worldgen is CPU-heavy. Multiple players exploring in different directions at the same time will spike MSPT.

Fix: Pre-generate your world with Chunky. Set view-distance to 8-10 instead of the default. Set simulation-distance to 4-6.

Redstone

Large redstone circuits with clocks, piston doors, or sorting systems process every tick. A single 0-tick redstone clock updates hundreds of blocks per second.

Fix: Limit redstone updates in paper-global.yml. Consider banning 0-tick designs on public servers.

Plugins and mods

Poorly written plugins that run heavy tasks on the main thread will block ticks. Database queries, file I/O, and HTTP requests inside tick handlers are common offenders.

Fix: Use Spark to identify which plugin consumes the most tick time. Update or replace laggy plugins. Ask plugin developers to move heavy work to async threads.

Hoppers

Hoppers check for items above them every tick. A storage system with 500 hoppers creates thousands of item lookups per second.

Fix: Use hopper.disable-move-event: true in paper-global.yml if your plugins allow it. Replace hopper chains with water streams where possible.

Target MSPT Values

| Server type | Target MSPT | Notes | |---|---|---| | Vanilla 1-5 players | 5-15ms | Light load | | Vanilla 10-20 players | 15-30ms | Normal | | Modded (100+ mods) | 25-40ms | Acceptable | | Heavy modpack (ATM10) | 35-48ms | Close to limit | | Above 50ms | Lag | Fix needed |

Quick Optimization Checklist

  1. Install Spark and profile your server
  2. Pre-generate your world with Chunky
  3. Lower view-distance to 8 and simulation-distance to 5
  4. Set entity spawn limits in bukkit.yml
  5. Check hopper counts and reduce where possible
  6. Update Paper/Purpur to latest build
  7. Use Aikar's JVM flags for garbage collection
  8. Remove or replace plugins that Spark flags as slow

Hardware Matters

MSPT is heavily tied to single-thread CPU performance. Minecraft runs its main game loop on one core. A Ryzen 9 7950X3D with its massive L3 cache will give you lower MSPT than a cheaper CPU at the same player count.

NVMe storage also helps during chunk generation and world saves. Slow disks cause tick spikes during autosaves.

Space-Node uses AMD Ryzen 9 processors with NVMe SSDs. Your server gets dedicated resources, not shared cores. Start a Minecraft server from €0.90/GB per month and keep your MSPT low from day one.

Jochem

About the Author

Jochem – Infrastructure Expert – Expert in game server hosting, VPS infrastructure, and 24/7 streaming solutions with 5-10 years experience.

Since 2023
500+ servers hosted
4.8/5 avg rating

I specialize in Minecraft, FiveM, Rust, and 24/7 streaming infrastructure, operating enterprise-grade AMD Ryzen 9 hardware in Netherlands datacenters.

View my full bio and credentials →

Start Minecraft Server in Minutes

Join content creators worldwide who trust our Minecraft infrastructure. Setup is instant and support is always available. Start from €0.90/mo (Dirt) or €2.70/mo (Coal) and go live in minutes.

MSPT in Minecraft: What It Means and How to Fix It