Guia

Como criar um plugin de BungeeCord

Atualizado em 18 de outubro de 2026

Um plugin de BungeeCord roda no proxy que fica na frente dos seus servidores, não em um servidor de jogo. Ele vê os jogadores conectando, trocando de servidor e saindo, então é o lugar certo para chat da rede toda, ferramentas de staff, modo de manutenção, o MOTD e o envio de jogadores entre servidores. Ele não tem mundos nem blocos: a jogabilidade fica em um plugin nos servidores backend.

Adapte os comandos à sua rede.

Gere isto com o Codexe

Passo a passo

  1. 1.Confirme o proxy que você usa

    O BungeeCord (ou um fork como o Waterfall) e o Velocity são APIs diferentes. Um plugin de BungeeCord não roda no Velocity, e vice-versa.

  2. 2.Configure o projeto

    Um projeto Maven ou Gradle com a dependência bungeecord-api no escopo provided. O proxy a fornece em tempo de execução.

  3. 3.Escreva a classe principal

    Uma classe que estende net.md_5.bungee.api.plugin.Plugin, com onEnable() para registrar comandos e listeners pelo getProxy().getPluginManager().

  4. 4.Descreva o plugin no bungee.yml

    name, version, main e author. O BungeeCord também lê o plugin.yml, mas o bungee.yml evita confusão com plugins de Spigot. Os comandos são registrados no código, não no arquivo.

  5. 5.Escreva comandos e listeners

    Os comandos estendem Command; os listeners implementam Listener com métodos @EventHandler para eventos como PostLoginEvent ou ServerSwitchEvent.

  6. 6.Comunique-se com os servidores backend, se precisar

    O proxy não enxerga inventários nem mundos. Para isso, um pequeno plugin parceiro em cada servidor backend troca plugin messages com o plugin do proxy.

  7. 7.Instale no proxy

    Coloque o .jar na pasta plugins/ do proxy e reinicie o proxy, não os servidores backend.

Eventos úteis do proxy

EventoQuando disparaUso típico
ProxyPingEventUm cliente atualiza a lista de servidoresMOTD, número de jogadores, mensagem de manutenção
PostLoginEventUm jogador entrou no proxyMensagens de entrada, carregar dados do jogador
ServerConnectEventUm jogador está prestes a se conectar a um servidorMandar jogadores para um lobby, bloquear servidores
ServerSwitchEventUm jogador foi para outro servidorMensagens de "entrou no servidor" para a rede toda
PlayerDisconnectEventUm jogador saiu da redeSalvar dados, avisos para a staff
ChatEventUm jogador envia uma mensagem no chat ou um comandoChat da rede, filtros, chat da staff

Configurando a rede do jeito certo

  • Ative o ip_forward no config.yml do proxy e o bungeecord: true no spigot.yml de cada servidor Spigot ou Paper, para que os nomes e UUIDs dos jogadores sejam repassados.
  • Configure os servidores backend com online-mode=false e garanta que eles não possam ser acessados diretamente pela internet, só pelo proxy.
  • As plugin messages só trafegam enquanto um jogador está conectado àquele servidor backend, então uma mensagem para um servidor vazio não é entregue.

Exemplo de descrição

"Um plugin de proxy para BungeeCord 1.21 chamado NetUtils. /lobby manda o jogador para o servidor de lobby. /staffchat <message> (alias /sc) envia uma mensagem para todos com netutils.staff em qualquer servidor. /maintenance on|off mostra um MOTD de manutenção e expulsa os jogadores sem netutils.bypass. Uma mensagem no chat da staff quando um membro da staff troca de servidor. Nomes dos servidores, MOTD e mensagens no config.yml."

Com o Codexe

Escolha o tipo BungeeCord/Velocity e diga qual proxy você usa, já que são APIs diferentes. O Codexe compila o plugin com Maven e confere se o .jar tem o descritor certo antes de ficar Pronto; sem uma versão no pedido, é usada a API do BungeeCord 1.21. Se você precisar de um plugin parceiro no backend, peça como um projeto Spigot/Paper separado.

O Teste agora ainda não roda servidores proxy, então teste o plugin de proxy na sua própria rede ou em um proxy local com um servidor backend. Veja também o gerador de plugins para BungeeCord.

Perguntas

Um plugin de BungeeCord pode alterar blocos ou inventários?

Não, o proxy só cuida de conexões e mensagens. Use um plugin no backend para a jogabilidade e plugin messages se os dois precisarem trabalhar juntos.

Funciona no Velocity?

Não. O Velocity tem a própria API e o velocity-plugin.json. Se você usa os dois, crie dois projetos.

Plugin de proxy ou plugin no backend para o chat?

Um plugin de proxy se o chat precisa chegar aos jogadores de todos os servidores. Um plugin no backend se o chat fica em um servidor só.

Crie um plugin para a sua rede

Este prompt abre pronto para enviar:

“Um plugin de proxy para BungeeCord 1.21 chamado NetUtils: /lobby manda o jogador para o servidor de lobby, /staffchat (alias /sc) envia uma mensagem para todos com netutils.staff em qualquer servidor, /maintenance on|off mostra um MOTD de manutenção e expulsa os jogadores sem netutils.bypass, trocas de servidor da staff anunciadas no chat da staff, nomes dos servidores, MOTD e mensagens no config.yml.”

Gere isto com o Codexe
Como criar um plugin de BungeeCord para a sua rede | Codexe