📚 Documentação interna · Devs Atlanta

Como subir uma
atualização do client

Passo-a-passo rápido pra liberar uma versão nova do Nirvana ou Clássico pros jogadores. Os clients fazem auto-update automaticamente — você só precisa preparar os arquivos e rodar 1 comando.

1

Conecta no servidor

WinSCP (interface) pra subir arquivos + PuTTY (terminal) pra rodar o comando.

2

Sobe o patch

Cria pasta com a versão dentro de nirvana/ ou classico/ e arrasta os arquivos.

3

Roda 1 comando

deploy-patch <game> <versão> — o script faz o resto.

4

Pronto ✓

Próxima vez que jogador abrir o launcher, ele baixa só o que mudou.

Acesso ao servidor

Host
131.196.197.148
Porta
22
Usuário
nathan
Senha
Xa4qMZ8VcJwPnRtYeL2HfKbU

Use WinSCP (baixar aqui) pra subir os arquivos. Pra rodar o comando final, use PuTTY ou o terminal SSH do seu sistema.

🌙 Server

Atlanta Nirvana

Subir uma atualização do client Nirvana

📁 Onde colocar os arquivos no WinSCP
/home/nathan/uploads/nirvana/1.5/

Troca 1.5 pelo número da nova versão. Estrutura de arquivos igual à do client (ex: element/ElementClient.exe).

⚡ Comando final (no SSH)
deploy-patch nirvana 1.5

Aguarda o script terminar (~30s a 1min). Vai mostrar progresso, gerar manifesto MD5, subir pro CDN e purgar cache automaticamente.

Verificar online: versions.json

⚔ Server

Atlanta Clássico

Subir uma atualização do client Clássico

📁 Onde colocar os arquivos no WinSCP
/home/nathan/uploads/classico/2.3/

Troca 2.3 pelo número da nova versão. Estrutura de arquivos igual à do client.

⚡ Comando final (no SSH)
deploy-patch classico 2.3

Mesmo processo do Nirvana — script confirma com S/N, sobe pro CDN e finaliza em ~1min.

Verificar online: versions.json

✅ Checklist completo (marca enquanto faz)

❓ Perguntas frequentes

O que coloco dentro da pasta da versão?

Só os arquivos modificados ou novos. Não precisa subir o client inteiro — o launcher faz verificação MD5 e baixa apenas o que mudou.

A estrutura tem que espelhar a do client. Ex: se você modificou o ElementClient.exe, sobe ele em element/ElementClient.exe dentro da pasta da versão.

Que número de versão devo usar?

Sempre incrementa a partir da última. Vê a versão atual em versions.json (ou do Clássico).

Se a última é 1.4, a próxima é 1.5. Pula maior se quiser (pra mudança grande), tipo 2.0.

O script deu erro "Pasta não existe"

O nome da pasta tem que bater EXATAMENTE com {game}/{versão}. Conferir:

• Game só pode ser nirvana ou classico (minúsculo, sem acento).
• A versão tem que estar como subpasta dentro da pasta do game (não solta na raiz).
• Sem espaços ou caracteres estranhos.

Posso rodar o comando mais de uma vez?

Sim, é seguro. O rclone só sobe arquivos novos ou que mudaram, e o versions.json não duplica entradas. Se algo travou no meio, pode rodar de novo sem problema.

A versão nova não aparece pros jogadores

Confere:

• O link versions.json (no card do game) tem a versão nova listada?
• O launcher do jogador foi fechado e aberto de novo? (auto-update só roda no boot)
• Cache do CDN: o script já purga, mas se quiser forçar de novo, contata o admin.

Como faço rollback (voltar pra versão anterior)?

Edita o versions.json no R2 removendo a versão problemática e setando "latest" pra anterior. Os arquivos antigos ficam preservados no R2.

Em caso de emergência, contata o admin — tem que mexer direto no bucket.

Quanto tempo leva o upload?

Depende do tamanho do patch. Com 8 transferências paralelas:

• 100 MB → ~5 segundos
• 1 GB → ~30 segundos
• 5 GB → ~2 minutos
• 20 GB (versão completa) → ~7 minutos

O CDN distribui globalmente em segundos depois do upload.