Плагин Premium Login
Плагин Premium Login связывает аутентификацию по аккаунту Minecraft между вашим сайтом на базе Pano и вашим сервером Minecraft. Посетители могут войти или зарегистрироваться со своим реальным аккаунтом Microsoft/Minecraft (premium) через полную цепочку Microsoft OAuth (Microsoft → Xbox Live → XSTS → Minecraft Services), поэтому фактическое владение игрой проверяется. Затем плагин поддерживает статус аутентификации для каждого игрока — PREMIUM, CRACKED или AUTO — синхронизированный в реальном времени между сайтом и игровым сервером, поэтому premium-игроки автоматически входят без пароля, тогда как cracked-игроки используют аутентификацию offline-mode. Разработано командой Pano.
Один jar, две установки
Один и тот же jar является и плагином платформы Pano (устанавливается на ваш сайт), и плагином сервера Minecraft для Spigot/Paper (с поддержкой Folia), BungeeCord и Velocity. Серверная сторона зависит от Pano MC plugin и FastLogin — она отключает себя, если Pano MC plugin отсутствует, и активирует свои слушатели FastLogin, только пока установлено WebSocket-соединение с сайтом.
Возможности
- Sign in with Minecraft: кнопки «Sign in / Sign up with Minecraft Account» появляются на страницах входа и регистрации всякий раз, когда включён вход через Microsoft.
- Умная обработка аккаунтов: при входе через Microsoft новый посетитель автоматически регистрируется и входит по своему имени пользователя MC, UUID и (предварительно подтверждённому) email Microsoft; уже привязанный UUID входит сразу; а если cracked-аккаунт уже занимает это имя пользователя, этот аккаунт переименовывается в
tmp_xxxxxxи ему по email отправляется ссылка Set New Username (срок действия 15 минут), чтобы premium-игрок мог заявить права на имя. - Привязка аккаунтов: авторизованные участники могут привязать или отвязать свой premium-аккаунт Minecraft в своих настройках — при переходе на premium данные сохраняются, и каждый UUID может быть привязан только к одному аккаунту.
- Статус аутентификации: у каждого игрока есть статус PREMIUM / CRACKED / AUTO с отслеживанием источника (PANEL, SERVER, FASTLOGIN, USER, MICROSOFT), хранящийся в собственной базе данных плагина. Пользователи могут выбрать свой статус в своих настройках через понятный выпадающий список.
- Синхронизация с сервером в реальном времени: плагин перехватывает событие pre-login FastLogin, чтобы внедрить авторитетный статус Pano до того, как будет решён режим аутентификации, отправляет автоматически определённые premium-входы FastLogin обратно в Pano и применяет мгновенные обновления, когда администратор меняет статус в панели.
- Локализация: доступно на английском, турецком и русском.
Настройки в панели
Настройки находятся на собственной странице деталей плагина в панели администратора Pano (Addons → Premium Login), под разделом Microsoft Login Settings:
- Переключатель enable, Client ID, Client Secret и Redirect URI, плюс переключатель Debug Logging для пошаговой диагностики OAuth.
- Client Secret хранится маскированным — для его раскрытия администратор должен повторно ввести собственный пароль.
- Встроенное пошаговое руководство по настройке в Azure Portal и примечание о том, что Microsoft требует верификации приложения (aka.ms/AppRegInfo), прежде чем все пользователи смогут использовать эту функцию.
- Управление игроками: строка Authentication Status в модальном окне редактирования игрока и карточка Authentication Status на странице деталей игрока — показывающие тип аккаунта, источник последнего обновления и состояние привязки premium, с кнопкой отвязки (с отменой).
Что видят посетители
- Кнопки входа/регистрации через Microsoft (с разделителем «or») на страницах входа и регистрации.
- Строка Authentication Status в настройках их аккаунта (выпадающий список типа плюс привязка/отвязка premium-аккаунта).
- Карточка Authentication Status в боковой панели их публичного профиля, тост об успехе после входа и страница
/set-username, доступная из письма об изменении имени пользователя.
Необходимые права доступа
- Manage Premium Status (
MANAGE_PREMIUM_STATUS) — просмотр и изменение статуса аутентификации игрока со страниц игрока. - Manage Premium Login Settings (
MANAGE_PREMIUM_LOGIN_SETTINGS) — настройка параметров Microsoft OAuth.
Оба права можно назначить ролям панели, и элементы управления панели ограничены ими.
Предварительные требования
- Премиум-лицензия. Premium Login — это платный плагин: он проверяет лицензию panomc.com при запуске и не запустится без неё.
- Приложение Microsoft Azure. Зарегистрируйте приложение в Azure Portal (тип «personal Microsoft accounts»), предоставьте Client ID и Client Secret и задайте redirect URI на
https://yoursite.com/api/premium-login/microsoft/callback. Отправьте приложение в Microsoft на верификацию, чтобы открыть функцию для широкой публики. - Синхронизация на стороне сервера требует Pano MC plugin (подключённый к вашему сайту) и FastLogin, установленный на вашем сервере Spigot/Bungee/Velocity (FastLogin подразумевает ProtocolLib на Spigot).
- Настроенная почтовая система для писем о конфликте имён пользователей и завершённая настройка сайта до инициализации плагина.
Премиум-плагин
Premium Login требует активной лицензии panomc.com. Вы можете получить её в магазине ресурсов Pano; бесплатные сборки и сборки для разработки пропускают (no-op) проверку лицензии.
Исходный код
Разработка ведётся открыто — вы можете следить за ней на GitHub:
Настройка
- Убедитесь, что у вашего сайта Pano есть активная премиум-лицензия, и включите плагин в панели администратора Pano.
- Откройте страницу деталей плагина Premium Login и разверните Microsoft Login Settings.
- Следуйте встроенному руководству Azure, чтобы создать приложение, затем вставьте ваши Client ID, Client Secret и Redirect URI и включите вход через Microsoft.
- Установите Pano MC plugin и FastLogin на ваш сервер Minecraft, чтобы статус аутентификации синхронизировался в реальном времени между сайтом и игрой.