Anleitung
So erstellst du ein BungeeCord-Plugin
Aktualisiert am 18. Oktober 2026
Ein BungeeCord-Plugin läuft auf dem Proxy, der vor deinen Servern sitzt, nicht auf einem Spielserver. Es sieht, wie Spieler sich verbinden, den Server wechseln und gehen, und ist deshalb der richtige Ort für netzwerkweiten Chat, Team-Tools, Wartungsmodus, die MOTD und das Senden von Spielern zwischen Servern. Es hat keine Welten oder Blöcke: Gameplay gehört in ein Plugin auf den Backend-Servern.
Passe die Befehle an dein Netzwerk an.
Mit Codexe erstellenSchritt für Schritt
1.Prüfe, welchen Proxy du nutzt
BungeeCord (oder ein Fork wie Waterfall) und Velocity sind verschiedene APIs. Ein BungeeCord-Plugin läuft nicht auf Velocity und umgekehrt.
2.Richte das Projekt ein
Ein Maven- oder Gradle-Projekt mit der Abhängigkeit
bungeecord-apiim Scopeprovided. Der Proxy stellt sie zur Laufzeit bereit.3.Die Hauptklasse schreiben
Eine Klasse, die
net.md_5.bungee.api.plugin.Pluginerweitert, mitonEnable(), um Befehle und Listener übergetProxy().getPluginManager()zu registrieren.4.Beschreibe es in der bungee.yml
name,version,mainundauthor. BungeeCord liest auch dieplugin.yml, aberbungee.ymlvermeidet Verwechslungen mit Spigot-Plugins. Befehle werden im Code registriert, nicht in der Datei.5.Befehle und Listener schreiben
Befehle erweitern
Command; Listener implementierenListenermit@EventHandler-Methoden für Events wiePostLoginEventoderServerSwitchEvent.6.Kommuniziere bei Bedarf mit den Backend-Servern
Der Proxy sieht keine Inventare oder Welten. Dafür tauscht ein kleines Begleit-Plugin auf jedem Backend-Server Plugin Messages mit dem Proxy-Plugin aus.
7.Installiere es auf dem Proxy
Lege die .jar in den Ordner
plugins/des Proxys und starte den Proxy neu, nicht die Backend-Server.
Nützliche Proxy-Events
| Ereignis | Wann es ausgelöst wird | Typische Verwendung |
|---|---|---|
ProxyPingEvent | Ein Client aktualisiert die Serverliste | MOTD, Spielerzahl, Wartungsnachricht |
PostLoginEvent | Ein Spieler hat den Proxy betreten | Beitrittsnachrichten, Spielerdaten laden |
ServerConnectEvent | Ein Spieler verbindet sich gleich mit einem Server | Spieler in eine Lobby schicken, Server sperren |
ServerSwitchEvent | Ein Spieler ist auf einen anderen Server gewechselt | Netzwerkweite Nachrichten „hat den Server betreten“ |
PlayerDisconnectEvent | Ein Spieler hat das Netzwerk verlassen | Daten speichern, Benachrichtigungen ans Team |
ChatEvent | Ein Spieler sendet eine Chatnachricht oder einen Befehl | Netzwerk-Chat, Filter, Team-Chat |
Das Netzwerk richtig einrichten
- Aktiviere
ip_forwardin derconfig.ymldes Proxys undbungeecord: truein derspigot.ymljedes Spigot- oder Paper-Servers, damit Spielernamen und UUIDs weitergegeben werden. - Stelle die Backend-Server auf
online-mode=falseund sorge dafür, dass sie aus dem Internet nicht direkt erreichbar sind, nur über den Proxy. - Plugin Messages werden nur übertragen, solange ein Spieler mit diesem Backend-Server verbunden ist, eine Nachricht an einen leeren Server kommt also nicht an.
Beispielbeschreibung
„Ein BungeeCord-1.21-Proxy-Plugin namens NetUtils. /lobby schickt den Spieler auf den Lobby-Server. /staffchat <message> (Alias /sc) sendet eine Nachricht an alle mit netutils.staff auf jedem Server. /maintenance on|off zeigt eine Wartungs-MOTD und kickt Spieler ohne netutils.bypass. Eine Beitrittsnachricht im Team-Chat, wenn ein Teammitglied den Server wechselt. Servernamen, MOTD und Nachrichten in der config.yml.“
Mit Codexe
Wähle den Typ BungeeCord/Velocity und gib an, welchen Proxy du nutzt, da es verschiedene APIs sind. Codexe kompiliert das Plugin mit Maven und prüft, ob die .jar den richtigen Deskriptor hat, bevor sie als Ready gilt; ohne Version in der Anfrage wird die BungeeCord-API 1.21 verwendet. Wenn du ein Begleit-Plugin fürs Backend brauchst, verlange es als separates Spigot/Paper-Projekt.
Jetzt testen startet noch keine Proxy-Server, also teste das Proxy-Plugin in deinem eigenen Netzwerk oder mit einem lokalen Proxy und einem Backend-Server. Siehe auch den BungeeCord-Plugin-Generator.
Fragen
Kann ein BungeeCord-Plugin Blöcke oder Inventare ändern?
Nein, der Proxy kümmert sich nur um Verbindungen und Nachrichten. Nutze für Gameplay ein Backend-Plugin und Plugin Messages, wenn beide zusammenarbeiten müssen.
Funktioniert es auf Velocity?
Nein. Velocity hat eine eigene API und velocity-plugin.json. Wenn du beides betreibst, erstelle zwei Projekte.
Proxy-Plugin oder Backend-Plugin für den Chat?
Ein Proxy-Plugin, wenn der Chat Spieler auf jedem Server erreichen muss. Ein Backend-Plugin, wenn der Chat auf einem Server bleibt.
Erstelle ein Plugin für dein Netzwerk
Dieser Prompt öffnet sich versandfertig:
“Ein BungeeCord-1.21-Proxy-Plugin namens NetUtils: /lobby schickt den Spieler auf den Lobby-Server, /staffchat (Alias /sc) sendet eine Nachricht an alle mit netutils.staff auf jedem Server, /maintenance on|off zeigt eine Wartungs-MOTD und kickt Spieler ohne netutils.bypass, Serverwechsel von Teammitgliedern werden im Team-Chat angekündigt, Servernamen, MOTD und Nachrichten in der config.yml.”
Mit Codexe erstellen