Als Spieler sieht man den Eve Online Client. Man sieht die Oberfläche, man sieht die Schiffe, man sieht das Universum.
Man erkennt aber nicht, was diese Welt im Innersten zusammenhält.
Der Client
Der Client ist eigentlich nicht Teil dieses Posts, aber aus gegebenen Anlass gehe ich ganz kurz darauf ein.
CCP hat mit dem letzten Update Invasion den Clienten in einer 64-Bit Version in die Open Beta geschickt. Entgegen vieler Meinungen wird damit der Client aber nicht per se schneller. Er kann aber mehr Arbeitsspeicher verwenden, was gerade in großen Flottenkämpfen wohl doch positive Auswirkungen auf die Leistung hat. Die Umstellung auf 64-Bit betrifft aber nicht die Serversoftware.
Der Server? Die Server!
Man spricht bei Eve Online immer von einem Server – Tranquility. Das ist der Server, auf welchem wir alle spielen. In Wirklichkeit ist das aber nicht ein einzelner Server, sondern ein ganzer Verbund von Servern. Ein Teil davon hat CCP in dieser Grafik dargestellt. Die wichtigsten Teile stelle ich unten dar.
Vorab, TQ ist mit einer 30 Gbps Verbindung an das Internet, teils mit direkten Verbindungen zu Providern, angebunden.
Der Loginserver
Bei jeder Anmeldung müsst ihr über den Loginserver. Dieser Server verteilt euch dann weiter auf die Nodes, abhängig von dem System, in welchem ihr euch befindet. Gleichzeitig meldet er euch in dem ganzen Gebilde an und vergibt eure Session-ID.
System-Nodes
Die System-Nodes sind die eigentlichen Spielserver. Hier werden die Sonnensysteme simuliert, eure Interaktionen angenommen, verarbeitet und an alle weiterverbreitet. Da die finanziellen Mittel von CCP nicht unbegrenzt sind teilen sich meist mehrere Systeme einen Node. Die Ausnahmen sind hier Jita und Systeme, in welchen ein großer Kampf angemeldet wurde.
Um die vielen Berechnungen der Spieleraktionen durchführen und fair bewerten zu können lässt sich der Server für jede Aktualisierung eine Sekunde Zeit. New Eden wird also nur einmal pro Sekunde aktualisiert. Andere Multiplayerspiele, gerade Shooter, aktualisieren ihre Spielwelt zwischen 30 und 100 Mal pro Sekunde. Dabei stehen jedem Node 64 GB Arbeitsspeicher (den großen 128 GB) zur Verfügung.
Sollte der Puffer trotzdem nicht ausreichen, dann setzt die Time Dilation (TiDi), also die Zeitverzerrung ein. Bei 10% TiDi hat der Server also 10 Sekunden Zeit, bevor er die Welt aktualisiert. Damit soll sichergestellt werden, dass alle Eingaben der Spieler verarbeitet werden.
Mit Eve: Aether Wars haben Hadean und CCP ausgetestet, ob man über eine geänderte Serversoftware besser und vor allem schneller auf größere Schlachten reagieren und dabei noch mehr Leistung zur Verfügung stellen kann. Diese Tests befinden sich aber noch ganz am Anfang.
Solltet ihr einen Node wechseln, dann werdet ihr quasi weitergereicht und dies dem Loginserver bekanntgemacht. In Summe betriebt CCP 30 normale und 6 stärkere Nodeserver.
Datenbankserver
Die System-Nodes sind ausschließlich für die Berechnung der Sonnensysteme verantwortlich. Die Daten selbst kommen, neben eurem Clienten, hauptsächlich von den Datenbankservern. Auch heute noch eher ungewöhnlich setzt CCP hier auf SSDs, welche noch immer deutlich teurer sind als klassische Festplatten. CCP hat 7,2 Terrabyte SSD Speicher und weitere 99,2 Terrabyte durch schnellen SAS Festplatte verbaut. Dem stehen 768 GB RAM zur Seite.
Aber auch die Daten für die ESI werden direkt von den Datenbankservern gelesen. Die alte API hatte hier noch eine Zwischenschicht, in welcher die Daten nur in Abständen von der Datenbank gespiegelt und damit gerne etwas veraltet waren.
Chatserver
Soweit mir bekannt ist basierten die Chats vor dem Chatserverupdate auf IRC, einem alten und robusten, aber unflexiblen Protokoll.
Inzwischen dient das Protokoll XMPP als Grundlage für die Chats. Der Name Jabber dürfte hier bekannter sein. Anfangs gab es damit erhebliche Probleme, diese sind inzwischen aber weitestgehend gelöst.
Der neue Unterbau könnte eventuell dafür genutzt werden, um auch ohne den Eve Online Clienten am Ingamechat teilzunehmen.
Webserver
Der Webserver ist für das Spiel selbst irrelevant (außer die Accountverwaltung). Er ist für die Webseiten und das Forum zuständig.
Komplexes Zusammenspiel
Wenn man sich vor Augen führt, wie viele Komponenten notwendig sind, um unser Eve Online Universum zu generieren, dann bekommt man auch eine Ahnung, wie schwierig es sein kann, all das am Laufen zu halten. Der Chatserver ist hier ein gutes Beispiel, aber auch der frühe Einsatz von military-grade SSDs seitens CCP für die Datenbank.
Bist du erstaunt über diese Infrastruktur? Hast du ein solches Konstrukt erwartet? Habe ich eventuell auch etwas falsch im Kopf gehabt?
Weitere Informationen
Military-grade SSDs: https://www.pcgamer.com/eve-online-1/
Tranquility Tech III: https://www.eveonline.com/de/article/tranquility-tech-3