1Install Java 25
Minecraft 26.1 and newer need Java 25: Mojang's file for 26.3 asks for it by name, and an older Java stops the server at once. Minecraft 1.21 needs Java 21.
- Ubuntu 24.04:
sudo apt install openjdk-25-jre-headless. On 29 Sep the package was 25.0.4.1. - Windows and macOS: Temurin 25 from Adoptium, the same Java we ran our server on.
- To check:
java -versionshould beginopenjdk version "25.
2Download the server jar
minecraft.net's server page links the newest version's jar and gives the command to run it: java -Xmx4G -Xms4G -jar, the file, and nogui. Mojang's version list has the same jar for each version, with its SHA-1. For 26.3 it's 62 MB, so you can download and check it from a terminal:
# An empty folder for the server mkdir minecraft-server && cd minecraft-server curl -o server.jar https://piston-data.mojang.com/v1/objects/33680f5f2ac32864d6d7cf5e56a705fdb3e05f4c/server.jar sha1sum server.jar # 33680f5f2ac32864d6d7cf5e56a705fdb3e05f4c java -Xmx2G -jar server.jar nogui # It stops at the EULA the first time sed -i 's/eula=false/eula=true/' eula.txt java -Xmx2G -jar server.jar nogui
# Run it in tmux, so it keeps going when you log out tmux new -s minecraft java -Xmx2G -jar server.jar nogui # Ctrl+B, then D, leaves it running. To come back: tmux attach -t minecraft # In the server's console, stop saves the world and quits stop
3Start it, and accept the EULA
Run it once
Ours took 4 seconds: it unpacked about 70 MB of libraries next to the jar, wrote eula.txt and server.properties, and stopped with You need to agree to the EULA in order to run the server.
Accept the EULA
Open eula.txt, change eula=false to eula=true, and save it. It's Minecraft's licence, and the server won't start without it.
Run it again
The log says Starting Minecraft server on *:25565, then Done. Ours was ready 7 seconds after it started, with a new world, and used about 600 MB of memory with nobody on.
The EULA stop has its own page, with the ways eula.txt goes wrong. Type stop in the console to save the world and quit.
4Let your friends in
Minecraft 26.3's server.properties starts with white-list=true, where 26.2's and 26.1's started with false. So a new server lets in only the players you add, and anyone else sees the game's message:
A player who isn't on the list
You are not white-listed on this server!
Add them in the server's console, or set white-list=false to let anyone in.
| In the console | What it answered |
|---|---|
whitelist add Notch | Added Notch to the whitelist |
whitelist add and a name with no Minecraft account | That player does not exist |
op Notch | Made Notch a server operator, who can use every command |
The server looks each name up with Mojang, so spell it as it is in the game. Once our test player's name was on the list, it got in.
5The settings worth a look
These are 26.3's own defaults in server.properties. Change them with the server stopped, or use the server.properties editor.
| Setting | Default | What it does |
|---|---|---|
difficulty | easy | peaceful, easy, normal or hard |
gamemode | survival | The mode new players start in |
max-players | 20 | How many can be on at once |
view-distance | 10 | How many chunks around each player the server sends |
white-list | true | Only players you add can join |
online-mode | true | Players must sign in with Mojang, which stops anyone taking another's name |
pause-when-empty-seconds | 60 | Ours logged Server empty for 60 seconds, pausing a minute after it started |
server-port | 25565 | The port players connect to |
PvP isn't in the file any more: in 26.3 it's a game rule, and gamerule pvp answered Game rule pvp is currently set to true.
6Let players reach it
- On the same network, players add the computer's local address, like 192.168.1.20. The game shows the server's version and player count when it's reachable: ours showed 26.3, 0 of 20.
- From anywhere else, open TCP port 25565 in the computer's firewall and forward it on your router: port forwarding, step by step. On a VPS there's no router, just the firewall.
- A server on your PC runs only while the PC is on. Friends can't play while it's off; a VPS stays on.
7Back up the world
The world is the world folder. Stop the server first, so nothing is written while you copy, then copy it somewhere else, like cp -r world world-backup. What a damaged world does shows how a backup brings one back.
8When it won't start
- Error: LinkageError occurred while loading main class, then UnsupportedClassVersionError and class file version 69.0: 26.3 was started on an older Java, Java 21 in our test. Install Java 25.
- Error: Unable to access jarfile: Java can't find the file you named. The fix.
- FAILED TO BIND TO PORT!: something else has port 25565. The fix.
Every error we've tested, with its fix, is on the errors page.
9The one-click way
Playkeeper does all of this on a VPS you rent: Java, the server, the port and the allowlist. Install it with one command:
curl -fsSL https://playkeeper.io/install | sudo sh
- New server creates one on the Java its version needs, and keeps it on.
- Invite links on the Players tab put a friend on the allowlist when they type their Minecraft name, right away or once you say yes.
- Schedules back up each server on the days and times you choose, and the World tab restores a backup.
Questions
Is it free to make a Minecraft server?
The server software is: Mojang's jar costs nothing. It needs a computer that stays on while friends play, your own or a VPS you rent.
How much RAM does a Minecraft server need?
Ours used about 600 MB with nobody on; minecraft.net's command gives it 4 GB. Players and view distance add to that: the sizing guide suggests a size.
Why can't my friends join?
On 26.3 the allowlist is on: add them with whitelist add. Past that, the port must be open and forwarded, and their game must be the same version.
Where do I download the Minecraft server?
From minecraft.net's server page, which links Mojang's server.jar for the newest version. Other versions are in Mojang's version list, each with its SHA-1.
Which Java does a Minecraft server need?
Java 25 for Minecraft 26.1 and newer, and Java 21 for 1.21.