Skip to content
9MinecraftServer.com home Search servers
EN

Translate this page

Sign up free
Run your server

How to make a Minecraft server public

Open one port on your router (TCP 25565 for Java, UDP 19132 for Bedrock) and point it at the PC running the server, or skip the router with a tunnel or a host.

For server ownersUpdated 10 min read

Quick answer
  • To make a Minecraft server public, forward TCP 25565 (Java) or UDP 19132 (Bedrock) on your router to the server PC and allow it through the PC's firewall.
  • Give players your public IP, not the 192.168 one.
  • Can't port forward (CGNAT, dorm, apartment Wi-Fi)? Use a tunnel or a server host instead.
  • Keep online-mode=true and turn on the whitelist until you're ready for strangers.

To make a Minecraft server public, you forward the server's port on your router to the computer running it (TCP 25565 for Java, UDP 19132 for Bedrock), open that port in the computer's firewall, and give players your public IP address. If your internet provider won't let you open ports, a tunnel service or a paid host gets you the same result without touching the router.

That's the whole idea. The rest of this page is the part that trips people up: which protocol to pick, why it "works for me but not my friends," what CGNAT is, how to get a clean address like play.yourname.net, and what to lock down before the internet shows up.

Pick your route first

There are four ways to get a server onto the public internet. They all end the same way (an address players can type), but they cost different amounts of money, effort and risk.

RouteCostYour home IP exposed?Best for
Port forwarding at homeFree (your PC and power bill)YesFriends and small communities, if your router allows it
Tunnel (playit.gg style)Free tiers exist; paid tiers add featuresNo, players see the tunnel's addressCGNAT, dorms, locked routers, or not wanting to share your IP
Minecraft server hostMonthly feeNoAnything you want online 24/7 without leaving a PC on
VPS or dedicated boxMonthly feeNoOwners comfortable with Linux, firewalls and backups

If you only want a few friends on Java, know what the game does and doesn't do for you: Java 26.2 "Chaos Cubed" (June 2026) added a Friends List, but it doesn't host your world for people outside your home. For that you still need a Realm or a server someone can reach. A public server that strangers can find is a different job, and that's what this guide covers.

Minecraft server port forwarding, step by step

Every router's menus look a little different, but the steps don't change. Do them in this order, because step 2 is the one most people skip.

  1. Start the server and test it locally. Join from the same PC using localhost. If that fails, port forwarding won't fix anything; sort the server out first.
  2. Give the server PC a fixed local IP. Find its current address (Windows: run ipconfig and read "IPv4 Address", usually something like 192.168.1.50). Then create a DHCP reservation for it in your router, often called "IP reservation" or "static lease". Without this, the PC can get a new address after a reboot and your forward points at nothing.
  3. Log in to your router. The address is usually printed on the router's label (commonly 192.168.0.1 or 192.168.1.1). Some ISPs move these settings into an app. On Spectrum routers, for example, it lives in the My Spectrum app under Services, your router, then Advanced Settings (at the time of writing).
  4. Find the port forwarding page. It might be called Port Forwarding, Virtual Server, NAT, Applications, or Gaming.
  5. Add the rule. External port and internal port: 25565 for Java or 19132 for Bedrock. Protocol: see the table below. Destination: the fixed IP from step 2. Save.
  6. Open the port in the PC's firewall. Covered in the next section. This is the silent killer of half of all "port forwarding not working" threads.
  7. Find your public IP by searching "what is my IP" from that network. That's the address you share. The 192.168.x.x one only works inside your house.
  8. Test from outside. Ask a friend on a different network to join, or turn off Wi-Fi on your phone and try from mobile data. Our Is it down checker also pings your address from our servers, so it's a real outside test.

Minecraft server port forwarding: TCP or UDP?

What you're runningPortProtocol
Java server (vanilla, Paper, Fabric, Forge, NeoForge)25565TCP
Java server with enable-query=true25565 (or your query.port)UDP as well
Bedrock Dedicated Server19132 (IPv4), 19133 (IPv6)UDP
Java server with GeyserMC for Bedrock players25565 and 19132TCP for Java, UDP for Geyser
Simple Voice Chat24454UDP

Java gameplay runs over TCP, and Bedrock runs over UDP. The Minecraft Wiki's server tutorial suggests choosing "TCP/UDP" or "Both" for the Java port if your router offers it, which is a harmless shortcut. The mistake to avoid is the reverse: forwarding 19132 as TCP only, which leaves Bedrock players stuck on "Unable to connect to world."

Open the firewall on the server PC

Windows usually pops up a "Windows Defender Firewall has blocked some features" prompt the first time Java listens on a port. If you clicked Cancel, or only ticked "Private networks," outside traffic is dropped before Minecraft ever sees it. The clean fix is an explicit rule. In an administrator PowerShell window:

New-NetFirewallRule -DisplayName "Minecraft Java" -Direction Inbound -Protocol TCP -LocalPort 25565 -Action Allow

For Bedrock, the same command with -Protocol UDP -LocalPort 19132 and a different display name. On a Linux box using ufw, it's sudo ufw allow 25565/tcp or sudo ufw allow 19132/udp. Some cloud providers also have a firewall in their web panel that sits in front of the machine; that one needs the port too.

Minecraft server port forwarding not working? Work down this list

If you can join on localhost but nobody outside can, the problem is somewhere between your router and the internet. These are the causes we see most, in the order worth checking.

SymptomLikely causeFix
Friends get "Connection timed out"Firewall on the PC, or the forward points to the wrong local IPAdd the firewall rule; recheck the PC's IPv4 address against the rule
Everything looks right, still times outCGNAT: your ISP shares one public IP between many homesCompare the "WAN IP" on your router's status page with "what is my IP." If they differ, or the WAN IP starts with 100.64 to 100.127, you're behind CGNAT. Ask the ISP for a public IP, or use a tunnel
Worked yesterday, not todayThe PC got a new local IP, or your public IP changedDHCP reservation for the PC; a dynamic DNS name or a domain for the public side
You can't join via the public IP, but friends canYour router doesn't support NAT loopback (hairpinning)Normal. Join with the local IP yourself and test from mobile data
Two routers in the house (ISP modem plus your own)Double NATPut the ISP box in bridge mode, or forward on both
"Connection refused"Something reached your PC but nothing is listening on that portServer isn't running, or server-port doesn't match the rule
Bedrock "Unable to connect to world"UDP not forwarded, or a host that blocks UDPForward UDP 19132; with Geyser, see our crossplay setup guide

For deeper error decoding from the player side, Connection timed out and Can't connect to a Minecraft server walk through each message.

How to make a Minecraft server public without port forwarding

Lots of home connections simply can't accept incoming connections: CGNAT, mobile hotspots, college dorms, apartment-wide Wi-Fi, or a router the landlord controls. You have three real alternatives.

A tunnel

A small program on your PC keeps an outgoing connection open to the tunnel provider, and the provider gives you a public address that forwards to it. GeyserMC's own port forwarding page points people who can't open ports to playit.gg. It supports both TCP (Java) and UDP (Bedrock).

A server host

You rent a server that's already public. You get an address and a control panel. No router, no firewall, no PC left running overnight.

A VPS

A rented Linux machine with a public IP. Full control, full responsibility: you handle Java installs, firewalls, backups and updates.

A tunnel is the "minecraft server port forwarding alternative" most people are after, and it has a quiet bonus: players connect to the tunnel's address, so your home IP stays private. The trade-off is an extra hop, which can add a little latency depending on where the tunnel's relay sits compared to you and your players. Read the provider's terms and setup docs, since that's where the current limits live.

Public Bedrock servers and modpack servers

How to make a public Minecraft server on Bedrock

Download the Bedrock Dedicated Server from minecraft.net, set server-port in its server.properties (default 19132, with server-portv6 at 19133), and forward UDP 19132. Windows, iOS and Android players add it under Servers, Add Server (name, address, port). Xbox, PlayStation and Switch players can't type in a custom address in the normal game; they need Realms, the featured servers, or third-party community workarounds like BedrockConnect. Our Xbox joining guide covers what console players can actually do.

How to make a modpack public

A modded server goes public exactly like a vanilla one: same TCP port, same forward, same firewall rule. The extra work is on the player side. Everyone needs the same modpack and the same version, installed through the CurseForge app, the Modrinth app, Prism Launcher or ATLauncher. Put the exact pack name and version in your listing and your Discord, and include a link to the pack's page. Modded servers also eat far more memory than vanilla; see how much RAM a Minecraft server needs before you invite a crowd.

Give it a real address with a domain and an SRV record

Nobody remembers 73.142.18.201:25570. A domain fixes that, and an SRV record can even hide a non-standard port. Java looks up a record named _minecraft._tcp. plus your hostname before it connects.

RecordNameValue
Amc.yourname.netYour public IP (or your host's IP)
SRV_minecraft._tcp.play.yourname.netPriority 0, weight 5, port 25570, target mc.yourname.net

Players then type play.yourname.net with no port at all. Two catches: the SRV target must be a hostname (the A record), not a raw IP, and Bedrock doesn't read SRV records. Geyser's troubleshooting page lists "Invalid IP address!" on Bedrock as the symptom of a domain that only resolves through SRV. Bedrock players need a plain A record and the port typed in, so keeping Bedrock on the default 19132 saves everyone trouble.

Home connection with a changing IP? A dynamic DNS service keeps a name pointed at you as the IP moves; the Minecraft Wiki's Java server tutorial suggests exactly that.

Lock it down before strangers arrive

The moment a port is open, bots find it. Server scanners sweep the whole internet for port 25565 all day. That's not a reason to panic, just a reason to set things up properly.

  • Keep online-mode=true in server.properties. It makes the server check every player against Mojang's account servers, so nobody can join as you. (Behind a Velocity or BungeeCord proxy, the proxy does this job instead.)
  • Start with the whitelist on. white-list=true and enforce-whitelist=true, then /whitelist add Name for each friend. Open up when your rules and staff are ready.
  • Only op yourself. Use a permissions plugin like LuckPerms for everyone else.
  • Leave RCON off (enable-rcon=false is the default), and never forward the RCON port.
  • Forward only the ports you use. Never use "DMZ" to expose the whole PC.
  • Back up the world folder on a schedule, and keep one copy off that PC.
  • Keep the server software and plugins updated, and only download plugins from their official pages (Modrinth, the project's GitHub, papermc.io's Hangar).
  • Don't run the server as an administrator account on Windows or as root on Linux.
  • Don't post your home IP in public Discords while you're still testing. Use a domain or tunnel address.
  • Don't install "anti-DDoS" or "free rank" plugins from random download sites.

You're public. Now get found

An open port gets you reachable, not busy. Players find servers through lists, Discord and word of mouth. When you add your server to 9MinecraftServer, our pinger checks it every few minutes from outside your network, so your page shows real players online, version, uptime and a 7-day chart. It doubles as a free "is my port forward still working?" monitor: if your uptime line drops, something changed at home.

Then follow through with how to get players on your server, and set up NuVotifier so votes pay out in game.

Quick questions

Is port forwarding for Minecraft safe?

Forwarding one port to one program is a normal, limited change. The risk comes from what's listening on it, so keep the server updated, keep online-mode on, and don't use DMZ. If you'd rather not expose your home IP at all, use a tunnel or a host.

Why can my friends join but I can't use my public IP?

Your router probably doesn't support NAT loopback. Join with localhost or the PC's local IP yourself; it doesn't mean anything is broken.

Can I make a Minecraft server public for free?

Yes, by port forwarding from a PC you already own, or with a free tunnel tier. You pay in electricity and in keeping that PC running. Hosts and VPSs cost money but stay online without you.

Do players need the port if I use 25565?

No. Java assumes 25565 when no port is given, and Bedrock assumes 19132. Any other port has to be typed as address:port on Java (unless you use an SRV record) and in the separate port box on Bedrock.

How do people join a public Minecraft server?

On Java: Multiplayer, Add Server, paste the address. On Bedrock (Windows, phone, tablet): Servers, Add Server. Our joining guide has the full walk-through to send your players.