Minecraft Server Keeps Crashing — Complete Fix Guide (2026)
Your Minecraft server is crashing again and you don't know why. The first step is reading the crash log — but even then, error messages like java.lang.OutOfMemoryError or Watchdog thread killed can be confusing. This guide walks through the 8 most common crash causes and exactly how to fix each one.
Step 1: Read the Crash Log
Before applying any fix, identify the actual cause. Crash files are in two locations:
/crash-reports/— for hard crashes (contain a full stack trace)/logs/latest.log— for soft errors, plugin exceptions, and all server output
Open the most recent crash report. The critical section starts with -- Head -- and the first java.lang. line is usually the root cause. Paste it into Google — specific exceptions have well-known fixes.
Quick scan: In latest.log, search for ERROR or WARN (Ctrl+F). The first red ERROR before the crash is usually the cause.
Crash Type 1: OutOfMemoryError
java.lang.OutOfMemoryError: Java heap space
orjava.lang.OutOfMemoryError: GC overhead limit exceeded
Your server ran out of allocated RAM. The JVM ran out of heap space and crashed. Most common cause on free/cheap hosting with 1GB RAM.
Fix: Increase -Xmx Allocation
# Change your start command:
# Before (bad):
java -jar paper.jar
# After (correct) — use Aikar flags:
java -Xms2G -Xmx4G --add-modules=jdk.incubator.vector \
-XX:+UseG1GC -XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 -jar paper.jar --nogui
Set -Xmx to 75% of available RAM. If your host gives you 2GB, use -Xmx1500M. Never set it above 80% — leave room for the OS.
If You Can't Increase RAM: Reduce Memory Usage
# server.properties
view-distance=6 # down from 10
simulation-distance=4 # down from 10
# paper-world-defaults.yml
entity-per-chunk-save-limit:
experience_orb: 16
snowball: 8
arrow: 16
Crash Type 2: Watchdog Thread Crash
The server has stopped responding! This is a crash!--------- The Server Thread Has Stopped Responding ---------
The Watchdog is a Paper/Spigot safety mechanism — it kills the server when the main thread is frozen for too long (default: 60 seconds). This means something caused the main thread to hang, not a normal crash.
Common Causes:
- Database query running synchronously on main thread (bad plugin code)
- Chunk loading taking too long (large redstone contraption / sudden explosion)
- Infinite loop in a plugin's tick method
- File system I/O hanging (especially on cheap VPS with slow disks)
Fix:
Identify the hanging plugin
In the Watchdog dump (in crash-reports/), look at the Server Thread call stack. The plugin class name visible there is the culprit. Disable that plugin and restart.
Install Spark and profile the server
# After restart, wait 5 minutes, then run:
/spark profiler start
# Let it run for 2-3 minutes:
/spark profiler stop
# A web URL will appear in console showing exactly what's using CPU
Crash Type 3: Plugin Conflict / ClassNotFoundException
java.lang.NoClassDefFoundError: com/example/SomePlugin$1
orjava.lang.ClassCastException
Two plugins are incompatible — usually because one plugin depends on an older API version of another. Very common when mixing plugins from different years.
Fix: Binary Search for Conflicting Plugin
- Move half your plugins out of
/plugins/into a temp folder - Restart. If it no longer crashes, the conflict is in the half you moved
- Move half of that set back. Repeat until you isolate the pair causing the conflict
- Update the conflicting plugins to their latest versions
Crash Type 4: Corrupt Chunk
java.io.EOFException or java.io.IOException: Bad compressed data format while loading chunk
A region file in your world has been corrupted — usually from a hard disk failure, power loss during write, or host-side storage issue. Corrupted chunks cause a crash loop when players approach that area.
Fix: Delete the Corrupted Region File
# The error log shows coordinates like [18, -3] — these are CHUNK coordinates.
# Convert chunk to region file:
# region_x = floor(chunk_x / 32) = floor(18/32) = 0
# region_z = floor(chunk_z / 32) = floor(-3/32) = -1
# File to delete: world/region/r.0.-1.mca
# WARNING: This destroys all builds in that region (32x32 chunks = 512x512 blocks)
# Backup your world first before deleting!
After deleting the file, the chunk will regenerate as a fresh vanilla chunk when players approach that area.
Crash Type 5: Wrong Java Version
java.lang.UnsupportedClassVersionError: ... Unsupported major.minor version 65.0
Minecraft 1.21 requires Java 21. If you're running Java 8 or Java 17 and try to launch Paper 1.21.x, it will crash immediately.
# Check your Java version:
java -version
# Must show: openjdk version "21.x.x"
# Install Java 21 from adoptium.net
# Then verify again before starting server
Crash Type 6: Timings Overload (Not a Crash — But Causes Lag Spikes)
[WARN]: Can't keep up! Is the server overloaded? Running Xs or Y ticks behind
This is a warning, but if it appears constantly, the server will eventually crash or become unplayable. The main thread can't process 20 ticks per second — it's falling behind.
Common causes and fixes:
- 🔥 Too many entities → install ClearLag, set entity limits in paper.yml
- 🔥 Redstone clock loops → find and disable them (
/paper badentities) - 🔥 Too many chunk loads → reduce view-distance to 6-8
- 🔥 Spawner farms → set mob spawn limits in bukkit.yml
- 🔥 Core plugin doing sync database calls → check Timings via
/spark
Crash Type 7: Server JAR Corruption
Sometimes the Paper/Spigot JAR itself gets corrupted — especially on cheap shared hosting with unreliable storage. Signs: server starts then immediately crashes with a generic error, or Error: Unable to access jarfile paper.jar.
Fix:
Re-download the JAR from papermc.io and replace the old one. Also check that disk space isn't full (df -h on Linux) — a full disk causes identical symptoms.
Crash Type 8: Startup Script Errors
# Wrong: using -Xmx more than available RAM
java -Xmx16G -jar paper.jar # on a 4GB server = instant crash
# Wrong: conflicting JVM flags
java -XX:+UseG1GC -XX:+UseZGC -jar paper.jar # can't use two GC algorithms
# Wrong: old Java flags on Java 21
java -XX:+AggressiveOpts # removed in Java 17+, crashes on 21
Always use Aikar's recommended flags from aikar.co/mcflags.html — they're tested with current Paper builds and Java 21.
Hosting Giving You Problems?
OliveerF servers run Paper 1.21 with Aikar flags pre-configured, auto-restart on crash, and 24/7 monitoring. No more managing JVM flags or tracking crash logs manually.
Try OliveerF Free →