Connection refused
Refused means the address was reached but nothing was listening on that port. In practice the server is stopped, still starting, listening on a different port, or a forwarding rule points at the wrong machine.
It is the most actionable error in Minecraft, because it rules out version and account problems entirely.
Timed out
A timeout means packets went nowhere and no reply came back: a firewall silently dropping traffic, a missing port-forward rule, carrier-grade NAT, or a server too overloaded to answer.
Because a timeout gives no reply, it is harder to diagnose than a refusal. Testing from outside the network with a port checker separates a closed path from a slow server.
Version and account messages
“Outdated client”, “outdated server”, and “incompatible versions” are literal: the game versions do not match. These are fixed on the player’s launcher or in the server software version, not in the network.
Similarly, an authentication failure points at online mode or account state rather than connectivity.
Server-side errors
“Failed to bind to port” appears in the server’s own log, meaning something already occupies the port — usually a duplicate server process still running after a crash.
Internal exceptions during login, such as a corrupt chunk at the player’s location, also surface as connection errors while the server itself is healthy for everyone else.
FAQ
Common questions
What is the difference between refused and timed out?
Refused means something at the address actively rejected the connection because nothing was listening on that port. Timed out means no response arrived at all, which points at firewalls, forwarding, or an unresponsive path.
Why does the server say “failed to bind to port”?
Another process is already using that port — most often a previous server instance that did not shut down cleanly. Stop every instance, confirm the port is free, then start exactly one server.