Guide
Sådan laver du et BungeeCord-plugin
Opdateret 18. oktober 2026
Et BungeeCord-plugin kører på den proxy, der står foran dine servere, ikke på en spilserver. Det ser spillere forbinde, skifte server og forlade, så det er det rigtige sted til chat på tværs af netværket, staffværktøjer, vedligeholdelsestilstand, MOTD og at sende spillere mellem servere. Det har ingen verdener eller blokke: gameplay hører hjemme i et plugin på backend-serverne.
Tilpas kommandoerne til dit netværk.
Generér dette med CodexeTrin for trin
1.Bekræft, hvilken proxy du kører
BungeeCord (eller en fork som Waterfall) og Velocity er forskellige API'er. Et BungeeCord-plugin kører ikke på Velocity og omvendt.
2.Sæt projektet op
Et Maven- eller Gradle-projekt med afhængigheden
bungeecord-apii scopeprovided. Proxyen leverer den under kørsel.3.Skriv hovedklassen
En klasse, der udvider
net.md_5.bungee.api.plugin.Plugin, medonEnable()til at registrere kommandoer og listeners viagetProxy().getPluginManager().4.Beskriv det i bungee.yml
name,version,mainogauthor. BungeeCord læser ogsåplugin.yml, menbungee.ymlundgår forveksling med Spigot-plugins. Kommandoer registreres i koden, ikke i filen.5.Skriv kommandoer og listeners
Kommandoer udvider
Command; listeners implementererListenermed@EventHandler-metoder til events somPostLoginEventellerServerSwitchEvent.6.Kommunikér med backend-servere, hvis det er nødvendigt
Proxyen kan ikke se inventories eller verdener. Til det udveksler et lille ledsagerplugin på hver backend-server plugin messages med proxypluginet.
7.Installér det på proxyen
Læg .jar-filen i proxyens
plugins/-mappe, og genstart proxyen, ikke backend-serverne.
Nyttige proxy-events
| Hændelse | Hvornår det udløses | Typisk brug |
|---|---|---|
ProxyPingEvent | En klient opdaterer serverlisten | MOTD, spillerantal, vedligeholdelsesbesked |
PostLoginEvent | En spiller har joinet proxyen | Join-beskeder, indlæsning af spillerdata |
ServerConnectEvent | En spiller er ved at forbinde til en server | Sende spillere til en lobby, blokere servere |
ServerSwitchEvent | En spiller er flyttet til en anden server | "Har joinet serveren"-beskeder på tværs af netværket |
PlayerDisconnectEvent | En spiller har forladt netværket | Gemme data, notifikationer til staff |
ChatEvent | En spiller sender en chatbesked eller kommando | Netværkschat, filtre, staffchat |
Sådan sætter du netværket rigtigt op
- Slå
ip_forwardtil i proxyensconfig.ymlogbungeecord: truei hver Spigot- eller Paper-serversspigot.yml, så spillernavne og UUID'er sendes videre. - Sæt backend-serverne til
online-mode=false, og sørg for, at de ikke kan nås direkte fra internettet, kun via proxyen. - Plugin messages sendes kun, mens en spiller er forbundet til den backend-server, så en besked til en tom server bliver ikke leveret.
Eksempel på beskrivelse
"Et BungeeCord 1.21-proxyplugin kaldet NetUtils. /lobby sender spilleren til lobbyserveren. /staffchat <message> (alias /sc) sender en besked til alle med netutils.staff på enhver server. /maintenance on|off viser en vedligeholdelses-MOTD og kicker spillere uden netutils.bypass. En join-besked i staffchatten, når et staffmedlem skifter server. Servernavne, MOTD og beskeder i config.yml."
Med Codexe
Vælg typen BungeeCord/Velocity, og skriv, hvilken proxy du kører, da de er forskellige API'er. Codexe kompilerer pluginet med Maven og tjekker, at .jar-filen har den rigtige descriptor, før det er Klar; uden en version i anmodningen bruges BungeeCord-API'en 1.21. Hvis du har brug for et ledsagerplugin til backend, så bed om det som et separat Spigot/Paper-projekt.
Prøv det nu kører endnu ikke proxyservere, så test proxypluginet på dit eget netværk eller en lokal proxy med én backend-server. Se også BungeeCord-plugingeneratoren.
Spørgsmål
Kan et BungeeCord-plugin ændre blokke eller inventories?
Nej, proxyen håndterer kun forbindelser og beskeder. Brug et backend-plugin til gameplay og plugin messages, hvis de to skal arbejde sammen.
Virker det på Velocity?
Nej. Velocity har sin egen API og velocity-plugin.json. Hvis du kører begge, så lav to projekter.
Proxyplugin eller backend-plugin til chat?
Et proxyplugin, hvis chatten skal nå spillere på alle servere. Et backend-plugin, hvis chatten bliver på én server.
Lav et plugin til dit netværk
Denne prompt åbnes klar til at sende:
“Et BungeeCord 1.21-proxyplugin kaldet NetUtils: /lobby sender spilleren til lobbyserveren, /staffchat (alias /sc) sender en besked til alle med netutils.staff på enhver server, /maintenance on|off viser en vedligeholdelses-MOTD og kicker spillere uden netutils.bypass, staffs serverskift annonceres i staffchatten, servernavne, MOTD og beskeder i config.yml.”
Generér dette med Codexe