Skip to content

Can't connect to my Minecraft server

This page covers what a player sees when they try to join your Minecraft Java server. Find the exact message below. For the basics of getting an address, see Connecting. If nobody can connect to any of your servers, see Can’t connect to any game.

Connection timed out / Can’t connect to server

Section titled “Connection timed out / Can’t connect to server”

Why it happens: The player’s game sent a request and got no answer. Usually the server is Offline or still Starting, the address or port is wrong, or something on the player’s side (firewall, VPN, school or work network) blocks the connection.

How to fix it:

  1. Open your server in the panel and check the status. It must say Online, not Offline or Starting.
  2. In the Console, wait for the line that says “Done” before joining.
  3. Open Network and copy the hostname and port shown for your Primary allocation.
  4. In Minecraft, use that exact address. If the port is not 25565, add it after a colon, like hostname:port.
  5. If it still fails, see the “works for me but not my friend” section below.

Why it happens: The address was reached but nothing was listening on that port. This usually means the server is stopped, is still starting, or the player typed the wrong port.

How to fix it:

  1. Check the server is Online in the panel.
  2. Compare the port the player typed with the Primary allocation on the Network page.
  3. Restart the server and try again after “Done” appears in the Console.

io.netty.channel.AbstractChannel$AnnotatedConnectException

Section titled “io.netty.channel.AbstractChannel$AnnotatedConnectException”
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information

Why it happens: This is the technical version of “Connection refused” or “Connection timed out”. The game could not open a connection to that address and port.

How to fix it:

  1. Follow the steps for “Connection refused” and “Connection timed out” above.
  2. Check for a typo in the address. A missing letter or extra space in the hostname causes this.
  3. Ask the player to try from a different network, for example a phone hotspot, to rule out a local block.

Why it happens: The player’s computer cannot turn the name into an address. Usually a typo, a subdomain that does not exist yet, or a DNS change that has not spread yet.

How to fix it:

  1. Check the spelling of the address in Minecraft.
  2. If you use a custom name, open Subdomains and check it is set up. See Subdomains.
  3. As a test, use the hostname and port from the Network page instead.
  4. Wait a while and try again if you changed DNS recently.

Server not found after a DNS or subdomain change

Section titled “Server not found after a DNS or subdomain change”

Why it happens: Name lookups are cached by the player’s computer, their router and their ISP. After a change, old answers can stay for a while.

How to fix it:

  1. Wait and try again later. Changes can take time to reach everyone.
  2. Have the player restart their game and their computer or router.
  3. In the meantime, players can join with the hostname and port from the Network page.

Server still shows the old MOTD, or grey bars in the server list

Section titled “Server still shows the old MOTD, or grey bars in the server list”

Why it happens: The server list caches the last answer. Grey bars with no ping usually mean the list has not reached the server yet, or the server is Offline. An old MOTD means the list has not refreshed.

How to fix it:

  1. Make sure the server is Online.
  2. In the game, click Refresh in the multiplayer list, or remove the server entry and add it again.
  3. To change the MOTD, edit it in Properties (the motd setting) and restart. See Server settings how-to.

Why it happens: With online-mode on, the server asks Mojang’s session servers to confirm the player. This usually fails when Mojang’s login services are down or slow, or when the player’s session is bad.

How to fix it:

  1. Ask the player to fully close and reopen the game and the launcher, then log in again.
  2. Wait a few minutes and retry. If the login services are having a problem, it clears on its own.
  3. If it happens to every player, restart the server and check the Console for errors around the login attempt.

Invalid session (restart your game and the launcher)

Section titled “Invalid session (restart your game and the launcher)”

Why it happens: This is a problem on the player’s side, not the server’s. The player’s login token (session) is stale or was not accepted by Mojang’s login service, for example after the game was open a long time. It can also appear when Mojang’s login service is having trouble.

How to fix it:

  1. Have the player close the game and the launcher completely.
  2. Reopen the launcher, log out and log back in to their account.
  3. Join again. If it keeps happening, try a different launcher or update the current one.
Incompatible client! Please use 1.21.x

Why it happens: The player’s game version is older than the server’s version. The wording depends on the version (older versions may say “Outdated client”).

How to fix it:

  1. Tell the player which version the server runs. It is shown in the Console when the server starts.
  2. In the launcher, create or pick an installation with exactly that version.
  3. If you want to keep older players, a compatibility plugin may help. See the ViaVersion section below.
Incompatible client! Please use 1.20.x

Why it happens: The player’s game is newer than the server. The wording depends on the version (older versions may say “Outdated server”, newer ones use “Incompatible client”).

How to fix it:

  1. Ask the player to use the same version as the server, or
  2. Update the server. See Change version. Back up first from Backups, because worlds can be changed by newer versions and cannot be safely rolled back.

Incompatible client / ViaVersion protocol issues

Section titled “Incompatible client / ViaVersion protocol issues”

Why it happens: ViaVersion, ViaBackwards and ViaRewind are plugins that let players on different versions join. They can fail when they are older than the server or the client, or when other plugins get in the way.

How to fix it:

  1. Open Plugins and check that the Via plugins are the latest versions.
  2. Update them whenever you update the server or when a new Minecraft version comes out.
  3. Check the Console when a player joins. A Via error names the protocol it could not handle.
  4. See Plugin problems.

Why it happens: The whitelist is on and the player is not on it.

How to fix it:

  1. Open the Console and type whitelist add PlayerName.
  2. Or turn the whitelist off: type whitelist off, or set white-list to false in Properties and restart. Some newer versions turn the whitelist on by default, so check this setting if players are refused on a fresh server.
  3. If the name is right and it still fails, see the online-mode section below. The whitelist also stores accounts by unique ID, so a name change or an offline-mode switch can break matches.

Why it happens: The player’s name is in the ban list. The message may include a reason.

How to fix it:

  1. In the Console, type pardon PlayerName.
  2. Check the ban list files banned-players.json in Files if you are not sure who is banned.

You are banned from this server (IP ban) / Your IP address is banned

Section titled “You are banned from this server (IP ban) / Your IP address is banned”

Why it happens: An IP ban blocks an address, not a name. It can hit other players on the same home or shared network.

How to fix it:

  1. In the Console, type pardon-ip 1.2.3.4 with the banned address.
  2. You can see banned addresses in banned-ips.json in Files.
  3. A name ban and an IP ban are separate. Remove both if the player is unbanned.

Why it happens: The server has reached its max-players value.

How to fix it:

  1. Open Properties and raise max-players, then restart.
  2. Keep in mind that more players use more memory. See Lag and performance.
  3. Operators can join a full server only if they have the “bypass player limit” option set in ops.json.

Disconnected: Flying is not enabled on this server

Section titled “Disconnected: Flying is not enabled on this server”

Why it happens: The server saw the player floating or moving in a way it does not allow, and kicked them. This is common with lag, elytra, fast elevators, or modded movement.

How to fix it:

  1. If flying is allowed on your server, set allow-flight=true in Properties and restart.
  2. Check lag. A laggy server makes normal movement look like flying. See Lag and performance.
  3. If you use an anti-cheat plugin, check its settings for false positives.

Why it happens: The player sent too many chat messages or commands in a short time, or the server flagged movement as fly hacks.

How to fix it:

  1. Ask the player to slow down their typing or command use.
  2. If it is a plugin doing this, check that plugin’s config in Files. Anti-spam and anti-cheat plugins are the usual source.
  3. If your server is lagging, real players can get kicked too. Check the Console for “Can’t keep up” messages.

Timed out / Internal Exception: java.io.IOException: Connection reset

Section titled “Timed out / Internal Exception: java.io.IOException: Connection reset”
Internal Exception: java.io.IOException: An existing connection was forcibly closed by the remote host

Why it happens: The connection dropped after it was made. Common causes are an unstable player connection, a server that froze or crashed, or a mod or plugin that sent bad data.

How to fix it:

  1. Check the Console to see if the server crashed or froze around the same time.
  2. Ask the player to test on a different network or with the VPN off.
  3. Restart the server and try again.
  4. If it only happens with one mod or plugin installed, remove it and test.

Why it happens: The server stopped sending data for too long. The server is often overloaded, frozen while saving, or stuck loading chunks.

How to fix it:

  1. Look in the Console for “Can’t keep up! Is the server overloaded?”.
  2. Lower view-distance and simulation-distance in Properties.
  3. See Lag and performance.

Bad packet ID / Internal Exception: io.netty.handler.codec.DecoderException

Section titled “Bad packet ID / Internal Exception: io.netty.handler.codec.DecoderException”

Why it happens: The client and server disagree on what was sent. Usually a version mismatch, a mod or plugin that changes network data, or a proxy or Via plugin problem.

How to fix it:

  1. Make sure the player uses exactly the server’s version.
  2. Remove mods or plugins that change packets, and add them back one at a time.
  3. Update any Via plugins. See Plugin problems.

Mod rejected / Forge or Fabric handshake failure

Section titled “Mod rejected / Forge or Fabric handshake failure”
Connection closed: Mismatched mod channel list
Incompatible mod set!

Why it happens: On modded servers the player must have the same mods (and same versions) as the server, on the same loader (Forge, NeoForge, Fabric or Quilt).

How to fix it:

  1. Give the player the exact mod list and versions the server uses.
  2. Make sure the loader and Minecraft version match the server’s. See Server software.
  3. Remove client-only mods that the server does not have if the message says they are not allowed.
  4. See Mod problems.

Why it happens: The client made a first contact but the connection broke while joining. Causes include a server that is starting or crashing, a mod mismatch, or a corrupt player data file.

How to fix it:

  1. Wait until the Console shows “Done”, then retry.
  2. Check the Console for an error printed when the player joins.
  3. If only one player is affected, see World problems.

Failed to download resource pack / resource pack download failures

Section titled “Failed to download resource pack / resource pack download failures”

Why it happens: The server sets a resource pack link in resource-pack. If the link is wrong, the file is too large, or the SHA-1 does not match, players cannot load it.

How to fix it:

  1. Open Properties and check the resource-pack URL. It must be a direct download link that works in a browser.
  2. If you use resource-pack-sha1, make sure it matches the file, or leave it empty.
  3. Set require-resource-pack=false while testing so players are not kicked if it fails.
  4. Restart after changes.

Cracked or offline clients cannot join (online-mode is true)

Section titled “Cracked or offline clients cannot join (online-mode is true)”

Why it happens: With online-mode=true, only accounts that own Minecraft and are logged in properly can join. This protects you from name spoofing.

How to fix it:

  1. Ask the player to log in to a real account in the official launcher.
  2. Leave online-mode=true unless you fully understand the risk. Switching it to false lets anyone join under any name, including staff names. Use only with a proxy or auth plugin.
  3. If you change it, restart the server. Whitelist and permissions may need to be redone, because players get new IDs.

Kicked for idling (You have been idle for too long)

Section titled “Kicked for idling (You have been idle for too long)”

Why it happens: player-idle-timeout in Properties is set to a number of minutes. Players who do nothing for that long are kicked. The default of 0 means never.

How to fix it:

  1. Open Properties and set player-idle-timeout to 0 (or a bigger number).
  2. Restart the server.

Stuck on world border or spawn, cannot move

Section titled “Stuck on world border or spawn, cannot move”

Why it happens: The player spawned at or outside a world border, or in a block, or the spawn was moved.

How to fix it:

  1. In the Console, type worldborder get to see the size and worldborder set 10000 to widen it.
  2. Type tp PlayerName 0 100 0 to move them somewhere safe.
  3. If the spawn area is broken, see World problems.

Why it happens: The server is fine, so the difference is on the friend’s side or in the rules the server applies to them.

How to fix it:

  1. Whitelist: check whitelist add FriendName was done and the spelling is exact.
  2. Bans: check the friend is not name banned or IP banned. Type banlist in the Console.
  3. Address: make sure they typed the port correctly, like hostname:port, with a colon and no spaces.
  4. Version: the friend must use the same Minecraft version as the server.
  5. VPN or firewall: ask them to turn off their VPN and check that their firewall or antivirus is not blocking Minecraft.
  6. Network: try a phone hotspot. School, work and some public networks block game traffic.
  7. IPv6: some home connections have trouble with IPv6. Ask them to try a different network, or use the hostname (not a raw IP).
  8. Online-mode: friends with cracked or offline accounts cannot join while online-mode=true.
  9. If you cannot find the reason, open a ticket and tell us the friend’s exact error message.

Server is Online in the panel but nobody can join (“Done” was printed)

Section titled “Server is Online in the panel but nobody can join (“Done” was printed)”

Why it happens: The server started, but players are blocked by the address, the whitelist, a version mismatch, or a plugin. A wrong server-ip value in Properties can also make it unreachable.

How to fix it:

  1. Open Properties and make sure server-ip is empty. Also make sure server-port matches your Primary allocation on the Network page, or leave it as the panel set it.
  2. Check the whitelist, bans and version as above.
  3. See Server won’t start and Startup and crash errors.

Open a ticket or ask on Discord. See Contact support. Include the exact error text the player sees and, if possible, the Console lines from the moment they tried to join.