This guide covers messages related to server startup, player login, and network connections, such as to ports or to a proxy like Velocity or BungeeCord. Each section covers exactly one message. Some prevent the server from starting, others affect only individual players or an additional feature.

You can find the full wording in the Console and under Files in logs/latest.log. Messages where a proxy cannot reach its target server appear in the proxy's log. Always read the lines directly before and after as well.

Before you change server.properties, plugin configurations, or world files, create a backup under Backups. That way you can always return to the previous state.

The Port Is Already in Use

What the message looks like:

**** FAILED TO BIND TO PORT!
java.net.BindException: Address already in use
[<Plugin>] Failed to start HTTP server: Address already in use

What's behind it: A port is like a door number through which connections reach the server. Each port can only be used by one program at a time per protocol. If "FAILED TO BIND TO PORT" appears in the message, the Minecraft server could not open its game port and will not start. The same BindException can also come from a plugin that opens its own port, for example for voice chat or a web map. In that case the server runs, but that plugin feature fails.

How to fix it:

  1. Read the line before the BindException. If a plugin name appears there in square brackets, only that plugin is affected.
  2. If it affects the game port, stop the server via the Console, wait until it is fully off, and restart it. The panel manages the game port automatically, so do not change server-port by hand.
  3. If it affects a plugin, open its configuration under Files in plugins/<Plugin>/. Enter a port there that is assigned to your server in the panel and not used by any other service, or disable the feature.
  4. Restart and check in the console that the message no longer appears.

Good to know: For voice chat, the process is described here: Set Up Simple Voice Chat.

A Login Plugin Won't Start Because the Server Runs in Online Mode

What the message looks like:

[LibreLogin] !!!The server is running in online mode! LibreLogin won't start unless you set it to false!!!
[FastLogin] Server has to be in offline mode

What's behind it: In online mode (online-mode=true in server.properties), the server checks every Java account directly with Mojang. Login plugins such as LibreLogin, AuthMe, or FastLogin are intended for servers that do not perform this check themselves, and then handle login via passwords. If the server still runs in online mode, the plugin refuses to start or cannot control the login. Players without a purchased account are still rejected.

How to fix it:

  1. Decide who should be allowed on the server: only players with a purchased Minecraft account, or deliberately others as well.
  2. If only genuine accounts should join, remove the login plugin under Plugins and restart the server. Online mode then protects all names.
  3. If players without a purchased account should deliberately be able to join, use the tab Allow cracked / non-premium players in your server's Minecraft settings. It sets online-mode=false and sets up the login plugin to match, so player names are protected with a password.
  4. Do not set online-mode to false by hand just to make the message disappear. Without a login plugin or a secured proxy, anyone can then log in with any name, even an admin's.

In detail: Enable Cracked/Offline Mode or Cracked Server: Login and Limits

The Minecraft EULA Has Not Been Accepted

What the message looks like:

You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

What's behind it: The EULA is the license agreement from Mojang and Microsoft for Minecraft servers. A Java server only starts once the line eula=true appears in the file eula.txt. If it is missing or says eula=false, the server shuts down again right after starting. With us, this value is set automatically. The message therefore usually only appears when eula.txt was deleted or overwritten, for example when uploading your own server files.

How to fix it:

  1. Under Files, open the file eula.txt in the server's main folder, where server.properties is also located.
  2. Change eula=false to eula=true and save. If the file is missing, create it with exactly this one line.
  3. Start the server and follow the startup in the Console.

Good to know: With eula=true you agree to the terms of the Minecraft EULA.

In detail: Minecraft EULA and First Server Start

A Player Without a Valid Minecraft Account Was Rejected

What the message looks like:

Username '<Player>' tried to join with an invalid session

What's behind it: A player tried to join with a Java client that could not present a valid, purchased Minecraft (Microsoft) account. In online mode (online-mode=true), the server rejects such connections. Cracked or TLauncher clients produce exactly this line. Occasionally, with a genuine account, it is only an expired session. Your server is healthy and continues to run normally.

How to fix it:

  1. Ask the player whether they have purchased Minecraft: Java Edition with a Microsoft account and are logged in with it in the official launcher.
  2. If they have a valid account, they should completely restart the Minecraft client. This renews the expired session.
  3. If they play on Bedrock on mobile, console, or Windows, they can join via your server's crossplay address instead, provided crossplay is active.
  4. Do not disable online mode by hand because of this.

Good to know: If you only want to allow genuine accounts, you don't need to do anything. The message then just shows that the protection is working.

In detail: Enable Cracked/Offline Mode or Cracked Server: Login and Limits

Login Is Disrupted Because Mojang Isn't Responding

What the message looks like:

Couldn't verify username because servers are unavailable

What's behind it: In online mode, the server asks Mojang's and Microsoft's authentication servers on every join whether the account is genuine. If they are not responding at the moment, the server cannot verify the account and does not let the player in. This is not caused by your server: during an outage there, all servers with the premium check active are affected at the same time. New players cannot join for as long as it lasts, while those already online usually keep playing.

How to fix it:

  1. Wait out the outage. It usually resolves itself within a few minutes.
  2. You can see the current status on Mojang's status page.
  3. Ask your players to try again in a few minutes.
  4. Do not disable online-mode because of this. That would permanently open your server to fake accounts instead of solving a brief problem.

Good to know: If players can join other servers without problems and the message persists for a long time on yours, open a ticket and include the time of the message.

The Query System Doesn't Start

What the message looks like:

Unable to initialise query system on <IP>:<Port>
java.net.BindException: Address already in use

What's behind it: Query is an additional interface over UDP through which server lists and tools retrieve the player count and online status. If it doesn't start, the server no longer reports this information externally. Playing itself is not affected, and players can join normally. The BindException below shows the reason: the query port is already in use or conflicts with another service, often with another UDP service such as Geyser or a voice chat plugin on the same port.

How to fix it:

  1. Check in the panel which ports are assigned to your server and which of them Geyser or a voice chat plugin already uses.
  2. Open the file server.properties under Files.
  3. Set enable-query=true and enter an assigned port at query.port that no other service uses.
  4. Save and restart the server. Check in the Console that the message no longer appears.

The Server Icon Is Not 64 × 64 Pixels

What the message looks like:

Couldn't load server icon
java.lang.IllegalArgumentException: Invalid world icon size [<Width>, <Height>], but expected [64, 64]

What's behind it: The image server-icon.png in the main folder appears in players' server list next to the server name. Minecraft only accepts a PNG of exactly 64 × 64 pixels for this. If the image has a different size, the server does not load it, and players see no custom icon. The server continues to run normally.

How to fix it:

  1. Open your image in an image editing program and scale it to exactly 64 × 64 pixels.
  2. Save it as a PNG named server-icon.png.
  3. Upload it to the server's main folder under Files and replace the old file.
  4. Restart the server. The new icon appears as soon as players refresh their server list.

Good to know: If you don't want a custom icon, delete server-icon.png and restart the server. The message will then disappear as well.

A Client Sent an Invalid Login Packet

What the message looks like:

Failed to decode packet 'serverbound/minecraft:hello'

What's behind it: "hello" is the first packet a client sends during login, containing the player name among other things. If the server could not read it, the client does not match the server version or the expected protocol, for example because of a different Minecraft version or a missing mod loader. The server only disconnects this one connection and keeps running.

How to fix it:

  1. Check whether a player tried to join at that time and didn't manage to.
  2. If so, compare their Minecraft version with your server's version under Version. For a modpack, they need the same pack with the same mod loader.
  3. If nobody tried to join, it was usually an automated port scanner probing servers on the internet. In that case you don't need to do anything.

Good to know: If you want players with other client versions to be able to join, ViaVersion helps on Paper servers.

The Proxy Doesn't Reach the Target Server in Time

What the message looks like:

io.netty.channel.ConnectTimeoutException: connection timed out after <Milliseconds> ms: /<Address>:<Port>

What's behind it: A proxy such as Velocity or BungeeCord is the entry server through which players join and are then distributed to registered target servers. Here the proxy tried to reach a target server and received no response within the waiting time. Usually the address or port is wrong, or the target server is offline or asleep. Players then cannot get onto this target server, while the proxy itself keeps running.

How to fix it:

  1. Read at the end of the message which address and port the proxy tried to reach.
  2. Compare them in velocity.toml (section [servers]) or in BungeeCord's config.yml (section servers) with the details the panel shows for the target server. They must match exactly.
  3. Start the target server and wait until it has fully booted. Wake sleeping servers beforehand.
  4. Restart the proxy so it picks up changed entries, and test joining.

In detail: BungeeCord: Could not connect to a default or fallback server

Velocity Support Is Enabled Without a Secret

What the message looks like:

Velocity is enabled, but no secret key was specified. A secret key is required. Disabling velocity...

What's behind it: Velocity is a proxy that forwards players to Paper servers. So that Paper can trust these forwardings, the proxy and server share a common secret word, the secret. In the Paper configuration, Velocity support is enabled, but the secret is missing. Paper therefore disables the support, and player forwarding via the proxy does not work.

How to fix it:

  1. Get the secret from the Velocity proxy. In current Velocity versions it is in the file forwarding.secret, which velocity.toml points to; in older ones it is directly in velocity.toml.
  2. On the Paper server, open the file config/paper-global.yml under Files and find the section proxies → velocity.
  3. Set enabled: true and enter exactly the same secret at secret.
  4. If you don't use a Velocity proxy at all, set enabled: false there instead.
  5. Restart the Paper server and check that the message has disappeared.

Good to know: For this, player-info-forwarding-mode in velocity.toml must be set to modern. On Paper versions before 1.19, the setting is not in config/paper-global.yml but in paper.yml under settings → velocity-support. Treat the secret like a password.

The Target Server Refuses the Proxy's Connection

What the message looks like:

io.netty.channel.AbstractChannel$AnnotatedConnectException: finishConnect(..) failed with error(-111): Connection refused: /<Address>:<Port>

What's behind it: The proxy reached the entered address of the target server, but no service there accepts connections on the port. Unlike with a timeout, the address does respond, but nothing is listening there. Typical reasons: the target server is stopped, is still starting up, or the port in the proxy does not belong to this server. Players cannot get onto this target server for as long as this lasts.

How to fix it:

  1. Read the address and port at the end of the message.
  2. Start the target server and wait in its Console until it has fully started.
  3. Compare the address and port in velocity.toml or in BungeeCord's config.yml with the details the panel shows for the target server.
  4. Do not enter 127.0.0.1 if the proxy and target server are separate servers. That address points to the proxy itself.

Good to know: While a target server is restarting, the message is normal and goes away on its own.

In detail: BungeeCord: Could not connect to a default or fallback server

Your message isn't listed?

Read the entire message in the Console or in logs/latest.log, including the lines directly before it. Often it shows what failed first. If a stack trace follows, meaning a list of lines beginning with "at", folder and file names in it such as plugins/<Plugin> or <Plugin>.jar reveal the plugin or mod involved. For proxy problems, read the logs of both the proxy and the target server at the same time. Create a backup before making changes. If you get stuck, open a ticket and include the time of the message.