На сервере без авторизации любой может зайти под чужим ником, в том числе оператора. Плагин AuthMe ReReloaded (fork AuthMe) блокирует доступ к миру до регистрации и ввода пароля.
Общий обзор защиты − Как защитить Minecraft-сервер?
Возможности
- блокировка действий до авторизации (чат, команды, движение − по настройкам);
- хранение паролей в зашифрованном виде;
- лимит регистраций с одного IP и одновременный вход в один аккаунт;
- сессии, капча, antibot и GeoIP;
- команды при регистрации, логине, выходе и других событиях.
Работает на Bukkit, Folia, Paper, Purpur и Spigot.
Установка
- Скачайте AuthMe ReReloaded с Modrinth (версия Minecraft и ядро).
-
В панели: Files →
plugins, загрузите.jarи перезапустите сервер. -
После первого запуска появится папка
plugins/AuthMeс конфигами.
Подробнее об установке плагинов − в статье Как установить плагины на сервер?
Структура папки AuthMe
commands.yml− команды при событиях (регистрация, логин, выход и т.д.);config.yml− авторизация, безопасность, БД, ограничения.
Язык сообщений − одной опцией в config.yml.
Папка PlayerData − сохранённые данные игрока.
Настройка commands.yml
Файл − /home/container/plugins/AuthMe/commands.yml.
Плейсхолдеры
%p− имя игрока;%nick− никнейм;%ip− IP-адрес;%country− страна (GeoIP).
События
onFirstLogin− первый вход;onJoin− заход до логина;onLogin− после успешной авторизации;onLogout− выход или/logout;onRegister− регистрация;onSessionLogin− вход по сессии;onUnregister− удаление аккаунта.
Пустые {} − для события команды не заданы.
Поля действия
- название блока (например
welcome) − любое имя действия; command− команда, напримерmsg %p Добро пожаловать!;executor−CONSOLEилиPLAYER;delay− задержка в тиках (20 тиков = 1 секунда);- условие по числу аккаунтов с одного IP.
Пример: приветствие при логине, регистрации и сессии
onLogin:
welcome:
command: 'msg %p Добро пожаловать!'
executor: CONSOLE
onRegister:
welcome:
command: 'msg %p Добро пожаловать!'
executor: CONSOLE
onSessionLogin:
welcome:
command: 'msg %p Добро пожаловать!'
executor: CONSOLE
Сохраните файл и выполните:
authme reload
Настройка config.yml
Файл − /home/container/plugins/AuthMe/config.yml.
DataSource − база данных
backend− тип БД:SQLITE,MYSQL,MARIADB,H2,POSTGRESQL.caching− кэш БД; на BungeeCord / Velocity лучшеfalse.mySQLHost− хост БД.mySQLPort− порт БД.mySQLUsername− логин.mySQLPassword− пароль.mySQLDatabase− имя базы (для SQLite − имя файла).mySQLTablename− таблица аккаунтов.
settings − основные параметры
enabled(вsessions) − сессии: при том же IP пароль снова не нужен.timeout(вsessions) − время жизни сессии в минутах (например43200− 30 дней).messagesLanguage− язык; для русского −ru.logLevel−INFO,FINE,DEBUG.
restrictions − до входа в аккаунт
allowChat− чат до логина (false− нельзя).hideChat− скрывать чат от неавторизованных.allowCommands− команды до логина (/login,/l,/register,/email,/captcha,/2fa,/totpи т.д.).maxRegPerIp− максимум регистраций с одного IP (0− без лимита).ForceSingleSession− не давать выбить онлайн-игрока входом с другого места.kickNonRegistered− кикать незарегистрированных.allowMovement− движение до авторизации.timeout− секунд до кика, если не залогинился (0− не кикать).
security − пароли
minPasswordLength− минимальная длина.passwordMaxLength− максимальная длина.passwordHash− алгоритм хеширования; лучше оставить по умолчанию (напримерSHA256).unsafePasswords− список запрещённых простых паролей.
registration − регистрация
enabled− включена ли регистрация.messageInterval− интервал напоминаний о логине/регистрации (секунды).type−PASSWORDилиEMAIL.secondArg− второй аргумент/register:CONFIRMATION− пароль дважды,NONE− один раз.
Protection − GeoIP и antibot
enableProtection− ограничение входа по странам.countries− разрешённые страны.countriesBlacklist− запрещённые страны.enableAntiBot− автозащита от массовых ботов; рекомендуетсяtrue.
Purge − очистка старых аккаунтов
useAutoPurge− автоудаление неактивных аккаунтов.daysBeforeRemovePlayer− дней без входа до удаления.
Security − капча и временный бан
useCaptcha− капча после многих неверных паролей.enableTempban− временный бан IP после многих попыток входа.
limbo − состояние до входа
type(вlimbo.persistence) − как хранить OP, полёт и скорость до логина; рекомендуетсяINDIVIDUAL_FILES.
BackupSystem − бэкапы БД плагина
ActivateBackup− включить бэкапы базы AuthMe.OnServerStart− бэкап при старте.OnServerStop− бэкап при остановке.
Это копии только базы AuthMe. Дополнительно на хостинге доступны бэкапы всего сервера.
После правок сохраните файл и перезапустите сервер
(или authme reload, если опции это допускают).
Основные команды для игроков
/register <пароль> <пароль>− регистрация (если включён двойной ввод)./login <пароль>//l <пароль>− вход./logout− выйти из аккаунта, не покидая сервер./changepassword <старый> <новый>− сменить пароль./email− привязка / смена email (если включено)./captcha− ввод капчи.
Основные команды оператора
В игре − с /, в консоли − без.
Полный список − /authme help:
/authme unregister <ник>− удалить аккаунт./authme register <ник> <пароль>− зарегистрировать игрока./authme password <ник> <пароль>− сменить пароль игроку./authme forcelogin <ник>− принудительно залогинить./authme getip <ник>− узнать IP./authme accounts <ник>− аккаунты с того же IP./authme reload− перезагрузить конфиг./authme backup− бэкап базы AuthMe./authme switchantibot− переключить AntiBot.
Минимальная настройка
- В
config.ymlвыставитьmessagesLanguage: ru. - Включить antibot, ограничить регистрации с IP, запретить слабые пароли.
- Настроить сессии и timeout на логин.
- Добавить команды в
commands.ymlи сделать/authme reload.