Início › Info de modding › Verificar, empacotar e publicar
Capítulo 06

Verificar, empacotar e publicar

oa-tool mutator check e pack, uma execução de teste, o que a página do catálogo mostra, o ícone e como oferecer o pacote ao Core Prime.

Este capítulo resume docs/mutators/authoring.md e docs/mutators/oamut-standard.md.

Verifique o .oamut

Um mutador é empacotado e verificado com oa-tool mutator pack e oa-tool mutator check. oa-tool pack e oa-tool check são os comandos para um .oamap ou um .oamod. check lê um .oamut, não uma pasta. Ele compila o Lua e analisa cada .sm, mas não os executa. A última linha é result: ok ou result: refused.

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

Uma recusa indica o arquivo e a linha. Corrija o problema antes de oferecer o pacote. O nome empacotado do Commander Radar é commander-radar-1.oamut, e essa verificação termina com result: ok.

Empacote de fora da pasta

Rode pack com o nome da pasta, de fora dela. Sem outras opções, ele escreve <id>-<version>.oamut na pasta atual. --out precisa indicar um .oamut: qualquer outra terminação é recusada. --force substitui um arquivo que já existe. Não empacote . de dentro da pasta, e não deixe o .oamut dentro dela: um pacote não pode conter esse arquivo. --game-dir é um erro de uso neste comando.

A execução de teste

oa-tool mutator diff passa a pasta de um pacote pelo pipeline de mutação do jogo, numa pasta do jogo, e lista o que mudou. As opções vêm depois do último dois-pontos, como em strength=lite no uber-comm. Um hook maps só roda com --map NAME. No 3.1c sem mod, as linhas do relatório depois do cabeçalho # são estas:

$ 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

A execução de teste da Biblioteca é o mesmo pipeline, num armazenamento próprio, sem partida. Ela não define mapa, então um hook maps não roda ali. A Biblioteca guarda a resposta, e sua linha Verificado é uma destas. check não aplica o mutador. A execução de teste e o diff aplicam.

VereditoO que a Biblioteca mostra
compatibleFunciona com aquele mod, e a linha traz um resumo do que mudou.
no-effectFunciona, e não muda nada do que a verificação conta.
incompatibleNão funciona com aquele mod. O motivo vem em seguida.
failedParou. O motivo vem em seguida.
ainda em execuçãoA verificação com aquele mod ainda está em andamento.
ainda não executadoAinda não verificado com aquele mod.

O que a página do catálogo mostra

A página mostra o ícone ou, quando o manifesto não indica nenhum, o ícone da primeira tag, se ela for uma das oito. Depois vêm o nome, o autor, a versão e o lançamento, o resumo (a primeira linha de description), as tags e um selo do motor tirado de requires.engine. Requer lista requires.mutators. Opções lista cada opção. O que muda lista as camadas. Compatível com lista works-with. Em seguida vêm uma tabela de lançamentos e Obter no jogo. Este site nunca traz link para o arquivo do pacote. Os downloads acontecem no jogo.

O ícone

Um PNG quadrado, com pelo menos 1 pixel de lado e no máximo 256 pixels e 256 KiB. Desenhe-o em 128 pixels. icon, no manifesto, indica o caminho, e esse nome termina em .png. Sem ícone, o emblema usa o ícone da primeira tag, se esse ID for um dos oito. Uma tag posterior não é tentada.

Ofereça-o ao Core Prime

A biblioteca de conteúdo do Core Prime é publicada da máquina de um mantenedor: o catálogo é assinado com uma chave que nunca sai dela. Para ter um mutador listado:

  1. Abra uma issue no repositório do Open Annihilation no GitHub com o .oamut (ou um link para ele), o autor e a licença.
  2. Um mantenedor roda as verificações com a pasta do jogo e o adiciona aos registros de pacotes da biblioteca.
  3. A publicação seguinte envia o arquivo pelo hash, assina o novo catálogo e aumenta o número de sequência dele.
  4. Minutos depois, ele está na Biblioteca de todos os jogadores e neste site.

Um pacote de mapas ou um mod é oferecido do mesmo jeito. Veja Publicar no Core Prime.