How to Set Up a VPS for Game Servers
On this page
A VPS gives you a whole Linux machine to yourself: run a Minecraft server next to a Valheim world, add a Discord bot, change anything you like. What it does not give you is a panel, backups or a firewall — those you set up yourself, and the order you do it in matters.
This guide takes a fresh VPS to a working multi-game host with Pterodactyl, the free, open-source game server panel: securing the first login, installing Docker, the panel and its Wings daemon, opening the right ports and keeping backups. It also says plainly when a managed game server would save you the trouble.
VPS or managed game hosting: pick honestly
| Your own VPS | Managed game server | |
|---|---|---|
| Control | Everything: OS, panel, any game, any software | The game and its settings |
| Setup | An afternoon with this guide | Order and play |
| Updates, security, backups | Your job | Handled for you |
| Several games on one machine | Yes, sharing the same RAM and CPU | One server per game |
Choose a VPS if you enjoy running Linux, want several games and services side by side, or need software no game panel offers. Choose a managed game server if you just want the game online: the panel, the backups and the updates come with it.
Want the control? HytHost KVM VPS plans with full root start at €2.92/mo.
See VPS plansChoosing a VPS for game servers
- KVM virtualisation. Pterodactyl's game servers run in Docker containers, and Pterodactyl's own docs say KVM is certain to work, while container-based VPS (OpenVZ, LXC) usually cannot run Docker properly. Check with
systemd-detect-virt: the answer should bekvm. - RAM. Add up what each game needs, then leave room for the system and the panel (its database, cache and web server). As a rough start: a small vanilla Minecraft server 2–3 GB, a modded one 6–9 GB, Valheim 4 GB, Terraria 2 GB, plus 1.5–2 GB for everything else.
- CPU. Most game servers simulate the world on one main thread, so a few fast cores beat many slow ones. Each game server you add wants at least one core to itself.
- Disk. Worlds grow, and backups stored on the same machine double the space they take.
| What you want to run | Plan to start with |
|---|---|
| The panel plus one small game server | VPS 2 — 4 vCPU, 4 GB, €7.00/mo |
| Two or three servers, or one modded server | VPS 3 — 4 vCPU, 8 GB, €15.00/mo |
| Heavy modpacks or a small community of servers | VPS 4 — 6 vCPU, 16 GB, €27.00/mo |
Pick Ubuntu 24.04 as the operating system: Pterodactyl supports it and it ships the PHP version the panel needs, with no extra repositories.
First steps: SSH keys, updates, a user and a firewall
- Log in with a key, not a password. On your own PC, create a key and copy it to the server:
ssh-keygen -t ed25519 ssh-copy-id root@YOUR_SERVER_IP
- Update everything.
apt update && apt upgrade -y
Ubuntu installs security updates on its own throughunattended-upgrades, which is on by default. - Create a user with sudo for everyday work, so you are not logged in as root all the time:
adduser gameadmin adduser gameadmin sudo
- Turn on the firewall — allowing SSH first, or you lock yourself out:
ufw allow 22/tcp ufw allow 80/tcp ufw allow 443/tcp ufw allow 8080/tcp ufw allow 2022/tcp ufw enable
Ports 80 and 443 are the panel, 8080 is the Wings daemon and 2022 is its SFTP server.
Installing Pterodactyl: panel, Docker and Wings
Pterodactyl has two parts: the panel, a web app where you create and manage servers, and Wings, the daemon that runs each game server in its own Docker container. Both can live on the same VPS. The current releases are panel 1.15 and Wings 1.13 (August 2026); the 2.0 version is still a pre-release, so follow the 1.x documentation at docs.pterodactyl.io/v1.
1. The panel
The panel needs PHP 8.2 or 8.3 (not 8.4), MariaDB, Redis, nginx and Composer. On Ubuntu 24.04 these all come from the standard repositories. The official guide walks through every command; the shape of it is:
- Install the packages, download the latest panel release into
/var/www/pterodactyland runcomposer install. - Create a database and user, then run the setup commands:
php artisan key:generate --force— back up the key it writes into.env, because without it your encrypted data cannot be recovered — thenp:environment:setup,p:environment:database,migrate --seed --forceandp:user:makefor your admin account. - Add the cron job and the queue worker service, and point nginx at the panel. Use a domain name with a Let's Encrypt certificate if you can.
2. Docker
curl -sSL https://get.docker.com/ | CHANNEL=stable bash systemctl enable --now docker
3. Wings
mkdir -p /etc/pterodactyl curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64" chmod u+x /usr/local/bin/wings
In the panel, go to Nodes > Create New, then open the node's Configuration tab and copy the configuration into /etc/pterodactyl/config.yml. Run wings --debug once to see it connect, stop it with Ctrl+C, then install it as a service with the wings.service unit from the official docs and systemctl enable --now wings.
curl http://127.0.0.1:8080/api/system on the VPS should answer 401. That means Wings is running and simply asking for a token.Nodes, allocations and game ports
Every game server needs at least one allocation: your VPS's public IP plus a port. Add them on the node's Allocation tab — single ports or ranges such as 25565-25570. Use the public IP, never 127.0.0.1, and when you test a game port, test it from outside the VPS.
| Game | Default port |
|---|---|
| Minecraft Java | 25565 TCP |
| Minecraft Bedrock | 19132 |
| Counter-Strike 1.6 | 27015 UDP |
| Valheim | 2456–2457 UDP |
| Terraria | 7777 TCP |
| Project Zomboid | 16261–16262 UDP |
| Palworld | 8211 UDP |
The panel comes with ready-made "eggs" — templates for each game — and the community publishes many more. Our game guides cover each game's own settings, for example Valheim or CS 1.6. Running just one Minecraft server without a panel? How to host a Minecraft server on a VPS is the simpler route.
Backups you can actually restore
Pterodactyl has backups built in: each server gets a Backups tab, and by default Wings stores them in /var/lib/pterodactyl/backups — on the same disk as the servers themselves. That protects against a bad mod update, not against losing the VPS.
- Off the machine: the panel can send backups to any S3-compatible storage instead, set in its configuration.
- The whole VPS: a snapshot captures the system, the panel and every server at once. On HytHost this is the BackUp VPS Snapshot add-on.
- Test a restore once, before you need it.
Running it on a HytHost VPS
HytHost VPS plans run on KVM with full root access, SSD storage and DDoS protection in front of the network — everything Pterodactyl needs. Choose Ubuntu 24.04 when you order and follow the steps above. The VPS is unmanaged by default: the operating system and everything on it are yours to run, and you can upgrade the plan later as your servers grow.
If the setup above sounds like more than you want to maintain, a managed game server does the same job without it: our game servers come with the panel, automatic backups and updates already in place.
KVM, full root and SSD storage: a HytHost VPS with 4 GB for the panel and your first game is €7.00/mo.
See VPS plansFrequently asked questions
Add up what each game needs and leave about 1.5 to 2 GB for the system and the panel. 4 GB runs the panel and one small server, 8 GB two or three servers or one modded server, and 16 GB heavy modpacks or several busy servers.
Ubuntu 24.04. Pterodactyl supports it, and it ships the PHP version the panel needs without extra repositories. Debian 12 works too. Windows is not supported for Wings, the part that runs the game servers.
Yes. The Pterodactyl panel and Wings are free and open source under the MIT licence. You only pay for the VPS it runs on.
Yes. Pterodactyl runs each game server in its own container, each with its own port, RAM and CPU limits. They share the VPS's total resources, so plan the RAM and keep at least one CPU core per busy server.
Log in with an SSH key, keep the system updated, work as a user with sudo rather than root, and turn on ufw after allowing SSH. Remember that Docker game ports bypass ufw, so close a game port by removing its allocation in the panel, and keep backups off the machine.
Your own machine for every game you run
HytHost KVM VPS plans with full root, SSD storage and DDoS protection start at €2.92/mo — or let us run the game server for you.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursWas this guide helpful?