Minecraft Server Not Starting? Here's How to Fix It
Troubleshoot a Minecraft server that won't start, Java version errors, port conflicts, corrupted files, missing EULA and common startup failures explained.
Read the Logs First
When your Minecraft server refuses to start, the answer is almost always in the logs. Check logs/latest.log, the last 20-50 lines before the process exits contain the error. If the log file is empty or missing, the problem is pre-JVM (wrong Java path, missing jar, permissions). Here is a systematic minecraft server not starting fix for every common scenario.
Cause 1: Wrong Java Version
Minecraft 1.21+ requires Java 21. If you see errors like UnsupportedClassVersionError or class file version 65.0, your Java is too old.
- Check your version:
java -version - Install Java 21:
sudo apt install temurin-21-jre(Debian/Ubuntu) or download from Adoptium. - If multiple Java versions are installed, use
sudo update-alternatives --config javato select the right one, or use the full path in your start script.
For more details, see our Java version errors guide.
Cause 2: EULA Not Accepted
The server generates eula.txt on first run and will not proceed until you change eula=false to eula=true. The log will clearly say You need to agree to the EULA.
Cause 3: Port Already in Use
If another process (or a previous server instance) is using port 25565, the server will fail with Address already in use. Find what is using the port:
sudo lsof -i :25565
# or
sudo ss -tlnp | grep 25565
Kill the conflicting process or change your server's port in server.properties.
Cause 4: Corrupted Server Jar
An incomplete download or a file system error can corrupt the jar. Re-download the server jar from papermc.io (or the relevant source) and replace the existing file. Verify the SHA256 hash if available.
Cause 5: Plugin Crashes the Server on Load
If the server started fine before you added a plugin, the plugin is likely the cause. Check the log for plugin-related stack traces. Quick fix: move the suspect plugin out of the plugins/ folder and restart. See plugin compatibility issues for in-depth troubleshooting.
Cause 6: Insufficient Permissions
On Linux, the user running the server must have read/write access to the server directory. If you see Permission denied in the logs:
ls -la /path/to/server/
# Fix ownership:
sudo chown -R mcuser:mcuser /path/to/server/
Cause 7: Not Enough RAM
If -Xmx requests more RAM than the system has available, the JVM cannot start at all. You will see Could not reserve enough space for object heap. Lower -Xmx to fit within available system RAM (leave at least 1-2 GB for the OS).
Cause 8: Corrupted World Data
If level.dat is corrupted, the server fails during world loading. Restore from backup or rename the world folder and let the server generate a fresh world to confirm this is the issue. See world corruption recovery for repair steps.
Quick Diagnostic Steps
- Run
java -versionand confirm it matches server requirements. - Open
eula.txtand confirmeula=true. - Check
logs/latest.logfor the specific error. - Try starting with zero plugins, move the
plugins/folder temporarily. - Try a fresh server jar and config in a clean directory.
Want to just play without the headaches? Join Astroworld MC, IP play.astroworldmc.com, Java + Bedrock.