How to Set Up a Vanilla Minecraft Server
The clean, official way to run a vanilla Minecraft Java server on Linux — no mods, no plugins, just the base game for you and friends.

A vanilla server runs the pure, unmodified game — no mods, no plugins — straight from Mojang's official server jar. It's the simplest server to run and the right starting point before you explore plugins or mods. Here's a clean setup on Linux.
Install Java
Match Java to your Minecraft version. For the latest release use Java 21:
sudo apt update
sudo apt install -y openjdk-21-jdk screen
java -version
(For 1.18–1.20.4 use openjdk-17-jdk.)
Download the server jar
Get the official server jar URL from minecraft.net/en-us/download/server. Create a folder and download it:
mkdir -p ~/mc-server && cd ~/mc-server
wget -O server.jar "<official-server.jar-url>"
Accept the EULA
Mojang requires you to accept the EULA. The first run creates eula.txt; set it to true (or write it directly):
echo "eula=true" > eula.txt
First launch
Start the server with sensible memory flags. nogui skips the built-in GUI, which you don't want on a headless server:
java -Xmx4G -Xms4G -jar server.jar nogui

This generates the world and server.properties, then you're live. For memory sizing, our RAM guide has the numbers; 2–4 GB suits a small vanilla group.
Configure server.properties
Stop the server (stop in the console) and edit server.properties to taste. Common keys:
motd=A Minecraft Server
gamemode=survival
difficulty=normal
max-players=20
view-distance=10
online-mode=true
white-list=false
Changing difficulty and rules deserves its own look — see difficulty and game rules.
Open the port and keep it running
Allow port 25565 through the firewall:
sudo ufw allow 25565/tcp
For persistence, run it under screen for testing or a systemd service for production (the Forge guide shows a unit file that adapts easily). To make it public reliably, a VPS beats port forwarding — see port forwarding vs a VPS.
Make yourself admin
Give yourself operator rights so you can run commands. In the console:
op YourUsername
More on this in op yourself and manage admins. Then set up backups and you have a solid, low-maintenance server.
Run it under screen and use the console
A headless server has no window, so run it in a screen session you can detach from and reattach to. This keeps the server alive after you close SSH and gives you the console for commands:
screen -S mc
java -Xmx4G -Xms4G -jar server.jar nogui
# detach: Ctrl+A then D | reattach: screen -r mc
At the console you can type commands directly — no slash needed from the server console:
list # who's online
op YourUsername # grant admin
say Server restarting in 5 minutes
stop # clean shutdown (always use this, never kill)
Always shut down with stop so the world saves cleanly — killing the process risks corruption.
The key server.properties settings
A few properties shape the whole experience, beyond the basics above:
level-seed: set a world seed before first generation for a specific map.level-name: the world folder name (handy for keeping multiple worlds).spawn-protection: blocks non-ops from building near spawn; set to 0 to disable.pvp: enable or disable player-vs-player combat.simulation-distance: how far the world actively ticks — lower it to reduce load, as the lag guide explains.enable-command-block: allow command blocks for map-makers.
Enable RCON for remote admin
RCON lets you send commands to the server without attaching to the console — useful for scripts and web panels. In server.properties:
enable-rcon=true
rcon.port=25575
rcon.password=a-strong-password
With a client like mcrcon you can then automate tasks — for example the save-off/save-all toggle in an automated backup script. From here you can grow the server: add plugins by switching to Paper, or lock it down with a whitelist.
Should you stay vanilla or move to Paper?
Pure vanilla is great for a small, close group who want the unmodified game, and it's the official software Mojang tests against. But the moment you want *any* server-side feature — homes, teleports, land claims, permission ranks, or better performance — you'll hit vanilla's limits. The good news is upgrading is painless: Paper runs your existing vanilla world unchanged, adds no requirements for players, and unlocks the entire plugin ecosystem plus significant performance gains (see Paper vs Spigot vs Purpur). Many people start vanilla to learn the basics, then swap in the Paper jar once they want more — your world and settings carry straight over. There's no downside to starting simple. Keep backups from day one, and when you're ready for more, Paper is a five-minute jar swap away.
FAQ
How do I make a vanilla Minecraft server?
Install matching Java, download the official server.jar, accept the EULA, run it with java -Xmx4G -jar server.jar nogui, and open port 25565.
How much RAM does a vanilla server need?
2–4 GB comfortably runs a small survival group of up to ~10 players. Larger groups or higher view distance want more.
What is the EULA and why must I accept it?
Mojang's end-user licence. The server refuses to start until eula=true is set in eula.txt.
How do I make myself admin?
Run op YourUsername in the server console. Operators can use commands and bypass the whitelist.
A vanilla server is light, but it still wants a stable, always-on host. Nxeon's Minecraft server hosting gives you NVMe VPS plans and full root access to run it exactly how you like.