Poradnik

Jak zrobić plugin BungeeCord

Zaktualizowano: 18 października 2026

Plugin BungeeCord działa na proxy, które stoi przed twoimi serwerami, a nie na serwerze gry. Widzi, jak gracze się łączą, zmieniają serwery i wychodzą, więc to właściwe miejsce na czat dla całej sieci, narzędzia dla administracji, tryb konserwacji, MOTD i przenoszenie graczy między serwerami. Nie ma światów ani bloków: rozgrywka należy do pluginu na serwerach za proxy.

Zmień komendy pod swoją sieć.

Wygeneruj to w Codexe

Krok po kroku

  1. 1.Potwierdź, jakiego proxy używasz

    BungeeCord (lub fork, taki jak Waterfall) i Velocity to różne API. Plugin BungeeCord nie działa na Velocity i odwrotnie.

  2. 2.Przygotuj projekt

    Projekt Maven lub Gradle z zależnością bungeecord-api w zakresie provided. Proxy dostarcza ją w czasie działania.

  3. 3.Napisz klasę główną

    Klasa rozszerzająca net.md_5.bungee.api.plugin.Plugin, z onEnable() rejestrującym komendy i listenery przez getProxy().getPluginManager().

  4. 4.Opisz go w bungee.yml

    name, version, main i author. BungeeCord czyta też plugin.yml, ale bungee.yml pozwala uniknąć pomyłek z pluginami Spigot. Komendy rejestruje się w kodzie, a nie w pliku.

  5. 5.Napisz komendy i listenery

    Komendy rozszerzają Command; listenery implementują Listener z metodami @EventHandler dla zdarzeń takich jak PostLoginEvent czy ServerSwitchEvent.

  6. 6.W razie potrzeby komunikuj się z serwerami za proxy

    Proxy nie widzi ekwipunków ani światów. Do tego mały plugin towarzyszący na każdym serwerze za proxy wymienia plugin messages z pluginem proxy.

  7. 7.Zainstaluj go na proxy

    Wrzuć plik .jar do folderu plugins/ proxy i zrestartuj proxy, a nie serwery za nim.

Przydatne zdarzenia proxy

ZdarzenieKiedy się odpalaTypowe zastosowanie
ProxyPingEventKlient odświeża listę serwerówMOTD, liczba graczy, komunikat o konserwacji
PostLoginEventGracz dołączył do proxyWiadomości powitalne, wczytywanie danych gracza
ServerConnectEventGracz zaraz połączy się z serweremWysyłanie graczy do lobby, blokowanie serwerów
ServerSwitchEventGracz przeszedł na inny serwerWiadomości „dołączył do serwera” w całej sieci
PlayerDisconnectEventGracz opuścił siećZapis danych, powiadomienia dla administracji
ChatEventGracz wysyła wiadomość na czacie lub komendęCzat sieci, filtry, czat administracji

Poprawna konfiguracja sieci

  • Włącz ip_forward w config.yml proxy i bungeecord: true w spigot.yml każdego serwera Spigot lub Paper, żeby nazwy graczy i UUID były przekazywane dalej.
  • Ustaw serwery za proxy na online-mode=false i upewnij się, że nie da się się z nimi połączyć bezpośrednio z internetu, tylko przez proxy.
  • Plugin messages przechodzą tylko wtedy, gdy jakiś gracz jest połączony z danym serwerem za proxy, więc wiadomość do pustego serwera nie zostanie dostarczona.

Przykładowy opis

„Plugin proxy na BungeeCord 1.21 o nazwie NetUtils. /lobby wysyła gracza na serwer lobby. /staffchat <message> (alias /sc) wysyła wiadomość do wszystkich z netutils.staff na dowolnym serwerze. /maintenance on|off pokazuje MOTD konserwacji i wyrzuca graczy bez netutils.bypass. Wiadomość na czacie administracji, gdy członek administracji zmienia serwer. Nazwy serwerów, MOTD i wiadomości w config.yml.”

Z Codexe

Wybierz typ BungeeCord/Velocity i wpisz, jakiego proxy używasz, bo to różne API. Codexe kompiluje plugin przez Maven i sprawdza, czy plik .jar ma właściwy deskryptor, zanim będzie gotowy; bez wersji w prośbie używane jest API BungeeCord 1.21. Jeśli potrzebujesz pluginu towarzyszącego na serwerach za proxy, poproś o niego jako osobny projekt Spigot/Paper.

Wypróbuj teraz nie uruchamia jeszcze serwerów proxy, więc przetestuj plugin proxy w swojej sieci albo na lokalnym proxy z jednym serwerem za nim. Zobacz też generator pluginów BungeeCord.

Pytania

Czy plugin BungeeCord może zmieniać bloki lub ekwipunki?

Nie, proxy obsługuje tylko połączenia i wiadomości. Do rozgrywki użyj pluginu na serwerze za proxy, a plugin messages, jeśli oba mają ze sobą współpracować.

Czy działa na Velocity?

Nie. Velocity ma własne API i velocity-plugin.json. Jeśli używasz obu, zrób dwa projekty.

Plugin proxy czy plugin na serwerze do czatu?

Plugin proxy, jeśli czat ma docierać do graczy na każdym serwerze. Plugin na serwerze, jeśli czat zostaje na jednym serwerze.

Zrób plugin do swojej sieci

Ten prompt otworzy się gotowy do wysłania:

“Plugin proxy na BungeeCord 1.21 o nazwie NetUtils: /lobby wysyła gracza na serwer lobby, /staffchat (alias /sc) wysyła wiadomość do wszystkich z netutils.staff na dowolnym serwerze, /maintenance on|off pokazuje MOTD konserwacji i wyrzuca graczy bez netutils.bypass, zmiany serwera przez administrację ogłaszane na czacie administracji, nazwy serwerów, MOTD i wiadomości w config.yml.”

Wygeneruj to w Codexe
Jak zrobić plugin BungeeCord do swojej sieci | Codexe