Главная › Моддинг › Проверка, упаковка и публикация
Глава 06

Проверка, упаковка и публикация

oa-tool mutator check и pack, пробный прогон, что показывает страница каталога, значок и как предложить пакет Core Prime.

Эта глава кратко пересказывает docs/mutators/authoring.md и docs/mutators/oamut-standard.md.

Проверка .oamut

Мутатор упаковывается и проверяется командами oa-tool mutator pack и oa-tool mutator check. oa-tool pack и oa-tool check — команды для .oamap и .oamod. check читает .oamut, а не папку. Он компилирует Lua и разбирает каждый .sm, но не запускает их. Последняя строка — result: ok или result: refused.

$ oa-tool mutator pack commander-radar
$ oa-tool mutator check commander-radar-1.oamut

Отказ называет файл и строку. Исправьте ошибку, прежде чем предлагать пакет. Упакованный Commander Radar называется commander-radar-1.oamut, и его проверка заканчивается строкой result: ok.

Упаковка снаружи папки

Запускайте pack с именем папки, находясь вне её. Без других параметров он пишет <id>-<version>.oamut в текущую папку. --out должен называть файл .oamut: любое другое окончание отклоняется. --force заменяет уже существующий файл. Не упаковывайте . изнутри папки и не оставляйте .oamut внутри неё: пакет не может содержать этот файл. --game-dir для этой команды — ошибка использования.

Пробный прогон

oa-tool mutator diff прогоняет папку пакета через конвейер мутаций игры на папке игры и перечисляет, что изменилось. Параметры идут после последнего двоеточия, как strength=lite в uber-comm. Хук maps запускается только с --map NAME. На 3.1c без мода строки отчёта после заголовка # такие:

$ oa-tool mutator diff --game-dir DIR --mutator ./uber-comm:strength=lite
field units/armcom.fbi [unitinfo] acceleration: 0.15 -> 0.3375	by uber-comm
field units/armcom.fbi [unitinfo] brakerate: 0.3 -> 0.675	by uber-comm
field units/armcom.fbi [unitinfo] builddistance: 60 -> 120	by uber-comm
field units/armcom.fbi [unitinfo] maxdamage: 3000 -> 4500	by uber-comm
field units/armcom.fbi [unitinfo] maxvelocity: 1.2 -> 1.8	by uber-comm
field units/armcom.fbi [unitinfo] turnrate: 1044 -> 1566	by uber-comm
field units/armcom.fbi [unitinfo] workertime: 300 -> 900	by uber-comm
field units/corcom.fbi [unitinfo] acceleration: 0.16 -> 0.36	by uber-comm
field units/corcom.fbi [unitinfo] brakerate: 0.32 -> 0.72	by uber-comm
field units/corcom.fbi [unitinfo] builddistance: 60 -> 120	by uber-comm
field units/corcom.fbi [unitinfo] maxdamage: 3000 -> 4500	by uber-comm
field units/corcom.fbi [unitinfo] maxvelocity: 1.07 -> 1.605	by uber-comm
field units/corcom.fbi [unitinfo] turnrate: 1030 -> 1545	by uber-comm
field units/corcom.fbi [unitinfo] workertime: 300 -> 900	by uber-comm

Пробный прогон в Библиотеке — тот же конвейер на собственном хранилище, без матча. Он не задаёт карту, поэтому хук maps там не запускается. Библиотека запоминает ответ, и её строка «Проверка» — одна из этих. check не применяет мутатор. Пробный прогон и diff применяют.

ВердиктЧто показывает Библиотека
compatibleРаботает с этим модом, и в строке есть сводка изменений.
no-effectРаботает, но не меняет ничего из того, что учитывает проверка.
incompatibleНе работает с этим модом. Далее указана причина.
failedОстановился. Далее указана причина.
идёт проверкаПроверка с этим модом ещё идёт.
ещё не провереноС этим модом ещё не проверялся.

Что показывает страница каталога

Страница показывает значок, а если манифест его не называет — значок первого тега, когда этот тег один из восьми. Затем название, автора, версию и выпуск, краткое описание (первую строку description), теги и плашку движка из requires.engine. «Требует» перечисляет requires.mutators. «Параметры» перечисляет каждый параметр. «Что меняет» перечисляет слои. «Работает с» перечисляет works-with. Далее идёт таблица выпусков, затем «Как получить в игре». Этот сайт никогда не даёт ссылку на файл пакета. Скачивание происходит в игре.

Значок

Квадратный PNG: сторона не меньше 1 пикселя и не больше 256 пикселей, размер не больше 256 КиБ. Рисуйте в 128 пикселей. Поле icon в манифесте называет путь, и это имя оканчивается на .png. Без icon значок пакета берётся у первого тега, если этот id — один из восьми. Следующие теги не проверяются.

Предложите его Core Prime

Библиотека контента Core Prime публикуется с машины сопровождающего: каталог подписывается ключом, который никогда её не покидает. Чтобы мутатор попал в список:

  1. Откройте issue в репозитории Open Annihilation, приложите .oamut (или ссылку на него) и укажите автора и лицензию.
  2. Сопровождающий запускает проверки на папке игры и добавляет пакет в записи библиотеки.
  3. Следующая публикация загружает файл по его хешу, подписывает новый каталог и увеличивает его порядковый номер.
  4. Через несколько минут пакет появляется в Библиотеке у каждого игрока и на этом сайте.

Набор карт или мод предлагаются так же. Подробнее — в главе Публикация в Core Prime.