Minecraft anticheat guide
TPS, MSPT, and Ping: What to Check First
Which lag numbers to read first on a Minecraft server, how TPS, MSPT, and player ping differ, and the order to rule out causes before blaming an anticheat.
Check the lag numbers in this order
Read three numbers in a fixed order: who reports the lag, the server tick time, and the player's ping. TPS shows how often the server finishes ticks on schedule. MSPT shows how long each tick takes. Ping shows the round trip for one player's connection. A low TPS with high MSPT points at server work. High ping with normal MSPT points at the network or the player's connection.
Start with who reports the lag
The first question is scope. A single player with lag and a steady server is a connection problem in most cases. Several players in one area with lag points at the server or a local event. All players at once points at the server or host.
Write down the answer before reading any graph. It narrows the next step more than any single number.
| Symptom | Most likely domain | First check |
|---|---|---|
| One player rubber-bands or stutters | Player connection | That player's ping and packet loss on their own network |
| Many players lag in one area | Server work in that area | Entity count and chunk activity in that area |
| All players lag, MSPT high | Server tick work | Which plugins and world tasks run during the spike |
| All players lag, MSPT normal, TPS low | Host or scheduling | Host CPU limits and other processes on the machine |
| Lag only after a player joins | Join path | Logs for that join and plugin errors at login |
Know what each number measures
TPS is a derived average. A server aims for 20 ticks per second. When a tick takes longer than 50 milliseconds, the server falls behind, and TPS drops. MSPT is the raw time per tick, so it reacts faster and shows the cause more directly.
Ping is a per-player round trip. Server work can change ping only indirectly, for example when a tick delay holds back responses. Do not assume that a high ping for one player proves a server problem.
Rule out the network before you touch the server
Ask the affected player to check their connection before you change any server setting. Ask whether the lag happens on other servers or on other games. If it does, the cause is most likely their network, and the server config is not the fix.
If several players in different regions report the same problem, check the host's network status and your server's outbound connections, such as database or webhook calls that block the tick.
Separate a one-off spike from a pattern
A single spike can come from a world event, a large explosion, or a scheduled task. A pattern repeats at the same time of day or after the same action. Log timestamps for each report and compare them against scheduled tasks and player activity.
Profiling the server is the next step after triage. This page only helps you decide whether profiling is worth doing and which symptom to test first.
Give the incident note an owner. One staff member should own the log for each week, check that each report has a time and scope, and flag reports that lack them. Without an owner, the notes drift, and the pattern you need to see never forms.
Keep a simple incident note for every report. Record the time, the affected player or area, the player count, the MSPT value if you saw it, and whether the player was on a wired or wireless connection. After a few weeks, the notes show whether reports cluster by time, by area, or by connection type. That pattern is usually more useful than any single reading, and it tells you which part of the triage to repeat first when the next report arrives.
What we have not verified
Keep the triage order fixed across incidents. Changing the order between reports makes the notes hard to compare, and a pattern that appears only in some reports is harder to confirm. Review the order once a quarter and change it only when your notes show a repeated gap.
This page does not give expected TPS or MSPT values for any server, plugin set, or host. Healthy values depend on hardware and player count. It also does not measure how much an anticheat changes these numbers. Run the triage steps on your own server and keep the evidence.
FAQ
Is a TPS of 20 always healthy?
A TPS near 20 means the server is keeping up on average. It can still hide spikes that cause visible stutter, so check MSPT and the time of each report as well.
Can high ping cause a server-side anticheat flag?
Delayed packets can change how movement and combat checks see a player. Whether that matters depends on the check, so test a high-ping player in staging and review the alerts.
Which number should I put in an incident report first?
Put the scope of the report first, then MSPT during the event, then the affected player's ping. Those three answer whether the problem is local, server-wide, or on the connection.