When a Minecraft server won’t start, the reason is almost always written in the last lines of its log. Open logs/latest.log, find the first error, and match it to one of the seven causes below. The first ones are the quickest to rule out.
Find the log and read its last lines
The log is the file logs/latest.log inside the server folder. The console shows the same lines live.
- On a managed host: open the console in your control panel, or open the file through the file manager or SFTP, whichever your host offers.
- On a home PC: start the server from a start script, not by double-clicking the jar. The start script generator writes a Windows script that ends with
pause, so the window stays open and you can read the error.
Read it like this:
- Go to the end of the log and read the last 20 lines.
- Scroll up to the first line marked
WARNorERROR, or the first one that names anException. - Trust the first error. The ones after it are usually its consequences.
If Java itself fails (wrong version, bad memory flag), Minecraft never gets to write the log, so the error is only in the console or terminal window. If the server crashed while running, check the crash-reports folder too.
A healthy start ends with a line like this, with its own time:
Done (8.432s)! For help, type "help"
Why a Minecraft server won’t start: seven causes
1. The EULA has not been accepted
The log says:
You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
A new server stops here on its first run. Open eula.txt in the server folder, change eula=false to eula=true, save, and start again. By doing that you accept the Minecraft EULA.
On a managed host: edit the same file in the file manager. Some hosts ask you to accept it when you create the server instead.
2. The Java version does not match the game version
Each Minecraft version needs a certain Java. Mojang’s requirements, as of October 2026:
| Minecraft Java version | Java needed | Class file version |
|---|---|---|
| Up to 1.16.5 | 8 | 52 |
| 1.17 and 1.17.1 | 16 | 60 |
| 1.18 to 1.20.4 | 17 | 61 |
| 1.20.5 to 1.21.11 | 21 | 65 |
| 26.1, 26.2 and 26.3 | 25 | 69 |
When Java is too old, it stops with an error like this one, from a vanilla 26.3 server started with Java 21:
java.lang.UnsupportedClassVersionError: net/minecraft/bundler/Main has been compiled by a more recent version of the Java Runtime (class file version 69.0), this version of the Java Runtime only recognizes class file versions up to 65.0
The first number is what the server was built for. The second is the newest your Java understands. Look both up in the table: this server needs Java 25 and got Java 21. The name at the start changes with the server software.
To see which Java you have, run:
java -version
On a home PC: install the Java version from the table and make your start script use it. Paper’s getting started page lists the Java it recommends for each release.
On a managed host: you cannot install Java yourself. Look for a Java version setting in your control panel. If there is none, pick a game version that fits the Java your host runs, or ask its support.
3. The port is already in use
The log shows these two lines, with a line between them that names the exact cause:
**** FAILED TO BIND TO PORT!
Perhaps a server is already running on that port?
Two programs cannot listen on the same port. Most often a second copy of your server is still running.
On a home PC: close every other server window. To find a hidden one on Windows, run this in Command Prompt, with your port in place of 25565:
netstat -ano | findstr :25565
The last number on the line is a process ID. Find it in Task Manager and end that process. Also leave server-ip empty in server.properties: an address your PC does not have causes the same error.
On a managed host: the host gives your server its port, so leave server-port and server-ip as the host set them. There, this error most often means the last run has not fully stopped. Stop the server, wait a few seconds, and start it again.
4. Out of memory, or a memory setting above your plan
The signs:
java.lang.OutOfMemoryError: Java heap spacein the log or a crash report. The server needed more memory than its-Xmxsetting allows.- The server stops with no error at all. Many hosts end a process that uses more memory than the plan has, and Java gets no chance to log it.
- On a home PC, a line that starts with
Could not reserve enough space for. The-Xmxvalue is larger than the memory that is free.
-Xmx is the most memory Java’s heap may use, and -Xms is what it starts with. Paper’s documentation advises setting both to the same value. On a shared host, it says to keep -Xmx 1000 to 1500 MB below the plan’s RAM. On a 4 GB plan that means about -Xmx3G.
The start script generator builds the full line for you, and the RAM calculator estimates what your server needs.
On a managed host: the plan sets the memory. If you can edit the startup flags, apply the rule above. If you cannot, lower the load with fewer plugins or mods, or a smaller view-distance. Free servers on Severoo get up to 6 GB of RAM, and the plans page shows the limits.
5. A broken or mismatched plugin or mod
Plugins (Paper, Purpur). One bad plugin rarely stops the whole server. It fails to load, shows in red when you run /plugins, and the log says why:
UnknownDependencyException: the plugin needs another plugin. The line names it.InvalidDescriptionException: Invalid plugin.yml: the file is not a plugin. It may be a Fabric or Forge mod, or a broken download.
Mods (Fabric, Forge, NeoForge). A mod loader is stricter. It stops before the world loads when a mod is made for another game version or another loader, or needs a mod you do not have. Fabric prints Incompatible mods found! and then lists what to install, remove or replace. A mod marked as client-only on its download page does not belong on a server.
To find the file at fault:
- Stop the server and back up the world.
- Move half of the files out of
pluginsormods. - Start the server. If it starts, the problem is in the half you moved. If it does not, it is in the half you left.
- Repeat with the bad half until one file is left.
On Fabric, leave Fabric API in place: most mods need it.
On a managed host: the folders are the same, reached through the file manager or SFTP. For clean installs, see how to install plugins and how to install mods.
6. A bad value in server.properties
A typo in most settings does not stop the server. It starts with a value you did not intend, often without a warning. The usual exceptions are server-port and server-ip, which end in the bind error from cause 3.
If you suspect the file:
- Stop the server.
- Rename
server.propertiestoserver.properties.old. - Start the server. It writes a new file with default values.
- If it starts, copy your settings back a few at a time.
The server.properties generator builds a clean file, and server.properties explained lists what each setting accepts.
On a managed host: edit the file in the file manager, and leave the port and IP lines alone.
7. The world was last opened in a newer game version
Minecraft upgrades a world when a newer version opens it, and there is no way back. Paper’s 26.3 announcement says: “After upgrading your world to 26.3, you cannot downgrade back to a lower version!”
This happens when you switch the server to an older version, or upload a world from a newer single-player game. The server then fails while it loads the world, or loads it with damage.
Each log has a line near the top that says Starting minecraft server version and then the version number, so an older log, if you still have one, tells you which version ran the world last. Run that version or a newer one, or restore a backup from before the upgrade. See also how to upload a world to a Minecraft server.
On a managed host: change the game version wherever your host lets you choose the server software.
If the server still won’t start
Error: Unable to access jarfilefollowed by a file name means the start script names a jar that is not in the folder.- Asking for help? Send the last 30 lines of the log or console, the server software and version, your Java version, and the last thing you changed.
- The server starts but nobody can join? See can’t connect to a Minecraft server.