▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/CommandBridge
CommandBridge

CommandBridge

CommandBridge - плагин для Velocity, который связывает все серверы сети Minecraft и позволяет выполнять команды на любом из них. Управление через YAML-скрипты, поддержка WebSocket и Redis, безопасность HMAC-SHA256.

Оцените первым
7.3K
30

CommandBridge - это решение для тех, кто управляет сетью Minecraft из нескольких серверов (лобби, выживание, мини-игры). Вместо того чтобы настраивать плагин-месседжинг или вручную проксировать команды, вы просто пишете YAML-скрипты на Velocity, и они выполняются на любом подключенном бэкенде. Игрок запускает /lobby на сервере выживания - прокси перехватывает, отправляет его на лобби. Админ пишет /alert на Velocity - команда уходит на все серверы сразу. И всё это без лишних зависимостей и ограничений по онлайну.

Как это работает

Всё строится на скриптах. Создаёте .yml файл, в нём прописываете имя команды, аргументы, где она регистрируется и что происходит при выполнении. Кладёте файл в папку scripts на Velocity - готово. CommandBridge читает, проверяет и регистрирует команды на указанных серверах. Если в скрипте ошибка, плагин скажет, что именно не так, и пропустит только этот файл - остальные продолжат работать.

Вот простой пример. Этот скрипт регистрирует /alert на прокси и отправляет сообщение на два бэкенда от имени консоли:

version: 4

name: example
description: An example command script - edit or replace this with your own
enabled: false
aliases: [ex]

permissions:
  enabled: true
  silent: false

register:
  - id: "client-1"
    location: VELOCITY

defaults:
  run-as: CONSOLE
  execute:
    - id: "survival-1"
      location: BACKEND
  server:
    target-required: false
    schedule-online: false
    player-arg: ""
  delay: 0s
  cooldown: 0s

args:
  - name: player
    required: true
    type: STRING
    suggestions: []

  - name: message
    required: true
    type: TEXT
    suggestions: []

commands:
  - command: "msg ${player} ${message}"

Платформы

Один JAR-файл работает везде. Ставите его на Velocity и на все бэкенды - он сам понимает, где работает.

Транспорт

Выбираете один из двух вариантов. WebSocket работает из коробки - Velocity выступает сервером, бэкенды подключаются к нему. Никаких внешних зависимостей, встроенная поддержка TLS.

Redis - все инстансы подключаются к вашему существующему Redis. Удобно, если сервера за NAT или вы уже используете Redis для других задач.

Оба режима поддерживают несколько прокси. Один Velocity работает как основной, остальные подключаются в режиме клиента.

Безопасность

Каждое соединение аутентифицируется через HMAC-SHA256. Обе стороны доказывают, что знают секрет, не передавая его по сети. Поверх этого - TLS-шифрование с тремя режимами на выбор.

По умолчанию включён TOFU. Velocity при первом запуске генерирует самоподписанный сертификат, бэкенды автоматически его запоминают. Никакой ручной работы с сертификатами, шифрование с первого включения.

Режимы выполнения

Команды могут выполняться в трёх контекстах:

  • CONSOLE - полные права, как от консоли.
  • PLAYER - от имени игрока, который вызвал команду.
  • OPERATOR - временные повышенные права только на эту команду, ничего лишнего.

Аргументы

Полный разбор аргументов с автодополнением через CommandAPI. 22 типа - от простых строк до майнкрафтовских сущностей, игроков, локаций, предметов.

Аргументы становятся плейсхолдерами ${name} в ваших командах. Поддерживается PlaceholderAPI - можно подставлять данные из статистики игрока, экономики и других источников.

Создан для реальных сетей

CommandBridge спроектирован для продакшена. На команды можно ставить кулдауны от миллисекунд до часов. Если игрок офлайн в момент выполнения команды, плагин ставит её в очередь и выполнит, когда игрок зайдёт - даже после перезапуска серверов.

Можно задавать задержки для отдельных команд, перезагружать все скрипты без остановки сервера через /cb reload, а в одном скрипте прописать несколько команд с разными целями и настройками. Всё управляется с одного Velocity.

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

Требования

На каждом сервере обязателен CommandAPI. PlaceholderAPI через PapiProxyBridge и PacketEvents - опционально.

Метрики

Этот плагин собирает анонимную статистику через bStats. Отключить можно в plugins/bStats/config.yml.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26.1.x1.21.x1.20.x

Поддерживаемые окружения

Сервер

Ссылки

Создатели

Детали

Лицензия:
Опубликован:2 года назад
Обновлён:1 неделю назад
Главная