Назначение
SSaVS обеспечивает комплексную защиту сервера Minecraft и сопровождающий Fabric‑мод для клиента. Система выполняет верификацию модов и ресурс‑паков, управляет интерактивными голосованиями с гибкой длительностью и фоном, предоставляет строгую валидацию сетевых пакетов и поддерживает тонкую настройку через конфигурационный файл. Включены модули, которые можно включать и отключать независимо.
-
Верификация клиента:
- Сервер запрашивает у игрока список установленных модов и активных ресурспаков.
- Клиент отправляет цифровой отпечаток (hwid) на сервер
- Список сравнивается с чёрным списком (поддерживаются регекспы, без учёта регистра). При совпадении игрок кикается.
- При отключённом модуле Verification сервер не запрашивает список модов.
-
Интерактивные голосования:
- Полноэкранный UI на клиенте, затемнение мира, блокировка движения (если не разрешено явно).
- Поддержка заголовка, описания, списка вариантов, фонового изображения (base64 или публичный URL) и индивидуальной длительности (
--duration=). - Поддержка досрочного завершения голосования командой
/securityvote end. - Динамическая статистика голосов; сервер отсылает обновления только участвовавшим игрокам.
- Модуль Voting можно отключить; в этом случае все команды
/securityvoteотклоняются.
-
Гибкая конфигурация:
- Все параметры сгруппированы в секции в
config.yml:modules,security,votes,network,messages. - Плагин поддерживает отдельный файл
messages.ymlдля кастомизации текстов. При включении настройкиmessages.enable-customпользовательские сообщения читаются из этого файла, иначе используются значения по умолчанию.
- Все параметры сгруппированы в секции в
-
Безопасность:
- Строгая валидация входящих данных (длины строк, размеры списков, индексы вариантов, максимальный размер base64).
- Нераспознанные подпакеты игнорируются.
- Незамедлительный кик при обнаружении запрещённых модов/ресурспаков.
- Java 21
- Paper 1.21.4 для сервера
- Fabric Loader (0.15+) + Fabric API для клиента
См. файл LICENSE.