第 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/