
Подключение сервера Minecraft к QQ с помощью MiraiMC
MiraiMC (DreamVoid/MiraiMC)
Плагин для серверов Minecraft, интегрирующий бота QQ
Если вы управляете сервером Minecraft и хотите охватить игроков на QQ (особенно актуально для международных сообществ), вы, наверное, задумывались о мосте между платформами. MiraiMC делает именно это. Это плагин, соединяющий сервер с ботами QQ, позволяющий автоматизировать объявления, управлять игроками и создавать единую чат-опыт на обеих платформах.
Функциональность Плагина
MiraiMC - плагин для серверов Minecraft, построенный на фреймворке Mirai, действующий как мост между игровым сервером и аккаунтами QQ. Это своего рода посредник: сервер отправляет события в QQ (входы игроков, смерти, сообщения чата), а команды QQ могут запускать действия в мире Minecraft. Игрок, находящийся в режиме AFK в QQ, по-прежнему видит, что происходит на сервере. Кто-то на сервере получает мгновенное уведомление, когда товарищ по команде заходит, даже если они проверяют телефон на диване.
Плагин поддерживает пять разных платформ серверов: варианты Bukkit (Spigot, Paper), BungeeCord и его форки, Nukkit, Sponge и Velocity. Значит, независимо от того, управляете ли вы небольшим сервером vanilla или сложной сетью прокси, есть версия для вас.
Почему Вам Нужно Это
Большинство администраторов серверов, говорящих по-английски, никогда не задумываются о интеграции с QQ, поскольку их сообщества в основном на Discord. Это справедливо. Но здесь становится полезно: если у вас есть игроки из Китая, Юго-Восточной Азии или где-либо еще, где QQ является стандартной платформой для обмена сообщениями, вы уже теряете их. Они создадут свои собственные чат-группы на QQ в любом случае. MiraiMC просто делает это официально.
Практические случаи, которые хорошо работают:
- Автоматические объявления сервера и уведомления о техническом обслуживании, отправляемые в QQ при выключении или перезагрузке сервера.
- Группа QQ, где игроки могут проверить, кто онлайн, или выполнить команды без входа в игру.
- Автоматическое ведение журнала важных событий (смерти в hardcore, победы над боссами и т.д.) с отправкой скриншотов в группу сообщества.
- Единый чат-канал, зеркально отражаемый между QQ и игрой, чтобы никто не чувствовал себя так, как будто говорит с самим собой.
- Назначение ролей через команды QQ, чтобы новые игроки могли присоединиться к верифицированной группе без ручного добавления в игре.
Если у вас многоязычное серверное сообщество, это становится необходимой инфраструктурой.
Установка и Настройка
Хорошая новость: установка MiraiMC проста. Неприятная новость: настройка части бота QQ требует некоторых технических усилий на стороне Mirai.
Сначала скачайте правильный JAR для вашего типа сервера. Последний релиз (v1.9.2) включает отдельные сборки:
# Для серверов Bukkit/Spigot/Paper:
sudo wget MiraiMC-Bukkit.jar
# Для BungeeCord или Waterfall:
sudo wget MiraiMC-Bungee.jar
# Другие варианты: MiraiMC-Nukkit.jar, MiraiMC-Sponge.jar, MiraiMC-Velocity.jarПоместите JAR в папку плагинов, затем полностью остановите и перезапустите сервер (не просто перезагрузите):
cp MiraiMC-Bukkit.jar /path/to/server/plugins/
# Затем перезапустите сервер
stop # в консоли, подождите завершенияКогда сервер загрузится, MiraiMC создаст файлы конфигурации. Откройте `plugins/MiraiMC/config.yml` и настройте детали вашего аккаунта QQ. Здесь вам нужно решить: используете ли вы существующий аккаунт бота или создаете новый? Большинство создают отдельный аккаунт бота для организации.
Здесь начинается сложная часть: Mirai использует собственный менеджмент сессий. Вам нужно будет авторизоваться в аккаунте бота изначально, возможно, пройти проверку на верификацию, и позволить Mirai кэшировать сессию. Официальная документация по MiraiMC пройдет через это, но ожидайте примерно 30 минут настройки, если вы никогда не работали с Mirai раньше. Но это стоит того, после первой настройки.
После конфигурации перезапустите сервер еще раз и наблюдайте за логами. Вы должны увидеть, как бот подключается к QQ и подтверждает вход.
Ключевые Функции, которые Значатся
MiraiMC - не просто «отправка сообщений туда-сюда». У него есть полноценная система событий.
Связывание Событий. Плагин запускает события при входе игроков, выходе, чате, смерти или достижении достижений. Вы можете подключить эти события в своих собственных плагинах для логирования смертей в группу QQ, празднования редких дропов или обеспечения соблюдения белого списка. Разработчикам предоставлен полный API для построения на основе MiraiMC, поэтому видна целая экосистема плагинов, построенных на нем.
Поддержка Множества Платформ. Я упоминал Bukkit, BungeeCord, Velocity и т.д. Тот факт, что вы можете запустить это на сети Velocity, означает, что один бот может управлять несколькими игровыми серверами одновременно. Полезно, если вы управляете сетью мини-игр или конфигурацией hub-and-spoke.
Кросс-Игровой API для Бота. Поскольку это построено на Mirai, вы можете написать собственный код, взаимодействующий с другими ботами QQ или реализующий.custom функциональность QQ. Хотите, чтобы ваш бот также проверял погоду, получал новости или выполнял поиск статистики? Вы можете расширить его. Это мощно, но также означает, что вам нужны знания Java или поиск готовых плагинов.
Что Может Запутать
Версия Java теперь имеет значение. Проект перешел на требование Java 17, а v1.9.2 является последней версией, поддерживающей Java 8. Если ваш сервер работает на Java 8, вы застряли на старой версии MiraiMC. Не идеально, но это стандартная миграция Java.
Конфигурация объемна. Вам придется работать с настройками аккаунта QQ, файлами сессий Mirai и конфигурацией MiraiMC одновременно. Если что-то сломается (а сломается), отладка涉ывает проверку трех разных лог-файлов. Хорошая новость: когда все работает, это стабильно. Не так хрупко, как некоторые фреймворки ботов.
Учетные данные аккаунта QQ. Вы храните информацию о входе где-то (идеально зашифрованную). Относитесь к этому, как к паролю базы данных. Если кто-то взломает аккаунт бота, они смогут имитировать ваш сервер и спамить вашу группу QQ. Используйте отдельный аккаунт бота и не делитесь учетными данными.
Конфликты плагинов. Если вы запускаете множество плагинов для манипуляции чатом (окрашенные имена, кастомные префиксы чата, моды для перевода), они могут мешать интеграции с QQ. Тестируйте в тестовой среде сначала, особенно если добавляете MiraiMC на установленный сервер.
Кто Еще Делает Это
MiraiMC не единственный способ соединить Minecraft и QQ. Вы могли бы построить свою собственную интеграцию, используя библиотеку Mirai напрямую, но это требует больше кодирования. Некоторые серверы используют мосты Discord с QQ (в основном Discord до игрового сервера до QQ), что добавляет задержку, но сохраняет все в Discord. Если вы ищете зеркалирование только одного конкретного чат-канала или простые уведомления, есть более легковесные сервисы уведомлений, которые подойдут.
Преимущество MiraiMC в том, что оно предназначено именно для этой задачи, а экосистема плагинов вокруг него довольно солидна. Торговля офом - вам придется поддерживать Java плагин и сессию бота QQ, что не каждый захочет.
Перед тем, как приступить, подумайте о вашем реальном сообществе. Если у вас есть реальные игроки, активно использующие QQ, это очевидный выбор. Если вы просто надеетесь, что это магически расширит ваш игровой базис в Азию, это не сработает. Но если вы уже управляете международным сервером с игроками из нескольких континентов и инструментами связи, подключение QQ полностью оправдано. Также можно убедиться, что ваш основной сервер виден в списке серверов minecraft.how, чтобы новые игроки могли найти вас, независимо от региона.
Качество кода солидное (CodeFactor присвоил оценку A), а проект активно поддерживается. 186 звезд на GitHub не гигантское число, но соответствует проектам, решающим конкретную региональную проблему очень хорошо. Лицензия AGPL-3.0 означает, что если вы модифицируете код плагина, вы должны открыть эти изменения.
Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.
Комментарии
Пока нет комментариев. Станьте первым, кто поделится своим мнением!


