VPS

How to create a Minecraft server on a VPS

Having your own Minecraft server means playing with whoever you want, with your rules, your plugins and no queues or ads. "Free" Minecraft hosts make a living out of limiting you (they shut down on their own, run slow, inject ads); with a VPS you get a real server, on 24/7, for the price of a few coffees a month.

This guide sets up a Minecraft Java Edition server with Paper, the most used server software (vanilla-compatible and much faster).

How much RAM you need

Regular playersVPS RAMvCores
1-5 (friends)2-4 GB2
5-204-8 GB2-4
20+ or many plugins8 GB or more4+

Disk barely matters at first (a world takes a few GB), but make it NVMe: chunk loading times notice it. Start small: on a GINERNET VPS you can add RAM and CPU in minutes when the server fills up.

Step 1: install Java

With Ubuntu 24.04 on the VPS, connect over SSH and install Java 21 (required for Minecraft 1.20.5+):

apt update && apt install -y openjdk-21-jre-headless

Step 2: download Paper

mkdir -p /opt/minecraft && cd /opt/minecraft

Grab the latest .jar from papermc.io/downloads (right click → copy link) and download it with wget, saving it as paper.jar:

wget -O paper.jar "JAR_URL"

Step 3: first boot and EULA

java -Xms2G -Xmx2G -jar paper.jar --nogui

The first boot stops asking you to accept the license. Accept it and you are set:

echo "eula=true" > eula.txt

Adjust -Xms/-Xmx to the RAM you want to dedicate (leave ~1 GB free for the system: on a 4 GB VPS, use -Xmx3G).

Step 4: run it as a service (systemd)

So the server starts on its own and survives reboots, create /etc/systemd/system/minecraft.service:

[Unit]
Description=Minecraft (Paper)
After=network.target

[Service]
WorkingDirectory=/opt/minecraft
ExecStart=/usr/bin/java -Xms2G -Xmx2G -jar paper.jar --nogui
Restart=on-failure

[Install]
WantedBy=multi-user.target

And enable it:

systemctl daemon-reload
systemctl enable --now minecraft

Step 5: open the port and connect

Minecraft Java uses port 25565 TCP. Open it in the firewall (at GINERNET, from the Firewall section of the Manager) and add the server in the game using the VPS IP. You are in.

Basic configuration

Edit server.properties (and restart with systemctl restart minecraft):

  • motd: the name shown in the server list.
  • max-players: player limit.
  • white-list=true + the whitelist add <player> command: only people you approve get in. Highly recommended if the port is open to the internet.
  • view-distance: lower it to 8 if RAM is tight.

Backups

The whole world lives in /opt/minecraft/world*. A nightly cron that tars those folders (ideally copying it off the VPS) saves you from any griefing or corruption:

tar czf /root/backups/mc-$(date +%F).tar.gz -C /opt/minecraft world world_nether world_the_end

Want plugins? With Paper just drop the .jar files into the plugins/ folder and restart. Start with EssentialsX (basic commands) and CoreProtect (griefing rollback).