Home › Info modding › Controllare, impacchettare e pubblicare
Capitolo 06

Controllare, impacchettare e pubblicare

oa-tool mutator check e pack, una prova a secco, cosa mostra la pagina del catalogo, l'icona e come offrire il pacchetto a Core Prime.

Questo capitolo riassume docs/mutators/authoring.md e docs/mutators/oamut-standard.md.

Controlla il .oamut

Un mutatore si impacchetta e si controlla con oa-tool mutator pack e oa-tool mutator check. oa-tool pack e oa-tool check sono i comandi per un .oamap o un .oamod. check legge un .oamut, non una cartella. Compila il Lua e analizza ogni .sm, e non li esegue. L'ultima riga è result: ok o result: refused.

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

Un rifiuto nomina il file e la riga. Correggilo prima di proporre il pacchetto. Il nome impacchettato di Commander Radar è commander-radar-1.oamut, e quel controllo finisce con result: ok.

Impacchetta da fuori della cartella

Lancia pack con il nome della cartella, da fuori. Senza altro, scrive <id>-<version>.oamut nella cartella corrente. --out deve nominare un .oamut: ogni altra desinenza viene rifiutata. --force sostituisce un file già presente. Non impacchettare . da dentro la cartella, e non lasciarci il .oamut: un pacchetto non può contenere quel file. --game-dir è un errore d'uso su questo comando.

La prova a secco

oa-tool mutator diff fa passare una cartella di pacchetto per la pipeline di mutazione del gioco, su una cartella di gioco, ed elenca che cosa è cambiato. Le opzioni seguono gli ultimi due punti, come strength=lite su uber-comm. Un hook maps gira solo con --map NAME. Su 3.1c senza mod, le righe del rapporto dopo la sua intestazione # sono queste:

$ 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

La prova a secco della Libreria è la stessa pipeline su un archivio suo, senza partita. Non imposta una mappa, quindi un hook maps lì non gira. La Libreria ricorda la risposta, e la sua riga Controllato è una di queste. check non applica il mutatore. La prova a secco e il diff sì.

VerdettoChe cosa mostra la Libreria
compatibleFunziona con quella mod, e la riga porta un riassunto di che cosa è cambiato.
no-effectFunziona, e non cambia nulla di ciò che il controllo conta.
incompatibleNon funziona con quella mod. Il motivo segue.
failedSi è fermato. Il motivo segue.
ancora in corsoIl controllo con quella mod è ancora in corso.
non ancora eseguitoNon ancora controllato con quella mod.

Che cosa mostra la pagina del catalogo

La pagina mostra l'icona, o, quando il manifesto non ne nomina una, l'icona del primo tag se quel tag è uno degli otto. Poi il nome, l'autore, la versione e la release, il riassunto (la prima riga di description), i tag e una pillola del motore da requires.engine. Richiede elenca requires.mutators. Opzioni elenca ogni opzione. Cosa cambia elenca gli strati. Funziona con elenca works-with. Segue una tabella delle release, poi Prendilo nel gioco. Questo sito non collega mai il file del pacchetto. I download avvengono nel gioco.

L'icona

Un PNG quadrato, almeno 1 pixel di lato, al massimo 256 pixel e 256 KiB. Disegnalo a 128 pixel. icon nel manifesto nomina il percorso, e quel nome finisce in .png. Senza icona, il badge usa l'icona del primo tag quando quell'id è uno degli otto. Un tag successivo non viene provato.

Proponilo a Core Prime

La libreria dei contenuti di Core Prime viene pubblicata dal computer di un manutentore: il catalogo è firmato con una chiave che non lo lascia mai. Per far elencare un mutatore:

  1. Apri una issue sul repository di Open Annihilation con il .oamut (o un link), l'autore e la licenza.
  2. Un manutentore esegue i controlli contro la cartella di gioco e lo aggiunge ai record dei pacchetti della libreria.
  3. La pubblicazione successiva carica il file con il suo hash, firma il nuovo catalogo e ne alza la sequenza.
  4. Pochi minuti dopo è nella Libreria di ogni giocatore e su questo sito.

Un pacchetto di mappe o una mod si propone allo stesso modo. Vedi Pubblicare su Core Prime.