Accueil › Infos modding › Vérifier, empaqueter et publier
Chapitre 06

Vérifier, empaqueter et publier

oa-tool mutator check et pack, un essai à blanc, ce que montre la page du catalogue, l'icône et comment proposer le paquet à Core Prime.

Ce chapitre résume docs/mutators/authoring.md et docs/mutators/oamut-standard.md.

Vérifiez le .oamut

Un mutateur s'empaquette et se vérifie avec oa-tool mutator pack et oa-tool mutator check. oa-tool pack et oa-tool check sont les commandes d'un .oamap ou d'un .oamod. check lit un .oamut, pas un dossier. Il compile le Lua et analyse chaque .sm, et il ne les exécute pas. La dernière ligne est result: ok ou result: refused.

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

Un refus nomme le fichier et la ligne. Corrigez-le avant de proposer le paquet. Le nom empaqueté de Commander Radar est commander-radar-1.oamut, et cette vérification se termine par result: ok.

Empaquetez depuis l'extérieur du dossier

Lancez pack avec le nom du dossier, depuis l'extérieur. Sans autre indication, il écrit <id>-<version>.oamut dans le dossier courant. --out doit nommer un .oamut : toute autre fin est refusée. --force remplace un fichier déjà là. N'empaquetez pas . depuis l'intérieur du dossier, et n'y laissez pas le .oamut : un paquet ne peut pas contenir ce fichier. --game-dir est une erreur d'usage sur cette commande.

L'essai à blanc

oa-tool mutator diff fait passer un dossier de paquet par le pipeline de mutation du jeu, sur un dossier de jeu, et liste ce qui a changé. Les options suivent le dernier deux-points, comme strength=lite sur uber-comm. Un hook maps ne tourne qu'avec --map NAME. Sur 3.1c sans mod, les lignes du rapport après son en-tête # sont celles-ci :

$ 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

L'essai à blanc de la Bibliothèque est le même pipeline sur un stockage à lui, sans partie. Il ne pose pas de carte, donc un hook maps n'y tourne pas. La Bibliothèque retient la réponse, et sa ligne Vérifié est l'une de celles-ci. check n'applique pas le mutateur. L'essai à blanc et le diff le font.

VerdictCe que la Bibliothèque affiche
compatibleIl fonctionne avec ce mod, et la ligne porte un résumé de ce qui a changé.
no-effectIl fonctionne, et il ne change rien de ce que la vérification compte.
incompatibleIl ne fonctionne pas avec ce mod. La raison suit.
failedIl s'est arrêté. La raison suit.
encore en coursLa vérification avec ce mod tourne encore.
pas encore lancéPas encore vérifié avec ce mod.

Ce que montre la page du catalogue

La page montre l'icône, ou, quand le manifeste n'en nomme aucune, l'icône de la première étiquette si cette étiquette est l'une des huit. Puis le nom, l'auteur, la version et le numéro de version du catalogue, le résumé (la première ligne de description), les étiquettes et une pastille de moteur tirée de requires.engine. Nécessite liste requires.mutators. Options liste chaque option. Ce qu'il change liste les couches. Fonctionne avec liste works-with. Un tableau des versions suit, puis L'obtenir dans le jeu. Ce site ne lie jamais le fichier du paquet. Les téléchargements se font dans le jeu.

L'icône

Un PNG carré, au moins 1 pixel de côté, au plus 256 pixels et 256 Kio. Dessinez-le à 128 pixels. icon dans le manifeste nomme le chemin, et ce nom se termine par .png. Sans icône, le badge prend l'icône de la première étiquette quand cet id est l'un des huit. Une étiquette plus loin n'est pas essayée.

Proposez-le à Core Prime

La bibliothèque de contenu de Core Prime est publiée depuis la machine d'un mainteneur : le catalogue est signé avec une clé qui ne la quitte jamais. Pour faire lister un mutateur :

  1. Ouvrez un ticket sur le dépôt Open Annihilation avec le .oamut (ou un lien), son auteur et sa licence.
  2. Un mainteneur lance les vérifications contre le dossier de jeu et l'ajoute aux fiches de paquets de la bibliothèque.
  3. La publication suivante téléverse le fichier sous son empreinte, signe le nouveau catalogue et incrémente sa séquence.
  4. Quelques minutes plus tard, il est dans la Bibliothèque de chaque joueur et sur ce site.

Un pack de cartes ou un mod se propose de la même façon. Voyez Publier sur Core Prime.