- Для версий
- BungeeCord
mcAuth — вход в сеть и второй фактор
Игрок попадает на сервер, вводит пароль и подтверждает вход выбранным способом. mcAuth позволяет выполнять этот шаг прямо в Lobby или сохранять отдельный сервер Auth. Режим выбирает владелец сети; регистрация, вход и существующие социальные привязки остаются доступны в обоих вариантах.Что получает владелец
В DIRECT_LOBBY отдельный процесс авторизации не нужен: один Lobby принимает новичков и уже вошедших игроков. До завершения проверки прав игрок ограничен в движении, действиях и переходах. В AUTH_LOBBY сохраняется привычная цепочка Auth → Lobby. На каждый сервер входа устанавливается входящий в поставку mcAuthLobby; он проверяет разрешение от proxy и закрывает доступ при потере связи с авторизацией.До полного входа игроки скрыты друг от друга и не выталкивают ожидающих пароль или второй фактор. Видимость возвращается между полностью авторизованными игроками. Скрытие другими плагинами сохраняется; при повторном подключении или отзыве допуска ограничение включается снова.
Существующая база обновляется добавлением полей. Пароли Argon2 и привязки Telegram/VK сохраняются. Автовход только по совпадению IP удалён: один адрес у нескольких игроков не подтверждает личность. Обновление требует подготовки Lobby и штатного перезапуска.
Что видит игрок
Подсказки в чате и на экране показывают текущий шаг. После регистрации можно привязать Google Authenticator, почту или настроенного владельцем социального бота. При следующих подключениях сначала нужен пароль, затем один из привязанных вторых факторов. При нескольких способах достаточно одного подтверждения — это альтернативы, а не обязательная последовательность всех способов.QR приложения показывается на временной игровой карте. Игрок держит её в основной руке, сканирует телефоном и подтверждает кодом. Посторонний зритель этой карты получает пустое изображение. После подтверждения, отмены, выхода или истечения времени карта очищается.
Как проходит вход
- Новичок использует /register <пароль> <повтор>. Зарегистрированный игрок использует /login <пароль>.
- Если привязан Google Authenticator, откройте приложение и введите /totp <код> — шесть цифр. Их также можно отправить прямо в чат. Для почты используется /email code <код>, для социального бота — кнопка в новом сообщении. Подсказка предлагает только привязанные способы.
- После полного входа открываются обычные действия Lobby и переходы на игровые серверы.
- Для привязки нового способа нужно уже войти и повторно указать текущий пароль.
Возможности версии 1.1.4
- Два режима авторизации, списки серверов Auth/Lobby и балансировка между ними.
- Блокировка движения, инвентаря, взаимодействий с миром, сторонних команд и попыток перехода до полного входа.
- Google Authenticator и совместимые приложения: шестизначный TOTP, период30 секунд и допустимый сдвиг часов на один период.
- Почтовые коды через TLS или STARTTLS с проверкой сертификата и имени SMTP-сервера.
- Код письма действует3 минуты и допускает5 попыток. Повторная отправка — не чаще раза в30 секунд; код связан с подключением и назначением.
- SQLite, MySQL и MariaDB; сохранение использованного TOTP-кода в базе исключает его повторный приём после переподключения.
- Шифрование секретов приложения отдельным ключом. Ошибка базы, ключа или защитного соединения не разрешает пропустить проверку.
Типовые сценарии
Небольшая сеть. Выберите DIRECT_LOBBY, установите mcAuthLobby в Lobby и направьте начальный вход туда. Уже вошедшие игроки продолжают пользоваться меню, а ожидающие пароль ограничены.Раздельный вход. Выберите AUTH_LOBBY, укажите непересекающиеся списки Auth и Lobby и установите защитный компонент в оба контура.
Приложение на телефоне. После полного входа в Lobby освободите слот панели, выполните /totp setup <пароль>, отсканируйте QR и в течение2 минут введите /totp confirm <код>. При входе используйте /totp <код> или отправьте шесть цифр в чат.
Почта. Введите /email <адрес> <пароль>, затем /email confirm <код>. При смене адреса старый остаётся действующим до подтверждения нового. Отключение отправки писем в конфигурации не снимает уже привязанный фактор.
Игровые изображения
В галерее показаны реальные экраны клиента: ограниченный вход, карта с QR, карта в инвентаре, подтверждение приложения, отправка письма, ограничение повторных запросов и запрос второго фактора и отказ при неверном коде. Изображения сняты в отдельном демонстрационном мире. QR относится только к удаляемому демонстрационному аккаунту; для своего аккаунта создавайте новую карту.Команды и права
- /register (/reg), /login (/l), /changepassword (/cp), /pair — регистрация, вход, смена пароля и способы привязки.
- /totp setup <пароль>, /totp confirm <код>, /totp <код>, /totp cancel — приложение и отмена незавершённой привязки. /totp disable <пароль> <новый код> отключает его после полного входа.
- /email <адрес> <пароль>, /email confirm <код>, /email code <код>, /email resend, /email disable <пароль> — почтовый способ.
- /unpair <пароль> отключает все привязки после полного входа и проверки пароля.
- /check — bungee-auth-2f.check; /changeplayerpassword (/cpp) — bungee-auth-2f.changeplayerpassword; /delete-account — bungee-auth-2f.delete_account; /unpair-account — bungee-auth-2f.unpair_account.
- /auth reload с правом bungee-auth-2f.reload напоминает о необходимости штатного перезапуска. Горячая смена контура не поддерживается.
- /migrate доступна только из консоли при migration.enabled. Вход на время импорта закрыт; существующие аккаунты не перезаписываются.
Совместимость и зависимости
mcAuth работает на BungeeCord/mcProxy с Java21 или новее; mcAuthLobby использует Bukkit API1.16.5. Выпуск проверен на Paper1.16.5 и1.21.11, с настоящим клиентом1.21.11 и отдельными протокольными сценариями. Совместимость каждого стороннего меню или каждой промежуточной версии отдельно не заявляется. UtilM для mcAuth больше не требуется; сохраняйте его, если он нужен другим плагинам.Для Google Authenticator нужны точные часы: при подтверждённом смещении доступна totp.clock_offset_seconds; верните0 после исправления системного времени. Для почты — собственный SMTP-сервис с TLS/STARTTLS; для Telegram/VK — настроенный бот. Сервисы доставки и почтовый ящик не входят в плагин. Лицензия берётся из персонального файла mcauth-license.txt в скачанной поставке; при запуске нужен доступ к сервису лицензирования.
Установка, обновление и настройки
- Сохраните JAR, конфигурацию и согласованную копию базы. При использовании приложения сохраняйте вместе с базой plugins/mcAuth/totp.key: потерянный ключ не восстанавливается из базы.
- Поместите mcAuth.jar в plugins proxy, а mcauth-license.txt — в рабочую папку рядом с ядром proxy. mcAuthLobby.jar установите в plugins каждого Auth/Lobby.
- Создайте отдельный случайный ключ из32 байтов в Base64 для каждого backend. Укажите его в lobby_guard.keys.<имя> и shared-key соответствующего mcAuthLobby. Его server-id должен совпадать с именем в servers proxy.
- Задайте auth_mode и balancer. Для DIRECT_LOBBY список auth_server_list пуст, main_server_list содержит Lobby; приоритет начального входа proxy тоже указывает на Lobby. Для AUTH_LOBBY оба списка непустые и не пересекаются.
- Запустите защищённые backend, затем proxy. Проверьте регистрацию, пароль, второй фактор и переходы. Только после этого остановите ненужный Auth и уберите его из автозапуска, сохранив данные для возврата.
Для SMTP заполните email_module.email_sender: smtp_host, port, username, from, from_name и пароль либо имя переменной password_env. tls выбирает STARTTLS или TLS; enabled включает отправку. subject и texthtml_file задают тему и HTML-шаблон с маркером %code%. Незащищённый SMTP не поддерживается.
Остальные разделы: message — тексты конкретных результатов и повторных подсказок; title — заголовок, подзаголовок, включение и длительность в тиках для каждого этапа; permission — точные административные права. database задаёт тип и доступ, reconnect_max_attempts/reconnect_delay_seconds ограничивают восстановление соединения. hash_type выбирает алгоритм новых паролей; сохраняйте прежний алгоритм и используйте ARGON2 для новой базы. Argon2 — хеширование, не гарантия от подбора слабого пароля. validator ограничивает пароль и допустимые имена; max_ip_registering — число регистраций с одного адреса. bot содержит тексты, команды, параметры подключения и социальные идентификаторы; замените демонстрационные ссылки /pair своими. 2fa_reminder включает напоминания и интервал в секундах. migration задаёт отдельную исходную базу и временно закрытый режим импорта. schema_version — версия формата; license.protocol оставляют пустым в обычной покупательской поставке. totp.enabled управляет новыми привязками, issuer — именем в приложении, key_file — файлом ключа. totp.clock_offset_seconds — поправка UTC в секундах (±86400) для TOTP и, по умолчанию, Telegram. Отдельная bot.telegram.clock_offset_seconds имеет приоритет для бота. Окна свежести и проверки кода не расширяются. В конфигурации mcAuthLobby entry-spawn задаёт включение, имя загруженного мира, x/y/z/yaw/pitch. Используйте её для защищённого появления в нужной точке: сторонний teleport до авторизации блокируется.
Не публикуйте рабочую конфигурацию с ключами, токенами и паролями. Значения ниже — примеры поставки. Обращения по установке и обновлению: поддержка mcdev.su.
Полная конфигурация proxy
# Версия конфигурации: 2. Новые ключи подхватываются из JAR; изменения контура требуют перезапуска.
schema_version: 2
# AUTH_LOBBY: отдельный Auth → Lobby; DIRECT_LOBBY: авторизация непосредственно в Lobby.
auth_mode: AUTH_LOBBY
# mcAuthLobby обязателен на всех серверах входа и Lobby. Ключ для каждого backend отдельный.
lobby_guard:
# Имена точно соответствуют backend в BungeeCord и server-id в mcAuthLobby.
keys:
# 32 случайных байта в Base64. Скопируйте только соответствующий ключ в этот backend.
auth: ''
# Пустой ключ блокирует запуск авторизации; секреты нельзя публиковать.
lobby: ''
# Лицензия из скачанного mcauth-license.txt в корне proxy. MCAUTH_LICENSE_KEY имеет приоритет.
license:
# Необязательная альтернатива файлу: персональный ключ из поставки mcdev.su.
key: ''
# Только совместимость с ранее настроенным частным протоколом; покупателю оставлять пустым.
protocol: ''
# Google Authenticator: RFC6238, SHA1, 6 цифр, 30 секунд, допустимый сдвиг ±1 шаг.
totp:
# Поправка системного Unix-времени до UTC в секундах; обычно 0, допустимо ±86400.
# TOTP и, по умолчанию, Telegram используют эту поправку. Окно ±1 шаг не расширяется.
# После исправления часов ОС вернуть 0. Отдельная поправка Telegram: bot.telegram.clock_offset_seconds.
clock_offset_seconds: 0
# Отключает новые привязки; существующий фактор по-прежнему обязателен.
enabled: true
# Название аккаунта в приложении (до48 символов, без двоеточия).
issuer: mcAuth
# Закрытый файл ключа шифрования рядом с config.yml. Храните вместе с резервной копией базы.
key_file: totp.key
# Плагин: mcAuth (BungeeCord авторизация)
#
# Описание:
# Плагин добавляет возможность авторизации на BungeeCord
# сервере с возмодностью задать двухфакторную аутентификацию.
#
# Зависимости: (плагины без которых этот работать не будет)
# - mcAuthLobby на Auth/Lobby; UtilM не требуется.
#
# Команды:
# /register (пароль) (повтор пароля) [алиасы: /reg] - зарегистрироваться
# /login (пароль) [алиасы: /l] - авторизоваться
# /changepassword (текущий пароль) (новый пароль) [алиасы: /cp] - сменить пароль
# /changeplayerpassword (ник игрока) (новый пароль) [алиасы: /cpp] - сменить пароль игроку
# /totp setup <пароль> - показать приватный QR Google Authenticator на карте
# /totp confirm <код> - завершить привязку
# /totp <код> - подтвердить вход
# /totp disable <пароль> <код> - отключить Google Authenticator после полного входа
# /totp cancel - убрать QR и отменить незавершённую привязку
# /pair - показать способы 2FA
# /unpair <пароль> - отключить все привязки после полного входа и проверки пароля
# /email <адрес> <пароль> - начать подтверждение новой почты, сохраняя прежнюю до проверки
# /email confirm (код подтверждения) - подтвердить электронную почту
#
# Команды требующие разрешения:
# /check (ник игрока) - выводит информацию о игроке
# /auth reload - подсказывает порядок контролируемого перезапуска; горячая смена контура запрещена
# /delete-account (ник игрока) - аннулирует регистрацию с 2FA и кикает игрока, разрегистрирует его.
# /unpair-account (ник игрока) - аннулирует 2FA, отвязывает аккаунт от 2FA.
message:
permission_denied: '&cОтказано в доступе.'
configuration_reload: '&aКонфигурация перезагружена.'
repeated_message_authentication_required: '&eАвторизуйтесь командой &b/login &e(пароль).'
repeated_message_registration_required: '&eЗарегистрируйтесь командой &b/register &e(пароль) (повтор пароля).'
repeated_message_2f_required: '&eПодтвердите вход кодом Google Authenticator, почты или кнопкой в боте.'
# Начальная и повторная подсказка содержит только привязанные к аккаунту способы.
# %instructions% обязателен: вместо него подставляются строки factor_totp/email/telegram/vk.
factor_required: "Подтвердите вход одним из привязанных способов:\n%instructions%"
factor_totp: 'Google Authenticator: откройте приложение и введите /totp <код> — 6 цифр. Можно отправить 6 цифр прямо в чат.'
factor_email: 'Почта: введите /email code <код из письма>. Повторить письмо: /email resend.'
factor_telegram: 'Telegram: нажмите «Авторизовать» в новом сообщении привязанного бота.'
factor_vk: 'ВКонтакте: нажмите кнопку подтверждения в новом сообщении привязанного бота.'
factor_unavailable: 'Способ подтверждения недоступен. Обратитесь к администрации; вход остаётся закрыт.'
factor_title_totp: '&e/totp <6 цифр из приложения>'
factor_title_email: '&e/email code <код из письма>'
factor_title_telegram: '&eНажмите «Авторизовать» в Telegram'
factor_title_vk: '&eПодтвердите вход в боте ВКонтакте'
factor_title_unavailable: '&eОбратитесь к администрации'
registration_required: '&cСначала зарегистрируйтесь &b/register &c(пароль) (повтор пароля).'
authentication_required: '&cСначала авторизуйтесь командой &b/login &c(пароль).'
2fa_required: '&cСначала завершите действие двухфакторной аутентификации &b2FA&c.'
password_required: '&cПароль не указан.'
additional_arguments_required: '&cНедостаточно аргументов.'
already_authorized: '&cВы уже авторизованы!'
already_registered: '&cВы уже зарегистрированы!'
wrong_password: '&cНеправильный пароль.'
wrong_password_repeat: '&cПовтор пароля не совпадает.'
registration_complete: '&aРегистрация завершена!'
authentication_complete: '&aАвторизация завершена!'
password_change_complete: '&aПароль изменен!'
password_min_length: '&cМинимальная длина пароля 3 символа.'
password_max_length: '&cМаксимальная длина пароля 255 символов.'
user_not_registered: '&cИгрок не зарегистрирован.'
nickname_not_valid: '&cНикнейм содержит недопустимые символы.'
nickname_min_length: '&cМинимальная длина ника 3 символа.'
nickname_max_length: '&cМаксимальная длина ника 16 символов.'
changepassword_use: '&cИспользуйте &b/cp &c(текущий пароль) (новый пароль).'
pair_key_not_valid: '&cНедействительный ключ создания пары.'
pair_created: '&aПара создана!'
was_kicked: '&cКикнут!'
2fa_warning: '&6Подключите 2FA аутентификацию командой &c/pair&6.'
pair:
- '&eНапишите &b/пара &eодному из ботов сервера:'
- '&eTelegram: &btelegram.me/our_bot' # (короткая ссылка t.me не распознается как кликабельная)
- '&eVK: &bvk.com/our_group &e(в сообщения группы)'
- '&eGoogle Authenticator: &b/totp setup <пароль>'
- '&eЭлектронная почта: &b/email <адрес> <пароль>'
check:
- '&eНикнейм: &b%player_name%'
- '&e2FA Защита: &b%2fa%'
account_list:
- '&eС этого IP зарегистрированы:'
- '%account_list%'
auto_kick: '&cВремя авторизации вышло, попробуйте снова.'
max_account: '&cС этого IP зарегистрировано слишком много аккаунтов.'
self_banned: '&cВход на сервер под ником &b%player_name% &cзаблокирован.'
unpair_success: '&aПара разорвана (2FA отключена)!'
unpair_fail: '&c2FA не включена чтобы отключить ее.'
invalid_nickname_case: "&cНевалидный регистр никнейма '&b%current_player_name%&c', не совпадает с ранее зарегистрированным &c'&b%correct_player_name%&c'. Пожалуйста перезайдите в игру с никнеймом '&b%correct_player_name%&c'."
delete_account_successful: "&aРегистрационные данные пользователя с ником &e%player% &aудалены."
delete_account_user_screen_message: "&cРегистрация аннулирована, зарегистрируйтесь снова."
unpair_account_successful: "&a2FA пользователя с ником &e%player% &aотвязана."
email_invalid: "&cНевалидный адрес электронной почты."
email_confirmation_sending: "&aОтправка электронного письма на &e%email%&a..."
email_confirmation_sent: "&aПисьмо с подтверждением электронной почты отправлено!"
email_invalid_confirmation_code: "&cНедействительный код подтверждения электронной почты."
email_confirmation_success: "&aЭлектронная почта подтверждена! 2FA теперь активна!"
repeated_title:
authentication_required:
enable: true # Показывать?
fade_in_ticks: 0 # (Тиков, 20 тиков = 1 сек.) Продолжительность появления на экране.
stay_ticks: 40 # (Тиков, 20 тиков = 1 сек.) Продолжительность нахождения на экране.
fade_out_ticks: 20 # (Тиков, 20 тиков = 1 сек.) Продолжительность исчезновения.
title: '&eАвторизуйтесь'
sub_title: '&b/login &e(пароль)'
registration_required:
enable: true
fade_in_ticks: 0
stay_ticks: 40
fade_out_ticks: 20
title: '&eЗарегистрируйтесь'
sub_title: '&b/register &e(пароль) (повтор пароля)'
2f_required:
enable: true
fade_in_ticks: 0
stay_ticks: 40
fade_out_ticks: 20
title: '&eПодтвердите вход'
# Для второго фактора выводит конкретную команду или название привязанного бота.
sub_title: '%factor_command%'
permission:
reload: bungee-auth-2f.reload # Разрешение на перезагрузку конфигурации этого плагина.
check: bungee-auth-2f.check # Разрешение использование команды /check (ник игрока).
changeplayerpassword: bungee-auth-2f.changeplayerpassword # Разрешение на использование команды /changeplayerpassword (ник игрока) (новый пароль).
migrate: bungee-auth-2f.migrate # Разрешение на выполнение команды миграции.
delete_account: bungee-auth-2f.delete_account # Разрешение на удаление аккаунта.
unpair_account: bungee-auth-2f.unpair_account # Разрешение на аннулирование 2FA аккаунта.
database:
# Поддерживается sqlite или mysql базы данных.
# SQLite - ничего заполнять и настраивать не нужно.
# MySQL - необходимо заполнить секцию ниже и "поднять" MySQL сервер самостоятельно.
type: sqlite
# Максимальное число попыток переподключения к серверу базы данных в случае ошибки выполнения запроса.
reconnect_max_attempts: 3
# (Сек.) Время ожидания до выполнения повторной попытки выполнения запроса.
reconnect_delay_seconds: 5
mysql:
database: database
host: 127.0.0.1
port: 3306
username: username
password: password
# TLS с проверкой сертификата и имени сервера. Исключение sslMode=DISABLED допустимо
# только для проверенного loopback-подключения; не используйте его через сеть.
url_parameters: '?sslMode=VERIFY_IDENTITY&allowPublicKeyRetrieval=false'
# Как плагин должен хешировать пароли игроков.
# Доступные варианты:
# - NO_HASH без хеширования, пароли игроков хранятся в чистом виде в базе данных их можно прочитать.
# - ARGON2 хешировать, пароли игроков хранятся в зашифрованном виде и их невозможно прочитать даже если украсть базу данных.
#
# Примечаниче:
# Задав алгоритм хэширования однажды его нельзя менять далее.
# Будте внимательны с выбором.
hash_type: ARGON2
# Эксперементальная команда для переноса данных из плагина: https://www.spigotmc.org/resources/mc-auth-with-social-link.94870/
#
# Вот несколько примеров использования:
validator:
password:
min_length: 3 # Минимальная длина пароля.
nickname: # Валидность никнейма игрока.
regex: '^[_a-zA-Z0-9]+$' # Все латинские (английские) буквы, нижний прочекр и цифры (по умолчания как в Minecraft JavaEdition).
min_length: 3 # Минимальная длина ника (по умолчания как в Minecraft JavaEdition).
max_length: 16 # Максимальная длина ника (по умолчания как в Minecraft JavaEdition).
auto_kick:
delay: 60 # Сек. Полное время на завершение аутентификации, включая 2FA.
# Автовход только по IP удалён: общий адрес NAT не доказывает личность игрока.
# Устаревший session.time из прежнего config.yml больше не отключает пароль и 2FA.
# Импорт из mc-auth-with-social-link: mc_auth_accounts + auth_links.
# Во время миграции вход игроков закрыт. Сделайте backup, включите режим, перезапустите
# proxy, выполните migrate в консоли, затем выключите режим и снова перезапустите.
# Существующие аккаунты не перезаписываются; коллизия откатывает весь импорт.
migration:
# Только на время контролируемого переноса; публичный вход при true закрыт.
enabled: false
# Допустимы com.mysql.cj.jdbc.Driver или org.mariadb.jdbc.Driver.
driver: com.mysql.cj.jdbc.Driver
# Отдельная исходная база, доступная для чтения. Вне loopback используйте проверенный TLS.
url: 'jdbc:mysql://127.0.0.1:3306/old_auth?sslMode=VERIFY_IDENTITY'
# Учётная запись с SELECT на исходные таблицы.
username: ''
# Секрет. Не передавайте его аргументом команды и не публикуйте config.yml.
password: ''
max_ip_registering:
enable: true # Проверять на максимальное число регистраций с одного IP?
max_account: 3 # Сколько аккаунтов можно создать с одного IP?
# Все боты имеют одинаковый интерфес команд и кнопок.
# Если пара создана с несколькими ботами, то 2FA оповещение
# появится у всех с кем есть пара, но подтверждение сработает
# с первого раза (не нужно у всех подтвержать, только у одного).
bot:
# Все сообщения за исключением лейблов кнопок "message.authenticate_button_label" и "message.kick_button_label"
# поддерживают мультистрочный формат, например "message.start".
message:
start:
- 'Отправьте /пара чтобы связать аккаунт.'
- 'Отправьте /помощь чтобы получить список команд.'
authentication_complete: '2FA аутентификация выполнена!'
not_on_server_or_not_paired: 'Нужно быть на сервере или /пара с этим аккаунтом не создана.'
was_kicked: 'Кикнут, сессия сброшена!'
2fa_required: 'Выполнен вход на сервер с аккаунта %player_name% / %ip_address%, подтвердите или отклоните действие.'
untie: 'Пара разорвана, но ее можно создать снова командой /пара.'
authenticate_button_label: '🔑 Авторизовать' # Не поддерживает мультистрочный формат.
kick_button_label: '👋 Кикнуть!' # Не поддерживает мультистрочный формат.
not_paired: '/пара с этим аккаунтом не создана.'
self_banned: 'Вход на сервер под ником %player_name% заблокирован.'
self_unbanned: 'Вход на сервер под ником %player_name% разблокирован.'
set_password_use: 'Используйте /задатьпароль (новый пароль).'
pair:
telegram:
- 'Выполните на сервере команду, чтобы создать пару:'
- '<pre>/pair %code%</pre>'
vk: "Выполните на сервере команду '/pair %code%' чтобы создать пару."
# Все описания, поддерживают мультистрочный формат, например "command_list.start.description".
command_list:
start:
command: '/старт'
description:
- 'показать приветствие'
help:
command: '/помощь'
description: 'показать список команд'
kick:
command: '/кик'
description: 'кикнуть связанный аккаунт на сервере'
authenticate:
command: '/авторизовать'
description: 'выполнить аутентификацию аккаунта'
pair:
command: '/пара'
description: 'получить команду создания пары на сервере'
untie:
command: '/отвязать'
description: 'разорвать пару с аккаунтом на сервере'
self_ban:
command: '/самобан'
description: 'заблокировать вход на сервер со своего аккаунта'
self_unban:
command: '/саморазбан'
description: 'разблокировать вход на сервер со своего аккаунта'
set_password:
command: '/задатьпароль'
description: 'задать пароль своему аккаунту на сервере'
telegram:
enable: false # Вкл./выкл. бота.
token: 'XXXXXXXXXXXXXXXX' # Секретный токен. Будет доступен после создания бота через https://t.me/BotFather.
username: '@name_bot' # Юзернейм бота заданный при создании.
# Список Telegram-ID администраторов.
# Пользователь с Telegram-ID из списка может использовать команду рассылки сообщений /alert.
# Узнать свой Telegram-ID, бот "https://t.me/@myidbot", команда "/getid".
admin_telegram_user_id_list:
- 123456
# Команда "зазывалка" с целью привлечения игроков в Телеграм, например: "Напиши Телеграм боту /free и получи приз!".
# Привлеченным игрокам можно выполнить рассылку сообщений /alert с целью поддержания интереса к игровому проекту.
free_command:
# Команда которую нужно выполнить в Телеграм боте чтобы забрать приз.
command: "/free"
# Чтобы забрать приз сначала необходимо создать "/пара" (2FA)?
# Без "/пара" (2FA), Telegram-ID пользователя не будет сохранен и рассылка "/alert" его не достигнет.
# Если расчет на рассылку, оставьте значение true - необходима "/пара" (2FA) чтобы забрать приз.
2fa_required: true
# Конфигурация сообщений.
message:
2fa_required: 'Пожалуйста, сначала создайте пару с аккаунтом на сервере командой "/пара".'
free:
- "Бесплатный приз!"
- 'Пиши команду "/example QWE123" на сервере чтобы забрать!'
vk:
enable: false # Вкл./выкл. бота.
# После создания группы проверьте правильность настройки:
# "Управление" > "Сообщения" > "Настройки для ботов" > "Возможности ботов" = "Включены".
# "Управление" > "Сообщения" > "Сообщения сообщества" = "Включены".
# "Управление" > "Настройки" > "Работа с API" > "Long Poll API" > "Long Poll API" = "Включено".
token: 'XXXXXXXXXXXXXXXX' # Секретный токен. Будет доступен после создания группы VK "Управление" > "Настройки" > "Работа с API" > "Создать ключ".
group_id: 123456789 # ID группы VK. Узнать ID группы: https://vk.com/faq18062.
# Балансер автоматически направляет игрока на наиболее пустой сервер для распеределения нагрузки.
# AUTH_LOBBY требует непересекающиеся auth и main; DIRECT_LOBBY использует только main.
balancer:
auth_server_list: # Список серверов авторизации, название сервера как в конфигурации BungeeCord.
- 'auth'
main_server_list: # Список основных серверов (например лобби), название сервера как в конфигурации BungeeCord.
- 'lobby'
# Отправляет игрокам без 2FA напоминание о ее отсутствии.
# Сообщение берется из секции 'message.2fa_warning'.
2fa_reminder:
enable: true # Вкл./Выкл.
delay: 60 # Сек. Интервал напоминания о отсутствии 2FA на аккаунте.
# Конфигурация модуля работы с почтой.
email_module:
# Включить отправку почты; отключение SMTP не снимает уже привязанный фактор.
enabled: false
# Конфигурация отправителя почты.
email_sender:
# TLS (обычно465) либо STARTTLS (обычно587). Незащищённый SMTP не допускается.
tls: STARTTLS
# Порт SMTP-сервера.
port: 587
# Имя пользователя SMTP; пустое значение использует from.
username: ''
# Имя переменной окружения для пароля. Пустое значение использует password ниже.
password_env: ''
# Адрес SMTP сервера.
smtp_host: "smtp.example.com"
# Отправитель, мы.
from: "from@example.com"
# Пароль от аккаунта почты отправителя. От "from".
password: "password"
# Имя отправителя, нас.
from_name: "noreply"
# Конфигурация сервиса подтверждения электронной почты.
email_confirmation_service:
# Тема письма.
subject: "Подтверждение электронной почты"
# Текст письма.
texthtml_file: email_confirmation.html
email_2fa_service:
# Тема письма.
subject: "Подтверждение входа"
# Текст письма.
texthtml_file: email_2fa.html