All posts
by Renzom Team7 min read

How to fix Minecraft server lag in 2026: a real diagnostic playbook

Concrete steps to diagnose and fix Minecraft server lag in 2026 — TPS drops, MSPT spikes, chunk-load stutter, plugin issues, GC pauses.

  • #minecraft
  • #performance
  • #troubleshooting
Also available in Deutsch

"My Minecraft server is lagging" is the single most-frequent ticket in game-server hosting. It's also one of the most ambiguous — "lag" can mean five completely different problems with five different root causes. Buying more RAM fixes one of them; the other four it doesn't touch.

This is the diagnostic playbook we use ourselves before we tell a customer "yes, you need to upgrade".

The five things "lag" actually means

When a player says "the server is lagging", they're describing one of:

  1. Network lag (high ping). Their packets take a long time to reach the server. The server itself is fine.
  2. TPS lag (low ticks per second). The server can't keep up with its tick budget. Everything in-game runs slow-motion.
  3. MSPT spikes (occasional long ticks). The server is mostly fine but has periodic 200ms+ pauses. Players see "rubber-banding".
  4. Chunk-load stutter. Walking into new terrain freezes briefly while chunks generate or load from disk.
  5. Client lag. Their game itself is slow, but they blame the server.

Knowing which one you have is 80% of the fix.

Step 1: ask the right diagnostic question

Before you do anything else, ask the player:

Is everyone laggy at the same time, or just some people?

  • Just one or two people: their network or client. Move on.
  • Everyone, but only when X happens (joining, moving to a new area, large explosion): server-side spike. Read on.
  • Everyone, all the time: server is undersized or misconfigured. Read on.

Step 2: check TPS and MSPT in the panel

Every modern Minecraft server panel shows TPS (ticks per second) and MSPT (milliseconds per tick). Pterodactyl-based panels (like ours) show both as a live graph. If yours doesn't, type /spark tps or /forge tps in the server console.

Healthy:

  • TPS: 19.5–20.0 (the server's target is 20)
  • MSPT: 5–30ms (the server's budget per tick is 50ms)

Warning signs:

  • TPS below 19: server is consistently overloaded
  • MSPT averaging above 40ms: you're one bad tick away from dropping TPS
  • MSPT spiking above 50ms occasionally: something specific is causing pauses (player joins? chunk generation? plugin task?)

Step 3: install Spark or Sparkle

If you don't already have it, install the Spark profiler plugin. It's free, works on Paper/Spigot/Fabric/Forge, and gives you the actual answer about what's slow. Run:

/spark profiler --timeout 300

This profiles the server for 5 minutes and gives you a web URL with a flame graph. The flame graph tells you exactly which code is eating the most time.

The biggest categories you'll see:

  • Chunk loading / chunk generation — the player is exploring new terrain, or the world is too big to fit in memory and chunks are being thrashed.
  • Entities — too many mobs, item frames, dropped items, or villagers.
  • Plugin X tick — a specific plugin is too heavy.
  • Garbage collection — Java is pausing for GC; flags need tuning.

Don't guess. Profile, then fix the thing that's actually slow.

Step 4: the most common Minecraft lag causes (in 2026 frequency order)

Lag cause 1: too many entities

The single most common cause. A 10×10 area with 200 chickens / 100 villagers / 5 chunks of dropped items will tank a 4 GB server.

Fix: install ClearLag (or any modern equivalent) and set entity caps. For modded, Spark shows you exactly which entity type is hot.

Quick triage: in the console, run /forge entity list (Forge) or /spark health (anything). If you see "10000 dropped items" or "2000 villagers", that's your problem.

Lag cause 2: bad plugin

A single misbehaving plugin can drop a server's TPS by 50%. The usual culprits are old plugins that hook into ticks they don't need to (e.g. plugins that scan every block in every chunk every tick).

Fix: profile (Spark), find the plugin, replace it. Common offenders we see: outdated chunk-claim plugins, custom-mob plugins, anti-grief plugins from 2017.

Lag cause 3: overworld too big for RAM

If your overworld is 50,000+ blocks across, the chunk cache will thrash on a small RAM budget. Java loads/unloads chunks constantly, garbage-collecting heap as it goes.

Fix: either prune the world (with Chunky pre-generation + worldborder), or buy more RAM. There's no software trick that beats "more RAM" for this.

Lag cause 4: bad Java flags

Default Java flags are bad for game servers. The classic Aikar's flags:

-XX:+UseG1GC
-XX:+ParallelRefProcEnabled
-XX:MaxGCPauseMillis=200
-XX:+UnlockExperimentalVMOptions
-XX:+DisableExplicitGC
-XX:+AlwaysPreTouch
-XX:G1NewSizePercent=30
-XX:G1MaxNewSizePercent=40
-XX:G1HeapRegionSize=8M
-XX:G1ReservePercent=20
-XX:G1HeapWastePercent=5
-XX:G1MixedGCCountTarget=4
-XX:InitiatingHeapOccupancyPercent=15
-XX:G1MixedGCLiveThresholdPercent=90
-XX:G1RSetUpdatingPauseTimePercent=5
-XX:SurvivorRatio=32
-XX:+PerfDisableSharedMem
-XX:MaxTenuringThreshold=1
-Dusing.aikars.flags=https://mcflags.emc.gs
-Daikars.new.flags=true

Set these as your JVM args. They cut average MSPT by 30-50% for most servers and reduce GC-pause spikes dramatically.

(Our Minecraft eggs at Renzom apply Aikar's flags by default. If you're with a different host, check whether they do — many don't.)

Lag cause 5: anti-cheat or world-load plugin scanning everything

Some plugins (CMI, older Essentials versions, certain anti-cheats) scan the world periodically. If they scan more aggressively than the server can keep up with, you get a sawtooth lag pattern.

Fix: lower the scan frequency in the plugin's config, or replace the plugin.

Lag cause 6: not enough CPU (rare but real)

If your server is on a heavily oversold node, your CPU time is being preempted by other tenants. You can't fix this from inside the server — only by switching hosts.

Diagnostic: if Spark shows MSPT spikes that don't correlate with anything happening in-game (no players joining, no chunk-gen, no entity bursts), it's likely host-side CPU contention.

Lag cause 7: HDD instead of SSD storage

Slow disks make world saves stutter. The server pauses every few minutes for the periodic save.

Fix: change hosts. NVMe SSD is the floor in 2026; if your host doesn't tell you the storage type, assume worst case.

Step 5: the "I tried everything, it's still laggy" path

If you've profiled, fixed entities, fixed plugins, applied Aikar's flags, and TPS is still bad, you have one of:

  • Modpack that's just too heavy for your RAM tier. Heavy modpacks (RLCraft, GTNH, AOF) need 12-16 GB minimum. There's no flags-tuning that gets a 4 GB server to run RLCraft.
  • Genuinely undersized server. 30 players on a 4 GB server can't physically work, regardless of optimization.
  • Bad host. Some shared-tier hosts oversell so badly that no amount of fixing helps.

At that point: upgrade RAM (one tier up), or change hosts. Both are real fixes; "buy more RAM" isn't a scam if you actually need more RAM.

What network lag (high ping) looks like

If specific players have high ping but others don't, it's their connection, not your server. Things you can sometimes do:

  • Pick a host in the geographic region your players are in. EU server for EU players, NA for NA players. Don't run a server in Frankfurt for Australians.
  • BungeeCord / Velocity proxies can reduce some connection overhead but don't fix actual distance.
  • Some ISPs have terrible Minecraft connectivity (Vodafone Germany, BT in the UK historically). Tell the player to try a wired connection or a different network.

How we proactively avoid Minecraft lag at Renzom

Things baked into our default Minecraft eggs:

  • Aikar's flags applied automatically with the right heap size for your tier
  • Java 21 by default for Minecraft 1.21+
  • NVMe Gen 4 storage for all tiers
  • Single-thread CPU dedicated above 6 GB tier (smaller tiers share CPU but with QoS guarantees)
  • Recommended plugin install: Spark profiler comes pre-installed but disabled (you enable it when needed)
  • Daily backups so you can always roll back if a plugin update breaks things

Order a Minecraft server — or if you're already with us and you have lag, ping us on Discord and we'll profile it with you for free.

Next steps

Server lag is almost always solvable. The mistake is paying for "more RAM" or "more performance" without finding out which of the five lag types you actually have. Five minutes with Spark beats five months of overpaying.