Skip to main content

Unterstützte Software

Plugin installieren

1

Proxy-Plugins installieren

Lade Proxy Essentials von GitHub herunter und lege es im plugins/-Ordner des Proxy-Templates ab. Die Standard-Templates enthalten simplecloud-api bereits. Füge es bei einem eigenen Template über die Einstellung Plugins des Ziels oder über die CLI hinzu.
2

Konfiguration erzeugen

Starte einmal einen Proxy. Proxy Essentials erstellt sein Datenverzeichnis an einer dieser Stellen:
3

Erzeugte Dateien im Template sichern

Kopiere bei einem Gruppen-Proxy das erzeugte Plugin-Verzeichnis vom laufenden Proxy an denselben Pfad in seinem Proxy-Template. Änderungen nur im temporären running-Verzeichnis verschwinden sonst, sobald der Proxy stoppt.Unter Templates erfährst du, wie du die erzeugten Dateien in ein Template übernimmst. Template-Änderungen gelten beim nächsten Start des Proxys.
4

Änderungen anwenden und prüfen

Führe /scproxy reload aus, wenn du Dateien eines laufenden Proxys bearbeitet hast. Hast du stattdessen das Template geändert, starte den Proxy neu, damit er die geänderten Dateien erhält.
In der Proxy-Konsole sollte Proxy Essentials ohne Konfigurations- oder Cloud-API-Fehler starten.
/tab reload gehört zu einem anderen Tablist-Plugin und lädt Proxy Essentials nicht neu. Verwende /scproxy reload auf dem Proxy.

Erzeugte Dateien

Joinstates

Ein Joinstate ist eine benannte Zugriffsregel. Die Liste joinstates in der config.yml definiert die verfügbaren Regeln. Der aktive Status wird auf der ausgewählten SimpleCloud-Gruppe oder Serverinstanz gespeichert. Joinstates können:
  • Eine Berechtigung für das Betreten des Proxys oder eines Backend-Servers verlangen
  • Eine separate Berechtigung für den Beitritt zu einem vollen Proxy-Netzwerk verlangen
  • Ein Wartungs-MOTD-Layout für den Proxy auswählen
  • Für eine vollständige Gruppe oder eine einzelne laufende Serverinstanz gelten

Proxy- und Backend-Gruppen verhalten sich unterschiedlich

Wenn du nur die Gruppe Lobby auf Wartung setzt, ändert sich die öffentliche Netzwerk-MOTD nicht. Setze die Proxy-Gruppe auf Wartung, wenn du das gesamte Netzwerk sperren und das Wartungs-Layout anzeigen möchtest.

Joinstates definieren

config.yml
Führe /scproxy reload aus, nachdem du Statusdefinitionen hinzugefügt oder geändert hast. Das Neuladen einer Definition aktiviert sie nicht.

Wartung für das Netzwerk aktivieren

Im folgenden Beispiel heißt die Proxy-Gruppe Proxy:
1

Wartungsstatus konfigurieren

Setze beim Status forced-motd-layout: maintenance und stelle sicher, dass layout/maintenance.yml mit motd.enabled: true existiert.
2

Dateien neu laden

Führe /scproxy reload auf dem Proxy aus.
3

Status auf der Proxy-Gruppe setzen

Der Gruppenbefehl speichert den Status auf der Gruppe und ihren aktuell laufenden Serverinstanzen. Instanzen ohne eigenen Status verwenden den Gruppenstatus.
4

Aktiven Status prüfen

Spieler benötigen jetzt simplecloud.proxy-essentials.join.maintenance, um beizutreten. Aktualisiere die Minecraft-Mehrspielerliste, um die Wartungs-MOTD zu sehen.
5

Netzwerk wieder öffnen

Um nur eine Backend-Gruppe oder eine einzelne Serverinstanz zu sperren, verwende zum Beispiel:
Der erste Befehl ändert die vollständige Lobby-Gruppe und ihre laufenden Serverinstanzen. Der zweite ändert nur Lobby-1.

Priorität der MOTD-Layouts

Der Proxy bestimmt sein Serverlisten-Layout in dieser Reihenfolge:
  1. Ein gültiges Layout, das mit /scproxy layout set auf der Proxy-Instanz oder der Gruppe gespeichert wurde
  2. forced-motd-layout des aktiven Joinstates
  3. initial-layout
Ein mit /scproxy layout set gespeichertes Layout hat Vorrang vor forced-motd-layout. Ist Wartung aktiv, aber die MOTD bleibt öffentlich, prüfe /scproxy layout info <proxy-gruppe>. Verwalte das Layout beim Wechsel des Joinstates entweder ebenfalls ausdrücklich mit /scproxy layout set, oder lege kein festes Layout fest, wenn Joinstates automatisch umschalten sollen. Der derzeit in der erzeugten config.yml vorhandene whitelist-Abschnitt wird bei den Beitrittsprüfungen nicht ausgewertet. Verwende permission.join für Administrator- oder Wartungszugriff.

Serverlisten-Layouts

Jede Datei in layout/ ist ein auswählbares Serverlisten-Layout. Der Dateiname ist gleichzeitig der Layoutname. layout/maintenance.yml wird daher als maintenance referenziert.
layout/public.yml
RANDOM wählt bei jedem Serverlisten-Ping einen zufälligen MOTD-Eintrag. QUEUE durchläuft die konfigurierten Einträge nacheinander. Lege Icon-Dateien in layout/server-icons/ ab. Verwende /scproxy layout set <gruppe> <layout> nur, wenn du ein Layout unabhängig von Joinstate-Wechseln festlegen möchtest.

MOTD nach Domain

Zeige Spielern ein anderes Serverlisten-Layout, abhängig vom Hostnamen, mit dem sie sich verbinden, etwa wenn mehrere Domains auf denselben Proxy zeigen. Füge Routen zur Liste domains in der config.yml hinzu:
config.yml
Spieler, die über play.example.com verbinden, sehen das Layout, das der Joinstate der skalierbaren Gruppe Lobby bestimmt; Spieler, die über citybuild.example.com verbinden, sehen das Layout, das der Joinstate des persistenten Servers Citybuild bestimmt.
  • Exakter Abgleich: domain muss der vollständige Hostname sein, etwa play.example.com. Wildcards und Subdomains wie *.example.com werden nicht unterstützt.
  • Umfang von target: target benennt eine Gruppe oder einen persistenten Server, keine einzelne Serverinstanz wie Lobby-1.
  • Layout-Auflösung: Für eine passende domain verwendet der Proxy den Eintrag in rules, dessen state dem aktuellen Joinstate von target entspricht. Existiert dessen layout nicht, greift stattdessen das globale forced-motd-layout dieses Joinstates, danach initial-layout.
  • Standardziel: Ein Hostname ohne passende domain, oder eine Route, bei der nichts davon greift, verwendet die oben beschriebene Priorität der MOTD-Layouts.
  • Automatische Aktualisierung: Routen werden neu berechnet, sobald sich der Joinstate von target ändert. Führe nach dem Hinzufügen oder Ändern von Einträgen in domains /scproxy reload aus, damit die neuen Routen wirksam werden.
Dies ändert nur die Serverlisten-MOTD. Um Spieler, die über eine Domain verbinden, auch auf einen bestimmten Server zu schicken, kombiniere die Funktion mit dem Subdomain-Routing von Server Connection.

Tablist

Tablist-Einträge befinden sich in der config.yml. Ihr name wird mit dem Backend-Server abgeglichen, auf dem sich der jeweilige Spieler gerade befindet. Die erste passende Regel wird in dieser Reihenfolge verwendet:
  1. Exakter Servername, unabhängig von Groß- und Kleinschreibung
  2. Erstes konfiguriertes Präfix, beispielsweise Lobby für Lobby-1
  3. *
  4. global
config.yml
Mehrere layout-Einträge unter demselben Namen wechseln automatisch. Derzeit wird der kleinste update-time-Wert aller Tablist-Einträge als ein globales Intervall für alle Einträge verwendet. Verwende denselben Wert für alle Einträge und starte den Proxy nach einer Änderung neu, da /scproxy reload den geplanten Task nicht neu erstellt.

Spielerzahl

Die angezeigte Zahl umfasst alle Proxys der aktuellen Proxy-Gruppe. Du kannst weitere Gruppen und persistente Server hinzufügen.
config.yml
Das Aktualisierungsintervall wird in Ticks angegeben.

Kick-Verhalten von Backends

config.yml
  • false behält das normale Fallback-Verhalten des Proxys nach einem Backend-Kick bei.
  • true trennt den Spieler mit dem Kick-Grund des Backends vom Proxy, anstatt ihn auf einen Fallback-Server zu schicken.

Textformatierung

Proxy Essentials verwendet MiniMessage für MOTDs, Tablists und Nachrichten. Verwende Tags wie <red>, <color:#0ea5e9>, <bold> und <br>. Veraltete &- und §-Farbcodes werden nicht unterstützt.

Befehle

Platzhalter

Gib über <env:NAME> keine Tokens, Passwörter oder anderen Geheimnisse aus. MOTDs sind öffentlich und Tablist-Inhalte für verbundene Spieler sichtbar.
Konfiguriere die Farben für <ping> in der placeholder.yml:
placeholder.yml

Berechtigungen

Die letzten beiden Berechtigungen sind Standardwerte aus der config.yml. Du kannst sie durch Berechtigungen aus deinem eigenen Berechtigungsschema ersetzen.

Festlegen, welche Funktionen Proxy Essentials verwaltet

Proxy Essentials muss nicht alle Funktionen gleichzeitig verwalten. Du kannst beispielsweise seine Joinstates verwenden, während ein anderes Proxy-Plugin die MOTD oder Tablist bereitstellt. Konfiguriere für jede Funktion nur einen Anbieter, damit Plugins ihre Ausgaben nicht gegenseitig überschreiben.

Anderes MOTD-Plugin verwenden

Setze motd.enabled in jedem Layout, das der Proxy auswählen kann, auf false:
layout/public.yml
Wiederhole die Einstellung in Layouts wie maintenance.yml und führe anschließend /scproxy reload aus. Proxy Essentials verändert die gesamte Ping-Antwort dann nicht mehr. Das betrifft die Beschreibung, das Icon, die Hover-Liste, die angezeigte Version und die Slots. Das neue MOTD-Plugin muss auf dem Proxy laufen. Ein Plugin, das nur auf einer Lobby oder einem anderen Backend installiert ist, erhält den öffentlichen Serverlisten-Ping des Netzwerks nicht.

Anderes Tablist-Plugin verwenden

Verwende in der config.yml eine leere Liste:
config.yml
Führe /scproxy reload aus. Proxy Essentials sendet danach keine Tablist-Header und -Footer mehr. Spieler müssen sich möglicherweise neu verbinden, bevor zuvor gesendete Inhalte verschwinden oder vom anderen Plugin ersetzt werden. update-time: 0 deaktiviert nur geplante Tablist-Aktualisierungen beim Start des Proxys. Die Funktion wird dadurch nicht zuverlässig an ein anderes Plugin übergeben. Verwende stattdessen tablist: [].

Beitrittsbeschränkungen aufheben

Joinstates besitzen keinen globalen enabled-Schalter. Setze alle betroffenen Proxy- und Backend-Gruppen auf einen offenen Status wie public zurück:
Lass permission.join dieses Status leer:
config.yml

Zusammenfassung der Spielerzahlen deaktivieren

config.yml
Führe /scproxy reload aus. Die lokale Spielerzahl des Proxys bleibt verfügbar, aber Proxy Essentials addiert keine Spieler aus der restlichen Proxy-Gruppe oder zusätzlichen Zielen mehr.

Standard-Fallback-Verhalten beibehalten

config.yml
Führe /scproxy reload aus. Der Proxy kann Backend-Kicks dann wieder mit seinem normalen Fallback-Verhalten behandeln.

Proxy Essentials nicht mehr verwenden

Entferne die Proxy-Essentials-JAR aus allen passenden Proxy-Templates und starte die Proxys neu. Lass simplecloud-api installiert, wenn ein anderes Plugin davon abhängt.

Fehlerbehebung

Prüfe, ob Proxy Essentials und simplecloud-api im Proxy-Template liegen, und starte anschließend einen passenden Proxy neu. Prüfe die Proxy-Konsole und das plattformspezifische Datenverzeichnis aus dem Abschnitt Plugin installieren. Eine Installation auf einer Lobby lädt das Proxy-Plugin nicht.
Verwende /scproxy reload und nicht /tab reload. Prüfe, ob du die Dateien des laufenden Proxys bearbeitet hast.Änderungen nur im Template benötigen einen Proxy-Neustart. Änderungen nur in einer temporären laufenden Gruppeninstanz verschwinden beim Stoppen.
Folge dem Abschnitt Anderes Tablist-Plugin verwenden weiter oben. Prüfe danach, ob ein weiteres Proxy- oder Backend-Plugin Tablist-Header und -Footer sendet.
Prüfe, ob du die Proxy-Gruppe und nicht nur eine Backend-Gruppe geändert hast. forced-motd-layout muss eine vorhandene Datei mit motd.enabled: true benennen. Prüfe danach /scproxy layout info <proxy-gruppe>: Ein mit /scproxy layout set gespeichertes Layout hat Vorrang vor dem Joinstate-Layout.
Prüfe, ob sich der Spieler mit genau dem in domain hinterlegten Hostnamen verbunden hat. Der Vergleich ignoriert Groß-/Kleinschreibung, unterstützt aber keine Wildcards oder Subdomains. Prüfe, ob target eine Gruppe oder ein persistenter Server ist, keine einzelne Serverinstanz. Prüfe, ob der aktuelle Joinstate von target einen passenden Eintrag in rules hat und dessen layout existiert. Führe nach dem Bearbeiten von domains /scproxy reload aus.
Folge dem Abschnitt Anderes MOTD-Plugin verwenden weiter oben und prüfe, ob jedes auswählbare Layout angepasst wurde. Ein Lobby-Plugin auf einem Backend kann den öffentlichen Proxy-Ping nicht verwalten. Verwende dafür ein kompatibles Proxy-MOTD-Plugin.
Ersetze veraltete &- oder §-Codes durch MiniMessage-Tags wie <green> oder <color:#22c55e> und lade die Konfiguration anschließend neu.
Beispiel einer Serverlisten-MOTD von Proxy Essentials