Как это работает
Мод: папка с manifest.json. Пакет: тот же мод одним файлом .wotbmod. Релиз: пакет с подписью и записью о его хеше. Каталог: список релизов, который читает и этот сайт, и установщик на вашем компьютере.
Установка
- Один раз поставьте набор WotbMod: он кладёт в игру загрузчик, инструменты и регистрирует установщик для кнопки ниже.
- На странице мода нажмите «Установить в игру». Браузер откроет ссылку
wotbmod://install/<id>@<версия>, установщик покажет права, зависимости и хеш и спросит подтверждение. - Без установщика: скачайте
.wotbmodи.sigи выполнитеwotbmod install … --catalog https://blitz-forge.org/api/v1.
Публикация
- Соберите релиз:
wotbmod release <папка> --sign-with-key <ключ> --key-id <id>. Команда сама прогонит статическую проверку. - Загрузите его в кабинете или командой
wotbmod publish --to https://blitz-forge.org/api/v1 --token …. - Заявите совместимость с build-ом клиента на странице мода. Версия после публикации неизменяема.
Роли
- Пользователь оценивает, комментирует, жалуется и может подать заявку разработчика.
- Разработчик публикует свои моды и заявляет совместимость.
- Проверенный разработчик прошёл проверку модератора: его моды получают отметку, а релизы подписывает портал, чтобы игроку хватало одного доверенного ключа.
- Модератор разбирает заявки и жалобы, ставит отметку «проверен», снимает моды. Администратор назначает роли.
Отметку «проверен» ставит только модератор; сам разработчик не может поставить её себе.
Безопасность
- Пакет проверяется дважды одинаковыми правилами: здесь при загрузке и loader-ом в игре. Хеш, подпись ECDSA P-256, структура архива.
- Статическая проверка ищет в нативном коде инъекцию в чужие процессы, системные хуки, сетевые вызовы без объявленного права; в Lua: вызовы, которых в host-е нет.
- Права показаны до установки с меткой риска. При обновлении установщик называет новые права словами «эскалация прав».
- Моды не получают сырого сетевого канала, скрытых данных противника и не меняют то, что решает сервер.
API
Каталог: GET /api/v1/index.json, GET /api/v1/mods, GET /api/v1/mods/<id>, артефакты по /api/v1/releases/<id>/<версия>/artifact и …/artifact.sig. Публикация: POST /api/v1/releases с токеном. Старая форма для каталога в ангаре: GET /api/mods. Полный список есть в README портала.