Server lag ruins the Minecraft experience — rubber-banding, delayed block placing, and mobs teleporting around are all symptoms of a server struggling to keep up. The good news: most lag is fixable in under 10 minutes with the right settings changes. This guide walks through every common cause, from quick wins to deeper fixes.
Minecraft's game engine runs on a loop of 20 ticks per second (TPS). At 20 TPS everything runs perfectly — mobs move smoothly, redstone fires instantly, and block interactions feel immediate. When the server can't keep up with that pace, TPS drops and lag appears.
| TPS | Status | What players notice |
|---|---|---|
| 20 | Perfect | Nothing — the server runs as expected |
| 18–19 | Good | Negligible — very light occasional stutter |
| 15–17 | Noticeable lag | Rubber-banding, delayed block breaking, mob movement stutters |
| 10–14 | Significant lag | Frequent rubber-banding, commands slow to process, items delayed |
| <10 | Severe / near-unplayable | Server is struggling critically — needs immediate attention |
/tps in-game. You'll see three numbers: the TPS over the last 1 minute, 5 minutes, and 15 minutes. All three should be at or near 20.
Before changing settings at random, identify what is actually causing the lag. The best free tool for this is Spark, a profiler plugin that shows you exactly which part of your server is eating CPU time.
/plugins folder via the FreeGameHost File ManagerWhen your server is lagging, run this in the console:
Spark will output a URL with a detailed breakdown of every thread and plugin consuming CPU time. Look for anything using more than 5–10% of tick time — that's your culprit.
/spark entities or use the Essentials command /lag to see how many entities are loaded. More than 2,000 entities is a red flag.
This is the single most impactful change you can make. Minecraft's default view-distance is 10 chunks — that means the server is loading and ticking chunks in a 21×21 area around every player. With 4 GB of RAM and several players online, this is often the primary cause of lag.
Open server.properties in your File Manager, change these two values, save, and restart. The difference is dramatic — many servers go from 14–16 TPS back to 20 TPS from this change alone.
Entities — mobs, dropped items, minecarts, armour stands, arrows — each take CPU time every tick. A farm that's been running for weeks can accumulate thousands of dropped items. Mob breeders can fill a chunk with hundreds of animals.
Edit spigot.yml in your File Manager and reduce mob caps per chunk. Lower values mean fewer mobs tick per chunk:
Also in spigot.yml, increasing the item-merge radius groups nearby dropped items into stacks, drastically reducing entity count in busy areas:
Plugins run code every server tick. A poorly optimised plugin — or one that scans large areas or makes database calls on the main thread — can single-handedly tank your TPS.
After running a Spark profile, look at the results for any plugin consuming a disproportionate share of tick time. Common offenders include:
To test if a plugin is the culprit, disable it temporarily by removing it from the /plugins folder and restarting. If TPS recovers, that's your answer.
If you're running a vanilla or Spigot server, switching to Paper is one of the most effective performance upgrades you can make — and it's free. Paper includes hundreds of performance patches over vanilla and Spigot, including:
In your FreeGameHost panel, go to Startup and change the server type to Paper, then restart. Your world data carries over — no rebuild needed.
Paper has its own config file (config/paper-global.yml and config/paper-world-defaults.yml on newer versions) with settings that make a significant difference. These are the most impactful ones:
FreeGameHost gives you 4 GB of RAM on the free tier — enough for most friend-group servers. However, how that RAM is managed by Java's garbage collector matters too. Poorly tuned JVM flags cause "GC pauses" — brief freezes while Java cleans up memory — which show up as TPS spikes and lag bursts.
Aikar's flags are the gold standard for Minecraft Java servers. In your FreeGameHost panel, go to Startup and check that your JVM arguments field contains these flags (or ask support to apply them):
Automated farms are some of the biggest sources of server lag, especially once a world has been running for a while. Here's how to identify and manage them:
If a farm produces items faster than players can pick them up, thousands of item entities pile up. Add a despawn-time reduction in paper.yml, or build in item collection via hoppers directly so items never drop loose.
A 1-tick or 2-tick redstone clock fires thousands of times per minute. Add a button or lever to pause clocks when not in use, or replace fast clocks with observer chains where possible. Paper's disable-moved-wrongly-threshold setting also helps contain the overhead.
A mob farm that stacks 300+ mobs in a small area is extremely taxing. Set the max-entity-cramming gamerule to 8–10 (default 24) to automatically kill mobs beyond that count in a block: /gamerule maxEntityCramming 8. This caps farm size without breaking the mechanic.
Piston-based flying machines update hundreds of blocks per cycle and generate block update events on the main thread. If a specific machine is causing lag, Spark will show pistonMoveReaction or similar consuming tick time. Coordinate with the builder to add an off-switch, or use Chunk Limits plugins to cap activity in specific areas.
TPS is a server-side metric. If the server TPS is 20 but players feel lag, the issue is likely client-side (the player's internet connection or their PC struggling to render) or network latency (high ping between the player and the server). Check players' ping in-game with /ping PlayerName if you have EssentialsX installed.
Yes — significantly. When players explore new terrain, the server has to generate new chunks on the fly, which is expensive. Pre-generating a border around spawn means all the chunk data already exists on disk and just needs to be loaded, not created. The Chunky plugin handles this cleanly. Run /chunky start after configuring a radius.
Only if RAM is the bottleneck. Check your RAM usage in the FreeGameHost panel — if it's consistently hitting 90–100%, upgrading makes sense. If RAM is only at 60–70%, more RAM won't help — the issue is likely CPU-bound (too many entities, view distance, or a laggy plugin). Our premium plans offer additional RAM from €1/GB if you do need to scale up.
Many fixes can be applied live: clearing entities with /kill commands, running /gamerule changes, disabling plugins with a plugin manager (like PlugMan), and changing view distance with /paper distance on some Paper versions. Config file changes (server.properties, spigot.yml, paper.yml) generally require a restart to take effect.
Running on a slow host? FreeGameHost gives you 4 GB RAM and optimised Paper servers — free forever.
Get a Free Server →Related guides: Best Minecraft server plugins 2026 • How to install mods on a Minecraft server • How to make a Minecraft server for friends • Free Minecraft Java Hosting