Networking
How to let friends join your Minecraft server
The server is up. You can join it. You paste the address into a chat, your friend tries it, and back comes “Connection timed out”. This is the moment a lot of home servers get abandoned for a week.
Don’t blame the server. It’s nearly always the network in between, and what fixes it depends on where your friend is sitting.
Same house, same Wi-Fi
The easy case. Devices on one home network can reach each other directly, so your friend only needs your PC’s local address. It looks like 192.168.1.23 or 10.0.0.12. Run ipconfig in a command window and read the IPv4 Address line under your active connection.
Still timing out? Check the Windows firewall before anything else. When Java starts a server for the first time, Windows asks if it may use the network. People hit Cancel without reading, and then it blocks everyone. Allow Java on private networks and try again.
Far away: port forwarding
To reach you from outside, connections have to get through your router. Port forwarding makes it pass anything arriving on port 25565 along to your PC. It costs nothing and it works well, but it means digging in your router’s settings, and a few internet providers block it altogether. Our port forwarding guide walks through it.
Be aware that this puts your home address in the hands of everyone you give it to. Share it with people you trust and no one else.
Far away: a tunnel
A tunnel turns the whole thing around. Your PC reaches out to a relay service, and your friends connect to the relay, which hands them across. Since your computer made the first move, the router has nothing to block, and you touch no router settings at all.
Mineshire uses playit.gg for this. Turn on a tunnel in the Network tab and the server gets an address that works anywhere. The helper program is about 5 MB and only gets downloaded after you agree. The address is yours, so treat it like a house key.
The cost is honest and small: one extra hop, so ping can run a bit higher than a direct link, and a third party sits in the path.
Far away: your own private network
There’s also a middle road. Tools like ZeroTier and Tailscale build a private network between computers. Everyone installs a small program, joins the same network, and your PC gets an address only they can see.
For a fixed little group that’s lovely. For a public server it’s a non-starter, because every player would have to install something first.
Picking one
Same room? Use the local address and stop there. Open to lots of people? Forward a port if your provider allows it, and use a tunnel if it doesn’t. A few friends and you want it private? A tunnel or a private network. Can’t touch the router at all, say because you share the connection? Tunnel.
If it still fails, debug from the inside out. Join with localhost first. Then try the local address from another device at home. Only then worry about the wider internet. Change one thing at a time, or you’ll fix it and never learn which change did it.
Quick answers
Why can I join but my friend can’t? You’re on the inside of your network and they aren’t. The path from the internet to your PC is blocked, so port forwarding or a tunnel is what’s missing.
Does my address stay the same? Often not. Many providers change a home’s public address now and then, and the old one stops working. A tunnel gives you an address that doesn’t depend on it.