Illustration for Minecraft server lag: diagnose TPS and MSPT with spark

Minecraft server lag: diagnose TPS and MSPT with spark

Separate TPS, MSPT, ping and FPS, capture a spark profile and investigate the plugins or chunks slowing down your Minecraft server.

Before adding RAM to a lagging Minecraft server, identify whether the bottleneck is the server, network or player’s computer. Rubberbanding, low frame rate and blocks reappearing do not necessarily have the same cause.

This procedure targets Paper. Recent Paper releases include spark; for another server implementation, use a profiler build explicitly compatible with your software and game version.

Understand the measurements

  • TPS measures the server’s tick rate, normally targeting 20 ticks per second.
  • MSPT measures how long a tick takes to process. At 20 TPS, the average budget is 50 ms.
  • Ping measures communication delay. Healthy tick rates do not fix an unstable connection.
  • FPS measures frames rendered on the player’s computer. Shaders can reduce FPS while the server is healthy.

Ask whether everyone is affected. Record the location, player count and activity. Exploring fresh terrain at speed is a different workload from standing in a developed spawn area.

Capture a representative session

With the required permissions, run this in-game while the problem is occurring:

/spark profiler start --timeout 300

Continue the activity for the five-minute capture and open the report linked in the console. Paper also documents a targeted capture for slow ticks:

/spark profiler start --only-ticks-over 100 --timeout 300

The second example selects spikes over 100 ms. Keep a general capture as well; profiling an empty server can miss the issue completely. Check reports and logs for private information before sharing them publicly.

Interpret the context

Look for expensive main-thread work and inspect the surrounding call path. A plugin appearing in the report is a lead, not automatic proof that it is responsible. Compare spikes with saving, terrain generation and entity activity.

If tick performance stays healthy, compare a wired connection and another network. If only one player’s rendering suffers, temporarily reduce that client’s graphics settings. Avoid changing unrelated server files to address a local graphics problem.

Make one change and measure again

Use a test copy to disable a suspected plugin or repeat the activity away from a busy area. For generation spikes, consider preparing a limited world region. For entity load, identify the build responsible rather than deleting entities indiscriminately.

Capture another profile with a similar player count and workload. Record the original setting, change and outcome. Our Minecraft RAM guide covers memory sizing; profiling establishes whether memory is actually the limiting resource.

Decide whether hosting is the constraint

If a reasonable workload consistently exceeds the available resources, send the evidence to support. Compare CPU availability, memory, storage and location. Changing hosts cannot repair a faulty plugin or increase a player’s GPU performance. A measurable requirement is more useful than a promise of unlimited slots.

You can also compare the terms on our Minestrator profile.

Frequently asked questions

Does 20 TPS rule out every problem?
No. Short spikes and network issues can still affect players. Examine tick duration and the conditions in which symptoms appear.
Should I remove every plugin?
Start with a test copy and the components identified by the profile. Removing data-related plugins from production can affect gameplay and saved state.
Will more RAM eliminate lag?
Only if memory is a real constraint. CPU, network and code problems require different remedies.

Continue with: pregenerate a limited area with Chunky, prepare a complete backup.

Sources and documentation: Paper profiling, Paper troubleshooting, Paper commands.

Our recommendation

Ready to launch your Minecraft server?

Here are the best Minecraft hosting deals right now, promo codes included. Still unsure? Our quiz finds the ideal host for you in under 2 minutes.

Budget

My box 4

Minestrator

5.99/month
-10% with code HOSTMYGAME
Max players:Unknown
Mods:
Yes

Specifications

RAM:4GB(DDR4)

Compatible games

Minecraft (Java)
Minecraft (Bedrock)

Features

  • Hébergement web inclus
  • DDoS Protection
  • Backups
Budget

Casual (budget)

Shockbyte

1.70/month
-25% with code LAUNCH
Max players:10
Mods:
Yes

Specifications

RAM:1GB(DDR4)

Compatible games

Minecraft (Java)
Minecraft (Bedrock)

Features

  • 1GB RAM
  • Protection DDoS
  • Support 24/7
  • Setup instantané
Budget

Stone

GGServers

5.05/month
-20% with code TAKE20
Max players:12
Mods:
Yes

Specifications

RAM:1GB(DDR4)

Compatible games

Minecraft (Java)

Features

  • DDoS Protection