Forge Server Tools · every failure mode · guides

java.net.BindException Address already in use Minecraft

The port is already taken — FATAL

What this actually means

Something already holds the port this server wants — usually another Minecraft server, or the previous run that hasn't fully exited.

How to fix it

Find the holder and stop it: Windows: netstat -ano | findstr :25565 then Task Manager by PID Linux: ss -lptn 'sport = :25565' If you run more than one server on this machine, give each its own port in server.properties. Voice-chat mods bind their OWN port (24454) -- if that is the one failing, the fix is the same but a different number.

How to be sure it is this

ss -ltnp | grep 25565 on Linux, or netstat -ano | findstr 25565 on Windows, names the process holding it.

What it gets mistaken for

Voice-chat mods bind their own port and produce the identical error with a different number. Read which port the message names before assuming it is 25565.

What to do next

Either stop the other process or change server-port. If the holder is a crashed server, it may take a moment to release.

What it looks like in your log

Search your crash report or latest.log for any of these:

java.net.BindException: Address already in use
FAILED TO BIND TO PORT
Perhaps a server is already running on that port

The free edition of Forge Server Doctor detects this one. It is a single Python file with no dependencies — point it at the report and it names the cause and the mod jar:

python3 forge_doctor.py crash-reports/crash-....txt