Будова моду
Zip-архів .oamod і профіль oamod.yaml: ідентифікація, структура, ліміти, ключі даних, розширення скриптів і стандартні хаки, які він вмикає.
Пакет
Файл .oamod — це zip-архів теки моду. Профіль лежить у корені або в єдиній теці, що лежить у корені (саме такий файл створює команда «Стиснути» у Finder). Записи без стиснення або стиснені deflate; без посилань, імен пристроїв, абсолютних шляхів чи ..; щонайбільше 4 GiB у розпакованому вигляді.
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 |
Куди встановлюється
У Documents/Open Annihilation/Mods/
Перевірки перед публікацією
- Профіль проходить перевірку так само, як під час завантаження в гру: його розвʼязують двічі, вдруге — з INI пакета й налаштуваннями гравця з реєстру.
- Жодні два імені не відрізняються лише регістром ASCII; жоден файл не має того самого імені, що й тека.
- version і packaging.revision ще ніколи не публікувалися з іншими байтами. Скрипт публікації таке відхиляє.
- Кожен названий хак реалізовано в цій версії Open Annihilation, інакше Бібліотека покаже мод, але не зможе його встановити.