RadarHost

Hosting guide

Why a game server crashes on startup

A server that crashes on startup almost always explains itself in its own log, if you read the first error instead of the last one. This guide walks through the causes that account for most startup failures and how to confirm each before you change anything.

Updated 7 September 2026

Read the first error, not the last

Startup and performance are not the same failure. A server that never reaches a ready state needs the method below; one running but struggling under load is covered separately in how to find what is lagging your server, and one that starts cleanly but nobody can find is its own problem, walked through in why your server is not showing in the list. This guide covers the console exiting, restarting in a loop, or never printing a ready line.

Whatever the game, the method is the same. Scroll to the first error in the log, not the last — a crash usually throws several lines as dependent steps fail in sequence, and only the first is the actual cause. Change exactly one thing, restart, and read the log again before touching a second setting. Keep a copy of every attempt; a support request that quotes the exact line gets answered fast, one that says "it crashes" does not.

Where that log lives depends on the game. Minecraft keeps latest.log in its logs folder and saves a crash to the crash-report directory instead, per PaperMC's troubleshooting guide. Rust writes console output to whatever path you pass with -logfile on the launch line. ARK keeps its logs inside the Saved folder alongside world and configuration data, and Valheim's launch script takes its own -logFile argument for the same purpose. If the server is restarting in a loop, read the file on disk rather than the console — a fast loop scrolls the console past the first error before you can read it.

Java version mismatches and the Minecraft EULA gate

Minecraft Java Edition ties each release to a specific Java version, and starting the wrong one is one of the most common startup failures on the game. PaperMC's own documentation lists Java 21 for Paper 1.20 through 1.21.11, moving to Java 25 on current builds. The Minecraft Wiki's server tutorial gives the same progression from the other direction: 1.12+ needs Java 8, 1.18+ needs Java 17, 1.20.5+ needs Java 21, and current versions need Java 25. The wiki notes older releases can run on somewhat newer Java too — 1.16 on Java 17, 1.18 on Java 20 — but the safe move is matching the version the table names rather than assuming the newest install works. An old server jar run against too new a Java throws java.lang.UnsupportedClassVersionError: ... has been compiled by a more recent version of the Java Runtime, a string PaperMC's troubleshooting guide documents and worth searching your log for.

The second Minecraft-specific gate is the EULA. The wiki documents that a file called eula.txt is generated the first time you run the server, containing the line eula=false, and states plainly: "If you don't do this, the server will shut down immediately when you try to start it." Change the line to eula=true, save the file, and start the server again — Mojang requires that acceptance before any server will start. Minecraft-specific notes sit on the Minecraft availability page.

A world or save the build won't open

A world written by a newer game version is not guaranteed to open in an older one. Minecraft's downgrading tutorial documents the client-side warning: the world-select menu refuses to load, naming the version it was last played in against the version you are running, and warning the load "could cause corruption" it cannot guarantee will work. A dedicated server has no such dialog — it simply fails during world load, so after a version rollback check the level's last-played version against the jar you are running, rather than waiting for a prompt that will never appear. Every world carries a version tag tied to the build that last saved it, and an older build cannot read newer data.

If you rolled a server back, or restored a copy from a build that had already updated by the time you took it, this is the first thing to check. The fix is the same regardless of game: keep the newest working copy of the world aside, match the server build to the version the save was created on, and only then decide whether to move forward — a save opened once by the wrong build can end up in a state a later, correct-version load will not undo.

A plugin or mod built for a different version

On Minecraft specifically, a plugin declares which server API it targets inside its own plugin.yml, in an api-version field that uses only the first two numbers of a version — 1.20, not 1.20.6. When that value does not match the running server, it refuses to load the plugin and throws org.bukkit.plugin.InvalidPluginException: Unsupported API version, worth searching your log for by name. A mod on a modded loader fails the same way in spirit — compiled against one game version's code while the server runs another.

Either way, match the plugin or mod build to the exact server version rather than the same major release, and add one back at a time after any version change instead of restoring the whole folder at once — the log will then show exactly which one is the outlier.

A port something else already has

Failed to bind to port is Minecraft's own wording for this. The wiki names the most common cause as an IP typed into server-ip in server.properties that matches no interface on the machine — leaving the field blank binds to all of them. Alternatively, it says, the error can mean the port or IP is "already in use or that you do not have permission to use," usually a second process still holding it. Most other games reserve more than one port and fail the same way under a different name: Rust separates the UDP game port (server.port) from the TCP RCON port (rcon.port); ARK adds a peer port at game port + 1 and a UDP query port for Steam's browser; Valheim uses the port you set plus the next one up.

An expired or duplicated Steam token

A Steam Game Server Login Token that is invalid or expired stops the server outright. Facepunch's documentation for the token system states it directly: "Specifying an invalid / expired key will prevent the server from starting." A server with no token at all still starts — Facepunch describe that as a server-list ranking penalty, not a startup failure, so a missing token is not what to chase if the server refuses to boot; that symptom belongs with why your server is not showing in the list instead. A token also stops working once reused on a second server, and changing the Steam account's password invalidates every token issued under it at once. The full walkthrough on generating and diagnosing a token is in how to create a Steam Game Server Login Token.

A bad launch parameter or a quoting mistake

Launch lines mix flags, key-value pairs, and free text, and free text is where quoting mistakes hide. Facepunch's Rust example shows the pattern: +server.hostname "Name of Server as Shown on the Client Server List" — the quotes are required because the value has spaces; dropping them truncates it at the first space or breaks the parser. Valheim's launch script quotes the same way, with -name "My server" and -world "Dedicated". Palworld's arguments page uses a different shape: flags such as -port=8211 and -players=32 take their value after an equals sign, and mixing the two styles because a guide was written for a different game easily drops a value.

A mismatched quote, a stray space next to an equals sign, or a flag copied from a different game's guide is often enough to stop a server before its ready line — the log usually shows it as the very first line, not several lines in. Change one launch value at a time and read the log before touching the next, the same discipline as plugins, worlds and Java versions above.

Where RadarHost fits

RadarHost rents game servers hosted in Beauharnois, Quebec, Canada, priced in Canadian dollars, with no setup fee and cancel any time. Sixteen games are listed in Standard, Premium and Diamond plans — Minecraft (Paper, Forge or Vanilla), Rust, ARK: Survival Evolved, Garry's Mod, Terraria, Valheim, Palworld, Enshrouded, Satisfactory, Factorio, Project Zomboid, 7 Days to Die, DayZ, Conan Exiles, Arma 3 and SCUM. Counter-Strike 2 and every other title are request-only and are never priced in advance. After payment, our team reviews the order and emails setup details or next steps within 24 hours. See the current plans and prices before you order.

Common questions

Why does eula.txt make my Minecraft server refuse to start?

The Minecraft Wiki documents eula.txt appearing on first launch with the line eula=false, and states plainly that the server will shut down immediately when you try to start it until you change that line to eula=true and start it again.

Which Java version does my Minecraft server need?

PaperMC's documentation lists Java 21 for Paper 1.20 through 1.21.11 and Java 25 for current builds. The Minecraft Wiki adds Java 8 for 1.12 and up and Java 17 for 1.18 and up, and notes older versions can run on newer Java installs.

What does 'Unsupported API version' mean for a plugin?

A Minecraft plugin declares its target server API in plugin.yml's api-version field using two numbers, like 1.20. If that does not match the running server, it throws org.bukkit.plugin.InvalidPluginException: Unsupported API version and never loads.

What causes 'Failed to bind to port' on startup?

The Minecraft Wiki explains this happens when the server tries to use a port or IP address that is already in use or that it does not have permission to use, commonly a leftover process on the same port or a stray IP typed into server-ip.

Can I reuse one Steam Game Server Login Token on two servers?

No. Facepunch's documentation for the token system says each server must have a unique login token, and reusing one shows up as Connection to Steam servers lost. (Steam error code 6) printed in the console of both servers.

Why won't Minecraft load a world saved by a newer version?

Minecraft's downgrading tutorial documents this as a client-side warning: the world-select menu refuses with a dialog saying downgrading a world is not supported and that the load could cause corruption. A dedicated server shows no such dialog; it fails during world load instead, so check the level's last-played version against the server jar you are running.

Do I need quotes around a server name in the launch command?

Yes, whenever the value has spaces. Facepunch's Rust example quotes +server.hostname, and Valheim's launch script quotes -name and -world the same way; dropping the quotes truncates the value or breaks the parser.

Sources

What happens after you order. After payment, our team reviews the order and emails setup details or next steps within 24 hours. Prices are in Canadian dollars, there is no setup fee, and you can cancel any time.

Compare all worlds

Questions this guide did not answer go to the ticket desk. No payment starts from that link.