Плагин на аунтефикацию для bungeecore, nullcordx и waterwall с улучшенной системой защиты от взлома аккаунта.
Система секретных вопросов
После регистрации пользователю будет предложено выбрать 1 из множества вопросов, к примеру "как зовут вашу кошку?", и пользователь задает ответ. При следующем входе на сервер игрок должен будет ввести пароль и секретный вопрос. Данная система отлично защищает аккаунты от взлома.
Сессия и улучшенная защита пароля
Плагин имеет сессии, что позволит вашим игрокам не вводить каждый раз пароль снова и снова (настраивается в конфигурации). Также плагин проверяет пароль игрока на сложность и совпадение с легкими "стандартными" паролями.
Конфигурация
Команды:
/powerauth reload - Перезагрузить конфигурацию
/powerauth unreg <игрок> - Удалить аккаунт игрока
/powerauth changepass <игрок> <новый_пароль> - Изменить пароль игрока
/powerauth removequestion <игрок> - Удалить секретный вопрос игрока (только консоль)
/powerauth unban <игрок> - Снять блокировку PowerAuth (только консоль)
/powerauth migrate <плагин> - Мигрировать данные из другого плагина (LimboAuth only, поместите старую бд по пути plugins/PowerAuth/Limboauth.db)
/register <пароль> <пароль> - Зарегистрироваться
/unregister <пароль> - Удалить аккаунт
/login <пароль> - Войти в аккаунт
/changepass <пароль> <пароль> - Сменить пароль
/changesecurityquestion - Сменить секретный вопрос
Права:
По стандарту игроки имеют доступ ко всем командам, но админские команды доступны только от консоли.
После регистрации пользователю будет предложено выбрать 1 из множества вопросов, к примеру "как зовут вашу кошку?", и пользователь задает ответ. При следующем входе на сервер игрок должен будет ввести пароль и секретный вопрос. Данная система отлично защищает аккаунты от взлома.
Плагин имеет сессии, что позволит вашим игрокам не вводить каждый раз пароль снова и снова (настраивается в конфигурации). Также плагин проверяет пароль игрока на сложность и совпадение с легкими "стандартными" паролями.
config.yml:
database:
# Допустимые типы MySQL/SQLite
type: SQLite
address: 0.0.0.0
port: 8080
database: my_database
user: admin
password: '1234'
password:
min: 8
max: 32
# Требует использовать безопасный пароль.
# Более 8 символов, минимум 2 цифры, 2 буквы, 1 спецсимвол и 1 заглавную букву.
needSecure: true
# Проверяет на стандартные небезопасные пароли
checkUnsafe: true
cacheTime: 172800
authTimeout: 300
ipLimitRegistration: 2
# Если игрок первысит лимит попыток входа, он будет забанен на bruteforceBanTime секунд.
loginAttempts: 5
bruteforceBanTime: 3600
allowedUsernameRegex: ^[A-Za-z0-9_]{3,16}$
# Сервер на котором игрок проходит авторизацию
authServers:
- auth
# Сервер куда попадает игрок после успешной авторизации
gameServer:
- hub1
# Секретные вопросы для дополнительной защиты аккаунта
securityQuestions:
[LIST]
[*]Как зовут вашу кошку?
[*]В каком городе вы родились?
[*]Как зовут вашего лучшего друга детства?
[*]Какая ваша любимая еда?
[*]Какой ваш любимый фильм?
[*]Как звали вашего первого питомца?
[/LIST]
# Сообщения
messages:
pluginError: <red>Вы были кикнуты из-за ошибки авторизации.<newline><newline><white>Сообщите
администрации о ошибке.
banReason: '<red>Вы были забанены на {time} секунд.<newline><newline><white>Причина
блокировки: <yellow>Попытка взлома пароля.'
registerMessage: '<white>Зарегистрируйтесь используя: <yellow>/reg <пароль> <пароль>'
registerTitle:
title: <green>Зарегистрируйтесь
subTitle: '<gray>Используйте: /reg <пароль> <пароль>'
fadeIn: 5
fadeOut: 5
stay: 60
loginMessage: '<white>Войдите в аккаунт используя: <yellow>/l <пароль>'
loginTitle:
title: <green>Войдите в аккаунт
subTitle: '<gray>Используйте: /l <пароль>'
fadeIn: 5
fadeOut: 5
stay: 60
alreadyRegistered: <red>Вы не можете делать это, так как вы уже зарегистрированы.
alreadyLogged: <red>Вы не можете делать это, так как вы уже вошли в аккаунт.
notOnline: <red>Вы не можете делать это, так как вы не вошли в аккаунт.
passwordsNotMatch: <red>Пароли не совпадают.
passwordsMatch: <red>Пароли не должны совпадать.
passwordsLength: <white>Пароль должен быть минимум <yellow>{min} <white>и максимум
<yellow>{max} <white>символов.
unsafePassword: <red>Пароль слишком легкий, используйте другой.
successfulRegistration: <green>Успешная регистрация! Приятной игры :D
successfulLogin: <green>Успешный вход в аккаунт! Приятной игры :D
successfulChangePass: <green>Вы успешно изменили пароль!
successfulUnRegister: <red>Вы успешно удалили свой аккаунт!
alreadyOnline: <red>Вы уже находитесь на сервере.
needRegister: '<red>Для начала вы должны зарегистрироваться, используйте: /reg <пароль>
<пароль>'
needSecurePassword: <red>Ваш пароль не безопасен! <white>Пожалуйста, укажите более
8 символов, минимум 2 цифры, 2 буквы, 1 спецсимвол и 1 заглавную букву.
IpLimitExceeded: <red>Вы не можете создать более {max} аккаунтов.
NotCorrectUserName: <red>Не верный ник, используйте {username}
notValidUserName: <red>Ваш никнейм содержит запрещенные символы.
# Сообщения для системы секретных вопросов
chooseSecurityQuestion: '<green>Выберите секретный вопрос для дополнительной защиты
аккаунта:'
chooseQuestionNumber: '<gray>Напишите номер вопроса в чат (1-{max}):'
invalidQuestionNumber: <red>Неверный номер вопроса! Выберите от 1 до {max}.
enterQuestionNumber: <red>Пожалуйста, введите номер вопроса (1-{max}).
questionSelected: '<green>Вы выбрали вопрос: <white>{question}'
enterAnswer: '<gray>Теперь напишите ответ на этот вопрос:'
answerEmpty: <red>Ответ не может быть пустым!
securityQuestionSetup: <green>Секретный вопрос успешно настроен! Теперь ваш аккаунт
защищен.
newIpDetected: <red>Обнаружен вход с нового IP-адреса!
answerSecurityQuestion: '<yellow>Для подтверждения личности ответьте на секретный
вопрос:'
enterAnswerInChat: '<gray>Напишите ответ в чат:'
correctAnswer: <green>Ответ правильный! Вход разрешен.
wrongAnswer: <red>Неправильный ответ! Попробуйте еще раз.
playerDataNotFound: <red>Ошибка! Данные игрока не найдены.
questionNotFound: <red>Ошибка! Вопрос не найден.
noSecurityQuestion: <red>У вас еще не настроен секретный вопрос!
chooseNewSecurityQuestion: '<green>Выберите новый секретный вопрос:'Команды:
/powerauth reload - Перезагрузить конфигурацию
/powerauth unreg <игрок> - Удалить аккаунт игрока
/powerauth changepass <игрок> <новый_пароль> - Изменить пароль игрока
/powerauth removequestion <игрок> - Удалить секретный вопрос игрока (только консоль)
/powerauth unban <игрок> - Снять блокировку PowerAuth (только консоль)
/powerauth migrate <плагин> - Мигрировать данные из другого плагина (LimboAuth only, поместите старую бд по пути plugins/PowerAuth/Limboauth.db)
/register <пароль> <пароль> - Зарегистрироваться
/unregister <пароль> - Удалить аккаунт
/login <пароль> - Войти в аккаунт
/changepass <пароль> <пароль> - Сменить пароль
/changesecurityquestion - Сменить секретный вопрос
Права:
По стандарту игроки имеют доступ ко всем командам, но админские команды доступны только от консоли.