Simple Login
Активный0.0
Установок
Последнее обновление
Simple Login
Simple Login - это мод для Forge, предназначенный для защиты серверов, работающих в офлайн-режиме.
Обзор функционала
Данный мод выполняет функции, схожие с плагинами авторизации вроде AuthMe для Bukkit: он проверяет пароль игрока при входе на сервер. Однако есть важное отличие - вместо ввода пароля через команду, пароли сохраняются в специальном файле на стороне клиента и автоматически отправляются на сервер при подключении игрока. Это избавляет от необходимости каждый раз вводить пароль вручную. При первом запуске клиент предложит выбрать пароль, поэтому в большинстве случаев игрокам не придется выполнять дополнительные действия.
Установка
Для работы мода необходимо поместить файл simplelogin-xxx.jar в папку mods как на сервере, так и на клиенте.
Начало работы
Если вас устраивают настройки по умолчанию, никакой дополнительной настройки не требуется.
Пароли игроков не нужно вводить вручную - клиент генерирует случайный UUID в качестве пароля и сохраняет его в файле .minecraft/.sl_password, отправляя затем на сервер при подключении. Сервер запоминает пароль игрока при первом входе и проверяет его соответствие при последующих подключениях.
Частые вопросы
Насколько безопасен мой пароль?
Пароль хэшируется с помощью SHA256 на стороне клиента и дополнительно хэшируется BCrypt перед сохранением на сервере. Однако на стороне клиента пароль хранится без шифрования, поэтому будьте осторожны и не копируйте файл .minecraft/.sl_password при передаче клиента другим пользователям.
Что делать при смене клиента?
Создайте резервную копию файла minecraft/.sl_password и скопируйте его в новый клиент.
Системы хранения данных
Simple Login предлагает различные способы хранения пользовательских данных на сервере, каждый из которых имеет свои преимущества и недостатки. Мод предоставляет абстрактный уровень для реализации разных систем хранения, называемых "провайдерами хранилища".
Каждый провайдер имеет уникальный идентификатор ресурса (например, simplelogin:file).
В комплекте с модом поставляются два провайдера: file и sqlite.
Файловое хранилище
Идентификатор: simplelogin:file
Это самая простая реализация системы хранения, которая сохраняет все пользовательские данные в формате JSON по пути world/sl_entries.dat.
SQLite хранилище
Идентификатор: simplelogin:sqlite
SQLite провайдер может быть более эффективным, чем файловое хранилище, но требует установки SQLite JDBC коннектора объемом около 6 МБ, который не входит в состав Simple Login. Для использования этого провайдера необходимо самостоятельно установить JDBC коннектор.
Пользовательские системы хранения
Если вы знакомы с Java и разработкой модов для Forge, создать собственный провайдер не составит труда.
Необходимо реализовать интерфейс top.seraphjack.simplelogin.server.storage.StorageProvider и зарегистрировать свой провайдер до запуска сервера через вызов top.seraphjack.simplelogin.server.SLRegistries.STORAGE_PROVIDERS::register.
Плагины Simple Login
Плагины Simple Login расширяют функциональность обработки событий входа, авторизации и выхода игроков с сервера.
Как и системы хранения, каждый плагин имеет уникальный идентификатор ресурса.
Ключевые функции Simple Login также реализованы как встроенные плагины:
AutoSave
Идентификатор: simplelogin:autosave
Этот плагин автоматически сохраняет все данные через систему хранения каждые пять минут. Включен по умолчанию.
ProtectCoord
Идентификатор: simplelogin:protect_coord
Телепортирует игроков к точке спавна перед выходом с сервера и возвращает их обратно после успешной авторизации, предотвращая возможную утечку координат при несанкционированных попытках входа. Отключен по умолчанию из-за возможных проблем с большими сборками модов.
ResendRequest
Идентификатор: simplelogin:resend_request
Запрашивает повторную авторизацию у клиента каждые пять секунд, если предыдущий пакет входа по какой-то причине не дошел до сервера. Включен по умолчанию.
RestrictGameType
Идентификатор: simplelogin:restrict_game_type
Изменяет режим игры игрока на наблюдателя при выходе или входе на сервер, возвращая исходный режим игры (сохраненный в системе хранения) после успешной авторизации. Включен по умолчанию.
RestrictMovement
Идентификатор: simplelogin:restrict_movement
Блокирует передвижение игроков до завершения авторизации. Включен по умолчанию.
Timeout
Идентификатор: simplelogin:timeout
Отключает игроков, которые не прошли аутентификацию в течение определенного времени (по умолчанию 600 секунд, настраивается в конфигурации Simple Login по пути
Команды
Все команды поддерживают автодополнение.
/simplelogin unregister <PlayerName>- удаляет регистрацию игрока/simplelogin save- сохраняет все записи игроков/simplelogin setDefaultGameType <PlayerName> <GameType>- настраивает режим игры после авторизации для игрока/simplelogin about- показывает информацию о версии/simplelogin plugin available- отображает список доступных плагинов/simplelogin plugin loaded- показывает список загруженных плагинов/simplelogin plugin load <ResourceLocation>- загружает указанный плагин/simplelogin plugin unload <ResourceLocation>- выгружает указанный плагин/sl_change_password <NewPassword>- изменяет пароль на новый (реализован на стороне клиента по соображениям безопасности)
Настройки
Конфигурация сервера
-
secs: Целое число- Время ожидания аутентификации игрока. Если авторизация не произойдет за это время, игрок будет отключен.
- По умолчанию: 600 секунд
- Изначально было 60 секунд, но увеличено до 10 минут из-за проблем с таймаутами в больших сборках модов
-
plugins: Массив строк- Плагины для загрузки по умолчанию
-
commandNames: Массив строк- Команды, которые разрешено выполнять игроку до авторизации
- Необходимо указывать полную команду без символа
/, например:give @p minecraft:apple 16
-
storageProvider: Строка- Используемая система хранения данных
-
defaultGameType: Целое число- Режим игры по умолчанию для новых пользователей
- 0, 1, 2, 3 соответствуют выживанию, творчеству, приключению и наблюдателю