Devlog #17 · A porta de entrada
O launcher de Aelara é mais do que um botão de abrir o jogo. É a camada que conecta o jogador ao servidor com segurança, mantém o client atualizado e resolve problemas antes de o jogador perceber que existiam.
O que o launcher faz
Update por manifest com downloads resumíveis, verificação por SHA-256 e aplicação atômica de arquivos. Patch delta: só baixa o que mudou. Auto-updater do próprio launcher. News e status de servidor em tempo real. Modo verify/repair: detecta arquivos corrompidos ou ausentes e baixa só o necessário.
Camadas de segurança: proteção contra path traversal, instância única, checagem de espaço em disco, versionamento mínimo, CSP no WebView e assinatura de manifest de conteúdo.
O handoff seguro
Ao lançar o client, o launcher não passa credenciais pela linha de comando. Ele gera um launch token de curta duração, abre o client e entrega o token por named pipe local. O client consome, descarta o pipe e inicia a sessão.
Suporte ao jogador
Logs em arquivo com histórico de 7 dias. Visualizador de logs dentro do app. Botão de copiar para suporte. Bug report local. Controle de download com pause/resume e limite de velocidade.
Bench / validação
— cargo check, clippy -D warnings e tsc limpos
— SHA-256 validado em todos os arquivos do manifest
— Repair: detecta corrupção / missing e baixa seletivamente
— Launch token: TTL 60 s / named pipe: timeout 10 s
— Logs: 7 dias de histórico em arquivo / 1.000 eventos em memória
Próximo: os monstros ganham cérebro.