Будова набору мап
Zip-архів .oamap, його маніфест oamap.yaml, індекс мап, який записує пакувальник, і як розмір та обʼєкти мапи визначають, чи підходить вона для гри.
Пакет
Файл .oamap — це zip-архів теки набору з oamap.yaml у корені або в єдиній теці, що лежить у корені (саме такий файл створює команда «Стиснути» у Finder). Правила архіву ті самі, що й для пакета моду: записи без стиснення або стиснені deflate; без посилань, імен пристроїв, абсолютних шляхів чи ..; без двох імен, що відрізняються лише регістром; щонайбільше 4 GiB у розпакованому вигляді.
my-maps.oamapфайл, який гравець завантажує або відкриває├─ oamap.yamlобовʼязково маніфест: ідентифікатор, назва, версія, автор, пакування й індекс мап├─ Ridge.tnt · Ridge.otaодна мапа: її рельєф (.tnt) і налаштування (.ota)├─ Long Lakes.tnt · Long Lakes.otaще одна; у наборі від 1 до 256 мап└─ READMEусе інше переноситься разом із пакетом і ігноруєтьсяМаніфест
Строгий YAML: один документ, одне відображення верхнього рівня, без якорів і блокових скалярів. id записують у kebab-case в нижньому регістрі, від 1 до 32 байтів; це назва теки, в яку встановлюється набір. Ключ, якого немає в стандарті, відхиляється.
oamap: 1 id: my-maps # kebab-case, від 1 до 32 байтів; назва теки встановлення name: My Maps version: "1.0" # довільний текст, ніколи не впорядковується description: Two maps for four and ten players author: {name: A. Mapper} packaging: {revision: 1, date: 2026-10-18, packager: A. Mapper} requires: {engine: ">= 0.8.0"} # діапазон рушія бери в лапки: > без лапок починає блоковий скаляр, а його буде відхилено # maps: за тебе записує oa-tool pack (індекс нижче)
Індекс
oa-tool pack записує елемент maps для кожної мапи в теці, що має схему Network, у порядку байтів її шляху. Тека може сама перелічити елементи, щоб задати назву, опис чи кількість гравців мапи; решта завжди обчислюється.
| Ключ | Правило |
|---|---|
stem | Основа імені файлу мапи; якщо такого файлу в теці немає, це помилка. |
name, description | Задається списком теки або береться з мапи; правила ті самі, що й для запакованого елемента. |
players | Кількість гравців, на яку розрахована мапа, від 2 до 10. |
size, preview, files | Завжди обчислюється пакувальником, навіть якщо тека їх задає. |
Як мапа підходить для гри
Мапа підходить для гри, коли в грі є тайлсет, обʼєкти та юніти, які називає мапа. Бібліотека вмісту перевіряє кожен набір на сумісність із базовою грою й кожним модом і записує вердикти; саме звідти беруться число «Працює на мапах» на сторінці моду та список модів для мапи.
Набір, якому потрібне доповнення, вказує це в requiredExpansions; мапа, яка не підходить для самої лише базової гри, однаково потрапляє до списку, а гра пояснює, чому її не буде завантажено.
Куди встановлюється
У Documents/Open Annihilation/Maps/