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 Codexe

Paso a paso

  1. 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. 2.Prepara el proyecto

    Un proyecto Maven o Gradle con la dependencia bungeecord-api con scope provided. El proxy la aporta en tiempo de ejecución.

  3. 3.Escribe la clase principal

    Una clase que extiende net.md_5.bungee.api.plugin.Plugin, con onEnable() para registrar comandos y listeners a través de getProxy().getPluginManager().

  4. 4.Descríbelo en bungee.yml

    name, version, main y author. BungeeCord también lee plugin.yml, pero bungee.yml evita confusiones con los plugins de Spigot. Los comandos se registran en el código, no en el archivo.

  5. 5.Escribe comandos y listeners

    Los comandos extienden Command; los listeners implementan Listener con métodos @EventHandler para eventos como PostLoginEvent o ServerSwitchEvent.

  6. 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. 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

EventoCuándo se disparaUso habitual
ProxyPingEventUn cliente actualiza la lista de servidoresMOTD, número de jugadores, mensaje de mantenimiento
PostLoginEventUn jugador ha entrado al proxyMensajes de entrada, carga de datos del jugador
ServerConnectEventUn jugador está a punto de conectarse a un servidorEnviar jugadores a un lobby, bloquear servidores
ServerSwitchEventUn jugador se ha movido a otro servidorMensajes de «ha entrado al servidor» en toda la red
PlayerDisconnectEventUn jugador ha salido de la redGuardar datos, avisos al staff
ChatEventUn jugador envía un mensaje de chat o un comandoChat de red, filtros, chat del staff

Configurar bien la red

  • Activa ip_forward en el config.yml del proxy y bungeecord: true en el spigot.yml de cada servidor Spigot o Paper, para que se transmitan los nombres y UUID de los jugadores.
  • Pon los servidores backend en online-mode=false y 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
Cómo crear un plugin de BungeeCord para tu red | Codexe