Návod

Jak vytvořit plugin pro BungeeCord

Aktualizováno 18. října 2026

Plugin pro BungeeCord běží na proxy, která stojí před tvými servery, ne na herním serveru. Vidí, jak se hráči připojují, přepínají servery a odcházejí, takže je to správné místo pro chat napříč sítí, nástroje pro tým, režim údržby, MOTD a přesouvání hráčů mezi servery. Nemá světy ani bloky: hratelnost patří do pluginu na backend serverech.

Uprav příkazy podle své sítě.

Vygeneruj to s Codexe

Krok za krokem

  1. 1.Ověř, jakou proxy provozuješ

    BungeeCord (nebo fork jako Waterfall) a Velocity mají různá API. Plugin pro BungeeCord na Velocity neběží a naopak.

  2. 2.Nastav projekt

    Projekt Maven nebo Gradle se závislostí bungeecord-api se scope provided. Za běhu ji dodá proxy.

  3. 3.Napiš hlavní třídu

    Třída, která rozšiřuje net.md_5.bungee.api.plugin.Plugin, s onEnable(), kde se přes getProxy().getPluginManager() registrují příkazy a posluchače.

  4. 4.Popiš ho v bungee.yml

    name, version, main a author. BungeeCord čte i plugin.yml, ale bungee.yml předejde záměně s pluginy pro Spigot. Příkazy se registrují v kódu, ne v souboru.

  5. 5.Napiš příkazy a listenery

    Příkazy rozšiřují Command; posluchače implementují Listener s metodami @EventHandler pro události jako PostLoginEvent nebo ServerSwitchEvent.

  6. 6.Komunikuj s backend servery, pokud je to potřeba

    Proxy nevidí inventáře ani světy. Na to slouží malý doprovodný plugin na každém backend serveru, který si s proxy pluginem vyměňuje plugin messages.

  7. 7.Nainstaluj ho na proxy

    Dej .jar do složky plugins/ proxy a restartuj proxy, ne backend servery.

Užitečné události proxy

UdálostKdy se spustíTypické použití
ProxyPingEventKlient obnoví seznam serverůMOTD, počet hráčů, zpráva o údržbě
PostLoginEventHráč se připojil na proxyUvítací zprávy, načtení dat hráče
ServerConnectEventHráč se chystá připojit na serverPosílání hráčů do lobby, blokování serverů
ServerSwitchEventHráč přešel na jiný serverZprávy „připojil se na server“ napříč sítí
PlayerDisconnectEventHráč opustil síťUkládání dat, upozornění pro tým
ChatEventHráč pošle zprávu do chatu nebo příkazChat napříč sítí, filtry, chat pro tým

Jak správně nastavit síť

  • Zapni ip_forward v config.yml proxy a bungeecord: true ve spigot.yml každého serveru Spigot nebo Paper, aby se předávala jména hráčů a UUID.
  • Nastav backend servery na online-mode=false a zajisti, aby nebyly dostupné přímo z internetu, jen přes proxy.
  • Plugin messages putují jen tehdy, když je k danému backend serveru připojený nějaký hráč, takže zpráva na prázdný server nedorazí.

Příklad popisu

„Proxy plugin pro BungeeCord 1.21 jménem NetUtils. /lobby pošle hráče na lobby server. /staffchat <message> (alias /sc) pošle zprávu všem s netutils.staff na jakémkoli serveru. /maintenance on|off ukáže MOTD údržby a vyhodí hráče bez netutils.bypass. Zpráva v chatu týmu, když člen týmu přepne server. Názvy serverů, MOTD a zprávy v config.yml.“

S Codexe

Vyber typ BungeeCord/Velocity a napiš, jakou proxy provozuješ, protože mají různá API. Codexe plugin zkompiluje přes Maven a zkontroluje, že .jar má správný deskriptor, než je Ready; bez verze v zadání se použije API BungeeCordu 1.21. Pokud potřebuješ doprovodný plugin pro backend, požádej o něj jako o samostatný projekt pro Spigot/Paper.

Vyzkoušet hned zatím proxy servery nespouští, takže proxy plugin otestuj na vlastní síti nebo na lokální proxy s jedním backend serverem. Viz také generátor pluginů pro BungeeCord.

Otázky

Může plugin pro BungeeCord měnit bloky nebo inventáře?

Ne, proxy řeší jen připojení a zprávy. Na hratelnost použij backend plugin, a pokud mají ty dva spolupracovat, plugin messages.

Funguje to na Velocity?

Ne. Velocity má vlastní API a velocity-plugin.json. Pokud provozuješ obojí, udělej dva projekty.

Proxy plugin, nebo backend plugin pro chat?

Proxy plugin, pokud chat musí dorazit k hráčům na všech serverech. Backend plugin, pokud chat zůstává na jednom serveru.

Vytvoř plugin pro svou síť

Toto zadání se otevře připravené k odeslání:

“Proxy plugin pro BungeeCord 1.21 jménem NetUtils: /lobby pošle hráče na lobby server, /staffchat (alias /sc) pošle zprávu všem s netutils.staff na jakémkoli serveru, /maintenance on|off ukáže MOTD údržby a vyhodí hráče bez netutils.bypass, přepnutí serveru členem týmu oznámené v chatu týmu, názvy serverů, MOTD a zprávy v config.yml.”

Vygeneruj to s Codexe
Jak vytvořit plugin pro BungeeCord pro tvou síť | Codexe