Guía
Cómo crear un plugin de BungeeCord
Actualizado el 18 de octubre de 2026
Un plugin de BungeeCord se ejecuta en el proxy que está delante de tus servidores, no en un servidor de juego. Ve a los jugadores conectarse, cambiar de servidor y salir, así que es el sitio adecuado para el chat de toda la red, las herramientas del staff, el modo mantenimiento, el MOTD y el envío de jugadores entre servidores. No tiene mundos ni bloques: la jugabilidad va en un plugin de los servidores backend.
Adapta los comandos a tu red.
Genera esto con CodexePaso a paso
1.Confirma qué proxy usas
BungeeCord (o un fork como Waterfall) y Velocity son APIs distintas. Un plugin de BungeeCord no funciona en Velocity, ni al revés.
2.Prepara el proyecto
Un proyecto Maven o Gradle con la dependencia
bungeecord-apicon scopeprovided. El proxy la aporta en tiempo de ejecución.3.Escribe la clase principal
Una clase que extiende
net.md_5.bungee.api.plugin.Plugin, cononEnable()para registrar comandos y listeners a través degetProxy().getPluginManager().4.Descríbelo en bungee.yml
name,version,mainyauthor. BungeeCord también leeplugin.yml, perobungee.ymlevita confusiones con los plugins de Spigot. Los comandos se registran en el código, no en el archivo.5.Escribe comandos y listeners
Los comandos extienden
Command; los listeners implementanListenercon métodos@EventHandlerpara eventos comoPostLoginEventoServerSwitchEvent.6.Comunícate con los servidores backend si hace falta
El proxy no puede ver inventarios ni mundos. Para eso, un pequeño plugin complementario en cada servidor backend intercambia plugin messages con el plugin del proxy.
7.Instálalo en el proxy
Pon el .jar en la carpeta
plugins/del proxy y reinicia el proxy, no los servidores backend.
Eventos útiles del proxy
| Evento | Cuándo se dispara | Uso habitual |
|---|---|---|
ProxyPingEvent | Un cliente actualiza la lista de servidores | MOTD, número de jugadores, mensaje de mantenimiento |
PostLoginEvent | Un jugador ha entrado al proxy | Mensajes de entrada, carga de datos del jugador |
ServerConnectEvent | Un jugador está a punto de conectarse a un servidor | Enviar jugadores a un lobby, bloquear servidores |
ServerSwitchEvent | Un jugador se ha movido a otro servidor | Mensajes de «ha entrado al servidor» en toda la red |
PlayerDisconnectEvent | Un jugador ha salido de la red | Guardar datos, avisos al staff |
ChatEvent | Un jugador envía un mensaje de chat o un comando | Chat de red, filtros, chat del staff |
Configurar bien la red
- Activa
ip_forwarden elconfig.ymldel proxy ybungeecord: trueen elspigot.ymlde cada servidor Spigot o Paper, para que se transmitan los nombres y UUID de los jugadores. - Pon los servidores backend en
online-mode=falsey asegúrate de que no se puede acceder a ellos directamente desde internet, solo a través del proxy. - Los plugin messages solo viajan mientras hay un jugador conectado a ese servidor backend, así que un mensaje a un servidor vacío no se entrega.
Descripción de ejemplo
«Un plugin de proxy para BungeeCord 1.21 llamado NetUtils. /lobby envía al jugador al servidor lobby. /staffchat <message> (alias /sc) envía un mensaje a todos los que tengan netutils.staff en cualquier servidor. /maintenance on|off muestra un MOTD de mantenimiento y expulsa a los jugadores sin netutils.bypass. Un mensaje de entrada en el chat del staff cuando un miembro del staff cambia de servidor. Nombres de servidores, MOTD y mensajes en config.yml.»
Con Codexe
Elige el tipo BungeeCord/Velocity e indica qué proxy usas, ya que son APIs distintas. Codexe compila el plugin con Maven y comprueba que el .jar tenga el descriptor correcto antes de que esté Listo; si la petición no indica versión, se usa la API de BungeeCord 1.21. Si necesitas un complemento para el backend, pídelo como un proyecto aparte de Spigot/Paper.
Pruébalo ahora todavía no ejecuta servidores proxy, así que prueba el plugin de proxy en tu propia red o en un proxy local con un servidor backend. Consulta también el generador de plugins para BungeeCord.
Preguntas
¿Puede un plugin de BungeeCord cambiar bloques o inventarios?
No, el proxy solo gestiona conexiones y mensajes. Usa un plugin de backend para la jugabilidad, y plugin messages si los dos tienen que funcionar juntos.
¿Funciona en Velocity?
No. Velocity tiene su propia API y velocity-plugin.json. Si usas los dos, crea dos proyectos.
¿Plugin de proxy o de backend para el chat?
Un plugin de proxy si el chat tiene que llegar a los jugadores de todos los servidores. Un plugin de backend si el chat se queda en un solo servidor.
Crea un plugin para tu red
Este prompt se abre listo para enviar:
“Un plugin de proxy para BungeeCord 1.21 llamado NetUtils: /lobby envía al jugador al servidor lobby, /staffchat (alias /sc) envía un mensaje a todos los que tengan netutils.staff en cualquier servidor, /maintenance on|off muestra un MOTD de mantenimiento y expulsa a los jugadores sin netutils.bypass, los cambios de servidor del staff se anuncian en el chat del staff, nombres de servidores, MOTD y mensajes en config.yml.”
Genera esto con Codexe