Руководство

Как сделать плагин BungeeCord

Обновлено: 18 октября 2026 г.

Плагин BungeeCord работает на прокси, который стоит перед вашими серверами, а не на игровом сервере. Он видит, как игроки подключаются, переходят между серверами и уходят, поэтому именно здесь место для общего чата сети, инструментов персонала, режима техобслуживания, MOTD и отправки игроков между серверами. Миров и блоков у него нет: игровой процесс относится к плагину на бэкенд-серверах.

Подстройте команды под свою сеть.

Сгенерировать это в Codexe

Шаг за шагом

  1. 1.Уточните, какой у вас прокси

    BungeeCord (или форк вроде Waterfall) и Velocity это разные API. Плагин BungeeCord не работает на Velocity, и наоборот.

  2. 2.Настройте проект

    Проект Maven или Gradle с зависимостью bungeecord-api в области provided. Прокси предоставляет её во время работы.

  3. 3.Напишите главный класс

    Класс, который наследует net.md_5.bungee.api.plugin.Plugin, с onEnable() для регистрации команд и обработчиков через getProxy().getPluginManager().

  4. 4.Опишите его в bungee.yml

    name, version, main и author. BungeeCord читает и plugin.yml, но bungee.yml исключает путаницу с плагинами Spigot. Команды регистрируются в коде, а не в файле.

  5. 5.Напишите команды и слушатели

    Команды наследуют Command; обработчики реализуют Listener с методами @EventHandler для событий вроде PostLoginEvent или ServerSwitchEvent.

  6. 6.При необходимости свяжитесь с бэкенд-серверами

    Прокси не видит инвентари и миры. Для этого небольшой плагин-компаньон на каждом бэкенд-сервере обменивается plugin messages с плагином прокси.

  7. 7.Установите его на прокси

    Положите .jar в папку plugins/ прокси и перезапустите прокси, а не бэкенд-серверы.

Полезные события прокси

СобытиеКогда срабатываетТипичное применение
ProxyPingEventКлиент обновляет список серверовMOTD, число игроков, сообщение о техобслуживании
PostLoginEventИгрок зашёл на проксиСообщения о входе, загрузка данных игрока
ServerConnectEventИгрок вот-вот подключится к серверуОтправка игроков в лобби, блокировка серверов
ServerSwitchEventИгрок перешёл на другой серверСообщения «зашёл на сервер» на всю сеть
PlayerDisconnectEventИгрок покинул сетьСохранение данных, уведомления персонала
ChatEventИгрок отправляет сообщение в чат или командуОбщий чат сети, фильтры, чат персонала

Правильная настройка сети

  • Включите ip_forward в config.yml прокси и bungeecord: true в spigot.yml каждого сервера Spigot или Paper, чтобы ники и UUID игроков передавались дальше.
  • Поставьте на бэкенд-серверах online-mode=false и убедитесь, что к ним нельзя подключиться напрямую из интернета, только через прокси.
  • Plugin messages передаются только пока игрок подключён к этому бэкенд-серверу, поэтому сообщение на пустой сервер не доставляется.

Пример описания

«Плагин для прокси BungeeCord 1.21 под названием NetUtils. /lobby отправляет игрока на сервер-лобби. /staffchat <message> (алиас /sc) отправляет сообщение всем с netutils.staff на любом сервере. /maintenance on|off показывает MOTD техобслуживания и кикает игроков без netutils.bypass. Сообщение в чате персонала, когда сотрудник переходит на другой сервер. Названия серверов, MOTD и сообщения в config.yml.»

С Codexe

Выберите тип BungeeCord/Velocity и укажите, какой у вас прокси, потому что у них разные API. Codexe компилирует плагин через Maven и проверяет, что у .jar правильный дескриптор, прежде чем пометить его как «Готово»; если версия в запросе не указана, используется BungeeCord API 1.21. Если нужен компаньон для бэкенда, попросите его отдельным проектом Spigot/Paper.

«Попробовать сейчас» пока не запускает прокси-серверы, поэтому проверяйте плагин прокси в своей сети или на локальном прокси с одним бэкенд-сервером. См. также генератор плагинов BungeeCord.

Вопросы

Может ли плагин BungeeCord менять блоки или инвентари?

Нет, прокси занимается только подключениями и сообщениями. Для игрового процесса используйте плагин на бэкенде, а plugin messages, если им нужно работать вместе.

Работает ли он на Velocity?

Нет. У Velocity свой API и velocity-plugin.json. Если у вас оба, сделайте два проекта.

Плагин прокси или бэкенда для чата?

Плагин прокси, если чат должен доходить до игроков на всех серверах. Плагин бэкенда, если чат остаётся на одном сервере.

Создайте плагин для своей сети

Этот промпт откроется уже готовым к отправке:

“Плагин для прокси BungeeCord 1.21 под названием NetUtils: /lobby отправляет игрока на сервер-лобби, /staffchat (алиас /sc) отправляет сообщение всем с netutils.staff на любом сервере, /maintenance on|off показывает MOTD техобслуживания и кикает игроков без netutils.bypass, переходы персонала объявляются в чате персонала, названия серверов, MOTD и сообщения в config.yml.”

Сгенерировать это в Codexe
Как сделать плагин BungeeCord для вашей сети | Codexe