O servidor baixa os sprites de outfit a partir de uma release do GitHub. Isso é controlado por essas variáveis no Dockerfile:
# pasta destino dentro do container, relativa ao WORKDIR
ARG OUTFIT_FOLDER=generated/outfits
ENV OUTFIT_FOLDER=${OUTFIT_FOLDER}
# repositório GitHub onde estão os outfits
ENV GITHUB_OWNER=mitgdev
ENV GITHUB_REPO=mitg.forge
# tag da release de outfits
ARG GITHUB_OUTFITS_RELEASE_TAG=miforge-outfits-15.11
ENV GITHUB_OUTFITS_RELEASE_TAG=${GITHUB_OUTFITS_RELEASE_TAG}
# nome do arquivo zip dentro da release
ARG GITHUB_OUTFITS_FILE=outfits.zip
ENV GITHUB_OUTFITS_FILE=${GITHUB_OUTFITS_FILE}E o download é feito desta URL:
ARG OUTFIT_ARCHIVE_URL="https://github.com/${GITHUB_OWNER}/${GITHUB_REPO}/releases/download/${GITHUB_OUTFITS_RELEASE_TAG}/${GITHUB_OUTFITS_FILE}"Ou seja:
Repo: https://github.com/mitgdev/mitg.forge
Tag da release: miforge-outfits-15.11
Asset na release: outfits.zip (nome é importante!)
Quando o zip é extraído, o Dockerfile procura uma pasta chamada outfits_anim:
ARG OUTFIT_INNER_NAME=outfits_anim
ENV OUTFIT_INNER_NAME=${OUTFIT_INNER_NAME}
# ...
find /tmp/outfits -type d -name "${OUTFIT_INNER_NAME}" | head -n 1Portanto, o outfits.zip deve conter em algum lugar uma pasta com esse nome, por exemplo:
latest_walk/
outfits_anim/
1/
1_0_0_0.png
1_0_0_1.png
1_0_0_2.png
...
2/
2_1_1_1.png
2_1_1_2.png
...
...A estrutura exata acima de outfits_anim (latest_walk/, etc.) não importa, desde que exista uma pasta outfits_anim com os PNGs dentro.
- Gere o pacote dos outfits localmente:
- Estrutura interna precisa ter uma pasta outfits_anim.
- Compacte tudo em um zip:
- Exemplo: outfits-15.11.zip (nome local, não importa).
-
Vá até o repositório no GitHub: https://github.com/mitgdev/mitg.forge
-
Abra a aba “Releases” → “Draft a new release”.
-
Preencha:
-
Tag: use o padrão
miforge-outfits-<versão-do-cliente>
Ex.: miforge-outfits-15.11
-
Release title: algo como
@miforge/outfits@15.11
-
(Opcional) marque como Latest.
- Em Assets, arraste o seu zip, mas renomeie para exatamente:
outfits.zip- Clique em “Publish release”.
Pronto. A partir daí, builds usando:
ARG GITHUB_OUTFITS_RELEASE_TAG=miforge-outfits-15.11baixarão os outfits dessa release automaticamente.
Quando a CipSoft lançar uma versão nova (ex.: 15.12):
- Gere um novo zip com os sprites atualizados (outfits-15.12.zip).
- Crie uma nova release seguindo o mesmo padrão:
- Tag: miforge-outfits-15.12
- Asset renomeado para: outfits.zip
- Na hora de buildar a imagem, você pode:
-
Alterar o default no Dockerfile:
ARG GITHUB_OUTFITS_RELEASE_TAG=miforge-outfits-15.12 -
ou sobrescrever via
--build-arg:docker build --build-arg GITHUB_OUTFITS_RELEASE_TAG=miforge-outfits-15.12 ...
Assim, cada versão da imagem fica claramente ligada à versão de outfits/cliente que ela usa.