Мод для серверов Майнкрафт на NeoForge, который добавляет авторизацию на серверах в офлайн-режиме. Он отличает лицензионные аккаунты от офлайн-игроков: первые проходят проверку через Mojang, а вторые регистрируются и входят по паролю.
Возможности
- Лицензионные игроки входят с UUID онлайн-режима и официальным скином; это помогает корректно работать модам, зависящим от такого UUID, включая Figura и FTB Chunks.
- Для офлайн-игроков создаётся постоянный UUID на основе имени.
- До регистрации или входа игрок находится в режиме наблюдателя, не может двигаться, писать в чат, атаковать, взаимодействовать с блоками и контейнерами, выбрасывать предметы или видеть настоящий инвентарь.
- После успешного входа можно разрешить повторный вход без пароля с того же UUID и IP-адреса на заданное время. Если один IP используется несколькими UUID, вход без пароля для них отключается.
- Пароли хранятся как хеши BCrypt с солью. Можно ограничить число неверных попыток, временно блокировать вход, задать тайм-аут и запретить слабые пароли из чёрного списка.
Как пользоваться
Игроки используют команды:
register <password> <confirmPassword>— зарегистрировать пароль.login <password>— войти с паролем.auth changepassword <password> <confirmPassword>— сменить пароль.
Администратор может управлять учётными данными:
auth setpassword <UUID|username> <password> <confirmPassword>— назначить или сбросить пароль игрока.auth remove <UUID|username>— удалить данные игрока, включая пароль, записи блокировок и доверенных входов. При следующем подключении он будет считаться новым игроком.
Настройки
Настройки сервера находятся в mixauth-server.toml. Основные параметры:
database.path— путь к базе данных H2.offline_login.max_login_attempts— число неверных попыток входа.offline_login.temporary_block_minutes— длительность временной блокировки.offline_login.trusted_login_window_hours— время входа без пароля с того же IP.offline_login.login_timeout_minutes— время на авторизацию.offline_login.min_password_lengthиoffline_login.max_password_length— допустимая длина пароля.offline_login.password_blacklist_path— путь к списку запрещённых паролей; один пароль на строку, строки с#считаются комментариями.localization.default_language— язык сообщений. Поддерживается русский:ru_ru.localization.auto_detect_player_language— выбор языка по языку клиента, если он поддерживается.
Требования и совместимость
Мод предназначен для серверов NeoForge в офлайн-режиме. Для проверки лицензионных аккаунтов сервер должен иметь возможность обращаться к сервисам Mojang.
