Устройство мода
Zip-файл .oamod и профиль oamod.yaml: идентификация, структура, лимиты, ключи данных, расширения скриптов и стандартные доработки, которые включает мод.
Пакет
Файл .oamod — это zip-архив папки мода. Профиль лежит в корне или в единственной папке корня (такой файл создаёт команда «Сжать» в Finder). Записи без сжатия или со сжатием deflate, без ссылок, имён устройств, абсолютных путей и .., не больше 4 ГиБ в распакованном виде.
escalation.oamodфайл, который игрок скачивает или открывает├─ oamod.yamlобязательно профиль: идентификация, структура, лимиты, доработки├─ badge.png256 × 256, показывается в Библиотеке и на этом сайте├─ totala1.hpi · esc.ufoархивы, перечисленные в layout в порядке загрузки├─ units/ · weapons/ · features/отдельные папки данных поверх архивов├─ scripts/ · objects3d/ · textures/скрипты COB, модели 3DO, текстуры GAF├─ sounds/ · bitmaps/ · guis/звуки, изображения и меню, которые заменяет мод└─ README · LICENCEвсё остальное переносится как есть и игнорируетсяПрофиль
Строгий YAML: один документ, одно отображение верхнего уровня, без якорей и блочных скаляров. Всё, что файл не указывает, работает как в 3.1c.
oamod: 1 id: escalation # kebab-case, от 1 до 32 байт. Имя папки установки name: Escalation version: "10.2.0" # произвольный текст, не упорядочивается author: {name: Wotan and the ESC team} packaging: {revision: 1, date: 2026-10-15, packager: Core Prime} homepage: https://example.net/escalation tags: [units, balance, ai] requires: {base: ta-3.1c, engine: ">= 0.8.0"} # диапазон версий движка — в кавычках layout: archives: [esc.ufo, escgui.ccx] limits: units-per-player: {default: 1500, max: 5000} hacks: ai.income-multipliers: {easy: 1.0, medium: 1.5, hard: 2.0} weapons.high-arc-ballistic: true veterancy.model: escalation
Что можно объявить
| Ключ | Что делает | Стандарт |
|---|---|---|
identity | Названия, значок, сайт, теги, основную игру и нужные дополнения. | §6.1 |
layout | Какие архивы и папки составляют мод, в порядке загрузки. | §6.2 |
limits | Лимиты движка, которые поднимает мод, у каждого — значение по умолчанию и максимум, который может выбрать хост. | §6.3 |
script-extensions | Дополнительные значения, которые читают скрипты юнитов мода, например unit.kills-x100. | §7 |
data-keys | Дополнительные ключи в файлах FBI и TDF, которые должен учитывать движок. | §8 |
hacks | Стандартные доработки, которые включает мод. Доработки симуляции должны совпадать у всех игроков. | §9 |
strings, media | Переведённые названия, а также собственные изображения и звуки мода для меню. | §10 |
Куда устанавливается
В Документы/Open Annihilation/Mods/
Проверки перед публикацией
- Профиль проходит проверку так же, как при загрузке: он разбирается дважды, во второй раз с INI пакета и настройками игрока из реестра.
- Нет двух имён, которые различаются только регистром ASCII, и нет файла и папки с одинаковым именем.
- version и packaging.revision ещё ни разу не публиковались с другими байтами. Скрипт публикации такое отклоняет.
- Каждая названная доработка реализована в этой версии Open Annihilation. Иначе Библиотека покажет мод, но не сможет его установить.