Was sind Configurators?
Configurators passen Server-Konfigurationsdateien automatisch basierend auf der verwendeten Server-Software an. Sie handhaben Einstellungen wie Port-Bindung, Player-Forwarding und andere softwarespezifische Konfigurationen mittels Platzhalter-Ersetzung.Wie Configurators funktionieren
Während der Server-Vorbereitung:- Lädt der Serverhost das Configurator-Template aus
options/configurators/ - Identifiziert die Ziel-Konfigurationsdateien
- Ersetzt Platzhalter mit tatsächlichen Server-Werten
- Schreibt die konfigurierten Dateien ins Server-Verzeichnis
Configurator Templates
Configurators werden in YAML-Dateien unteroptions/configurators/{name}.yml definiert. Jeder Configurator gibt an, welche Dateien modifiziert werden und welche Platzhalter ersetzt werden.
Beispiel: Paper + Velocity
Beispiel: Velocity
Unterstützte Formate
| Format | Erweiterung | Beschreibung |
|---|---|---|
yaml | .yml, .yaml | YAML-Konfigurationsdateien |
json | .json | JSON-Konfigurationsdateien |
properties | .properties | Java-Properties-Dateien |
toml | .toml | TOML-Konfigurationsdateien |
text | beliebig | Plaintext-Datei-Ersetzung |
Platzhalter
Configurators unterstützen dynamische Platzhalter, die durch serverspezifische Werte ersetzt werden:Server-Eigenschaften
| Platzhalter | Beschreibung |
|---|---|
{{port}} | Zugewiesener Server-Port |
{{server-name}} | Server-Name (z.B. lobby-1) |
{{group}} | Gruppenname |
{{max-players}} | Maximale Spieleranzahl |
{{memory}} | Zugewiesener Speicher (MB) |
Netzwerk-Eigenschaften
| Platzhalter | Beschreibung |
|---|---|
{{forwarding-secret}} | Velocity Forwarding Secret |
{{server-ip}} | Server-IP-Adresse |
{{network-id}} | Netzwerk-Identifier |
Typ-Eigenschaften
| Platzhalter | Beschreibung |
|---|---|
{{type}} | Server-Typ (proxy, server, lobby) |
{{software}} | Server-Software (paper, velocity, etc.) |
Benutzerdefinierte Eigenschaften
Zugriff auf benutzerdefinierte Eigenschaften aus der Gruppe:$. Präfix greift auf die Properties-Map des Servers zu.
Benutzerdefinierte Configurators erstellen
1. Template erstellen
Erstelle eine YAML-Datei inoptions/configurators/:
2. Im Blueprint referenzieren
Gib den Configurator in deinem Blueprint an:3. Der Serverhost wendet ihn an
Während des Server-Starts ruft der Workflow dieConfiguratorAction auf:
Eingebaute Configurators
paper_velocity
Für Paper-Server hinter Velocity-Proxy:- Setzt Server-Port in
server.properties - Aktiviert Velocity Modern Forwarding in
paper-global.yml - Konfiguriert Forwarding Secret
- Deaktiviert BungeeCord-Modus in
spigot.yml
paper_bungeecord
Für Paper-Server hinter BungeeCord:- Setzt Server-Port in
server.properties - Aktiviert BungeeCord-Modus in
spigot.yml - Deaktiviert Online-Mode
velocity
Für Velocity-Proxy-Server:- Konfiguriert Bind-Port in
velocity.toml - Richtet Modern Forwarding ein
- Erstellt Forwarding-Secret-Datei
bungeecord
Für BungeeCord-Proxy-Server:- Konfiguriert Listener-Port in
config.yml - Aktiviert IP-Forwarding
- Setzt Max-Players
Verschachtelte Wertpfade
Für verschachtelte Konfigurationsstrukturen nutze Punkt-Notation:Fehlerbehebung
Konfiguration wird nicht angewendet
- Prüfe ob Configurator-Name mit Blueprint übereinstimmt
- Verifiziere den Dateipfad
- Prüfe Serverhost-Logs auf Fehler
Platzhalter wird nicht ersetzt
- Stelle sicher, dass Platzhalter-Syntax korrekt ist:
{{name}} - Prüfe ob die Property auf dem Server existiert
- Für benutzerdefinierte Properties, nutze
{{$.property-name}}
Falsches Dateiformat
- Verifiziere das
formatFeld entspricht dem tatsächlichen Dateityp - Prüfe auf Syntaxfehler im Template
- Stelle sicher, dass die Datei im Server-Verzeichnis existiert