- Поддерживаемые версии
- 1.16
- Ядра и Прокси
- Velocity
- Минимальная версия Java
- 17
LumyEmailAddon — Привязка почты и восстановление паролей для LimboAuth
LumyEmailAddon — это мощное дополнение для популярного плагина авторизации LimboAuth (Velocity + LimboAPI). Плагин добавляет полноценную систему привязки через электронную почту: игроки могут привязывать свои аккаунты к E-mail, а также самостоятельно сбрасывать забытые пароли не выходя с сервера авторизации.ТГК - You must be logged in to see this link.
Версия: 1.0
Плагин продолжает обновлятся: Да
Команды для Игроков
Эти команды доступны всем игрокам по умолчанию (права не требуются).- /linkemail email — Запросить привязку почты к аккаунту.
- /confirmemail код — Подтвердить действие (привязку или отвязку) с помощью кода из письма.
- /unlinkemail — Запросить отвязку текущей почты.
- /recoverpassword (алиасы: /fp, /forgotpassword) — Начать процедуру восстановления забытого пароля на авторизации.
- /confirmrecover код новый_пароль повтор — Подтвердить сброс пароля и установить новый.
Команды для Администрации
Для использования этих команд требуется право: limboemailaddon.admin (На уровне Velocity)- /emailadmin info игрок — Посмотреть подробную информацию об игроке (привязанная почта, статус верификации, дата привязки, количество аккаунтов на этой почте и количество сбросов пароля).
- /emailadmin forceunlink игрок — Принудительно отвязать почту от аккаунта игрока без подтверждения.
- /emailadmin forcelink игрок email — Принудительно привязать почту к аккаунту (моментально помечается проверенной).
- /emailaddon reload — Перезагрузить конфигурацию плагина config.yml прямо из игры/консоли Velocity
Установка и Настройка
- Убедитесь, что на вашем Velocity уже установлены плагины: LimboAPI и LimboAuth.
- Загрузите файл LimboEmailAddon-1.0.jar в папку plugins вашего Velocity сервера.
- Запустите сервер (прокси), чтобы плагин создал папку plugins/limboemailaddon.
- В папке появятся:
- Файл config.yml — главные настройки.
- Папка email-templates — с тремя HTML-файлами писем. (Дизайн можно настроить самому)
- Откройте config.yml и настройте блок smtp:
- Впишите сервер, порт, логин и пароль от вашей рабочей почты (Google, Yandex, Mail/VK и т.д.).
- Если используете почту Gmail, убедитесь, что включили Пароли приложений в настройках Google аккаунта!
- (Опционально) Настройте server-commands, указав RCON-данные вашего сервера lobby, чтобы выдавать игрокам permissions или награды при привязкеу
Используйте команду /emailaddon reload в консоли прокси. Готово!
Доп. Информация: Для получения доступа к админ командам скачайте LuckPerms версия для Велосити после чего запустите велосити сервер с этим плагином и введите lpv user ВашНик permission set limboemailaddon.admin true, это право должно быть у вас именно на велосити сервере.
Требования
- Ядро Velocity 3.3.0-SNAPSHOT You must be logged in to see this link.
- limboauth-1.1.14
- limboapi-1.1.26
- LuckPerms-Velocity-5.5.36 (Версия для Velocity) для выдачи пермишена для admin команд
You must be logged in to see this link.
Демонстрация сброса пароля:
You must be logged in to see this link.
YAML:
# Конфигурация LimboEmailAddon
# Настройки SMTP для отправки писем
smtp:
host: "smtp.gmail.com"
port: 587
username: "youremail@gmail.com"
password: "yourAPPpassword"
# STARTTLS (порт 587)
use-tls: true
# SSL (порт 465) — установите use-tls: false и это значение на true
use-ssl: false
sender-name: "YourServer"
sender-email: "noreply@yourserver.com"
# Имя, отображаемое внутри шаблонов писем как {server_name}
server-name: "YourServer"
connection-timeout-ms: 5000
send-timeout-ms: 10000
# Настройки кодов подтверждения
codes:
# Длина цифрового кода
length: 6
# Время жизни кода в секундах (300 = 5 минут)
ttl-seconds: 300
# Максимальное количество неверных попыток до аннулирования кода
max-attempts: 5
# Минимальное время в секундах между запросами кодов
rate-limit-seconds: 60
# Алиасы команд (первая запись — основное имя команды)
commands:
link-email:
- linkemail
- addmail
- setemail
confirm-email:
- confirmemail
- emailcode
- ecode
unlink-email:
- unlinkemail
- removemail
- delemail
recover-password:
- recoverpassword
- forgotpassword
- fp
- resetpass
confirm-recover:
- confirmrecover
- confirmreset
email-admin:
- emailadmin
- ea
# HTML шаблоны писем и их заголовки
# Доступные плейсхолдеры в заголовках: {server_name}
email-templates:
link:
subject: "Подтверждение почты {server_name}"
# Путь относительно директории данных плагина
html-file: "email-templates/link_email.html"
unlink:
subject: "Отвязка почты {server_name}"
html-file: "email-templates/unlink_email.html"
recovery:
subject: "Восстановление пароля {server_name}"
html-file: "email-templates/recovery_email.html"
# Выполнение действий при привязке/отвязке почты
server-commands:
enabled: true
# Конфигурация для RCON подключений к серверам
rcon:
lobby:
ip: "127.0.0.1"
port: 25575
password: "password"
on-email-link:
# Целевой сервер для [Console] команд через RCON
server: "lobby"
# Типы действий: [Message], [Console], [ProxyConsole]
# Доступные плейсхолдеры: {player}, {email}, {server_name}
actions:
- "[Message] &aВы &e{player}&a успешно привязали почту &e{email}"
- "[Console] say Игрок {player} привязал почту на сервере {server_name}"
on-email-unlink:
server: "lobby"
actions:
- "[Message] &cВы отвязали свою почту"
- "[ProxyConsole] alert Игрок {player} отвязал свою почту!"
# Валидация при восстановлении пароля
password-recovery:
min-password-length: 4
max-password-length: 71
# Секунды, добавляемые к таймауту авторизации LimboAuth при отправке письма для восстановления
# Это даёт игроку время проверить почту до того, как его кикнет
# Установите 0, чтобы отключить продление
recovery-timeout-extension: 120
# Все сообщения для игроков. Поддерживаются цветовые коды &
# Приставка {prefix} заменяется во всех сообщениях
messages:
prefix: "&8[&6Почта&8] &f"
reload: "{prefix}&aПлагин успешно перезагружен!"
sending-link-email: "{prefix}&eОтправляем код подтверждения на &f{email}&e..."
email-sent: "{prefix}&aКод отправлен на вашу почту. Истекает через &e{ttl}&a секунд. Используйте &6/confirmemail <code>&a для подтверждения"
email-invalid: "{prefix}&cВы ввели неверный адрес электронной почты."
already-linked: "{prefix}&cК вашему аккаунту уже привязана почта (&e{email}&c). Сначала отвяжите её с помощью &6/unlinkemail&c"
code-correct-link: "{prefix}&a Почта &e{email} &aуспешно привязана к вашему аккаунту"
code-correct-unlink: "{prefix}&a Почта успешно отвязана от вашего аккаунта"
code-wrong: "{prefix}&c Неверный код Осталось &e{attempts} &cпопыток"
code-expired: "{prefix}&cСрок действия кода истек. Запросите новый"
no-attempts: "{prefix}&cСлишком много неверных попыток. Код аннулирован. Запросите новый"
sending-unlink-email: "{prefix}&eОтправляем код для отвязки..."
unlink-email-sent: "{prefix}&aКод для отвязки отправлен на &e{email}&a. Используйте &6/confirmemail <code>&a для подтверждения"
no-email-linked: "{prefix}&cК вашему аккаунту не привязана почта"
sending-recover-email: "{prefix}&eОтправляем код для восстановления пароля..."
recover-email-sent: "{prefix}&aКод восстановления отправлен на вашу почту. Используйте &6/confirmrecover <code> <новый_пароль> <повтор>&a для сброса"
recover-not-available: "{prefix}&cДля восстановления пароля требуется привязанная и подтвержденная почта"
recover-not-in-auth: "{prefix}&cВы можете использовать &6/recoverpassword &cтолько на экране входа"
code-correct-recover: "{prefix} Пароль успешно изменён! Перезайдите, чтобы авторизоваться с новым паролем"
password-too-short: "{prefix}&cПароль слишком короткий (минимум &e{min} &cсимволов)"
password-too-long: "{prefix}&cПароль слишком длинный (максимум &e{max} &cсимволов)"
passwords-mismatch: "{prefix}&cПароли не совпадают!"
rate-limited: "{prefix}&cПожалуйста, подождите &e{seconds}&c секунд перед запросом нового кода"
must-be-logged-in: "{prefix}&cВы должны быть авторизованы, чтобы использовать эту команду"
link-email-usage: "{prefix} &6/linkemail email"
confirm-email-usage: "{prefix} &6/confirmemail code"
confirm-recover-usage: "{prefix} &6/confirmrecover code новый_пароль повтор"
admin-info-format: "{prefix}&aИнформация о &e{player}&a:\n &7Почта: &f{email}\n &7Подтверждена: {verified}\n &7Дата привязки: &f{date}\n &7Сбросов пароля: &e{resets}\n &7Аккаунтов на этой почте: &e{accounts}"
admin-force-unlink-success: "{prefix}&aПочта &e{player}&a успешно отвязана"
admin-force-link-success: "{prefix}&aПочта &e{email}&a успешно привязана к &e{player}&a."
admin-player-not-found: "{prefix}&cИгрок &e{player}&c не найден в базе данных."
admin-usage: "{prefix}&6/emailadmin info/forceunlink/forcelink игрок [email]"
max-accounts-reached: "{prefix}&cК этой почте уже привязано максимальное количество аккаунтов (&e{max}&c)."
# Продвинутые настройки
advanced:
# Отправлять письма в фоновом потоке (строго рекомендуется)
async-emails: true
# Выводить строку в лог при каждой отправке письма
log-sent-emails: true
# Максимальная длина email (по стандарту RFC 5321)
max-email-length: 254
# Регулярное выражение для проверки введенных игроками адресов
email-regex: "^[a-zA-Z0-9._%+\\-]+@[a-zA-Z0-9.\\-]+\\.[a-zA-Z]{2,}$"
# Скрывать часть email в сообщениях для приватности (например, p***@gmail.com)
mask-email-in-messages: true
# Максимальное количество аккаунтов LimboAuth, привязанных к одному email
max-accounts-per-email: 3
- Команды и права
- -