← All posts

How to start a Minecraft server for you and your friends

Lukas
Lukas · Earthdice
Founder · July 28, 2026 · 6 min read

First things first: I run Chunklink, a hosting service for exactly the problem this guide solves. The guide is complete anyway. By the end you'll know whether you want to host yourself, and if so, how.

The goal is always the same: a world your friends can join from their own homes. The first half of the road is easier than its reputation. The second half depends on something your ISP never told you about. We'll get there.

What you need

A computer that stays on while people play, with at least 4 GB of memory to spare. Your everyday PC is fine, even if you play on it at the same time, as long as it isn't already struggling.

Install Java 25

Minecraft 26.2 needs Java 25; older versions won't start the server. The Minecraft launcher ships its own Java, the server does not.

Get it from adoptium.net (Temurin 25), or on Windows straight from the terminal:

winget install EclipseAdoptium.Temurin.25.JDK

On a Mac: brew install --cask temurin@25. Check with java -version: if it says 25, you're set.

Download and start the server

Grab server.jar from the official download page and put it in a folder of its own, say minecraft-server. The server unpacks its world and config wherever it lives.

First start, in a terminal in that folder:

java -Xmx4G -Xms4G -jar server.jar nogui

4G means 4 GB of memory. If you're short on it, 2G will do.

The first start exits immediately, and that's intentional: the folder now contains a eula.txt. Open it, change eula=false to eula=true, save. That's you accepting the Minecraft EULA. On the second start the server generates the world and runs.

So you don't retype the command every time, drop a start.bat next to the jar on Windows:

@echo off
java -Xmx4G -Xms4G -jar server.jar nogui
pause

Double-click starts the server from now on. Stop it cleanly by typing stop into the server console, not by closing the window.

Two settings before anyone joins

In server.properties (a plain text file; stop the server first):

  • white-list=true — only invited players get in. Add friends in the server console: whitelist add YourFriend. An open Minecraft port gets found by bots within hours; without a whitelist your world is open to strangers.
  • Leave online-mode=true. Setting it to false makes the server skip verifying Minecraft accounts, which opens the door to people impersonating your friends. You don't need it.

Now the first test: everyone on your Wi-Fi can already join. Find your local address on Windows with ipconfig (the "IPv4 Address" line, usually 192.168.…) and have a friend enter it under "Add Server" in Minecraft. If that works, the server part is done. Everything from here on is just networking.

Letting friends in over the internet

The classic route is port forwarding: you tell your router to send traffic on port 25565 (TCP) to your computer. It lives somewhere in your router's admin page, usually under "Port forwarding" or "NAT". Do one thing first: give your computer a fixed local address (the router setting is called DHCP reservation, or "always assign the same address"), otherwise the forwarding rule eventually points at nothing.

Second problem: your public IP address changes, on many connections daily. Your friends want an address that stays. That's what dynamic DNS is for — DuckDNS is free, and many routers have a DynDNS client built in. Your friends then type yourname.duckdns.org instead of a string of numbers that expires.

Up to here it sounds like two evenings of work. Whether it stays that way is decided by your connection.

The catch: you might not have a public IPv4 at all

Port forwarding assumes your connection has its own public IPv4 address. A growing number don't: many cable and fiber ISPs (in Europe often labeled DS-Lite), Starlink, and most 5G home internet put you behind CGNAT — you share one public IPv4 with other customers, and nothing from the outside reaches you over IPv4. The cruel part: the port forwarding menu in your router still works, everything looks right, and nobody can connect.

Check this before you configure anything: compare the WAN address on your router's status page with what whatismyip.com shows. If they differ, or the router's address starts with 100., you're behind CGNAT.

If you are, there are four ways out:

  1. Ask your ISP for a public IPv4. A support call or a toggle in the customer portal; the magic words are "public IPv4" or "dual stack". Some ISPs flip it for free, some charge, some refuse. The best outcome, when it works.
  2. Host over IPv6 only. With DS-Lite you always have IPv6, and forwarding works there. The catch: every single player needs IPv6 too, and that's exactly what you can't know in advance. University networks and some offices still don't have it.
  3. A private network with Tailscale or ZeroTier. Everyone installs an app and lands in a shared virtual network where your server is reachable, no forwarding involved. Technically the cleanest option, usually with a direct connection and good ping. The price: every friend installs an app and creates an account, and you manage who's in.
  4. A tunnel like playit.gg. One program runs on your machine and dials out; your friends get a normal server address and install nothing. The free tier covers Minecraft. In exchange, every block you place travels through a third party's servers, which costs ping and ties your evening to their uptime.

None of these are bad. But notice what happened: "forward a port" turned into a decision tree, and which branch works for your group depends on everyone's home connection.

The part nobody mentions: running it

The server runs only while your computer does. Fine for game night, less fine for "I'll just keep building, you don't need to be there". Then there's upkeep in small doses: every Minecraft update means a new server.jar, or updated clients can't join anymore. And backups: the world folder (world) is your only copy. Stop the server, copy the folder somewhere safe, regularly, and always before an update.

None of this is hard. It's just your job now.

Host it yourself or not?

If the road here sounded fun, the answer is easy: do it. A server of your own is a satisfying weekend project, and you come out understanding your home network better than before.

If you checked out at the words "decision tree", also easy: that's the case I build Chunklink for. Click, copy the address, and about five seconds later you're all standing in the world. Servers in Germany, always the current Minecraft version, backups included. The first 8 hours are free, no card: start a server.

And if you want to know how that stacks up against Aternos, Realms and exaroton: here's the honest comparison.

Talk you soon!

Lukas

Founder

Ready to play?

Spin up a vanilla server in seconds and share the address with your friends. 8 hours free — no credit card required.

Play 8 hours free

Or get new posts by email