Making a Minecraft server takes about six steps — and the honest version of this guide tells you which of those steps eat an evening when they go wrong. Here is the whole process for a Java Edition server, start to finish, plus the shortcut at the end.
1. Check the machine
A server is a second copy of Minecraft running headless, and it wants real resources: at least 2–4 GB of RAM it can keep (on top of what your OS and the game client use), a CPU with strong single-core speed, and a wired connection if possible. It also has to stay on — a server hosted on your gaming PC goes offline the moment you shut down.
2. Install Java
Modern Minecraft (1.20.5 and newer) requires Java 21. Grab a build from Adoptium (Temurin) or Oracle, install it, and confirm with java -version in a terminal. Version mismatch is the first classic failure: an old Java quietly refuses to start a new server jar.
3. Download the server jar
Get server.jarfrom minecraft.net's official server download page. Put it in a fresh folder — the server writes its world, configs and logs next to the jar, so you want it contained.
4. First run and the EULA
The first launch always "fails" — by design. Run:
java -Xmx4G -Xms4G -jar server.jar nogui
The server writes eula.txt and exits. Open it, change eula=false to eula=true(you're agreeing to Mojang's EULA), and run the same command again. This time it generates the world and starts listening on port 25565. The -Xmx4G flag is the RAM cap — size it to your machine.
5. Configure server.properties
server.properties controls the game rules: motd (the lobby-list text), difficulty, gamemode, max-players, white-list. Edit, save, restart. Turn the whitelist on before you share the address anywhere public — an open server gets found surprisingly fast.
6. Let friends in (the hard part)
On your own network, friends join via your local IP. Everyone else needs your public IP — and your router blocks inbound connections by default. Fixing that means port forwarding TCP 25565 to your machine, which is a whole guide of its own (router admin pages, static LAN IPs, ISPs that use CGNAT and make it impossible). Read our port forwarding guide if you're going this route.
Port forwarding is where most self-hosted servers die: it exposes your home IP to everyone you share the address with, and some ISPs simply don't allow it.
The alternative: let a host do steps 1–6
Hosted Minecraft servers exist because everything above is automatable. On Campfire you pick a plan and an edition (vanilla, Paper, Forge, Fabric, or a whole modpack), and the server is live with a public address in about 30 seconds — no Java installs, no EULA file, no router settings, and it stays online when your PC doesn't. Self-hosting is a great learning project; hosting is how you actually play with friends on a Tuesday night.