Photo by Vertex Designs on Unsplash
So there you are, hyped to jump into your freshly set up Minecraft server, you type in the IP, hit connect, and get slapped with Connection Refused. Your friends are waiting in Discord. You've already told them it's ready. And now you're staring at a gray screen wondering what on earth went wrong.
I've been down this road more times than I care to admit — both on self-hosted boxes and rented VPS instances. The Minecraft server connection refused error is one of those things that looks scary but almost always comes down to a handful of predictable causes. Let me walk you through what's actually happening and how to fix it.
What the Error Looks Like
In the Minecraft client, you'll see something like this when you try to connect:
java.net.ConnectException: Connection refused: no further information
Or in some versions it shows up as:
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: [your-server-ip]/[your-server-ip]:25565
That port number — 25565 — is your first clue. Minecraft's default port is almost always the culprit or at least part of the story.
Why This Actually Happens
Here's the thing though — "connection refused" doesn't mean the server is broken. It means your client sent a connection request and something actively rejected it. That's different from a timeout, where the request just disappears into the void. Refused means something is there, it just said no.
The three most common reasons are: the server process isn't actually running, a firewall is blocking port 25565, or your port forwarding on the router is misconfigured. Honestly, nine out of ten times when someone DMs me this error, it's one of those three.
Fix #1 — Make Sure the Server Is Actually Running
I know this sounds obvious, but I've seen it a hundred times. People assume the server is up because they ran the start script once and walked away. Check it.
If you're on Linux, SSH into your server box and run:
sudo systemctl status minecraft
Or if you're running it manually in a screen or tmux session:
screen -ls
If there's no active session and no service running, your server just... isn't on. Start it back up with your usual launch script, typically something like:
java -Xmx2G -Xms1G -jar server.jar nogui
Once it's running, check that it's actually listening on port 25565:
ss -tlnp | grep 25565
If that command returns nothing, the server started but isn't binding to the port correctly — check your server.properties file and make sure server-port=25565 is set and server-ip= is either blank or set to your actual IP. A common mistake is setting server-ip to 127.0.0.1, which makes the server only accept local connections.
Fix #2 — Open the Port in Your Firewall
This is probably the most common issue on VPS setups, especially fresh Ubuntu or Debian installs where UFW is active by default.
Run this to check your current firewall rules:
sudo ufw status
If UFW is active and you don't see port 25565 listed, that's your problem right there. Fix it with:
sudo ufw allow 25565/tcp
sudo ufw reload
If you're on a cloud provider like AWS, Google Cloud, or DigitalOcean, the firewall might be at the infrastructure level — not the OS. You'll need to go into their control panel and add an inbound rule for TCP port 25565. I've wasted a solid 45 minutes before realizing my UFW was fine but the DigitalOcean firewall policy attached to the droplet was blocking everything. Check both layers.
On Windows Server or a local Windows machine, you'd go through Windows Defender Firewall and add an inbound rule for port 25565 TCP. Or via PowerShell:
New-NetFirewallRule -DisplayName "Minecraft Server" -Direction Inbound -Protocol TCP -LocalPort 25565 -Action Allow
Fix #3 — Port Forwarding on Your Router (For Home Servers)
If you're hosting the Minecraft server on your home network and friends outside your network can't connect, port forwarding is almost definitely the issue. This is where things get a little messy because every router's interface is different — but the concept is the same.
Log into your router (usually at 192.168.1.1 or 192.168.0.1), find the port forwarding section, and create a rule that sends external TCP traffic on port 25565 to your server's local IP address.
To find your server's local IP on Linux:
ip addr show | grep "inet "
On Windows:
ipconfig
Look for something in the 192.168.x.x range. Set that as the destination in your port forwarding rule. Then give your friends your public IP (you can grab it from whatismyip.com) and have them connect using that.
One thing worth mentioning — if your ISP gives you a dynamic public IP, it'll change occasionally. You can set up a free dynamic DNS service like Duck DNS to get a hostname that always points to your current IP. Saves a lot of "hey the IP changed again" messages.
Fallback: Test Connectivity Before You Spiral
Before you go tearing everything apart, run a quick connectivity test from another machine to confirm where the block actually is:
telnet your-server-ip 25565
Or if telnet isn't installed:
nc -zv your-server-ip 25565
If you get "Connection refused" here too, you've confirmed it's a network/firewall issue, not a Minecraft client problem. If it connects, the issue is on the Minecraft client side — probably a version mismatch or the wrong IP entered. Either way, you've narrowed it down massively and saved yourself a lot of random Googling.
Hope this saves you the two hours of frustration I definitely didn't spend on this exact problem last month. Get that server running.
Related: How to Fix "Failed to Connect to Server" in Minecraft (2024)
๋๊ธ
๋๊ธ ์ฐ๊ธฐ