Мод для серверов Майнкрафт добавляет авторизацию через Telegram и защиту от входа с чужого устройства. Он работает только на сервере: игрокам не нужен мод на клиенте.
Возможности
- Игрок привязывает аккаунт Telegram к игровому профилю по шестизначному коду.
- При входе с другого устройства бот присылает в Telegram запрос на подтверждение; отказ приводит к отключению от сервера.
- Сессия для того же IP-адреса действует 12 часов, поэтому повторное подтверждение в этот период не требуется.
- Регистрация доступна только Telegram ID из белого списка.
- Привязки сохраняются в
world/data/tgauth_players.jsonи не теряются после перезапуска сервера. - Отпечаток устройства учитывает IP и UUID, поэтому игроки из одной сети распознаются отдельно. При смене IP, например через VPN, потребуется подтверждение.
Как пользоваться
Перед первой игрой пользователь отправляет /start боту Telegram, получает код и вводит на сервере /tgauth link <код>.
/tgauth link <code>— привязать Telegram./tgauth status— показать состояние привязки и текущей сессии./tgauth admin whitelist list— вывести белый список Telegram ID./tgauth admin whitelist add <id>— добавить Telegram ID./tgauth admin whitelist remove <id>— удалить Telegram ID./tgauth admin unlink <player>— отвязать Telegram игрока./tgauth admin force <player>— подтвердить ожидающий вход./tgauth admin sessions <player>— показать сессии игрока./tgauth admin clearsessions <player>— сбросить все сессии игрока./tgauth admin reload— перечитать белый список из конфига.
Команды администратора требуют уровень оператора 2 или выше.
Настройки
В config/tgauth-server.toml указываются токен и имя бота, Telegram ID белого списка, длительность сессии и время ожидания ответа. Токен бота хранится в этом файле, поэтому к нему не следует давать доступ посторонним.
Требования и совместимость
Нужен NeoForge и Java 21 или выше. Мод работает на сервере в сетевом и офлайн-режиме: для сопоставления используется UUID игрока.
