Acompanhe a evolucao da plataforma. Dividimos o changelog entre a Plataforma BrutusForge (o software self-hosted que você instala) e o Portal & Licensing (a experiencia de compra, minha conta e cobranca).
Plataformacliente self-hosted
v1.0.3317GitHub ↗
## [Transporte WebSocket/HTTP por servidor, setup 100% e correções de loja/painel] - 2026-07-18
- **Transporte do plugin (WebSocket ⇄ HTTP) por servidor:** novo controle na Visão geral do servidor ARK para escolher como o plugin fala com o painel — **WebSocket** (menor latência, ideal para chat quando o servidor roda na mesma máquina do painel) ou **HTTP** (padrão, funciona por qualquer rede). Mostra prós e contras de cada um, avisa que **exige reiniciar o servidor** para valer, e traz um botão **"Aplicar a todos os servidores ARK"**.
- **Assistente de configuração (Setup):** não trava mais abaixo de 100% quando uma verificação falha — agora mostra o erro com opção de tentar de novo; e o passo de plugins só fica "completo" quando todos os plugins ativos estão de fato configurados.
- **Loja:** corrigido o "Erro ao criar pedido" e o carregamento dos botões de compra; o erro real do pagamento agora aparece na tela.
- **Painel Discord (RCON):** os botões do painel deixam de falhar com "interaction failed" sob rede lenta (o painel responde antes de consultar a API).
- **Manutenção interna:** limpeza ampla de comentários do código e remoção de documentos/planos já implementados; correção de um vazamento de memória na fila de comandos do game-agent.
Validação: `pnpm validate` verde (API 4324 + Web 1239 + Bot 1052 testes + tsc + biome + build). A troca de transporte exige reiniciar o servidor ARK para entrar em vigor.
---
v1.0.3314GitHub ↗
## [Transporte WebSocket/HTTP por servidor, setup 100% e correções de loja/painel] - 2026-07-18
- **Transporte do plugin (WebSocket ⇄ HTTP) por servidor:** novo controle na Visão geral do servidor ARK para escolher como o plugin fala com o painel — **WebSocket** (menor latência, ideal para chat quando o servidor roda na mesma máquina do painel) ou **HTTP** (padrão, funciona por qualquer rede). Mostra prós e contras de cada um, avisa que **exige reiniciar o servidor** para valer, e traz um botão **"Aplicar a todos os servidores ARK"**.
- **Assistente de configuração (Setup):** não trava mais abaixo de 100% quando uma verificação falha — agora mostra o erro com opção de tentar de novo; e o passo de plugins só fica "completo" quando todos os plugins ativos estão de fato configurados.
- **Loja:** corrigido o "Erro ao criar pedido" e o carregamento dos botões de compra; o erro real do pagamento agora aparece na tela.
- **Painel Discord (RCON):** os botões do painel deixam de falhar com "interaction failed" sob rede lenta (o painel responde antes de consultar a API).
- **Manutenção interna:** limpeza ampla de comentários do código e remoção de documentos/planos já implementados; correção de um vazamento de memória na fila de comandos do game-agent.
Validação: `pnpm validate` verde (API 4324 + Web 1239 + Bot 1052 testes + tsc + biome + build). A troca de transporte exige reiniciar o servidor ARK para entrar em vigor.
---
v1.0.3313GitHub ↗
## [Transporte WebSocket/HTTP por servidor, setup 100% e correções de loja/painel] - 2026-07-18
- **Transporte do plugin (WebSocket ⇄ HTTP) por servidor:** novo controle na Visão geral do servidor ARK para escolher como o plugin fala com o painel — **WebSocket** (menor latência, ideal para chat quando o servidor roda na mesma máquina do painel) ou **HTTP** (padrão, funciona por qualquer rede). Mostra prós e contras de cada um, avisa que **exige reiniciar o servidor** para valer, e traz um botão **"Aplicar a todos os servidores ARK"**.
- **Assistente de configuração (Setup):** não trava mais abaixo de 100% quando uma verificação falha — agora mostra o erro com opção de tentar de novo; e o passo de plugins só fica "completo" quando todos os plugins ativos estão de fato configurados.
- **Loja:** corrigido o "Erro ao criar pedido" e o carregamento dos botões de compra; o erro real do pagamento agora aparece na tela.
- **Painel Discord (RCON):** os botões do painel deixam de falhar com "interaction failed" sob rede lenta (o painel responde antes de consultar a API).
- **Manutenção interna:** limpeza ampla de comentários do código e remoção de documentos/planos já implementados; correção de um vazamento de memória na fila de comandos do game-agent.
Validação: `pnpm validate` verde (API 4324 + Web 1239 + Bot 1052 testes + tsc + biome + build). A troca de transporte exige reiniciar o servidor ARK para entrar em vigor.
---
v1.0.3312GitHub ↗
## [Transporte WebSocket/HTTP por servidor, setup 100% e correções de loja/painel] - 2026-07-18
- **Transporte do plugin (WebSocket ⇄ HTTP) por servidor:** novo controle na Visão geral do servidor ARK para escolher como o plugin fala com o painel — **WebSocket** (menor latência, ideal para chat quando o servidor roda na mesma máquina do painel) ou **HTTP** (padrão, funciona por qualquer rede). Mostra prós e contras de cada um, avisa que **exige reiniciar o servidor** para valer, e traz um botão **"Aplicar a todos os servidores ARK"**.
- **Assistente de configuração (Setup):** não trava mais abaixo de 100% quando uma verificação falha — agora mostra o erro com opção de tentar de novo; e o passo de plugins só fica "completo" quando todos os plugins ativos estão de fato configurados.
- **Loja:** corrigido o "Erro ao criar pedido" e o carregamento dos botões de compra; o erro real do pagamento agora aparece na tela.
- **Painel Discord (RCON):** os botões do painel deixam de falhar com "interaction failed" sob rede lenta (o painel responde antes de consultar a API).
- **Manutenção interna:** limpeza ampla de comentários do código e remoção de documentos/planos já implementados; correção de um vazamento de memória na fila de comandos do game-agent.
Validação: `pnpm validate` verde (API 4324 + Web 1239 + Bot 1052 testes + tsc + biome + build). A troca de transporte exige reiniciar o servidor ARK para entrar em vigor.
---
v1.0.3311GitHub ↗
## [Transporte WebSocket/HTTP por servidor, setup 100% e correções de loja/painel] - 2026-07-18
- **Transporte do plugin (WebSocket ⇄ HTTP) por servidor:** novo controle na Visão geral do servidor ARK para escolher como o plugin fala com o painel — **WebSocket** (menor latência, ideal para chat quando o servidor roda na mesma máquina do painel) ou **HTTP** (padrão, funciona por qualquer rede). Mostra prós e contras de cada um, avisa que **exige reiniciar o servidor** para valer, e traz um botão **"Aplicar a todos os servidores ARK"**.
- **Assistente de configuração (Setup):** não trava mais abaixo de 100% quando uma verificação falha — agora mostra o erro com opção de tentar de novo; e o passo de plugins só fica "completo" quando todos os plugins ativos estão de fato configurados.
- **Loja:** corrigido o "Erro ao criar pedido" e o carregamento dos botões de compra; o erro real do pagamento agora aparece na tela.
- **Painel Discord (RCON):** os botões do painel deixam de falhar com "interaction failed" sob rede lenta (o painel responde antes de consultar a API).
- **Manutenção interna:** limpeza ampla de comentários do código e remoção de documentos/planos já implementados; correção de um vazamento de memória na fila de comandos do game-agent.
Validação: `pnpm validate` verde (API 4324 + Web 1239 + Bot 1052 testes + tsc + biome + build). A troca de transporte exige reiniciar o servidor ARK para entrar em vigor.
---
v1.0.3290GitHub ↗
## [Backups: paginação, exclusão em massa, envio pra nuvem e correções de UI] - 2026-07-17
- **Tela de Backups (Manutenção):** agora com **paginação** e **seleção múltipla** — dá para marcar vários (ou todos da página) e **excluir em lote**, além de um botão **"Limpar com erro"** que apaga de uma vez todos os backups que falharam.
- **Backup do banco corrigido:** o backup automático do banco (que falhava com "pg_dump não encontrado" no cliente) voltou a funcionar — agora usa o Postgres que já vem embarcado no launcher.
- **Backup na nuvem:** novo botão **"Testar conexão"** valida as credenciais do S3/Google Drive sem precisar rodar um backup; e o **backup de configuração (.bfbackup)** passou a ser enviado para a nuvem junto com os demais (quando o backup remoto está ativado).
- **Correções visuais:** modais de confirmação com os botões espaçados (Cancelar à esquerda) e a barra de rolagem deixou de deslocar o layout ao abrir menus/seletores.
Validação: `pnpm validate` (API + Web + testes) verde. Atualização in-place pelo auto-updater; a correção do backup do banco passa a valer no cliente a partir desta versão.
---
v1.0.3284GitHub ↗
## [Painel: central de notificações, chat com tag de admin e mais robustez] - 2026-07-17
- **Central de notificações do painel:** o sino agora guarda os alertas dos servidores — dá para marcar como lida, apagar uma a uma ou limpar tudo, e o contador mostra só as não-lidas. Servidor **parado de propósito** deixa de aparecer como "queda inesperada" (novo botão **"Parada intencional"** na Visão geral do servidor).
- **Chat cross-cluster:** a tag de **admin** volta a aparecer no jogo (o gatilho ADMIN do estilo de chat passou a funcionar in-game).
- **Painel Discord (comandos RCON):** quando o servidor está ocupado ou offline, o painel mostra uma mensagem clara (ex.: "não respondeu a tempo — pode estar ocupado; o comando pode ter sido aplicado") em vez de um "erro" genérico.
- **Detalhe do servidor:** a aba **Saúde** foi fundida na **Visão geral** (menos abas, tudo num lugar).
- **Plugins:** a tela de um plugin agora leva **direto** para a configuração de cada cluster (fim do aviso "Configuração movida").
- **Loja:** correção da modal "Dar produto" (tamanho/barra de rolagem).
- **Servidores ARK (game-agent):** métricas de **mundo** (tribos, dinos e estruturas), `/track` habilitado no **ASA** e coleta de dinos otimizada. _(Requer redeploy dos plugins C++ nos servidores.)_
Validação: `pnpm validate` verde (API 4285 + Web 1235 + Bot 1052 testes + build). O caminho de atualização (que todos recebem) foi validado; as features de servidor (C++) precisam ser validadas no seu servidor ARK após redeploy.
---
v1.0.3257GitHub ↗
## [Launcher: atualização mais limpa e robustez interna] - 2026-07-16
- **Atualização silenciosa:** ao atualizar, o launcher deixa de abrir o instalador cru do Windows — a própria janela acompanha o processo e a nova versão reabre sozinha. (Passa a valer a partir da próxima atualização.)
- **Notas de versão formatadas:** a janela "Atualização disponível" passa a exibir as novidades com títulos, listas e destaques, em vez de texto cru.
- **Robustez e manutenção internas:** dependências atualizadas e unificadas (menos duplicação), portas dos serviços centralizadas numa fonte única e código modernizado. Sem mudança de comportamento visível.
Validação: `pnpm validate` verde + testes do launcher (Rust, 53) + auditoria dedicada das mudanças (0 alteração de lógica). Recomendado validar a nova experiência de atualização num ciclo real de update.
---
v1.0.3249GitHub ↗
## [Launcher: suporte a inglês, comentários no .env preservados e robustez interna] - 2026-07-16
- **Idioma automático (português/inglês):** o launcher acompanha o idioma do Windows — todas as janelas (inicialização, sobre, configurações e atualização) exibidas em pt-BR ou en.
- **Comentários e ordem do `.env` preservados:** ao salvar configurações, o launcher deixou de reescrever o arquivo achatando tudo; seus comentários e a ordem original são mantidos.
- **"Buscar atualizações" com resposta:** quando você já está na versão mais recente, o launcher avisa (antes o botão ficava sem feedback).
- **Correção visual:** removida a barra de rolagem indevida na janela de Configurações.
- **Robustez e manutenção internas:** a supervisão dos serviços foi reorganizada em módulos coesos, adicionada auditoria de dependências no CI e tornadas não-bloqueantes as operações de disco no boot do banco. Sem mudança de comportamento visível.
Validação: `pnpm validate` verde + testes do launcher (Rust, 53) + revisão multi-especialista de cada fatia. O caminho de atualização (que todos recebem) foi validado; a instalação nova (cliente novo) é testada à parte.
---
v1.0.3232GitHub ↗
## [Launcher: segurança reforçada, nova experiência de atualização e visual renovado] - 2026-07-16
Endurecimento de segurança, nova UX de atualização e redesign visual do launcher. Validação: revisões multi-especialista de cada fatia (segurança, migração do banco, scripts de release, UX e design), migração banco trust→scram + DPAPI validadas em smoke de host isolado, e `pnpm validate` verde. O caminho de atualização (que todos recebem) foi validado; o de instalação nova (cliente novo) é testado à parte.
- **Segurança reforçada** — os serviços **deixam de ficar expostos na internet**: o acesso pela rede fica restrito à LAN (game-agents remotos seguem funcionando, mas a porta fecha para fora), a porta do banco não fica mais acessível de fora, e o painel escuta só localmente por padrão. **Segredos cifrados em disco** (chaves, senhas e tokens no `.env` passam a ser protegidos pelo Windows/DPAPI). E o **banco passa a exigir senha** (autenticação `scram-sha-256`), eliminando o acesso sem senha — tudo com migração segura que **nunca deixa o launcher sem subir** se algo falhar.
- **Nova experiência de atualização** — o diálogo de atualização agora mostra as **notas da versão**, uma **barra de progresso real** do download (o pacote é grande, leva alguns minutos) e **checa o espaço em disco** antes de baixar. Na **primeira execução**, o launcher pergunta se você quer **iniciar o BrutusForge junto com o Windows** (antes ficava escondido nas Configurações).
- **Visual renovado** — o launcher adota o **tema roxo/ciano** do painel (fim do laranja antigo), com o **status dos serviços em cards** claros (No ar / Iniciando / Falhou) em vez de texto técnico.
- **Publicação de updates mais segura** — proteções internas no processo de release: **nunca publica uma versão menor** que a atual, **verifica o instalador** no servidor antes de apontar o canal de atualização, e mantém a versão anterior como estável até a nova estar 100% confirmada — para o canal de update nunca ficar quebrado.
Portalv0.1.0 — licensing + checkout
v0.1.0 — Primeira venda (2026-04-21)
Portal público de licensing funcional com Stripe + MercadoPago Checkout Pro, admin interno (M2) e dashboard do cliente (M3).
Licensing
- Emissão de JWT Ed25519 por compra, phone-home diario, HWID fingerprint, grace period de 7 dias.
- Rate limit + HMAC-SHA256 em
/api/licenses/*e webhooks MP. - 59 testes criticos (Ed25519, HMAC, subscription, webhook idempotency).
Checkout e renovacoes
- Stripe subscription lifecycle: renovacao via
invoice.paid, revogacao automática emcustomer.subscription.deleted. - MercadoPago Checkout Pro com BRL (PIX/boleto/cartao 12x).
- Emails transacionais via Resend (confirmação, expiracao, revocacao, 2FA) com templates aplicados na marca.
Admin interno (portal)
- Dashboard com MRR, gestao de licenses (revoke, estender, transferir HWID).
- Visao de clientes e pedidos com filtros e paginacao.
Minha conta
- Cliente acompanha licenses, transfere HWID self-service (1x/mês sem custo), abre Stripe Customer Portal.
- Login por magic link (email) — em breve: Discord OAuth + email/senha.
Compliance e SEO
- Páginas legais revisadas: Termos (CDC art. 49 — 7 dias arrependimento), Privacidade (LGPD art. 18 completo + DPO + transferência internacional), EULA (L1 + OFAC + indenizacao).
sitemap.xml,robots.txte OpenGraph image com brand.
Proximos passos
- Login Discord OAuth + email/senha (além do magic link).
- Auditoria de acoes admin.
- Reprocessamento manual de compras.
- i18n completo (pt-BR + en-US).