How to Reduce Server Lag: The Complete Guide (2026)
Server lag kills the fun faster than anything else. Whether it's rubber-banding players, blocks appearing and disappearing, delayed commands, or everyone freezing at once — server lag is one of the most frustrating problems you can run into as a server owner.
The good news is that most server lag has fixable causes. This complete guide covers every type of game server lag, how to diagnose which kind you're experiencing, and exactly what to do about it.
The two types of server lag (and why they're different)
Before you start tweaking settings, it's important to understand that "server lag" actually refers to two completely different problems that have different causes and different fixes.
Server-side lag (TPS drops)
Server-side lag happens when the server itself can't keep up with the game. The server is doing too much work — processing too many entities, running too many plugins, or running out of RAM — and can't complete all of its calculations within each tick. This shows up as slow TPS (Ticks Per Second), rubber-banding, block roll-backs, and everyone experiencing lag simultaneously regardless of their individual internet connection.
Network lag (high ping / latency)
Network lag happens when data takes too long to travel between a player's computer and the server. This is measured in milliseconds (ms) and called ping or latency. Network lag affects individual players differently based on their geographic distance from the server and the quality of their internet connection.
Identifying which type you have first saves a lot of wasted troubleshooting. Use your server's TPS command (usually /tps for Minecraft) or equivalent monitoring to check server performance before assuming network issues.
RAM and memory lag fixes
Insufficient RAM is the single most common cause of server lag. When a game server runs out of RAM, it starts using swap (disk space treated as virtual RAM), which is orders of magnitude slower. This causes massive TPS drops and can lead to server crashes.
How to tell if RAM is the problem
In your server control panel, check the RAM usage graph. If it's consistently above 80–90% of allocation, you're RAM-constrained. In Minecraft specifically, watch for long garbage collection pauses that cause the server to freeze for 1–5 seconds repeatedly.
Increase your RAM allocation
The simplest fix. If your host allows it, increase the RAM assigned to your server. For vanilla Minecraft, 2GB is the minimum; 4GB is comfortable for 10–20 players. For modded servers, 6–8GB is the minimum for large modpacks.
On FreeGameHost, the free tier includes 4–8GB RAM depending on the game type — already more than enough for most friend group servers.
Optimise your startup flags (Java games)
For Java-based game servers like Minecraft, JVM startup flags control how memory is allocated and when garbage collection runs. Using optimised flags can dramatically reduce GC pauses and improve memory efficiency. The Aikar flags are widely recommended for Minecraft:
-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
-jar server.jar nogui
Replace 4G with your actual RAM allocation. Set -Xms and -Xmx to the same value to prevent GC from resizing the heap.
Reduce loaded chunk count
Every loaded chunk in a game world consumes RAM and CPU. For Minecraft servers, reducing your view distance (the number of chunks sent to each player) is one of the most impactful performance changes you can make.
In server.properties:
simulation-distance=4 # How far away entities are simulated
A view distance of 6–8 is the sweet spot for most servers: still looks great for players but significantly reduces memory load.
CPU and TPS lag fixes
CPU lag occurs when the server is processing more operations per tick than it can handle in 50ms (the time budget for one 20 TPS tick). Common culprits are excessive entities, poorly optimised plugins or mods, and world features like large farms or complex redstone.
How to measure TPS
For Minecraft servers running Paper or Spigot, use the /tps command in the server console. You should see three numbers for the last 1, 5, and 15 minutes. Anything below 19 TPS is noticeable lag. Below 15 TPS is severe. The target is always 20 TPS.
Set entity limits
Too many entities (mobs, dropped items, minecarts) are the most common source of CPU lag. Passive mobs idling in large farms are especially expensive. Set sensible limits in your server config:
In bukkit.yml (Minecraft Paper/Spigot):
monsters: 50 # Default 70
animals: 8 # Default 10
water-animals: 3
ambient: 1
Use an optimised server software
Not all server software is created equal. For Minecraft, switching from vanilla or Spigot to Paper (or Purpur) can double your TPS stability. Paper includes hundreds of optimisations over vanilla, async chunk loading, and configurable performance settings that vanilla simply doesn't have.
If you're already on Paper, Purpur adds even more performance options on top.
Profile and remove laggy plugins or mods
A single poorly coded plugin can devastate TPS. Use a profiling tool to identify which plugins are consuming the most CPU time. For Minecraft Paper servers, the Spark profiler is the industry standard:
# Let it run for 60–120 seconds during lag
/spark profiler stop
Spark generates a report link showing a flame graph of which code is taking the most time. If a specific plugin is responsible, check for updates or replace it with a more optimised alternative.
Merge dropped items and limit hoppers
Item drops on the ground are individually tracked entities. In large farms or after player deaths, hundreds of item entities can stack up. Configure your server to merge nearby dropped items and limit the range that hoppers check for items:
In paper.yml:
enabled: true
items:
COBBLESTONE: 300 # Despawn common junk faster (seconds)
Pregenerate your world
When players explore new areas of the map, the server must generate new chunks in real time. This is extremely CPU-intensive and causes major TPS spikes. Pre-generating the world out to a set border eliminates this entirely. Use the Chunky plugin for Minecraft:
/chunky start
# This generates a 5000-block-radius area in the background
Run this during low-activity hours. For a 5000-block radius world, expect it to take 10–30 minutes depending on server hardware.
Network and ping lag fixes
Network lag is about the distance and quality of the connection between players and the server. Unlike server-side lag, some of this is outside your control — but there's still plenty you can do.
Choose the right server location
The single biggest factor in player ping is physical distance to the server. A server in Frankfurt cannot give a player in Australia sub-100ms ping — physics doesn't allow it. When setting up your server, choose a data centre location closest to the majority of your players. FreeGameHost places servers in UK and European data centres optimised for low-latency connections.
Switch from WiFi to ethernet
This applies to players, not the server. WiFi introduces latency jitter — unpredictable variation in ping that causes rubber-banding even when the average ping looks fine. Players on WiFi should connect via a wired ethernet cable if possible. The difference is often dramatic: 50ms average ping on WiFi with 20ms jitter becomes 20ms with 1ms jitter on ethernet.
Ensure DDoS protection is active
Game servers are frequent targets for small-scale DDoS attacks, especially if you've shared your server address in public communities. Even a modest attack that doesn't take your server offline can cause severe packet loss and lag for all connected players. Make sure your host includes DDoS mitigation — FreeGameHost includes enterprise-grade DDoS protection on all servers, including the free tier.
Use a performance-optimised network protocol
For Minecraft specifically, installing the ViaVersion family of plugins allows players on newer client versions to connect without the server needing to support every individual version, and enables protocol-level optimisations. For Bedrock cross-play, the Geyser proxy handles protocol translation more efficiently than running separate server instances.
Host-side lag you can't fix yourself
Sometimes the cause of lag is on your hosting provider's side. These situations require either changing server settings or switching host:
Node overcrowding
Budget and free hosts often place too many server instances on a single physical machine. Even if your server has a 4GB RAM allocation, if 50 other servers are sharing the same CPU, you'll experience unpredictable lag spikes regardless of your configuration. Signs include lag that appears randomly at the same times every day, especially during evening peak hours.
Slow storage I/O
Servers hosted on slow HDD storage suffer during chunk loading, world saves, and backup operations. These I/O operations block the server thread and cause TPS drops. NVMe SSD storage, like that used by FreeGameHost, eliminates this problem. If your host uses spinning disks, consider migrating.
Throttled CPU
Some hosts advertise CPU allocations but enforce hard throttling limits that cap performance even when the server needs more. This causes sustained TPS drops during heavy load. Look for hosts that specify CPU allocation in percentages (e.g. 200% = two full cores) rather than vague promises of "high performance" hardware.
Quick-start lag reduction checklist
Use this checklist to work through the most impactful fixes in order:
- Check your TPS with
/tps— confirm whether it's server-side or network lag - Check RAM usage in your control panel — if above 85%, increase allocation or optimise
- Switch to optimised server software (Paper for Minecraft)
- Reduce view distance to 6–8 in server.properties
- Set entity spawn limits in bukkit.yml
- Run Spark profiler to identify laggy plugins
- Remove or replace plugins that consume excessive CPU time
- Pre-generate your world to eliminate chunk generation lag
- Ensure DDoS protection is active on your host
- Ensure you're hosted on NVMe SSD storage, not spinning disks
- Confirm your host doesn't overcrowd physical nodes
- Ask players experiencing high ping to switch from WiFi to ethernet
Starting fresh? FreeGameHost servers include NVMe SSD, 200% CPU, 4–8GB RAM, and DDoS protection — all the hardware fundamentals for a lag-free server, completely free.
Create a Free Lag-Free Server →Frequently asked questions
Related: How to Fix Minecraft Server Lag • What is a Dedicated Game Server? • Best Free Game Server Hosting
Free tools & hosting: Minecraft RAM calculator