How to fix server lag
"Lag" can mean three different problems with three different fixes. Figure out which one you have first.
Which kind of lag is it?
| What players see | Type | Likely cause |
|---|---|---|
| Everyone rubber-bands, mobs freeze, blocks reappear | Server lag (low TPS) | The server can't keep up - CPU, RAM or a heavy plugin/mod |
| Only some players lag; high ping in the tab list | Network lag | Distance to the server or the player's own connection |
| Low FPS, stuttering, but others are fine | Client lag | The player's own computer |
Fixing server lag
-
Check resource usage in the panel next to the console.
- Memory near 100% - you need more RAM or have a leak. Restart and watch whether it climbs back up.
- CPU pinned high - something is doing too much work every tick.
-
Find the culprit (Minecraft). On Paper/Purpur, install spark and run:
spark profiler startWait a few minutes during the lag, then run
spark profiler stopand open the link it gives you. The top entries show which plugin, entity or chunk is eating the tick time. -
Lower the load:
- Reduce
view-distanceandsimulation-distancein server.properties (8 and 6 are good values). - Pre-generate the world with a plugin like Chunky so exploring doesn't generate chunks live.
- Limit entity farms and huge redstone clocks.
- Remove plugins or mods you don't need.
- Reduce
-
Restart daily with a schedule to clear memory build-up.
Fixing network lag
- Make sure your server's location is close to most players - check live latency on our locations page.
- Players on Wi-Fi should try a wired connection, and close downloads or streams.
- If everyone suddenly has high ping, check ngpcloud.in/status.
Still lagging?
If you've profiled and the server is simply at capacity, a bigger plan is the fix - see How to choose the right plan. Include your spark report link in a ticket and we'll help you read it.
Still stuck? Open a ticket on Discord - run /ticket in any channel, pick a department, and include your Server ID or Invoice ID so we can jump straight in.