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 CodexePasso a passo
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.Configure o projeto
Um projeto Maven ou Gradle com a dependência
bungeecord-apino escopoprovided. O proxy a fornece em tempo de execução.3.Escreva a classe principal
Uma classe que estende
net.md_5.bungee.api.plugin.Plugin, comonEnable()para registrar comandos e listeners pelogetProxy().getPluginManager().4.Descreva o plugin no bungee.yml
name,version,maineauthor. O BungeeCord também lê oplugin.yml, mas obungee.ymlevita confusão com plugins de Spigot. Os comandos são registrados no código, não no arquivo.5.Escreva comandos e listeners
Os comandos estendem
Command; os listeners implementamListenercom métodos@EventHandlerpara eventos comoPostLoginEventouServerSwitchEvent.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.Instale no proxy
Coloque o .jar na pasta
plugins/do proxy e reinicie o proxy, não os servidores backend.
Eventos úteis do proxy
| Evento | Quando dispara | Uso típico |
|---|---|---|
ProxyPingEvent | Um cliente atualiza a lista de servidores | MOTD, número de jogadores, mensagem de manutenção |
PostLoginEvent | Um jogador entrou no proxy | Mensagens de entrada, carregar dados do jogador |
ServerConnectEvent | Um jogador está prestes a se conectar a um servidor | Mandar jogadores para um lobby, bloquear servidores |
ServerSwitchEvent | Um jogador foi para outro servidor | Mensagens de "entrou no servidor" para a rede toda |
PlayerDisconnectEvent | Um jogador saiu da rede | Salvar dados, avisos para a staff |
ChatEvent | Um jogador envia uma mensagem no chat ou um comando | Chat da rede, filtros, chat da staff |
Configurando a rede do jeito certo
- Ative o
ip_forwardnoconfig.ymldo proxy e obungeecord: truenospigot.ymlde cada servidor Spigot ou Paper, para que os nomes e UUIDs dos jogadores sejam repassados. - Configure os servidores backend com
online-mode=falsee 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