top of page

Een kleine VPS als gameserverpark

Foto van schrijver: Marcel Dütscher
Marcel Dütscher
5 jul
1 minuten om te lezen

Al onze online werelden — het portaal, de officiële werelden, de door spelers gemaakte werelden — draaien op één gehuurde Linux-server (VPS). Geen datacenter, geen cloudrekening van vijf cijfers. In dit artikel laat ik zien hoe de server is opgezet en wat we onderweg leerden.


Eerst beveiligen. Voordat het spel op de server mocht, ging eerst de basisbeveiliging erop: een firewall (ufw) die alleen de nodige poorten opent, fail2ban tegen geautomatiseerde inlogpogingen en SSH alleen met sleutels. Caddy draait als reverse proxy in zijn Docker-variant — hij haalt automatisch TLS-certificaten op en stuurt verzoeken naar de juiste containers.


Elke wereld krijgt een eigen container. Het spel zelf draait als Docker-image en elke wereld krijgt een eigen container met vaste limieten: 768 MB RAM en 2 CPU-kernen per wereld, en maximaal tien actieve werelden tegelijk. Zo kan één enkele wereld nooit de hele server onderuit halen.


Monitoring die ons belt. Netdata bewaakt de server met meer dan 140 alarmen — van “schijf loopt vol” tot “portaal reageert niet”. Gaat er iets af, dan komt er een pushmelding op de telefoon terecht (via ntfy). Zo horen wij van problemen eerder dan de spelers.


De meest verrassende ontdekking: toen we in rust maten, ging ongeveer de helft van het gebruikte geheugen helemaal niet naar het spel — het ging naar Docker en de monitoring zelf. De infrastructuur die het spel draagt is in rust zwaarder dan het spel. Een goede herinnering dat je moet meten in plaats van gokken.


Het oordeel na een paar maanden in bedrijf: een kleine, goed beveiligde server draagt een indie-multiplayergame prima — als je limieten instelt en een oogje in het zeil houdt.

Recente blogposts

Alles weergeven

Opmerkingen


Het is niet meer mogelijk om opmerkingen te plaatsen bij deze post. Neem contact op met de website-eigenaar voor meer info.
bottom of page