Skip to main content
← All Guides
Performance

How to Reduce Minecraft Server Lag (Get TPS Back to 20)

A laggy server isn't about your internet, it's the tick rate. Here is how to push TPS from single digits back to a clean 20 with a handful of config changes and one profiler run.

survival ~ screen -r mc
Ticks / second
05101520
/tps => 12.4 (lagging)
set view-distance: 10 6
set simulation-distance: 10 5
jar spigot.jar paper-1.21.jar [swapped]
[spark] entities/chunk capped 32
/tps => 20.0 (*)
The 50ms budget
  1. 1
    Measure the real TPS
    Run /tps in-game or /spark tps. Anything under ~19 means ticks are taking longer than 50ms and players feel rubber-banding.
  2. 2
    Drop view & simulation distance
    In server.properties set view-distance=6 and simulation-distance=5. This is the single biggest win on a crowded or low-RAM box.
  3. 3
    Switch to Paper
    Replace spigot.jar / vanilla with paper-1.21.jar. Paper async-loads chunks and ships per-world tuning in config/paper-world-defaults.yml.
  4. 4
    Cap entities per chunk
    In paper-world-defaults.yml lower entity-per-chunk-save-limit and mob spawn caps; clear hoarded item frames and named animals.
  5. 5
    Profile what's left
    Run /spark profiler --timeout 120, then open the report. It names the exact plugin or chunk eating tick time so you fix the cause, not guess.

What you need

Tick rate / TPS
Spark profiler
Entity limits
Paper / Purpur jar

Quick answers

?
What is a good TPS?
20 TPS is perfect. Each tick should finish in under 50ms. Sustained values below 19 mean the server is behind and time effectively slows for players.
?
TPS vs FPS, what's the difference?
FPS is your client's render rate. TPS is the server's simulation rate. Low FPS is a video-card issue; low TPS is a server issue and affects everyone equally.
?
Does more RAM fix lag?
Rarely past 6-8GB. Most lag is CPU single-thread bound or caused by chunk/entity load, not RAM starvation. Over-allocating RAM can even worsen GC pauses.
?
Is Paper safe with my plugins?
Yes. Paper is a Spigot superset, so Bukkit/Spigot plugins like EssentialsX, LuckPerms and WorldGuard work unchanged, and most run faster.
?
How do I find the laggy plugin?
Use /spark profiler. The flamegraph attributes tick time to each plugin and task, so you can disable or replace the one actually responsible.
?
What's the fastest single fix?
Lower view-distance. Going from 10 to 6 cuts the chunks the server keeps loaded by roughly 60% and usually recovers several TPS instantly.
Hosting
Skip the setup
Get a managed server with one click instead of configuring it all yourself.
Database
Browse every block & mob
Look up the entities and items eating your tick budget in the full Minecraft database.