Skip to main content

Was der Serverhost macht

Der Serverhost läuft auf jeder Maschine, die Minecraft-Server für dein SimpleCloud-Netzwerk starten soll. Er verbindet sich mit dem Controller, empfängt Start-Anfragen, bereitet Serverdateien vor, startet den Serverprozess, meldet Zustände und räumt nach gestoppten dynamischen Servern auf.

Aufgaben

Server-Lebenszyklus

Der Serverhost verwaltet den lokalen Lebenszyklus jedes Servers:
  1. Vorbereitung - Start-Workflows ausführen, Templates kopieren und konfigurierte Plugins laden
  2. Konfiguration - Configurators für Ports, Forwarding-Secrets, Spielerlimits und weitere Dateien anwenden
  3. Ausführung - Den Server mit dem konfigurierten Runner starten
  4. Monitoring - Den lokalen Prozess überwachen, Logs weiterleiten und Zustände melden
  5. Cleanup - Stop-Workflows ausführen und temporäre Verzeichnisse dynamischer Server entfernen

Workflow-Ausführung

Workflows definieren Vorbereitung und Cleanup. Der Standard-Setup-Workflow kopiert Cache-Daten, gemeinsame Templates, Tag-Templates und das benannte Template, bevor er Plugins lädt und den ausgewählten Configurator anwendet.

Plugin-Loading

Der Serverhost kann konfigurierte Plugins aus mehreren Quellen laden:

Architektur

Runner-Modi

Screen oder Tmux

Der lokale Runner startet Server als detached Prozesse über einen Terminal-Multiplexer.
Mit sc attach serverhost kannst du dich an die Serverhost-Komponenten-Konsole anhängen.

Docker

Der Docker-Runner startet jeden Server in einem eigenen Container. Nutze ihn, wenn du stärkere Prozessisolation und Docker-gesteuerte Ressourcenlimits möchtest.
Docker muss auf der Serverhost-Maschine installiert sein.

Verzeichnisstruktur

secrets
network-id.key
network-secret.key
serverhost-id.key
options
platform-mappings.yml
workflows
templates
lobby
cache
running
logs

Server-Vorbereitung

Wenn eine Start-Anfrage eintrifft: Dynamische Gruppenserver nutzen temporäre Verzeichnisse unter running/. Persistente Server behalten ihr Laufzeitverzeichnis zwischen Neustarts.

Kommunikation

Der Serverhost kommuniziert mit dem Controller über NATS und Controller-HTTP-APIs: Jeder Serverhost synchronisiert außerdem den Controller-Zustand und stoppt lokale verwaiste Server, die nicht mehr zum Controller-Zustand gehören.

Setup-Optionen

Serverhost-Setup verwendet die aktuellen CLI-Setup-Optionen:

Monitoring

Wenn ein Serverhost neu startet, vergleicht er lokale Deployments mit dem Controller-Zustand und hängt sich, wo möglich, wieder an Server an, die weiterhin ihm gehören.

Verwandte Themen