Zum Inhalt springen

Nodes

Ein Node ist eine Maschine mit Docker, auf der Gameserver laufen. Der Agent darauf verbindet sich nach aussen mit dem Panel; der Node braucht deshalb keinen offenen Verwaltungsport.

  1. Gehe im Panel zu Nodes → Add node. Trage einen Namen ein, die Adresse, die Spieler verwenden, und die Ports für Gameserver (z. B. 27000-27100, auf allen Adressen des Nodes).
  2. Das Panel zeigt einen docker run …-Befehl mit einem einmaligen Token, gültig für 24 Stunden. Führe ihn auf dem Node aus. Er enthält die öffentliche URL des Panels (Admin → Settings); ohne sie nimmt er die Adresse, mit der du das Panel geöffnet hast, und der Dialog weist darauf hin.
  3. Der Node ist online. Weitere Ports fügst du auf der Seite des Nodes hinzu, z. B. 25565, 2302-2310, 27016 (TCP, UDP oder beides). Server bekommen daraus einen Port pro Rolle.

Statt des Befehls startet deploy/compose.agent.yml den Agent mit AGENT_PANEL_URL und AGENT_ENROLLMENT_TOKEN.

/var/lib/panel-agent enthält die Server-Dateien, Backups, Konsolen-Logs und die Identität des Nodes (agent.json).

Es muss im Agent-Container unter demselben Pfad eingebunden sein, weil die Gameserver-Container ihre Ordner von dort einbinden.

Der Agent bietet SFTP auf Port 2022 an, damit Spieler FileZilla, WinSCP und ähnliche Programme nutzen können. Spieler müssen ihn erreichen: Öffne oder leite ihn weiter wie die Spielports.

  • AGENT_SFTP_PORT ändert den Port. Verwende innen und aussen dieselbe Nummer, denn das Panel zeigt sie an.
  • AGENT_SFTP_PORT=off schaltet SFTP aus.
  • Der Host-Key entsteht beim ersten Start im Datenverzeichnis; sein Fingerprint steht im Panel.
  • Leitet der Router einen anderen Port weiter, trägst du auf der Seite des Nodes die Adresse ein, die Benutzer sehen.

Wie man sich anmeldet: Dateien und SFTP.

  • Ein Node holt ein Image, wenn es fehlt.
  • Installationen, Neuinstallationen und Updates prüfen ausserdem das Image des Spiels, des Installationsskripts und das Steam-Image auf eine neuere Version, damit ein verschobenes :latest ankommt. Ist die Registry dann nicht erreichbar, wird die Kopie auf dem Node verwendet.
  • Ein normaler Start wartet nie auf eine Registry.

Trage unter Admin → Settings → Registries ein Login ein: den Host wie in den Image-Namen, einen Benutzer und ein Passwort oder ein Token nur zum Lesen.

Nodes bekommen es über ihre Verbindung zum Panel, behalten es nur im Arbeitsspeicher und verwenden es zum Herunterladen. Container sehen es nie.

Hole das neue Image und erstelle den Container neu; er behält seine Identität.

Ist ein Node verloren oder kompromittiert, ersetzt New enrollment token auf der Seite des Nodes seine Identität: Der alte Agent kann sich nicht mehr verbinden.

Move to another node im Tab Settings eines Servers (Operatoren). Der Server bleibt derselbe: seine ID, Einstellungen, der Zugriff der Mitglieder, Schedules und Backups.

  1. Er stoppt (falls er läuft) und wird gesichert.
  2. Jedes Backup wird auf den neuen Node kopiert.
  3. Er erhält Ports auf dem neuen Node, mit denselben Nummern, wo sie dort frei sind. Fehlen freie Ports, wird der Umzug abgelehnt und nennt die fehlenden.
  4. Er wird vom alten Node entfernt, auf dem neuen wiederhergestellt und wieder gestartet, falls er lief.

Die Konsole zeigt jeden Schritt. Bis zum Wechsel lässt ein Fehler den Server, wo er war. Spieler brauchen die Adresse des neuen Nodes.

Move files and backups aus: für einen Node, den es nicht mehr gibt. Der Server wird auf dem neuen Node frisch installiert; seine Dateien und Backups gehen verloren.

Einen Node entfernen: Zieh zuerst seine Server um; ein Node mit Servern lässt sich nicht löschen.