Skip to content
VDS · Apps and bots

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.

TierCores / memoryRealistic scenario
VDS-1 (1/2)1 / 2 GBA vanilla server for 3–5 friends
VDS-2 (2/4)2 / 4 GBVanilla or lightweight plugins, 10–15 players
VDS-3 (4/8)4 / 8 GBPaper plugins, 20–40 players
VDS-4 (6/16)6 / 16 GBA medium-sized modpack or two servers
VDS-5 and VDS-68–10 / 24–32 GBA 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

SymptomCause
Server crashes without any messagesJava requested more memory than is available: check journalctl -k | grep -i oom
Constant lag with 10 playersHeavy plugins or too low -Xmx, not a weak CPU
Players can't joinThe port is closed or the server is listening on 127.0.0.1
World is corrupted after a crashThere 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.