Головна › Моддинг › Будова набору мап
Розділ 01

Будова набору мап

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/, за id з маніфесту, а не за іменем файлу. Новіша ревізія тієї самої версії замінює теку; інша версія може встановитися поруч. Усе перевіряється до того, як буде щось записано.