首页 › 模组制作 › 地图包的构成
第 01 章

地图包的构成

.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:单文档,顶层为映射,无锚点、无块标量。标识为小写 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 为文件夹中每张带 Network 方案的地图写一条 maps 条目,按路径字节序排列。文件夹也可自行列出条目来设置地图的名称、描述或人数;其余始终自动计算。

键规则
stem地图的文件主名;文件夹中没有的主名是错误。
name, description由文件夹的列表设置或取自地图;规则与打包后的条目相同。
players地图设计的人数,2 到 10。
size, preview, files始终由打包工具计算,即使文件夹设置了它们。

地图何时适配

当游戏拥有地图所引用的图块集、要素和单位时,地图即适配该游戏。内容库会用基础游戏和每个模组检查每个地图包并记录结论;模组页的“可用于”计数和地图的模组列表都来自这里。

需要扩展的包在 requiredExpansions 中声明;单靠基础游戏无法适配的地图仍会列出,游戏会说明它为何无法加载。

安装位置

安装到 Documents/Open Annihilation/Maps/,按清单的标识,从不按文件名。同一版本号的更新修订会替换该文件夹;另一版本号可并排安装。写入任何内容之前都会先完成全部检查。