TL;DR – Most Minecraft server problems come down to five things: TPS lag, garbage collection stalls, connection errors, mod conflicts, or corrupted chunks. This guide covers all of them with real fixes. If you just want to skip to the thing that's broken, use the headings.
Make sure you've been through our Getting Started Guide and Server Configuration Guide first – a surprising number of tickets we get turn out to be setup issues.
Performance Issues
Low TPS (Ticks Per Second)
Symptoms: Block placement delays, mob stuttering, redstone that feels like it's running through treacle.
A healthy Minecraft server ticks at 20 TPS. When that number drops, everything in the game world slows down proportionally. 15 TPS is noticeable. 10 TPS is painful. Below that, players start leaving.
Step 1: Check current TPS
Run /tps in the server console (Paper/Spigot). You'll see three numbers – the average TPS over the last 1, 5, and 15 minutes.
Step 2: Profile with Spark Spark is the profiler for Minecraft servers. If you're on Paper 1.21+, Spark is bundled – you don't need to install it separately. On older versions or other server types, grab it from the Spark site and drop it in your plugins folder.
Run:
/spark profiler start
Let it collect for 2–3 minutes during normal gameplay, then:
/spark profiler stop
Spark gives you a link to a detailed breakdown of what's eating your tick time. This is the first thing our support team will ask for, so save yourself a round-trip and grab it before opening a ticket.
Step 3: Common TPS fixes
- Reduce view distance – lower
view-distanceinserver.propertiesto 6–8. Honestly, this single change fixes more TPS issues than everything else combined. - Reduce simulation distance to 4–6. This controls how far from a player mobs and redstone actually tick.
- Limit entity counts. Too many mobs, dropped items, or animals crammed into one area will absolutely tank TPS.
/kill @e[type=item]clears dropped items in a pinch, but set proper entity limits in your Paper config for a permanent fix. - Pre-generate chunks with the Chunky plugin. New chunk generation is CPU-intensive and it hits hardest when a bunch of players are exploring at once.
- Set a world border. Seriously. Infinite exploration means infinite chunk generation.
- Check the Spark report for plugins consuming excessive tick time and remove or replace the worst offenders.
Chunk Loading Lag
Symptoms: Missing chunks, players falling through the world, freezes when exploring new areas.
- Disk I/O bottleneck – LOW.MS runs NVMe SSDs so this is rarely us. But if you've uploaded a massive existing world, make sure it isn't corrupted before blaming the hardware.
- Too many players exploring at once – lower the view distance or pre-generate chunks with Chunky.
- Corrupted chunks – if specific chunks always cause issues, you can delete the region file containing them. The server regenerates those chunks on next load. Region files live in
world/region/, namedr.X.Z.mca– divide your block X and Z coordinates by 512 and round down – that gives you the region file numbers. Anything built in those chunks will be lost, so restore from backup first if you can.
Memory-Related Lag (Garbage Collection)
Symptoms: Regular lag spikes every few seconds or minutes, usually lasting 50–200ms. This is the one that drives people mad because the server mostly feels fine and then stutters.
This is almost always Java garbage collection pauses. Here's what to do:
- Use Aikar's flags. If you haven't already, see our Configuration Guide. This is non-negotiable for any serious Minecraft server.
- Set
-Xmsequal to-Xmx. This stops the JVM from constantly resizing the heap, which triggers extra GC work. - Don't over-allocate RAM. Giving your server way more RAM than it needs isn't free – you're taking memory away from the OS and other processes, and the garbage collector still has to manage all that heap space even if it's mostly empty. Match your plan to what the server actually uses. Check Current Activity & Stats in your TCAdmin panel at control.low.ms to see real usage.
- Upgrade if you're maxed out. If your server consistently sits at 90%+ RAM usage, it's time for a bigger plan. Check our Minecraft hosting plans.
"Can't keep up! Is the server overloaded?"
This is the single most common Minecraft server console message. We get tickets about this every single week. The full warning looks something like:
[Server] WARN Can't keep up! Is the server overloaded? Running 5023ms or 100 ticks behind
What it means: the server can't process ticks fast enough to maintain 20 TPS. It fell behind by however many milliseconds the message says.
Common causes:
- Too many entities – this one bites everybody at least once. Mob farms without kill switches, thousands of dropped items after an explosion, or animal pens that got out of hand. Run
/spark tpsto confirm, then cull entities. - Unoptimised plugins – one bad plugin can tank the whole server. Profile with Spark to find the culprit.
- Chunk generation load – a bunch of players exploring at the same time. Pre-generate with Chunky.
- Insufficient hardware – if you've optimised everything and the warning persists under normal player load, you need a bigger plan. I'd bump the RAM before anything else, but if you're already on a good plan and TPS is still suffering, reach out to us.
A few "Can't keep up" warnings during server startup or when the first players join are completely normal – the server is loading chunks and warming up. It's only a problem if the warnings keep coming during regular gameplay.
Connection Issues
"Can't Connect to Server"
Step 1: Verify the server is actually running. Check Current Activity & Stats in your TCAdmin panel at control.low.ms.
Step 2: Double-check the IP address and port. The most common mistake is using the wrong port or forgetting to include it. I've seen this a hundred times.
Step 3: The server might still be starting up. First boot or a version change can take several minutes while files download and the world generates. Check Log Viewer in your TCAdmin panel at control.low.ms to see if it's still loading.
Step 4: Make sure your Minecraft client version matches the server version. A 26.1 client can't connect to a 1.21 server and vice versa.
Step 5: If online-mode=true (which it should be), the player needs a legitimate Minecraft account and must be logged in.
"Connection Refused" or "Timed Out"
- Connection Refused – the server isn't running or isn't listening on the expected port. Check the panel.
- Connection Timed Out – usually a firewall or network issue between you and the server.
Verify your server's port in the panel and make sure you're using the right address. If it persists, open a support ticket.
"Outdated Client" or "Outdated Server"
Client and server are on different Minecraft versions. Either update your client to match, or change the server version through the panel.
"You Are Not Whitelisted"
If you've enabled the whitelist (white-list=true in server.properties), players need to be added first:
/whitelist add PlayerName
Mod and Plugin Issues
Mod Conflicts and Crashes
Symptoms: Server crashes on startup, random crashes during gameplay, specific features broken.
Diagnosing mod conflicts:
- Check the crash log. Look in
crash-reports/for the latest report. The stack trace usually points straight at the guilty mod. - Check
logs/latest.logfor error messages during startup. Search forERRORorWARN– open File Manager in the panel to browse these files. - Binary search it. If the logs don't make it obvious:
- Remove half your mods and test
- If it still crashes, the problem is in the remaining half. If not, it's in the removed half.
- Keep halving until you find the culprit. Tedious, but it works every time.
Common causes:
- Version mismatch – a mod built for 1.21 may not work on 26.1. Always use mod versions that match your Minecraft version exactly.
- Missing dependencies – many mods need library mods (Fabric API for Fabric, specific core mods for Forge). Check the mod page.
- Incompatible mods – some mods modify the same systems and fight each other. Check the mod's known incompatibilities.
Plugin Not Loading
Symptoms: Plugin jar is in plugins/ but doesn't show up in /plugins.
- Check the file extension – it must end in
.jar. We've seen.jar.zipand.jar (1)more times than I'd like to admit. - Check compatibility – the plugin must support your server type (Spigot, Paper, etc.) and Minecraft version.
- Check dependencies – run
/pluginsand verify all required dependency plugins are loaded (shown in green). - Check
logs/latest.logfor load errors. Common causes: missing config files, unsupported Java version.
Forge/Fabric Mod Not Working
- Right mod loader? Forge mods only work on Forge servers. Fabric mods only work on Fabric servers. They are not interchangeable, and the error messages when you mix them up aren't always helpful.
- Right Minecraft version? A mod for 1.20 won't work on 26.1.
- Library mods installed? Fabric mods almost always need Fabric API. Many Forge mods need specific libraries.
- Config syntax errors? Some mods generate a config on first load. If someone hand-edits it and introduces a syntax error, the mod silently fails on next boot.
Java and JVM Issues
OutOfMemoryError
java.lang.OutOfMemoryError: Java heap space
Your server ran out of RAM. This is straightforward:
- Upgrade your plan – check our pricing page.
- Reduce entity counts and loaded chunks (lower view distance).
- Remove memory-heavy mods or plugins. Dynmap and similar world-rendering plugins are particularly hungry.
- Verify
-Xmxin your startup flags actually matches your allocated RAM.
Java Version Errors
UnsupportedClassVersionError
A mod or plugin was compiled for a newer Java version than the server is running. Contact support if you need your Java version updated.
If you're running Minecraft 26.1 or newer, you need Java 25. Aikar's flags were written for Java 21, so check PaperMC docs for updated guidance on JVM flags for Java 25.
StackOverflowError
java.lang.StackOverflowError
Usually a mod or plugin with infinite recursion. The stack trace tells you which mod – update or remove it.
World Issues
Corrupted World
Symptoms: Server crashes when loading a specific area, missing chunks, blocks reverting after restart.
- Restore from backup. Easiest fix by far. Use Cloud Restore from the sidebar in your TCAdmin panel at control.low.ms.
- Delete the corrupted region file. If you know which area is broken, delete the specific
r.X.Z.mcafile fromworld/region/. Divide your block X and Z coordinates by 512 and round down – that gives you the region file numbers. The server regenerates those chunks on next load, but anything built there is gone. - Use Amulet to repair corrupted chunk data without nuking the whole region. Amulet is the main tool for this now – MCEdit hasn't been updated in years and doesn't support anything past 1.12.
World Not Saving
If changes aren't persisting after restart:
- Make sure the server is shutting down cleanly – use
/stopor the Stop button, not force-kill. Force-killing a Minecraft server during a save is how worlds get corrupted in the first place. - Check disk usage. Open Current Activity & Stats in your TCAdmin panel at control.low.ms – if the disk is full, saves fail silently and you won't see any errors in the log.
- Verify
level-nameinserver.propertiesmatches the actual world folder name.
Getting Further Help
If nothing above sorted it:
- Grab your logs – check Log Viewer in your TCAdmin panel at control.low.ms and grab
logs/latest.log. This is the first thing support will ask for. - Search the exact error message – copy-paste the error into Google. Minecraft has one of the largest modding communities on the planet and someone has almost certainly hit the same issue.
- Open a ticket – we're here 24/7. Include your logs and a Spark report if it's a performance issue. The more you give us upfront, the faster we can fix it.