Guide

Så gör du ett BungeeCord-plugin

Uppdaterad 18 oktober 2026

Ett BungeeCord-plugin körs på proxyn som står framför dina servrar, inte på en spelserver. Den ser spelare ansluta, byta server och lämna, så det är rätt ställe för chatt i hela nätverket, personalverktyg, underhållsläge, MOTD och att skicka spelare mellan servrar. Den har inga världar eller block: gameplay hör hemma i ett plugin på backend-servrarna.

Anpassa kommandona efter ditt nätverk.

Generera det här med Codexe

Steg för steg

  1. 1.Bekräfta vilken proxy du kör

    BungeeCord (eller en fork som Waterfall) och Velocity är olika API:er. Ett BungeeCord-plugin fungerar inte på Velocity, och tvärtom.

  2. 2.Sätt upp projektet

    Ett Maven- eller Gradle-projekt med beroendet bungeecord-api i scope provided. Proxyn tillhandahåller det vid körning.

  3. 3.Skriv huvudklassen

    En klass som utökar net.md_5.bungee.api.plugin.Plugin, med onEnable() för att registrera kommandon och lyssnare via getProxy().getPluginManager().

  4. 4.Beskriv det i bungee.yml

    name, version, main och author. BungeeCord läser också plugin.yml, men bungee.yml undviker förväxling med Spigot-plugin. Kommandon registreras i koden, inte i filen.

  5. 5.Skriv kommandon och lyssnare

    Kommandon utökar Command; lyssnare implementerar Listener med @EventHandler-metoder för händelser som PostLoginEvent eller ServerSwitchEvent.

  6. 6.Kommunicera med backend-servrar vid behov

    Proxyn kan inte se inventarier eller världar. För det utbyter ett litet kompanjonsplugin på varje backend-server plugin messages med proxypluginet.

  7. 7.Installera det på proxyn

    Lägg .jar-filen i proxyns mapp plugins/ och starta om proxyn, inte backend-servrarna.

Användbara proxyhändelser

HändelseNär den utlösesTypisk användning
ProxyPingEventEn klient uppdaterar serverlistanMOTD, antal spelare, underhållsmeddelande
PostLoginEventEn spelare har anslutit till proxynVälkomstmeddelanden, inläsning av spelardata
ServerConnectEventEn spelare håller på att ansluta till en serverSkicka spelare till en lobby, blockera servrar
ServerSwitchEventEn spelare har flyttat till en annan serverMeddelanden om ”gick in på servern” i hela nätverket
PlayerDisconnectEventEn spelare har lämnat nätverketSpara data, aviseringar till personalen
ChatEventEn spelare skickar ett chattmeddelande eller kommandoNätverkschatt, filter, personalchatt

Sätta upp nätverket rätt

  • Slå på ip_forward i proxyns config.yml och bungeecord: true i varje Spigot- eller Paper-servers spigot.yml, så att spelarnamn och UUID:n skickas vidare.
  • Sätt backend-servrarna till online-mode=false och se till att de inte kan nås direkt från internet, bara via proxyn.
  • Plugin messages skickas bara medan en spelare är ansluten till den backend-servern, så ett meddelande till en tom server levereras inte.

Exempelbeskrivning

”Ett proxyplugin för BungeeCord 1.21 som heter NetUtils. /lobby skickar spelaren till lobbyservern. /staffchat <message> (alias /sc) skickar ett meddelande till alla med netutils.staff på vilken server som helst. /maintenance on|off visar en MOTD för underhåll och sparkar ut spelare utan netutils.bypass. Ett meddelande i personalchatten när någon i personalen byter server. Servernamn, MOTD och meddelanden i config.yml.”

Med Codexe

Välj typen BungeeCord/Velocity och ange vilken proxy du kör, eftersom de är olika API:er. Codexe kompilerar pluginet med Maven och kontrollerar att .jar-filen har rätt deskriptor innan den blir Redo; utan version i begäran används BungeeCord-API:et 1.21. Behöver du ett kompanjonsplugin för backend, be om det som ett separat Spigot/Paper-projekt.

Prova nu kör inte proxyservrar än, så testa proxypluginet på ditt eget nätverk eller en lokal proxy med en backend-server. Se också BungeeCord-plugingeneratorn.

Frågor

Kan ett BungeeCord-plugin ändra block eller inventarier?

Nej, proxyn hanterar bara anslutningar och meddelanden. Använd ett backend-plugin för gameplay, och plugin messages om de två måste samarbeta.

Fungerar det på Velocity?

Nej. Velocity har ett eget API och velocity-plugin.json. Kör du båda, gör två projekt.

Proxyplugin eller backend-plugin för chatten?

Ett proxyplugin om chatten ska nå spelare på alla servrar. Ett backend-plugin om chatten stannar på en server.

Gör ett plugin för ditt nätverk

Den här prompten öppnas färdig att skicka:

“Ett proxyplugin för BungeeCord 1.21 som heter NetUtils: /lobby skickar spelaren till lobbyservern, /staffchat (alias /sc) skickar ett meddelande till alla med netutils.staff på vilken server som helst, /maintenance on|off visar en MOTD för underhåll och sparkar ut spelare utan netutils.bypass, serverbyten i personalen meddelas i personalchatten, servernamn, MOTD och meddelanden i config.yml.”

Generera det här med Codexe
Så gör du ett BungeeCord-plugin för ditt nätverk | Codexe