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 erstellen

Schritt für Schritt

  1. 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. 2.Richte das Projekt ein

    Ein Maven- oder Gradle-Projekt mit der Abhängigkeit bungeecord-api im Scope provided. Der Proxy stellt sie zur Laufzeit bereit.

  3. 3.Die Hauptklasse schreiben

    Eine Klasse, die net.md_5.bungee.api.plugin.Plugin erweitert, mit onEnable(), um Befehle und Listener über getProxy().getPluginManager() zu registrieren.

  4. 4.Beschreibe es in der bungee.yml

    name, version, main und author. BungeeCord liest auch die plugin.yml, aber bungee.yml vermeidet Verwechslungen mit Spigot-Plugins. Befehle werden im Code registriert, nicht in der Datei.

  5. 5.Befehle und Listener schreiben

    Befehle erweitern Command; Listener implementieren Listener mit @EventHandler-Methoden für Events wie PostLoginEvent oder ServerSwitchEvent.

  6. 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. 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

EreignisWann es ausgelöst wirdTypische Verwendung
ProxyPingEventEin Client aktualisiert die ServerlisteMOTD, Spielerzahl, Wartungsnachricht
PostLoginEventEin Spieler hat den Proxy betretenBeitrittsnachrichten, Spielerdaten laden
ServerConnectEventEin Spieler verbindet sich gleich mit einem ServerSpieler in eine Lobby schicken, Server sperren
ServerSwitchEventEin Spieler ist auf einen anderen Server gewechseltNetzwerkweite Nachrichten „hat den Server betreten“
PlayerDisconnectEventEin Spieler hat das Netzwerk verlassenDaten speichern, Benachrichtigungen ans Team
ChatEventEin Spieler sendet eine Chatnachricht oder einen BefehlNetzwerk-Chat, Filter, Team-Chat

Das Netzwerk richtig einrichten

  • Aktiviere ip_forward in der config.yml des Proxys und bungeecord: true in der spigot.yml jedes Spigot- oder Paper-Servers, damit Spielernamen und UUIDs weitergegeben werden.
  • Stelle die Backend-Server auf online-mode=false und 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
So erstellst du ein BungeeCord-Plugin für dein Netzwerk | Codexe