A Minecraft server on VDS: when it makes sense
An honest comparison of VDS and ready-made game hosting for Minecraft, choosing a tier by player count, and the procedure for manually installing the server core.
Updated August 23, 2026
You can run any Minecraft server on a VPS — you get full root access. The question is whether you need to: everything a game panel does, you'll have to do by hand, including startup, updates, and backups.
When a VPS makes sense
Choose a VPS if:
- you need a network of servers with a proxy, your own database, and a website on one machine;
- you're installing non-standard software that game panels don't offer;
- a bot, a web panel, and your project's API have to run alongside it;
- you're comfortable working in the Linux console.
Turnkey game hosting is more convenient if you want a “start” button, a file manager, automatic world copies, and guidance on server cores. There's no need to wrestle with systemd, ports, and Java at all.
Choosing a tier
Minecraft is limited by single-core clock speed and memory. The Ryzen 9 7950X works in your favor here, but budget memory with headroom for the system.
| Tier | Cores / memory | Realistic scenario |
|---|---|---|
| VDS-1 (1/2) | 1 / 2 GB | A vanilla server for 3–5 friends |
| VDS-2 (2/4) | 2 / 4 GB | Vanilla or lightweight plugins, 10–15 players |
| VDS-3 (4/8) | 4 / 8 GB | Paper plugins, 20–40 players |
| VDS-4 (6/16) | 6 / 16 GB | A medium-sized modpack or two servers |
| VDS-5 and VDS-6 | 8–10 / 24–32 GB | A network with a proxy and a database |
Heavy modpacks eat memory faster than players do: 60 mods for ten people require more than vanilla for fifty.
Installation
apt update && apt install -y openjdk-21-jre-headless
useradd -r -m -d /srv/mc -s /usr/sbin/nologin mc
cd /srv/mc
sudo -u mc curl -O https://core-address/paper.jar
sudo -u mc bash -c 'echo eula=true > eula.txt'
The /etc/systemd/system/mc.service unit:
[Service]
User=mc
WorkingDirectory=/srv/mc
ExecStart=/usr/bin/java -Xms2G -Xmx3G -jar paper.jar nogui
Restart=on-failure
SuccessExitStatus=0 1
[Install]
WantedBy=multi-user.target
Set -Xmx to no more than the tier's memory minus 1 GB for the system: on VDS-2 that's 3 GB, not 4.
You need to open port 25565 in the machine's firewall. The address for players is the public IPv4 from the “Overview” tab of the panel at /hosting/vds/m/<id>.
What you'll have to do yourself
- World backups: there are no snapshots or automatic machine backups — just your own cron and offloading to external storage.
- Kernel and Java updates.
- Protection against flood attacks and SSH password brute-forcing.
- Disk monitoring: worlds grow, but the disk is fixed by the tier, from 40 to 250 GB.
Common mistakes
| Symptom | Cause |
|---|---|
| Server crashes without any messages | Java requested more memory than is available: check journalctl -k | grep -i oom |
| Constant lag with 10 players | Heavy plugins or too low -Xmx, not a weak CPU |
| Players can't join | The port is closed or the server is listening on 127.0.0.1 |
| World is corrupted after a crash | There are no copies, and Restart=always kept restarting the server on top of corrupted data |
Bandwidth up to 500 Mbps and disk speed are limited by the tier: 60 MB/s write per core, twice that for read. For a world with constant chunk generation, this is noticeable on the lower tiers.