Handleiding

Een BungeeCord-plugin maken

Bijgewerkt 18 oktober 2026

Een BungeeCord-plugin draait op de proxy die voor je servers staat, niet op een gameserver. Hij ziet spelers verbinden, van server wisselen en vertrekken, dus het is de juiste plek voor chat over het hele netwerk, stafftools, onderhoudsmodus, de MOTD en spelers tussen servers sturen. Hij heeft geen werelden of blokken: gameplay hoort in een plugin op de backendservers.

Pas de commando's aan je netwerk aan.

Genereer dit met Codexe

Stap voor stap

  1. 1.Controleer welke proxy je draait

    BungeeCord (of een fork zoals Waterfall) en Velocity zijn verschillende API's. Een BungeeCord-plugin draait niet op Velocity, en andersom ook niet.

  2. 2.Zet het project op

    Een Maven- of Gradle-project met de dependency bungeecord-api in scope provided. De proxy levert die tijdens het draaien.

  3. 3.Schrijf de hoofdklasse

    Een klasse die net.md_5.bungee.api.plugin.Plugin uitbreidt, met onEnable() om commando's en listeners te registreren via getProxy().getPluginManager().

  4. 4.Beschrijf hem in bungee.yml

    name, version, main en author. BungeeCord leest ook plugin.yml, maar bungee.yml voorkomt verwarring met Spigot-plugins. Commando's worden in de code geregistreerd, niet in het bestand.

  5. 5.Schrijf commando's en listeners

    Commando's breiden Command uit; listeners implementeren Listener met @EventHandler-methoden voor events zoals PostLoginEvent of ServerSwitchEvent.

  6. 6.Communiceer zo nodig met backendservers

    De proxy kan geen inventories of werelden zien. Daarvoor wisselt een kleine begeleidende plugin op elke backendserver plugin messages uit met de proxyplugin.

  7. 7.Installeer hem op de proxy

    Zet de .jar in de map plugins/ van de proxy en herstart de proxy, niet de backendservers.

Handige proxy-events

GebeurtenisWanneer het vuurtGebruikelijk gebruik
ProxyPingEventEen client ververst de serverlijstMOTD, aantal spelers, onderhoudsmelding
PostLoginEventEen speler is de proxy gejoindJoinberichten, spelersdata laden
ServerConnectEventEen speler staat op het punt met een server te verbindenSpelers naar een lobby sturen, servers blokkeren
ServerSwitchEventEen speler is naar een andere server gegaanBerichten "server gejoind" over het hele netwerk
PlayerDisconnectEventEen speler heeft het netwerk verlatenData opslaan, meldingen voor staff
ChatEventEen speler stuurt een chatbericht of commandoNetwerkchat, filters, staffchat

Het netwerk goed opzetten

  • Zet ip_forward aan in de config.yml van de proxy en bungeecord: true in de spigot.yml van elke Spigot- of Paper-server, zodat spelersnamen en UUID's worden doorgegeven.
  • Zet de backendservers op online-mode=false en zorg dat ze niet rechtstreeks vanaf het internet bereikbaar zijn, alleen via de proxy.
  • Plugin messages gaan alleen over zolang er een speler met die backendserver verbonden is, dus een bericht naar een lege server wordt niet afgeleverd.

Voorbeeldbeschrijving

"Een BungeeCord 1.21-proxyplugin genaamd NetUtils. /lobby stuurt de speler naar de lobbyserver. /staffchat <message> (alias /sc) stuurt een bericht naar iedereen met netutils.staff op elke server. /maintenance on|off toont een onderhouds-MOTD en kickt spelers zonder netutils.bypass. Een joinbericht in de staffchat als een stafflid van server wisselt. Servernamen, MOTD en berichten in config.yml."

Met Codexe

Kies het type BungeeCord/Velocity en zeg welke proxy je draait, want het zijn verschillende API's. Codexe compileert de plugin met Maven en controleert of de .jar de juiste descriptor heeft voordat hij Klaar is; zonder versie in het verzoek wordt de BungeeCord-API 1.21 gebruikt. Heb je een begeleidende backendplugin nodig, vraag die dan aan als apart Spigot/Paper-project.

Probeer het nu draait nog geen proxyservers, dus test de proxyplugin op je eigen netwerk of een lokale proxy met één backendserver. Zie ook de BungeeCord-plugingenerator.

Vragen

Kan een BungeeCord-plugin blokken of inventories veranderen?

Nee, de proxy regelt alleen verbindingen en berichten. Gebruik een backendplugin voor gameplay, en plugin messages als de twee moeten samenwerken.

Werkt het op Velocity?

Nee. Velocity heeft een eigen API en velocity-plugin.json. Draai je beide, maak dan twee projecten.

Proxyplugin of backendplugin voor chat?

Een proxyplugin als chat spelers op elke server moet bereiken. Een backendplugin als chat op één server blijft.

Maak een plugin voor je netwerk

Deze prompt opent klaar om te versturen:

“Een BungeeCord 1.21-proxyplugin genaamd NetUtils: /lobby stuurt de speler naar de lobbyserver, /staffchat (alias /sc) stuurt een bericht naar iedereen met netutils.staff op elke server, /maintenance on|off toont een onderhouds-MOTD en kickt spelers zonder netutils.bypass, serverwissels van staff gemeld in de staffchat, servernamen, MOTD en berichten in config.yml.”

Genereer dit met Codexe
Een BungeeCord-plugin voor je netwerk maken | Codexe