Головна › Моддинг › Перевірити, запакувати й опублікувати
Розділ 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 KiB. Малюй її в 128 пікселів. icon у маніфесті називає шлях, і ця назва закінчується на .png. Без іконки значок бере іконку першого тегу, якщо цей id — один із восьми. Пізніші теги не перевіряються.

Запропонуй його Core Prime

Бібліотеку вмісту Core Prime публікують із компʼютера супровідника: каталог підписується ключем, який ніколи не залишає цей компʼютер. Щоб мутатор потрапив до списку:

  1. Створи issue в репозиторії Open Annihilation з .oamut (або посиланням на нього), його автором і ліцензією.
  2. Супровідник проганяє перевірки на теці гри й додає мутатор до записів пакетів бібліотеки.
  3. Наступна публікація вивантажує файл за його хешем, підписує новий каталог і збільшує його порядковий номер.
  4. За кілька хвилин він зʼявляється в Бібліотеці кожного гравця й на цьому сайті.

Набір мап чи мод пропонують так само. Див. Публікація в Core Prime.