База знаний / Как защитить сервер Minecraft / Плагин AuthMe ReReloaded

🧩 Настройка плагинов

Как защитить сервер Minecraft / Плагин AuthMe ReReloaded

На сервере без авторизации любой может зайти под чужим ником, в том числе оператора. Плагин AuthMe ReReloaded (fork AuthMe) блокирует доступ к миру до регистрации и ввода пароля.

Общий обзор защиты − Как защитить Minecraft-сервер?

Возможности

  • блокировка действий до авторизации (чат, команды, движение − по настройкам);
  • хранение паролей в зашифрованном виде;
  • лимит регистраций с одного IP и одновременный вход в один аккаунт;
  • сессии, капча, antibot и GeoIP;
  • команды при регистрации, логине, выходе и других событиях.

Работает на Bukkit, Folia, Paper, Purpur и Spigot.

Установка

  1. Скачайте AuthMe ReReloaded с Modrinth (версия Minecraft и ядро).
  2. В панели: Files → plugins, загрузите .jar и перезапустите сервер.
  3. После первого запуска появится папка 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.

Минимальная настройка

  1. В config.yml выставить messagesLanguage: ru.
  2. Включить antibot, ограничить регистрации с IP, запретить слабые пароли.
  3. Настроить сессии и timeout на логин.
  4. Добавить команды в commands.yml и сделать /authme reload.