Пароли
Каким требованиям должен соответствовать пароль и как провайдер Credential хранит пароли.
Требования к паролю
Новые пароли — при регистрации и при смене командой /changepassword — должны соответствовать требованиям из scenario.registration.credential в providers/Credential/settings.yml:
scenario:
registration:
credential:
minLength: 6
maxLength: 32
minUpper: 1
minLower: 1
minNumber: 1
minSpecial: 1По умолчанию пароль должен содержать от 6 до 32 символов, среди них хотя бы одну заглавную букву, одну строчную, одну цифру и один специальный символ. Это строже, чем привыкли многие игроки; укажите 0 для требования, чтобы перестать его проверять. Пробелы запрещены всегда.
Повторный ввод пароля
При requireRepeat: true (по умолчанию) новый игрок вводит пароль командой /pass, а затем ещё раз командой /passconfirm. При false аккаунт создаётся после первого ввода пароля.
changePassword.requireRepeat делает то же для /changepassword <current> <new> [repeat]. При false аргумент repeat необязателен, но если он указан, он всё равно должен совпадать. Команда продолжает показывать [repeat] в справке, пока вы не удалите его и из описания использования change-password в providers/Credential/commands.yml; см. usage.
Закрытие регистрации
scenario.registration.enabled: false запрещает новым игрокам регистрироваться через Credential, а аккаунтам — переноситься на него. Существующие аккаунты продолжают входить.
Хеширование
Credential никогда не хранит сам пароль, только его хеш. cryptography.algorithm выбирает, как создаются новые хеши:
algorithm | Примечания |
|---|---|
bcrypt (по умолчанию) | широко распространён; читает только первые 72 байта пароля, а символ вне ASCII занимает от двух до четырёх байт |
argon2 | Argon2id; без ограничения длины, расходует больше памяти на каждый вход |
Каждый аккаунт помнит, как создан его хеш, поэтому смена алгоритма никого не лишает доступа. При autoupgrade: true (по умолчанию) хеш игрока пересоздаётся настроенным алгоритмом при его следующем успешном входе.
Параметры сложности — algorithms.bcrypt.cost и значения algorithms.argon2 — замедляют вычисление каждого хеша: и при входе, и для того, кто пытается подобрать пароли по украденной базе данных. Повышайте их лишь настолько, насколько ваш прокси справляется в часы пиковых входов.
Все настройки описаны на странице Настройки.
