Start › Modding-Infos › Aufbau eines Mods
Kapitel 02

Aufbau eines Mods

Das .oamod-Zip und das Profil oamod.yaml: Identität, Layout, Limits, Datenschlüssel, Skripterweiterungen und die Standardregeln, die es einschaltet.

Das Paket

Eine .oamod ist ein Zip des Mod-Ordners. Das Profil liegt obenauf oder in dem einen Ordner, den die Wurzel enthält (so packt der Finder-Befehl „Komprimieren“). Gespeicherte oder deflate-komprimierte Einträge; keine Links, Gerätenamen, absoluten Pfade oder ..; höchstens 4 GiB entpackt.

escalation.oamoddie Datei, die ein Spieler lädt oder öffnet├─ oamod.yamlerforderlich das Profil: Identität, Layout, Limits, Regeln├─ badge.png256 × 256, in der Bibliothek und auf dieser Seite gezeigt├─ totala1.hpi · esc.ufoArchive, unter layout in Ladereihenfolge gelistet├─ units/ · weapons/ · features/lose Datenordner, über die Archive gelegt├─ scripts/ · objects3d/ · textures/COB-Skripte, 3DO-Modelle, GAF-Texturen├─ sounds/ · bitmaps/ · guis/Audio, Bilder und Menüs, die der Mod ersetzt└─ README · LICENCEalles Übrige wird mitgenommen und ignoriert

Das Profil

Striktes YAML: ein Dokument, eine Tabelle auf oberster Ebene, keine Anker, keine Blockskalare. Alles, was die Datei weglässt, spielt sich wie 3.1c.

oamod: 1
id: escalation                 # kebab-case, 1 bis 32 Bytes; der Name des Installationsordners
name: Escalation
version: "10.2.0"             # freier Text, nie sortiert
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"}   # setze den Engine-Bereich in Anführungszeichen

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

Was es erklären darf

SchlüsselWirkungStandard
identityNamen, Badge, Website, Schlagwörter, das Grundspiel und die nötigen Erweiterungen.§6.1
layoutWelche Archive und Ordner den Mod bilden, in Ladereihenfolge.§6.2
limitsEngine-Limits, die der Mod anhebt, je mit Vorgabe und einem Maximum, das der Host wählen darf.§6.3
script-extensionsZusätzliche Werte, die die Einheitenskripte des Mods lesen, etwa unit.kills-x100.§7
data-keysZusätzliche Schlüssel in FBI- und TDF-Dateien, die die Engine beachten muss.§8
hacksDie Standardregeln, die der Mod einschaltet; Simulationsregeln müssen zwischen Spielern übereinstimmen.§9
strings, mediaÜbersetzte Namen und eigene Bilder und Klänge des Mods für die Menüs.§10

Wohin es installiert wird

Nach Dokumente/Open Annihilation/Mods/, unter der Kennung des Profils, nie unter dem Dateinamen. Eine neuere Revision derselben Version ersetzt und behält eine Version zurück in .backup; eine andere Version kann als Mods/- daneben installiert werden. Alles wird geprüft, bevor etwas geschrieben wird, und ein Abbruch lässt den Ordner im Zustand vor oder nach der Änderung.

Prüfungen vor der Veröffentlichung

  • Das Profil besteht die Prüfung wie bei einem Ladevorgang: zweimal aufgelöst, beim zweiten Mal mit der INI des Pakets und den Registereinstellungen des Spielers.
  • Keine zwei Namen, die sich nur in ASCII-Schreibung unterscheiden; keine Datei und kein Ordner mit demselben Namen.
  • version und packaging.revision wurden nie mit anderen Bytes veröffentlicht. Das Veröffentlichungsskript lehnt es ab.
  • Jede genannte Regel wird von diesem Open Annihilation umgesetzt, sonst listet die Bibliothek den Mod, kann ihn aber nicht installieren.