Friends Can't Connect to My Server but I Can: Fix It Step by Step
You can join your own server but friends time out. Why it happens (LAN vs public IP, NAT loopback, firewall, CGNAT) and a step by step order to find the cause.
Updated Oct 7, 2026 · 5 min read
On this page
- Why "it works for me" proves less than it seems
- Step 1: make sure friends have the right address
- Step 2: check the port forward
- Step 3: check the firewall on the server PC
- Step 4: check for another NAT layer
- Step 5: have one friend test while you watch
- The reverse case: NAT loopback (hairpin NAT)
- Other causes once the network checks out
- When the network is the problem every time
- FAQ
If you can join your own game server but friends cannot, you are almost certainly connecting over your local network (localhost or 192.168.x.x), which never touches your router's port forwarding, firewall rules for outside traffic or your ISP. Your friends come in through the public internet, where one of those is blocking them. Work through it in order: confirm they use your public IP, check the port forward and protocol, check the PC firewall, then check for double NAT or CGNAT. Also note the reverse case: if you can join on the local IP but not on your public IP from home, that is NAT loopback, and it does not mean friends are blocked.
Why "it works for me" proves less than it seems
When you join with localhost, 127.0.0.1 or your PC's 192.168.1.x address, the connection stays inside your house. It skips:
- the router's port forwarding rule
- the router's inbound firewall and security features
- your ISP's network, including carrier grade NAT
- in the
localhostcase, even Windows Firewall's handling of outside traffic
So it only proves the server is running. Everything your friends depend on is untested.
Step 1: make sure friends have the right address
They need your public IP, from a "what is my IP" search, plus the port if it is not the game's default. Common mistakes:
- Sending the
192.168.x.xaddress fromipconfig. That only works inside your house. - Sending an old public IP. Home IPs change; check again. DDNS stops this from happening.
- Sending the address while connected to a VPN on the server PC. "What is my IP" then shows the VPN's address, not your home's.
Step 2: check the port forward
The rule must point the right port and protocol at the server PC's current local IP.
- Most survival and Steam games use UDP. Minecraft Java and Terraria use TCP. A rule with the wrong protocol does nothing.
- If the PC's local IP changed since you made the rule, it points at nothing. Reserve the IP in your router.
- Some games need more than one port. Satisfactory, for example, needs 7777 UDP and TCP plus 8888 TCP.
The port forwarding guide lists the ports for every game we host, and there are router walkthroughs for Xfinity, Spectrum, eero and others.
Step 3: check the firewall on the server PC
Windows blocks unsolicited inbound connections from other machines. Local connections from the same PC are not affected, which is exactly why you can join and friends cannot.
- Add an inbound rule for the game's port and protocol, for all network profiles.
- Delete any Block rules for the server program, which Windows creates if someone dismissed the first "allow access" prompt.
Full instructions: Windows Firewall rules for a game server. On Linux, see ufw and firewalld.
Step 4: check for another NAT layer
Open your router's status page and look at its WAN IP.
- Matches "what is my IP": good, you have a public address.
- A private address (
192.168.x.x,10.x.x.x): another router is in front of yours. See double NAT fix. 100.64.x.xto100.127.x.x, or different from "what is my IP": your ISP uses carrier grade NAT and forwarding cannot work. See how to tell if you are behind CGNAT.
Step 5: have one friend test while you watch
Ask a friend to try joining while you watch the server console. If you see a connection attempt in the log, the network is fine and the problem is in the game: version mismatch, password, whitelist or mods. If the console shows nothing at all, the traffic never arrived, so it is still a network block.
The reverse case: NAT loopback (hairpin NAT)
Sometimes the symptom is the opposite: friends can join with your public IP, but you cannot join your own server using that same public IP from inside your house. That is NAT loopback, also called hairpin NAT.
Here is what happens: your PC sends a packet to your public IP. The router has to notice that the destination is itself, apply the port forward, and send the packet back inside. Many ISP gateways and some routers do not do this. The connection fails, and it looks like your forward is broken when it is not.
How to handle it:
- Join with the local IP (
192.168.x.x:port) yourself, and give friends the public IP. Simple and reliable. - Test from outside using a phone on mobile data instead of your home Wi-Fi.
- If you use a DDNS name and want to type the same name at home, add an entry to your PC's hosts file (
C:\Windows\System32\drivers\etc\hosts) mapping the name to the local IP, or use a router that supports loopback (most ASUS, Netgear and open source firmware routers do).
Never change a working forward because of a loopback failure. Test from outside first.
Other causes once the network checks out
- Game version mismatch: after an update, the server and clients must match. Steam may update friends' games before your server.
- Server not listed in the browser: some games only show servers that answer on a query port (for example Rust on 28017 UDP). Direct connect by IP works even when listing fails.
- Allow list, password or crossplay settings: friends see a different error rather than a timeout.

When the network is the problem every time
If you keep ending up here, the home network is the weak point. A hosted server is reachable by everyone from the start: it has a public address and the game's ports open, with no router, firewall or ISP NAT on your side. On GamezServers it is live about a minute after checkout for most games, and you and your friends join it the same way. See game server for friends.
FAQ
Why can I join with localhost but friends get "connection timed out"?
Localhost never leaves your PC, so it skips the router and firewall. Friends' traffic hits the router and firewall, and one of them is blocking it.
My friend is on my Wi-Fi and can join, but others cannot. Why?
Anyone on your Wi-Fi is on your local network. They bypass the same things you do. Only people outside your house test the port forward.
Do I need to port forward if my friends use Hamachi or Tailscale?
No. With a virtual LAN they connect to your virtual network address, so no forward is needed. See Tailscale for game servers.
How do I fix NAT loopback?
Connect with the local IP yourself, or use a router that supports NAT loopback. It does not affect your friends.
Want a server without the setup?
From75¢
Pick a game, pay, play. Live the moment checkout finishes.