O painel admin é o centro de operações da sua instalação do BrutusForge. Acessado pelo navegador, é onde você gerencia servidores, clusters, jogadores, loja, comunidade e a configuração de toda a instalação. Este guia descreve as áreas do painel e os fluxos principais para o operador.
Conceitos-chave
Configuração por escopo (GLOBAL → cluster → servidor)
A configuração é organizada por escopo + feature (não por plugin) e resolvida em três camadas:
- GLOBAL — vale para toda a instalação, independente de cluster. São 6 áreas: Marca, Discord, Loja & Pagamento, FAQ, Vínculo e cargos Discord. Editadas nas páginas do grupo GLOBAL da barra lateral.
- CLUSTER — valores padrão (defaults) que valem para todos os servidores membros do cluster. Editados na aba Configuração do cluster (
Clusters → [cluster] → Configuração), com as seções agrupadas por feature. - SERVER — cada servidor pode ter sobrescritas (overrides) próprias que substituem o default do cluster apenas nele, no detalhe do servidor.
Onde cada coisa mora: as 6 áreas GLOBAL ficam no grupo GLOBAL da barra lateral; a configuração de cluster fica no drill-in do cluster (aba Configuração); as sobrescritas de servidor ficam no detalhe do servidor (seções por feature que aceitam overlay). Não existe um hub único de "Config".
Modo ASM vs MANAGED
Define quem controla o processo do servidor (visível no card de gerenciamento da Visão geral do servidor):
- ASM — o BrutusForge delega o controle ao seu gerenciador externo (por exemplo, o arkmanager). Os tokens de cluster gerados (
-clusterid,-ClusterDirOverride) são exibidos para você copiar para o seu gerenciador. - MANAGED — o próprio BrutusForge inicia e supervisiona o servidor, montando o comando e injetando os argumentos de cluster automaticamente. Nesse modo você configura mapa, argumentos extras e, no ARK SA, a plataforma de crossplay e o IP público.
Visão geral e frota
| Área | O que permite fazer |
|---|---|
Dashboard (/admin) | Visão geral: jogadores online/total, pedidos, receita, assinaturas, gráfico de receita, últimos pedidos, atalhos e widget de canais Discord |
Servidores (/admin/servers) | Frota agrupada por cluster e filtrável por jogo. Start/stop/restart, editar, ativar/desativar, excluir, status do plugin. Atalhos para buscar mods, gerenciar clusters e adicionar servidor |
Novo servidor (/admin/servers/new) | Assistente de 5 passos: jogo → dados básicos → portas → plugins → revisão |
Importar servidores (/admin/servers/import) | Aponta uma pasta-base e descobre instalações automaticamente (jogo, build, RCON), importando em lote |
Servidor — detalhe
A página de detalhe do servidor (/admin/servers/[id]) é o centro de controle de um servidor. O cabeçalho mostra jogo, status online/offline e botão de reiniciar. As abas variam por jogo; abaixo, o conjunto completo do ARK SA:
- Visão geral — Controles de start/restart/save, próximos restart/wipe, cards de jogadores online/uptime/Game Agent, lista de conectados, checklist de onboarding, updates do jogo/loader, health check e o card de Modo de gerenciamento (ASM vs MANAGED).
- Overrides — Sobrescritas de config específicas deste servidor sobre os defaults do cluster, por seção; mostra a config final resolvida.
- Config INI — Edita arquivos de config (Game.ini, GameUserSettings.ini etc.) em formulário ou texto bruto; importa, baixa e salva com backup automático.
- Console — Console RCON ao vivo: feed em tempo real, botões de comando rápido (ListPlayers, SaveWorld, Broadcast, DestroyWildDinos), envio de comandos arbitrários e histórico RCON.
- Plugins C++ — Status do game-agent, instalar plugins ARK (DLLs + config), ver features ativas, gerar/copiar a Plugin Key.
- Eventos tribo — Histórico persistido de eventos com filtros e exportação CSV.
- Mods — Lista/remove mods instalados e busca/instala da loja do jogo (Steam Workshop / umod / Nexus); upload de ZIP no 7DTD.
- Logs — Feed de eventos ao vivo (entrar/sair, chat, mortes) com filtro.
- Agendamentos — Cria/ativa/remove reinícios, wipes e comandos temporizados (cron); dispara restart/wipe manual.
- Backups — Histórico de backups (data, tipo, status, tamanho) e SaveWorld manual.
- Bloodmoon (7DTD) — Contagem regressiva da próxima Bloodmoon.
Clusters
| Área | O que permite fazer |
|---|---|
Cluster — detalhe (/admin/clusters/[id]) | Hub do cluster com abas: Visão geral (servidores membros e capacidade; no ARK, card de Identidade com arkClusterId/clusterDirOverride, regras de transferência e Conexão ArkShop — ver abaixo), Configuração (todas as seções de escopo cluster por feature), Plugins (config por seção de plugin) e, no ARK, ArkShop |
Novo cluster ARK (/admin/clusters/ark/new) | Cria um cluster ARK escolhendo jogo, nome, mapas (cria um servidor por mapa), senha RCON base e diretório de transferência compartilhado |
Cartão "Conexão ArkShop" (clusters ARK)
Visível no detalhe do cluster apenas para clusters ARK. Mostra o estado da integração com o banco MySQL do ArkShop que alimenta os pontos dos jogadores.
O que aparece:
- Status — Conectado, Via ENV (global) ou Não conectado.
- Banco / Tabela / Chave de identidade — as coordenadas da conexão ativa (
SteamIdno ARK SE,EosIdno ARK SA). Credenciais (usuário/senha) nunca são exibidas.
Botões disponíveis:
- Testar — executa um
SELECT 1e, se bem-sucedido, exibe a latência, o número de jogadores cadastrados e o total de pontos acumulados no banco. - Redescobrir — força uma nova leitura do
config.jsondo ArkShop nos servidores do cluster e atualiza a conexão armazenada.
Funcionamento normal: em situações comuns o cartão já aparece como Conectado sozinho, sem nenhuma configuração manual. Quando um servidor ARK conecta ao BrutusForge, o sistema lê automaticamente o bloco MySQL do config.json do ArkShop e armazena as credenciais de forma segura. O botão "Redescobrir" só é necessário se o banco do ArkShop for trocado ou se a descoberta automática ainda não tiver ocorrido (por exemplo, um servidor recém-adicionado antes do primeiro heartbeat).
Toda mudança de banco/tabela é registrada no audit log com as credenciais redigidas.
Plugins
A configuração de plugin não mora mais aqui — migrou para o escopo (GLOBAL, cluster ou servidor). A página de plugin agora é inventário e instalação.
| Área | O que permite fazer |
|---|---|
Plugins — lista (/admin/plugins) | Catálogo de plugins (C++, capacidades NestJS, externos ArkShop/ArkShopUI) com cobertura de instalação e saúde por servidor |
Plugin — inventário (/admin/plugins/[key]) | Inventário/instalação do plugin: versão carimbada no build, instalar/atualizar nos servidores e editar os templates de Embeds Discord |
Presets de config (/admin/plugins/presets) | Biblioteca de presets reutilizáveis: criar, importar (JSON), aplicar a servidores, exportar, renomear, excluir |
Jogadores e moderação
| Área | O que permite fazer |
|---|---|
Jogadores (/admin/players) | Abas Jogadores e Banimentos. Jogadores: lista (Steam, Discord, pontos, vínculo, último acesso), buscar, sincronizar roles Discord, ver pedidos, ajustar pontos. Banimentos: banir por Steam ID com motivo e escopo (cluster inteiro ou servidor único), listar e desbanir |
Jogador — detalhe (/admin/players/[id]) | Abas: Perfil, Pedidos, Grupos (permissões), Notas, Mutes, Stats e Histórico. Ajuste de pontos e sync de roles no topo |
Pontos = saldo único. O número que você ajusta aqui é o mesmo que o jogador vê no jogo (ArkShopUI / /points), no site e no Discord — cassino, voto, diário, loteria e gift cards usam esse pool. No ARK, quando há conexão MySQL do ArkShop (normalmente auto-descoberta pelo BrutusForge — ver o cartão "Conexão ArkShop" na tela do cluster — ou definida manualmente via ARKSHOP_MYSQL_*), o saldo é o da própria loja ArkShop e o ganho de pontos por tempo de jogo fica por conta do ArkShop (sem contagem dupla). Sem nenhuma conexão ArkShop, o BrutusForge usa um saldo interno próprio.
Comércio
| Área | O que permite fazer |
|---|---|
Produtos (/admin/products) | Catálogo da loja: criar/editar/clonar/excluir; preço (BRL + custo em pontos), tipo, comandos de entrega, limites, kits e packs. As categorias são gerenciadas inline aqui (diálogo "Gerenciar categorias": nome, slug, ícone, ordem) |
Importar produtos (/admin/products/import) | Importação em massa via CSV (upsert por slug) com preview e resumo |
Pedidos (/admin/orders) | Tabela de pedidos: buscar, filtrar por status, abrir detalhe |
Pedido — detalhe (/admin/orders/[id]) | Resumo, jogador, itens e tentativas de entrega; reentregar, cancelar, reembolsar |
Gift cards (/admin/gift-cards) | Emitir gift cards de pontos (valor, código, validade, nota) e listar |
Assinaturas (/admin/subscriptions) | Gerenciar assinaturas: auto-renovar, cancelar, renovar manualmente |
ArkShop (/admin/arkshop) | Editar a config in-game do ArkShop por servidor (editor visual ou JSON), salvar com hot-reload/restart e restaurar backup |
Comunidade
| Área | O que permite fazer |
|---|---|
Eventos (/admin/events) | Criar/editar eventos (torneio PvP, caça ao tesouro, boss), agendar, ativar, cancelar, escolher vencedores |
Event log por servidor (/admin/events/[serverId]) | Timeline de eventos de um servidor com filtros e exportação CSV |
Giveaways (/admin/giveaways) | Sorteios com prêmios e requisitos de entrada (conta vinculada, role, tempo de jogo); sortear, cancelar |
Loterias (/admin/lotteries) | Loterias de pontos (preço do ticket, datas); ver pool, forçar sorteio, cancelar |
Leaderboards (/admin/leaderboards) | Rankings por tipo (kills, deaths, tempo, tames, pontos, gasto) |
Marcos de voto (/admin/vote-milestones) | Recompensas por marcos de voto, com entrega automática |
Indicações (/admin/referrals) | Visão somente-leitura das indicações dos jogadores |
Discord, vínculo e marca (grupo GLOBAL)
Estas áreas valem para toda a instalação (escopo GLOBAL) e ficam no grupo GLOBAL da barra lateral:
| Área | O que permite fazer |
|---|---|
Marca (/admin/whitelabel) | Branding/white-label: nome, cores, logo e identidade visual aplicados ao site e ao Discord |
Discord (/admin/global/discord) | Aba Bot (presença/config do bot), aba Cargos (mapear roles Discord para grupos de permissão in-game e níveis RCON; conceder grupos a um tribe ID) e aba Ferramentas |
Loja & Pagamento (/admin/global/commerce) | Config global da loja e do gateway de pagamento |
FAQ (/admin/global/faq) | Auto-respostas/FAQ do bot |
Vínculo (/admin/global/link) | Fluxo de vínculo de conta Discord para o jogo |
Operações e auditoria
| Área | O que permite fazer |
|---|---|
Configuração do cluster (/admin/clusters/[id]?tab=config) | Aba Configuração do drill-in do cluster: todas as seções de escopo cluster, agrupadas por feature (Canais & Chat, Painéis & Comandos, Economia & Eventos, Gameplay etc.), com preview da config resolvida |
Automações (/admin/automations) | Comandos recorrentes em todos os servidores: abas Cron e Intervalo |
Histórico de comandos (/admin/command-history) | Log somente-leitura de comandos enviados, com filtros |
Audit logs (/admin/audit-logs) | Trilha de auditoria de ações admin, com busca e exportação CSV |
Saúde & Manutenção (/admin/maintenance) | Consolidado de todos os servidores: aba Saúde (servidores online, jogadores, Game Agent, infra PostgreSQL/API e links de observabilidade), aba Sistema (versão/uptime, memória, latência do DB, filas e conexões do game-agent) e abas Reinícios, Backups, Wipes e Automações |
Sistema e licença
| Área | O que permite fazer |
|---|---|
Licença (/admin/license) | Status da licença (ativa/grace/expirada), tier, HWID, último phone-home; ativar nova chave e revalidar com o portal |
Setup (/admin/setup) | Assistente de onboarding com checklist (servidores, clusters, branding, plugins, roles, loja) e progresso |
Dados ARK (/admin/ark-data) | Catálogo de referência de itens ARK (busca, copiar entity ID/blueprint, re-semear) |