Start › Modding-Infos › Prüfen, packen und veröffentlichen
Kapitel 06

Prüfen, packen und veröffentlichen

oa-tool mutator check und pack, ein Probelauf, was die Katalogseite zeigt, das Icon und wie du das Paket Core Prime anbietest.

Dieses Kapitel fasst docs/mutators/authoring.md und docs/mutators/oamut-standard.md zusammen.

Die .oamut prüfen

Ein Mutator wird mit oa-tool mutator pack und oa-tool mutator check gepackt und geprüft. oa-tool pack und oa-tool check sind die Befehle für eine .oamap oder eine .oamod. check liest eine .oamut, keinen Ordner. Es übersetzt das Lua und liest jede .sm, und es führt sie nicht aus. Die letzte Zeile ist result: ok oder result: refused.

$ oa-tool mutator pack commander-radar
$ oa-tool mutator check commander-radar-1.oamut

Eine Ablehnung nennt die Datei und die Zeile. Behebe sie, bevor du das Paket anbietest. Der gepackte Name von Commander Radar ist commander-radar-1.oamut, und diese Prüfung endet mit result: ok.

Von außerhalb des Ordners packen

Starte pack mit dem Namen des Ordners, von außerhalb. Ohne weitere Angabe schreibt es <id>-<version>.oamut in den aktuellen Ordner. --out muss eine .oamut nennen: jede andere Endung wird abgelehnt. --force ersetzt eine Datei, die schon da ist. Packe nicht . von innerhalb des Ordners, und lass die .oamut nicht darin liegen: ein Paket darf diese Datei nicht halten. --game-dir ist bei diesem Befehl ein Aufruffehler.

Der Probelauf

oa-tool mutator diff schickt einen Paketordner durch die Mutations-Pipeline des Spiels, auf einem Spielordner, und listet, was sich geändert hat. Optionen folgen dem letzten Doppelpunkt, wie strength=lite an uber-comm. Ein maps-Hook läuft nur mit --map NAME. Auf 3.1c ohne Mod sind die Zeilen des Berichts nach seinen #-Kopfzeilen diese:

$ oa-tool mutator diff --game-dir DIR --mutator ./uber-comm:strength=lite
field units/armcom.fbi [unitinfo] acceleration: 0.15 -> 0.3375	by uber-comm
field units/armcom.fbi [unitinfo] brakerate: 0.3 -> 0.675	by uber-comm
field units/armcom.fbi [unitinfo] builddistance: 60 -> 120	by uber-comm
field units/armcom.fbi [unitinfo] maxdamage: 3000 -> 4500	by uber-comm
field units/armcom.fbi [unitinfo] maxvelocity: 1.2 -> 1.8	by uber-comm
field units/armcom.fbi [unitinfo] turnrate: 1044 -> 1566	by uber-comm
field units/armcom.fbi [unitinfo] workertime: 300 -> 900	by uber-comm
field units/corcom.fbi [unitinfo] acceleration: 0.16 -> 0.36	by uber-comm
field units/corcom.fbi [unitinfo] brakerate: 0.32 -> 0.72	by uber-comm
field units/corcom.fbi [unitinfo] builddistance: 60 -> 120	by uber-comm
field units/corcom.fbi [unitinfo] maxdamage: 3000 -> 4500	by uber-comm
field units/corcom.fbi [unitinfo] maxvelocity: 1.07 -> 1.605	by uber-comm
field units/corcom.fbi [unitinfo] turnrate: 1030 -> 1545	by uber-comm
field units/corcom.fbi [unitinfo] workertime: 300 -> 900	by uber-comm

Der Probelauf der Bibliothek ist dieselbe Pipeline auf einem eigenen Speicher, ohne Partie. Er setzt keine Karte, darum läuft ein maps-Hook dort nicht. Die Bibliothek merkt sich die Antwort, und ihre Zeile Geprüft ist eines von diesen. check wendet den Mutator nicht an. Der Probelauf und der Diff tun es.

UrteilWas die Bibliothek zeigt
compatibleEs läuft mit diesem Mod, und die Zeile trägt eine Zusammenfassung dessen, was sich geändert hat.
no-effectEs läuft, und es ändert nichts, was die Prüfung zählt.
incompatibleEs läuft nicht mit diesem Mod. Der Grund folgt.
failedEs ist stehen geblieben. Der Grund folgt.
läuft nochDie Prüfung mit diesem Mod läuft noch.
noch nicht gelaufenMit diesem Mod noch nicht geprüft.

Was die Katalogseite zeigt

Die Seite zeigt das Icon, oder, wenn das Manifest keines nennt, das Icon des ersten Tags, wenn dieses Tag eines der acht ist. Dann Name, Autor, Version und Release, die Zusammenfassung (die erste Zeile von description), die Tags und eine Engine-Pille aus requires.engine. Braucht listet requires.mutators. Optionen listet jede Option. Was es ändert listet die Schichten. Läuft mit listet works-with. Danach kommt eine Release-Tabelle, dann Hol es im Spiel. Diese Seite verlinkt die Paketdatei nie. Das Herunterladen geschieht im Spiel.

Das Icon

Ein quadratisches PNG, mindestens 1 Pixel auf einer Seite, höchstens 256 Pixel und 256 KiB. Zeichne es mit 128 Pixeln. icon im Manifest nennt den Pfad, und dieser Name endet auf .png. Ohne Icon nimmt das Badge das Icon des ersten Tags, wenn diese Kennung eine der acht ist. Ein späteres Tag wird nicht probiert.

Core Prime anbieten

Die Inhaltsbibliothek von Core Prime wird vom Rechner eines Betreuers veröffentlicht: der Katalog ist mit einem Schlüssel signiert, der ihn nie verlässt. Damit ein Mutator gelistet wird:

  1. Eröffne ein Issue im Open-Annihilation-Repository mit der .oamut (oder einem Link), Autor und Lizenz.
  2. Ein Betreuer lässt die Prüfungen gegen den Spielordner laufen und nimmt es in die Paketakten der Bibliothek auf.
  3. Die nächste Veröffentlichung lädt die Datei unter ihrem Hash hoch, signiert den neuen Katalog und erhöht seine Sequenz.
  4. Minuten später ist es in der Bibliothek jedes Spielers und auf dieser Seite.

Ein Kartenpaket oder ein Mod wird genauso angeboten. Siehe Auf Core Prime veröffentlichen.