How to host a Minecraft (Java & Bedrock) server on Windows
This guide covers running your own Minecraft dedicated server on a Windows PC by hand: what you need, which ports to open, where the config lives, and how to keep it updated and modded. At the end there's the shortcut: doing the same thing in Rackd.
Requirements
- Windows 10/11 64-bit. 2 GB of RAM for the server is enough for a few friends on vanilla; 4–8 GB for modpacks.
- Java Edition: Java 21 (required by Minecraft 1.20.5 and newer). Install a 64-bit JDK/JRE such as Eclipse Temurin 21.
- Bedrock Edition: no Java needed; Mojang ships a native
bedrock_server.exe. - A wired connection and a router you can log in to for port forwarding.
Default ports
| What | Port | Protocol |
|---|---|---|
| Java Edition game port | 25565 | TCP |
| Java RCON (optional, keep closed to the internet) | 25575 | TCP |
| Bedrock Edition game port | 19132 | UDP |
| Bedrock IPv6 port | 19133 | UDP |
Manual setup, step by step
1. Download the server
For Java, download server.jar from minecraft.net's server download page into an empty folder such as C:\MinecraftServer. For Bedrock, download the Windows Bedrock Dedicated Server zip and extract it.
2. First run and the EULA
Java: run java -Xmx2G -Xms1G -jar server.jar nogui. It stops right away and writes eula.txt; open it and set eula=true, then run it again. Bedrock: double-click bedrock_server.exe.
3. Configure
Both editions read server.properties: server-port, max-players, difficulty, gamemode, motd/server-name, online-mode. Java uses ops.json and whitelist.json; on Bedrock use allowlist.json and permissions.json.
4. Allow it through Windows Firewall
Windows will ask the first time Java or bedrock_server.exe listens. Allow it on private networks, or add an inbound rule for the port.
5. Port forward
In your router, forward the game port (table above) to your PC's local IP, and give the PC a DHCP reservation so the IP doesn't change. Friends connect with your public IP; on the same network they use the local IP.
6. Updates
Java: stop the server, back up the world folder, swap in the new server.jar, start it. Bedrock: download the new zip and copy everything except worlds, server.properties, allowlist.json and permissions.json. Bedrock clients update automatically, so an outdated Bedrock server locks players out fast.
7. Mods and plugins
Java: plugins need a Paper (or Spigot) server jar and go in plugins\; mods need Fabric or (Neo)Forge and go in mods\, and every player needs the same mods. Bedrock: behaviour/resource packs go in the world's pack folders.
Port forwarding tips
- Give the host PC a fixed local IP (a DHCP reservation in your router) before you create forwarding rules.
- If your router's WAN IP doesn't match what whatismyip shows, your ISP is using CGNAT and port forwarding won't work. Ask for a public IP or use a tunnel/VPN.
- Test from outside your network (a phone on mobile data), since many routers don't support loopback connections to your own public IP.
Or do it in a few clicks with Rackd
Rackd is a Windows 10/11 desktop app that does the steps above for you:
- One-click install: pick Minecraft, name the server, and Rackd downloads the files (the official Java server.jar or Mojang's Bedrock server). Rackd also warns you if no Java runtime is installed before you start a Java server.
- Rackd Connect: asks your router to forward the server's port over UPnP and shows you the address to share, so you don't have to dig through router menus. (If your router has UPnP off or you're behind CGNAT, you'll still need the manual steps.)
- Scheduled updates that never kick players: pick an update window. If anyone is online, Rackd waits and retries instead of shutting the server on them.
- Backups: zip the server folder in one click and restore it when something goes wrong.
- Live console with RCON for Java Edition so you can watch the log and send commands.
Download Rackd for Windows 7-day free trial, no card required.
See all games Rackd supports or browse more server hosting guides.