Minecraft Server Lag: How to Fix Low TPS
How to diagnose and fix Minecraft server lag: measure TPS and MSPT, run a profiler, tune view distance, pre-generate the world and know when to upgrade.
To fix Minecraft server lag, first find out which kind it is. Run /tps (Paper) or a profiler such as spark, then act on what the numbers say: lower view and simulation distance, remove the heavy plugin or mod, pre-generate the world, and only then add resources. A healthy server holds 20 TPS; below about 18 your players start to feel it.
Know the three kinds of "lag"
Players say "lag" for three different problems, and each has a different fix.
| What players see | What it is | Where to look |
|---|---|---|
| Blocks reappear after being broken, mobs stutter, everything feels slow | Server lag: low TPS | The server: plugins, entities, chunks, CPU |
| Rubber-banding when moving, delayed hits | Network lag: high ping | Distance to the server, route; see server location and latency |
| Low frames, stutter only on their screen | Client lag: low FPS | The player's computer, not your server |
Only the first is yours to fix on the server side, and it is the rest of this guide.
Step 1: Measure TPS and MSPT
TPS (ticks per second) is how many times each second the server updates the world. The target is 20. MSPT (milliseconds per tick) is how long each update takes; it has to stay under 50 ms or the server falls behind.
- On Paper and its forks, type
/tpsin the console. - On Fabric, install a profiler mod such as spark.
- A managed panel can show it for you. SolumeCore's performance tab graphs TPS and MSPT and gives a plain-language verdict.

A low TPS that is steady points at constant load. TPS that drops in spikes points at an event: chunk generation, a farm, a plugin task, a backup.
Step 2: Profile instead of guessing
A profiler records what the server spends time on, and then names the plugin, mod or area responsible. spark is the standard tool. Run it for a minute or two while the problem is happening and open the report; it breaks time down by plugin and by method.
The SolumeCore panel has a one-click version: it observes the server for 60 seconds and builds a report with the heaviest plugins, mods and areas. Share the link with whoever helps you.
Common culprits:
- A plugin running database queries on the main thread.
- Thousands of entities in one place (animal farms, item drops, hoppers).
- Huge redstone or hopper clocks.
- Chunk loaders keeping large areas active.
Step 3: Lower the cost of the world
Two settings in server.properties cost the most, and they are the quickest wins:
view-distance: how many chunks are sent to each player. 8 to 10 is a good balance.simulation-distance: how far from a player the world actually runs. Lowering it saves CPU while keeping the view long.
Each extra chunk of distance is a lot of extra work, because the area grows with the square of the radius. See server.properties explained for every related setting.
Step 4: Pre-generate the world
Minecraft creates the world piece by piece as players explore, and generating new terrain is among the heaviest things a server does. That is why lag spikes appear when people fly into unexplored land.
Pre-generating does that work once, ahead of time. The Chunky plugin does it, and you can add a world border so players cannot wander into infinity. Run it when few players are online. The SolumeCore panel has a pre-generation tool and a border editor in the world tab.
Step 5: Tune the JVM and Paper
Once the obvious problems are gone, tuning pays off modestly:
- Use well-known Aikar flags for the garbage collector. The flag generator writes them for your RAM.
- Do not over-allocate memory. Too much heap makes garbage collection pauses longer, not shorter. See how much RAM a Minecraft server needs.
- Use Paper or a fork. Paper's optimizations over vanilla are large and free.
Step 6: Clean up what you installed
- Remove plugins you no longer use. Each one adds work.
- Replace heavy plugins with lighter ones that do the same job.
- Cap entities with mob caps or a clean-up plugin.
- On a modpack, remove the mods you do not use; modded servers are significantly heavier. See the modded server guide.
Tip: change one thing at a time and measure again. Otherwise you never learn what worked.
When it really is resources
If profiling shows the server is simply busy with legitimate work, the answer is more resources, and the order matters:
- CPU speed first. Minecraft's main loop is mostly single-threaded, so one fast core beats many slow ones.
- Memory second, only when the heap is actually running out.
- Disk speed if chunk loading stalls.
On SolumeCore you can upgrade to a bigger plan yourself and pay only the difference for the remaining days of the cycle, without reinstalling or losing your world.
FAQ
What is a good TPS for Minecraft?
20 is perfect. Between 18 and 20 is acceptable, and below 18 most players notice. Below 15 the game feels broken.
Does more RAM fix lag?
Only if the lag comes from running out of memory. Most lag comes from CPU, entities, plugins or world generation, and extra RAM does not help there.
Why does my server lag only at certain times?
Usually a scheduled task (backup, restart, plugin job) or a peak in players. Check the profiler during that window.
Does a modpack lag more than Paper?
Generally yes, because it has more content to simulate. Match the plan to the pack and tune the same settings.
How do I tell if the lag is mine or the player's?
If the server TPS is 20 and only one player complains, it is their connection or computer.
Next steps
Get a clean baseline with how to make a Minecraft server, or give your world more headroom with Minecraft hosting.