ESN Docs

Docs › Minecraft

Fix "**** FAILED TO BIND TO PORT!" on a Minecraft server

2 min readUpdated Nov 3, 2026

Why a Minecraft server says FAILED TO BIND TO PORT (java.net.BindException: Address already in use), and how to fix server-port, server-ip, plugin ports and leftover processes.

The console shows:

[Server thread/WARN]: **** FAILED TO BIND TO PORT!
[Server thread/WARN]: The exception was: java.net.BindException: Address already in use
[Server thread/WARN]: Perhaps a server is already running on that port?

Sometimes the exception is Cannot assign requested address instead. Either way, the server couldn't open its network port, so nobody can join.

Why it happens #

  • Address already in use: something else already has that port: an old copy of the server that didn't fully stop, a second server, or a plugin set to the same port.
  • Cannot assign requested address: server-ip in server.properties is set to an IP the machine doesn't have.

1. Make sure no old copy is running #

On ESN, press Stop in the Console and wait until it says offline. If it hangs, use Kill. Then start again. On your own PC, close any other Minecraft server window; to see what uses the port:

# Windows
netstat -ano | findstr :25565
# macOS / Linux
lsof -i :25565

2. Check server-ip and server-port #

Open server.properties in Files:

server-ip=
server-port=25571
  • server-ip should be empty. Don't put your public IP or domain there.
  • server-port must be the port the panel gave your server, shown at the top of the Console page and on the Network page (25571 above is only an example). See server IP and port.

3. Give plugins their own ports #

Some plugins and features open extra ports. If one is set to your main port (or two share one), you get the same bind error, sometimes from the plugin instead of the server.

Plugin / featureWhere the port is setUsual default
Dynmapplugins/dynmap/configuration.txt → webserver-port8123
BlueMapplugins/BlueMap/webserver.conf → port8100
Votifier / NuVotifierplugins/Votifier/config.yml → port8192
RCONserver.properties → rcon.port25575
Queryserver.properties → query.port25565

A plugin's web or vote port must be a port your server actually has: on ESN, use another port listed on your server's Network page. If you don't need the feature, turn it off (for example enable-rcon=false, enable-query=false).

Geyser (Bedrock) ports: Geyser listens for Bedrock players on its own port (bedrock.port in plugins/Geyser-Spigot/config.yml). In older Geyser versions, and with transport: raknet, it only uses UDP, so it can share your Java port number. Newer Geyser versions also use TCP on that port for Bedrock's new connection method, and a second UDP port (webrtc-port) when transport is both, so those must not clash with your Java port or with each other. enable-query=true also uses UDP on query.port. Details: Geyser + Floodgate setup.

4. Start and check #

Start the server and wait for Done (…)! For help, type "help". If the bind error is gone but players still can't connect, see troubleshooting.

FAQ #

Can I change my server's port to 25565?

Not on a shared host: each server gets its own port from the panel, and server-port must match it. Players add :port after the IP, or use a domain with an SRV record.

It worked yesterday and today it says failed to bind.

Usually an old copy didn't stop in time. Kill the server, wait a few seconds, and start it again.

The error mentions a plugin, not the server.

That plugin is trying to open a port that's taken. Change it in that plugin's config to an unused port from your Network page, or turn the feature off.

Running your own Minecraft server? ESN Minecraft servers come with a live console, file manager, backups and schedules. See Minecraft plans · or ask in the ESN Systems Discord.

Still stuck? Use the live chat on the panel or ask in the ESN Systems Discord. Last updated November 3, 2026.