Плагин для серверов Майнкрафт на Velocity, который связывает прокси с Discord-сервером. Он передаёт чат, события игроков и логи консоли, а также позволяет выполнять команды прокси из выделенного канала Discord.
Возможности
- Сообщения игроков отправляются в Discord, а сообщения из Discord — всем игрокам на прокси. При наличии LuckPerms рядом с ником отображаются префикс и суффикс.
- В Discord можно отправлять уведомления о входе и выходе игроков, переходах между серверами, выполненных командах, запуске и остановке прокси.
- Логи Velocity передаются в отдельный консольный канал без служебных ANSI-кодов.
- Бот показывает статус с числом игроков через
%online%и%max%. Статус можно задать одним сообщением, менять по кругу или по расписанию; состояние бота настраивается автоматически по онлайну либо вручную. - Команда
/playersвыводит игроков на каждом сервере прокси и умеет фильтровать результат по серверу. - С Statify доступна команда
/timeдля просмотра наигранного времени игрока по серверам. - При несовпадении формата конфигов старые файлы сохраняются с другим именем, а вместо них создаются новые.
Команды
/discord-velocity info— показывает состояние бота, каналы и текущий статус./discord-velocity reload— перечитываетconfig.ymlиmessages.ymlбез перезапуска прокси./dv— короткая форма команды плагина./commandsв консольном канале Discord — выводит команды прокси./players [server]— показывает онлайн; параметрserverнеобязателен./time <player> [period] [from] [to]— показывает время игрока. Для периода можно использоватьall,day,week,month,yearилиcustom; для своего диапазона даты указываются в форматеDD.MM.YYYYлибоDD.MM.YY.
Обычное сообщение в консольном канале выполняется как команда прокси; символ / перед командой необязателен.
Права
Для использования команд плагина из игры требуется право discordvelocity.admin. Из консоли прокси и консольного канала Discord оно не нужно.
Настройка
Основные параметры находятся в plugins/discord-velocity/config.yml:
discord.token,discord.guild-idи идентификаторы каналов связывают плагин с ботом и сервером Discord.chat.mc-to-discordиchat.discord-to-mcвключают передачу чата в нужном направлении.events.command-logотвечает за отправку выполненных игроками команд.console.bidirectionalразрешает выполнение команд из консольного канала,console.flush-interval-msзадаёт интервал объединения строк логов, аconsole.exclude-loggersисключает лишние источники логов.- В разделе
presenceзадаются режим статуса, текст, интервал смены, расписание и состоянияONLINE,IDLE,DNDилиINVISIBLE. messages.ymlсодержит тексты уведомлений и поддерживает плейсхолдеры%player%,%displayname%,%server%,%role%,%from%,%to%,%message%,%command%и%count%.
Для статистики времени включите statify.enabled и укажите в statify данные MySQL или MariaDB и список серверов.
Требования
Нужны Java, Velocity и приложение-бот Discord с включёнными разрешениями MESSAGE CONTENT INTENT и SERVER MEMBERS INTENT. Чтобы скопировать идентификаторы сервера и каналов, в Discord включите режим разработчика.
LuckPerms нужен для отображения префиксов и суффиксов игроков. Для команды /time требуются Statify Paper и база данных MySQL или MariaDB.
