3 ways to host a Minecraft server
There are 3 ways to host a Minecraft server: rent one from a hosting company, run the free server software on a computer you own, or pay Mojang for a Realm. They differ in what they cost, who keeps the server online and what you can install on it:
| A host | Your own PC | A Realm | |
|---|---|---|---|
| What it costs | From €1.60 a month for 2 GB | Nothing for the software, only the power | US$3.99 or US$7.99 a month in the US store |
| Online while you are away | Yes, around the clock | Only while the PC is on | Yes |
| Plugins and mods | Yes | Yes | No plugins or Java mods |
| Java and Bedrock in one world | Yes, on a crossplay plan | Yes, with Geyser | No |
| Who sees your home IP address | Nobody | Every player who joins | Nobody |
| Setup | Choose a plan, then the software in a panel | Java, a start script and port forwarding | Start it from the game |
Start at home if you want to try it for free, and move to a host when someone wants to play while your PC is off. A Realm suits a small group that wants no setup at all; Minecraft Realms alternatives compares what each Realm costs against a server.
How to make a Minecraft server with a host
To make a Minecraft server with a host, you choose a plan, wait for the server to be delivered and set it up in the host's panel in 6 steps:
- Choose the RAM. About 4 GB for up to five friends on vanilla, 8 GB for ten players with plugins. The Minecraft RAM calculator works it out for other groups.
- Choose the edition and a location: Java for PC players, Bedrock for phones, Windows and consoles, crossplay for both, in a location close to most of the group.
- Order and wait for delivery. Cheapest Minecraft Hosting delivers every plan instantly. A Performance plan in Poland can take up to 12 hours at Astroworld Hosting and Lodehost.
- Pick the server software in the panel: Vanilla for the game as it is, Paper for plugins, Fabric, Forge or NeoForge for mods. At Astroworld Hosting and Lodehost you can switch later from the panel, which takes a backup before it changes anything.
- Start the server and make yourself an operator by typing
opand your player name in the console. - Turn on the whitelist and share the address. Type
whitelist on, thenwhitelist addwith each friend's name. All three hosts give the server a free address with a name you pick, so nobody types an IP address and a port.
If you would rather not do the setup yourself, Astroworld Hosting does it for free when you order: it installs plugins, mods, a modpack or your own world within 24 hours.
How to make a Minecraft server on your PC
To make a Minecraft Java server on your PC, you need Java and the free server .jar from minecraft.net, and the setup on Windows takes 7 steps:
- Install Java. Minecraft 26.1 and later need Java 25, and versions from 1.20.5 to 1.21.11 need Java 21 or newer. Type
java -versionin a command prompt to see which one you have. - Download the server .jar from the Minecraft server download page, put it in an empty folder and name it
server.jar. - Run it once with
java -jar server.jar --noguifrom a command prompt in that folder. The server stops right away and writes a file called eula.txt. - Accept the EULA: open eula.txt and change
eula=falsetoeula=true. - Make a start script. Create start.bat in the folder with three lines:
@ECHO OFF,java -Xms1024M -Xmx2048M -jar server.jar --noguiandpause. The -Xmx part is the most memory the server may use; change it to-Xmx4Gfor five players. - Start the server by double-clicking start.bat. Allow Java through the Windows firewall when Windows asks, then join with
localhostunder Multiplayer and Direct Connection. - Stop it with
stopin the server window, so the world is saved before the server closes.
Players on the same Wi-Fi or router join with the PC's internal address, such as 192.168.0.168:25565. Everyone else needs port forwarding or a VPN, both explained below. On a Mac the steps are the same in Terminal, with the start.sh script from the Linux section in place of start.bat.
How to make a Minecraft server on Linux
On Linux, a Minecraft Java server takes the same .jar and EULA steps, with a start.sh script of 3 lines in place of start.bat:
#!/bin/shcd "$(dirname "$0")"exec java -Xms1024M -Xmx2048M -jar server.jar --nogui
Make it executable with chmod a+x start.sh and start it with ./start.sh. A machine without a desktop only needs a headless Java package. To keep the server running after you close the SSH session, start it inside screen or tmux, or as a systemd service.
The Bedrock server runs on Ubuntu 22.04 or later, and Mojang supports no other distribution. Unzip the Linux download into an empty folder and start it with LD_LIBRARY_PATH=. ./bedrock_server.
How to make a Minecraft Bedrock server
To make a Minecraft Bedrock server, download Bedrock Dedicated Server from minecraft.net, unzip it into an empty folder and start it on Windows 10 or later, or on Ubuntu 22.04 or later. Mojang's requirements list 4 GB of RAM and 180 MB to 1 GB of disk space. The steps:
- Download the Windows or Linux zip from the Bedrock server download page. Skip the Preview server, which does not work with the full release of the game.
- Unzip it into an empty folder outside Downloads. The world and every setting are saved in that folder.
- Edit server.properties before the first start: the server name, game mode, difficulty, world name and
allow-list=true. The world is created on the first start, and some of its options cannot be changed afterwards. - Start the server: double-click the server program on Windows, or run
LD_LIBRARY_PATH=. ./bedrock_serveron Linux. - Add players with
allowlist addand their gamertag in the console, in double quotes when the gamertag has a space. - Join on port 19132: players on Windows and phones add the server in the Servers tab with your address and port 19132.
Mojang's server software does not run on phones or consoles, so a phone can join a Bedrock server but cannot be one. Xbox, PlayStation and Switch players join a custom server in their own way, which Bedrock server hosting explains.
How to port forward a Minecraft server
To port forward a Minecraft server, add a rule to your router that sends port 25565 for Java, or UDP port 19132 for Bedrock, to the internal IP address of the computer that runs the server. Router menus differ, but the steps are the same on most of them:
- Give the server PC a fixed internal IP in the router, so the rule keeps pointing at it after a restart.
- Open the router's admin page at its gateway address. On Windows,
ipconfigshows it as Default Gateway. - Add a port forwarding rule with the server PC's internal IP and port 25565 as both the internal and the external port. Choose TCP/UDP or Both for Java, and UDP on port 19132 for Bedrock.
- Allow the server through the PC's firewall, or the router forwards players to a closed door.
- Test the port with an online port checker while the server runs, and search "what is my IP" to find your external address.
- Give friends the external IP, with a colon and the port at the end if you changed the port.
Most internet providers give homes a dynamic IP that can change every few days or weeks, so a free dynamic DNS name that follows it saves you sending a new address each time. With two routers behind each other, the rule also has to be on the one connected to the internet.
How to make a Minecraft server public without port forwarding
You can open a Minecraft server to friends without port forwarding in 2 ways: put every player on the same VPN, or run the server at a host, which gives it a public address of its own.
- A VPN: ZeroTier, Radmin VPN and Hamachi make a private network between the computers that install them, and players connect to the server PC's VPN address as if they were on the same Wi-Fi. Set the network to private and approve each player, or anyone with the network ID can join. Mojang does not support this route.
- A host: the server gets a public address and an open port, nobody changes your router, and your home IP address stays private.
Only the second way makes a server truly public. A VPN works for friends you invite, not for players who find you on a server list.
Why can't my friends join my Minecraft server?
When your friends can't join your Minecraft server, 1 of 6 things is usually wrong:
- The server is off. A home server stops when the PC sleeps or shuts down, or when someone closes the server window.
- They used the wrong address. An internal address, such as one that starts with 192.168, only works inside your own network. Friends elsewhere need your external IP.
- The port is closed. The router has no forwarding rule, the firewall blocks Java, or a Bedrock rule is set to TCP where it needs UDP.
- Their version does not match. A Java player has to pick the server's version in the launcher, and a Bedrock server has to run the version the players have.
- The whitelist is on and their name is missing from it, or has a typo.
- Your provider shares one public IP between many homes. Port forwarding cannot work then, and a VPN or a host is the way around it.
On a host, the address and the port are set up for you, so it is nearly always the version or the whitelist.
How to make a Minecraft server for free
You can make a Minecraft server for free in 2 ways: run the free server software on a computer you already own, or use a free host such as Aternos, which stops the server when nobody is online. Both work for a few friends who play at the same time. When the world should keep running while you sleep, a paid 2 GB plan costs €1.60 a month; see free Minecraft server hosting for what each free host allows.
How to make a Minecraft server with mods
To make a Minecraft server with mods, install a mod loader server, Fabric, Forge or NeoForge, in place of the vanilla .jar, put the mods in its mods folder and give every player the same loader version and mods. Leave client-only mods, such as shader mods, off the server. A modded server needs about 5 GB of RAM before anyone joins, so plan on 8 GB for a few friends. The steps for each loader are on Fabric, Forge and NeoForge server hosting, and a ready-made pack is easier still: see modpack server hosting.

