Server einrichten
Der HERA-Server wird als Linux Dedicated Server Build bereitgestellt. Dieser läuft vollständig headless - also als reiner Hintergrundprozess ohne grafische Oberfläche.
Systemvoraussetzungen
Für den Betrieb wird Zugriff auf eine virtuelle Maschine (VM) mit Linux benötigt. Dies kann entweder ein Server im lokalen Universitätsnetzwerk sein (wie am BCDH) oder eine Cloud-Instanz, beispielsweise eine Amazon AWS EC2-Instance.
BCDH-Referenzkonfiguration
Als Orientierung dient die folgende Serverkonfiguration, welche im Testbetrieb mit 8 gleichzeitigen Clients stabil lief:
- Betriebssystem: Ubuntu 22.04 LTS
- Prozessorkerne (vCPU): 2 Cores
- Arbeitsspeicher (RAM): 8 GB
- Festplattenspeicher: 150 GB (SSD empfohlen)
Hinweis zur Skalierung: Das absolute Limit – also die maximale Anzahl an gleichzeitigen Clients, bevor der Server Performance-Einbrüche zeigt oder abstürzt – ist aktuell noch nicht final ermittelt.
Netzwerkkonfiguration (Firewall)
Damit die Clients eine Verbindung zum Server aufbauen können, müssen in der Firewall des Servers oder in den Inbound Security Groups (z. B. bei AWS) entsprechende Regeln definiert werden. HERA nutzt für den Multiplayer-Datenstrom das UDP-Protokoll.
Richten Sie folgende Inbound-Regel ein:
| Parameter | Wert |
|---|---|
| Typ | Custom UDP |
| Protokoll | UDP |
| Portbereich | 7777 |
| Quelle (Source) | Anywhere (Überall / 0.0.0.0/0) |
Hintergrund: Warum UDP und nicht TCP?
- TCP (Transmission Control Protocol): Ist ein verbindungsorientiertes Protokoll. Es baut eine feste Verbindung auf, prüft jedes Paket auf Vollständigkeit und fordert verloren gegangene Daten erneut an (Handshake-Prinzip). Das sorgt für Sicherheit, ist für Echtzeit-Multiplayer-Anwendungen aber viel zu langsam.
- UDP (User Datagram Protocol): Ist verbindunglos und verzichtet auf diesen permanenten Handshake. Datenpakete werden fortlaufend und mit minimaler Latenz gesendet. Geht auf dem Weg ein Paket verloren (z. B. eine Positionsaktualisierung), wird es einfach vom nächsten Paket überschrieben. Für die flüssige Synchronisation ist UDP daher zwingend notwendig.
Linux-Build auf den Server übertragen
Was Sie benötigen: Ihren Linux-Server, den HERA Linux-Build und Ihre SSH-Zugangsdaten. Nutzen Sie am besten SSH, um sich mit dem Server zu verbinden. Hierbei handelt es sich um eine sichere Verbindung, die es Ihnen erlaubt, Befehle auf dem Linux-Server auszuführen.
Folgen Sie diesen Schritten, um den Server-Build manuell aufzusetzen:
- SSH-Login: Melden Sie sich per Terminal auf Ihrem Linux-Server an:bash
ssh username@IP-Adresse - Daten kopieren: Übertragen Sie den HERA Linux-Build-Zip-Ordner in das Home-Verzeichnis des entsprechenden Nutzers:
/home/IhrBenutzername/. - Entpacken: Nutzen Sie den Befehl
unzip, um das Archiv zu entpacken:bashunzip LinuxServer.zip - Rechte vergeben: Damit die ausführbaren Dateien gestartet werden können, müssen die Ausführungsrechte für das Verzeichnis rekursiv (
-R) gesetzt werden:bashchmod +x -R LinuxServer/ - Server testweise starten: Wechseln Sie in den Ordner und starten Sie das Start-Skript:bash
cd LinuxServer/ ./HERA_Server.sh
⚠️ Wichtiger Hinweis: Wenn Sie den Server manuell über die Konsole starten, fährt sich die Anwendung nach 2 Stunden automatisch herunter. Es wird daher dringend empfohlen, den Server direkt im Anschluss als permanent laufenden Systemdienst einzurichten, wie im folgenden Abschnitt beschrieben: HERA als Dienst einrichten.
