Устройство набора карт
Zip-файл .oamap, его манифест oamap.yaml, индекс карт, который пишет упаковщик, и как размер и объекты карты решают, подходит ли она к игре.
Пакет
Файл .oamap — это zip-архив папки набора, где oamap.yaml лежит в корне или в единственной папке корня (такой файл создаёт команда «Сжать» в Finder). Правила для архива те же, что у пакета мода: записи без сжатия или со сжатием deflate, без ссылок, имён устройств, абсолютных путей и .., без двух имён, которые различаются только регистром, не больше 4 ГиБ в распакованном виде.
my-maps.oamapфайл, который игрок скачивает или открывает├─ oamap.yamlобязательно манифест: id, name, version, author, packaging и индекс карт├─ 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. Карта, которая не подходит к одной только основной игре, всё равно попадает в список, а игра объясняет, почему она не загрузится.
Куда устанавливается
В Документы/Open Annihilation/Maps/