Anatomía de un mod
El zip .oamod y el perfil oamod.yaml: identidad, disposición, límites, claves de datos, extensiones de script y las reglas estándar que activa.
El paquete
Un .oamod es un zip de la carpeta del mod. El perfil está en la raíz, o en la única carpeta que contiene la raíz (así lo hace Comprimir en el Finder). Entradas almacenadas o comprimidas; sin enlaces, nombres de dispositivo, rutas absolutas ni ..; como mucho 4 GiB descomprimidos.
escalation.oamodel archivo que un jugador descarga o abre├─ oamod.yamlobligatorio el perfil: identidad, disposición, límites, reglas├─ badge.png256 × 256, mostrado en la Biblioteca y en este sitio├─ totala1.hpi · esc.ufoarchivos, listados bajo layout en orden de carga├─ units/ · weapons/ · features/carpetas de datos sueltas, superpuestas a los archivos├─ scripts/ · objects3d/ · textures/scripts COB, modelos 3DO, texturas GAF├─ sounds/ · bitmaps/ · guis/sonido, imágenes y menús que el mod sustituye└─ README · LICENCEtodo lo demás viaja dentro y se ignoraEl perfil
YAML estricto: un documento, un mapa de nivel superior, sin anclas, sin escalares de bloque. Todo lo que el archivo omite se juega como en 3.1c.
oamod: 1 id: escalation # kebab-case, de 1 a 32 bytes; el nombre de la carpeta de instalación name: Escalation version: "10.2.0" # texto libre, nunca ordenado author: {name: Wotan and the ESC team} packaging: {revision: 1, date: 2026-10-15, packager: Core Prime} homepage: https://example.net/escalation tags: [units, balance, ai] requires: {base: ta-3.1c, engine: ">= 0.8.0"} # entrecomilla el rango de motor layout: archives: [esc.ufo, escgui.ccx] limits: units-per-player: {default: 1500, max: 5000} hacks: ai.income-multipliers: {easy: 1.0, medium: 1.5, hard: 2.0} weapons.high-arc-ballistic: true veterancy.model: escalation
Qué puede declarar
| Clave | Qué hace | Estándar |
|---|---|---|
identity | Nombres, insignia, sitio web, etiquetas, el juego base y las expansiones que necesita. | §6.1 |
layout | Qué archivos y carpetas forman el mod, en orden de carga. | §6.2 |
limits | Límites del motor que el mod sube, cada uno con un valor por defecto y un máximo que el anfitrión puede elegir. | §6.3 |
script-extensions | Valores extra que leen los scripts de unidades del mod, como unit.kills-x100. | §7 |
data-keys | Claves extra en archivos FBI y TDF que el motor debe respetar. | §8 |
hacks | Las reglas estándar que el mod activa; las de simulación deben coincidir entre jugadores. | §9 |
strings, media | Nombres traducidos e imágenes y sonidos propios del mod para los menús. | §10 |
Dónde se instala
En Documentos/Open Annihilation/Mods/
Comprobaciones antes de publicar
- El perfil pasa la validación como lo haría una carga: resuelto dos veces, la segunda con el INI del paquete y los ajustes de registro del jugador.
- No hay dos nombres que solo difieran en mayúsculas ASCII; ningún archivo y carpeta con el mismo nombre.
- version y packaging.revision nunca se han publicado con otros bytes. El script de publicación lo rechaza.
- Cada regla nombrada la implementa este Open Annihilation, o la Biblioteca lista el mod sin poder instalarlo.