#76 Infrastruktur Review

In diesem Blog möchte ich euch ein bisschen darüber erzählen, was für Server und Technologien wir so einsetzen, um euch die optimale RealLifeRPG Experience bieten zu können. Solltet ihr euer eigenes Arma Projekt haben oder in einem komplett anderen Umfeld unterwegs sein, ist hier vielleicht der ein oder andere Tipp dabei, was sich so über die Jahre bewährt hat.

Datenbanken

Im Zeitalter von Big Data und sonstigen Buzzwords gibt es kaum noch etwas, das ohne Datenbanken auskommt. Ob ganz offensichtlich der Arma Server, die Website, Forum, Wiki oder auch einfach nur das Backend vom Launcher. Alles braucht zuverlässig und sicher Daten.

Damit nach Möglichkeit immer alles funktioniert, benutzen wir ein Galera Datenbank Cluster. Die Daten liegen auf mehreren Servern, in mehreren Rechenzentren, werden ständig synchronisiert und können je nach Bedarf sofort einspringen, sobald ein Node ausfällt (Failover hier per DNS). Damit es nicht zu Datenverlust kommt, werden alle 30 Minuten Backups von allen Datenbanken gemacht, die dann extern gespeichert werden. Diese können dann jederzeit automatisch wieder importiert werden.

Arma Server

Arma Server sind auf Hardware-Ebene prinzipiell kein großes Geheimnis. Ich möchte euch trotzdem kurz erzählen, auf was wir hier setzen, da wir ein paar nette Dinge nutzen, um uns das Administrieren der Server so leicht wie möglich zu gestalten.

Unsere Gameserver sind dedizierte Maschinen bei OVH. Dies hat den Grund, dass man dort den vermutlich besten DDoS-Schutz für Gameserver bekommt, den es gibt (bzw. den wir gefunden haben). Leider haben wir – vor allem immer, wenn wir etwas mehr Aufmerksamkeit über Plattformen wie z. B. YouTube bekommen – sehr starke Angriffe auf unsere gesamte Infrastruktur einstecken müssen. Daher ist erstklassiger DDoS-Schutz eines der wichtigsten Kriterien bei der Serverauswahl, auch wenn wir hierdurch deutlich mehr für die gleiche Server Leistung zahlen müssen.

Unser Web RCON Tool

Abgesehen davon sind die Server immer Maschinen mit ordentlich Arbeitsspeicher, schnellen Platten (eigentlich ausschließlich NVMe) und hoher Single Core Performance. Es ist außerdem zu empfehlen, Arma auf Windows Server laufen zu lassen.

Um die Administration der Server zu vereinfachen, nutzen wir ein von Greeny entwickeltes Tool, welches die Mission über Git aktualisieren kann, eine Web RCON Verbindung zur Verfügung stellt, die Restarts per CRON verwaltet und auch sonst quasi sämtliche Konfiguration für den Server verwaltet und stark mit unserem Web Support Panel verbindet.

Web Dienste

Zu unseren Web Diensten gehört nicht nur die Webseite und das Forum, sondern auch das Spieler Panel, die API für den Launcher, andere externe Dienste, das Wiki und vor allem anderen das Supporter Web Panel.

Da gerade das Support Panel und die API hohe Anforderungen an Verfügbarkeit hat und auch ein Ausfall von Website und Forum immer sehr ärgerlich sind, ist auch unser Webserver ein Cluster aus zwei eigenständigen Instanzen, welche wir über eine Failover-IP innerhalb von Millisekunden wechseln können, falls eine der Instanzen abstürzt oder wegen einem Update nicht verfügbar ist.

Um uns vor den oben genannten DDoS-Angriffen zu schützen, nutzen wir Cloudflare. Das hat außerdem eine Reihe weiterer Vorteile, wie ein sehr einfach aufzusetzendes SSL (auch wenn wir auf den Servern noch mal selber Lets Encrypt haben) und die meiner Meinung nach großartigen Page Rules, die viele lustige Spielereien ermöglichen.

Server-Hardware

Unsere Server beziehen wir aktuell im Wesentlichen von 2 Anbietern. Zum einen haben wir unsere Game Server, wie oben erwähnt, aufgrund des DDoS Schutzes bei OVH im Limburger Rechenzentrum. Die meisten anderen Server haben wir in den letzten Wochen in die Hetzner-Cloud umgezogen. Der Umzug hat eine wesentliche Strukturänderung gebracht: Im letzten Jahr hatten wir  überwiegend große, dedizierte Instanzen bei OVH, von denen eine als Hypervisor für mehrere virtuelle Maschinen (Webservices) und den Testserver gedient hat. Durch den Umzug auf die einzelnen kleineren Cloud Instanzen konnten wir unter anderem etwa 50€ im Monat sparen, haben eine höhere Verfügbarkeit und den Vorteil Floating IP’s für das Webserver Cluster nutzen zu können.

Ein kleines Feedback zu den verschiedenen Providern, die wir so bisher hatten: Webtropia (unser alter Anbieter bis 2016) hatte gute Server zu sehr guten Preisen, dafür miserablen DDoS Schutz und schlechten Support. Wirklich gut ist der Support bei OVH leider auch nicht, der DDoS Schutz ist dafür jedoch sehr gut und es gibt einige Server im Angebot mit sehr hoher Single Core Leistung. Bei Hetzner hatten wir bisher keine Probleme, daher kann ich nichts zum Support sagen, jedoch sind wir dort insgesamt bisher sehr zufrieden, was das Preis-Leistungs-Verhältnis angeht.

Damit wir immer mitbekommen, wenn es Probleme gibt, nutzen wir ein Tool namens Zabbix, welches die Server überwacht und uns über ein Panel und per Slack oder E-mail benachrichtigt, wenn irgendwo etwas kaputt geht.


Ich hoffe, dass der Einblick in die Technologien, die wir so nutzen, für den ein oder anderen von euch interessant war und ihr vielleicht für eure Projekte etwas mitnehmen konntet.