Skip to main content

Unterstützte Software

Plugin installieren

1

Proxy-Plugins installieren

Lade Server Connection von GitHub herunter und lege die JAR-Datei im Ordner plugins/ 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 einen passenden Proxy. Das Plugin legt config.yml, commands.yml und messages.yml unter plugins/simplecloud-connection/ an.
3

Lobby-Server abgleichen

Die Standardverbindung wählt Proxy-Registrierungsnamen aus, die mit lobby beginnen. Verwendet deine Lobby-Gruppe einen anderen Namen, ändere die Verbindung lobby und verwende denselben Namen unter network-join-targets, fallback und in commands.yml.
4

Konfiguration ins Template übernehmen

Kopiere bei einem Gruppen-Proxy plugins/simplecloud-connection/ vor dem Stoppen an denselben Pfad im Template. Unter Templates findest du den vollständigen Ablauf.
5

Proxy neu starten und testen

Starte den Proxy nach Änderungen an der Registrierung oder an Spielerbefehlen neu. Betritt das Netzwerk, um das erste Ziel zu testen, und führe anschließend von einem anderen Backend /lobby aus. Für Fallbacks verwendet der Proxy dieselbe Verbindung.
Mit registration.enabled: true ersetzt Server Connection die Liste der registrierten Proxy-Server durch die SimpleCloud-Server. Trage jedes externe Backend unter registration.additional-servers ein oder setze die Registrierung auf false, wenn ein anderes Plugin die Liste verwaltet.

Konfiguration

config.yml

Die Hauptkonfigurationsdatei steuert die Serverregistrierung, Verbindungen, das Routing beim Netzwerkbeitritt und das Fallback-Verhalten.

Subdomain-Routen

Der Abschnitt address.routes wählt anhand des Hostnamens, mit dem ein Spieler dem Proxy beitritt, eine Verbindung aus. Jede Angabe unter subdomain muss der vollständige, exakte Hostname sein. Verwende zum Beispiel new.example.com und nicht nur new. Der Wert target-connection verweist auf einen Namen aus der Liste connections. Er verweist nicht direkt auf einen Server. Der server-name-matcher der Verbindung wählt anschließend einen verfügbaren Server aus.
Mit dieser Konfiguration werden Spieler über play.example.com auf einen verfügbaren Lobby-Server geleitet. Spieler über new.example.com werden auf den persistenten Server geleitet, der als smp-2026 registriert ist. Lass jeden verwendeten Hostnamen über einen A-, AAAA- oder CNAME-DNS-Eintrag auf den Proxy zeigen. Verwendet der Proxy nicht den Minecraft-Standardport, musst du zusätzlich einen passenden Minecraft-SRV-Eintrag konfigurieren.
Routing-Verhalten
  • Konfigurationsversion: Subdomain-Routing benötigt Version 2. Lass das Plugin eine bestehende Version-1-Datei migrieren, bevor du Routen hinzufügst, da diese bei der Migration nicht übernommen werden.
  • Exakter Abgleich: Gib den vollständigen Hostnamen an. Wildcard-Routen wie *.example.com werden nicht unterstützt.
  • Standardziel: Wenn keine Route passt, die Zielverbindung nicht existiert oder kein passender Server verfügbar ist, verwendet das Plugin anschließend die network-join-targets.
  • Verbindungsregeln: Subdomain-Routen werten Verbindungsregeln nicht aus. Eine Permission-Regel auf der Zielverbindung schränkt Spieler, die über diesen Hostnamen beitreten, nicht ein. Verwende priorisierte network-join-targets, wenn das Routing von einer Permission abhängen soll.

Abgleichsoperationen

Der server-name-matcher unterstützt folgende Operationen: Setze negate: true, um eine Operation umzukehren. So stimmen beispielsweise alle Server überein, die nicht mit lobby beginnen.

Verbindungsregeln

Verbindungen können Regeln enthalten, die ein Spieler erfüllen muss. Schlägt eine Regel fehl, wird die Verbindung übersprungen und die nächste Priorität geprüft. Es gibt zwei Regeltypen: Berechtigungsregel Prüft, ob ein Spieler eine bestimmte Permission besitzt.
Umgebungsvariablenregel Gleicht eine System-Umgebungsvariable über eine Filter-Operation mit einem Wert ab.
Regeln werden der Reihe nach abgearbeitet. Wenn eine Regel fehlschlägt und keine bypass-permission greift, wird die komplette Verbindung übersprungen.

Prioritäten und Fallback-Auflösung

Sowohl network-join-targets als auch fallback unterstützen mehrere Zielverbindungen mit Prioritäten:
  • Zielverbindungen werden von der höchsten zur niedrigsten Priorität abgearbeitet
  • Haben mehrere Ziele die gleiche Priorität, wird eines davon zufällig ausgewählt
  • Hat ein Ziel keinen verfügbaren Server, wird automatisch die nächstniedrigere Priorität versucht
  • Die optionale from-Liste beschränkt einen Fallback auf Spieler, die von bestimmten Servern kommen

commands.yml

Konfiguriert die Navigationsbefehle für Spieler.
Befehle folgen derselben Logik wie network-join-targets und fallback. Änderungen an Verbindungsabgleichen, Regeln, Beitrittszielen, Fallbacks und Nachrichten kannst du mit diesem Befehl laden:
Starte den Proxy nach jeder Änderung an commands.yml neu. Der Reload liest die Datei zwar ein, bereits registrierte Proxy-Befehle behalten aber ihre bisherigen Einstellungen. Starte ebenfalls nach Änderungen an registration.additional-servers oder den Registrierungsmustern neu, damit der Proxy seine Serverliste neu aufbaut.

Berechtigungen

Fehlerbehebung

Prüfe, ob network-join-targets.enabled auf true steht, die genannten Verbindungen existieren und jeder Matcher mindestens einen registrierten Server auswählt. Der Standard-Matcher erwartet Registrierungsnamen, die mit lobby beginnen.
Starte den Proxy nach jeder Änderung an commands.yml neu. /connection reload liest die Datei, aktualisiert oder registriert aber keine bereits laufenden Proxy-Befehle.
Trage es unter registration.additional-servers ein und starte den Proxy neu. Bei aktivierter Registrierung baut Server Connection die Liste der Proxy-Server beim Start neu auf.
Verwende den vollständigen Hostnamen in address.routes, richte dessen DNS auf den Proxy und prüfe, ob target-connection eine vorhandene Verbindung mit einem verfügbaren Server bezeichnet. Wildcards und Verbindungsregeln gelten nicht für Subdomain-Routen.