Este guia mostra como adicionar e configurar servidores de jogo no BrutusForge, organizando-os em clusters e conectando o runtime do jogo ao painel administrativo. O foco é o fluxo atual, orientado por servidor: você cadastra o cluster e o servidor no admin, garante que as chaves combinam e valida a conectividade pelo painel.
Pré-requisitos
- A API administrativa do jogo instalada no host (
ArkApipara ARK: Survival Evolved ouAsaApipara ARK: Survival Ascended). - BrutusForge (API, Web e Bot) já operacionais.
- Cluster e servidor cadastrados no admin.
serverKeydefinido para o servidor no painel.
Dependências aceitas
Obrigatórias no stack atual
| Plugin | Papel |
|---|---|
BrutusForgeCore | runtime base: heartbeat, polling, fila de comandos e ponte comum com o painel |
Permissions | grupos e permissões in-game |
ArkShop | loja e pontos in-game |
ArkShopUI | interface visual da loja |
Plugins próprios opcionais
| Plugin | Papel |
|---|---|
BrutusForgeChat | cross-chat, mensagens privadas e comandos in-game |
BrutusForgeTribeLogs | envio de tribe logs |
BrutusForgePlayerList | integração da lista de jogadores |
BrutusForgeLink | código de vínculo e identidade do jogador |
BrutusForgeRewards | recompensas e fluxos temporizados |
Observações:
BrutusForgeLinké o sistema oficial de vínculo de identidade.Permissionspermanece como dependência externa aceita, por compatibilidade com oArkShop.
Ordem de carregamento
O Permissions deve carregar antes de qualquer plugin que utilize grupos e permissões.
{
"LoadOrder": [
"Permissions",
"BrutusForgeCore",
"BrutusForgeChat",
"BrutusForgeTribeLogs",
"BrutusForgePlayerList",
"BrutusForgeLink",
"BrutusForgeRewards",
"ArkShop",
"ArkShopUI"
]
}Fluxo de cadastro e vínculo
- Crie ou revise o cluster na tela de topologia.
- Crie o servidor em Admin → Servidores.
- Garanta que o
serverKeydo servidor é exatamente o mesmo usado no runtime do jogo. - Revise a aba de plugins e habilite apenas o que vai operar naquele servidor.
- Valide a aba de runtime para confirmar conectividade, versão e plugins carregados.
O fluxo oficial é orientado por servidor: você parte do cadastro do servidor no admin, não da instalação de módulos avulsos.
Configuração mínima do Core
Edite o arquivo de configuração do BrutusForgeCore:
ArkApi/Plugins/BrutusForgeCore/config.json
AsaApi/Plugins/BrutusForgeCore/config.json{
"serverKey": "UNIQUE_SERVER_KEY",
"apiUrl": "http://API_HOST:3001/api/game-agent",
"sharedSecret": "GAME_AGENT_SECRET_FROM_ENV",
"heartbeatIntervalSeconds": 30,
"pollingIntervalSeconds": 2,
"features": {
"chatEvents": true,
"joinLeaveEvents": true,
"deathEvents": true,
"tribeLogEvents": true,
"crossChat": true,
"linkCode": true,
"timedRewards": true,
"lottery": true
}
}O serverKey precisa ser idêntico ao do servidor cadastrado no admin, e o sharedSecret precisa bater com o GAME_AGENT_SECRET definido no ambiente. Se qualquer um divergir, o servidor não conecta.
Hot reload e sincronização
| Mecanismo | Uso |
|---|---|
CONFIG_SYNC | atualiza flags e configuração resolvida em memória |
PLUGIN_CONFIG_WRITE | grava a configuração física para plugins externos |
PLUGIN_CONFIG_RESTORE | restaura a configuração externa a partir do estado salvo |
BrutusForge.reload | força um novo sync manual pelo runtime |
Para o operador, os pontos de controle no admin são as telas de topologia, plugins, runtime e configuração resolvida.
Observações operacionais
ArkShopeArkShopUIcontinuam sendo o caminho oficial para a loja in-game.- A integração administrativa e o hot reload ficam no painel BrutusForge.
- Plugins externos e artefatos gerados não devem ser versionados junto com o projeto.
Comandos in-game relevantes
BrutusForgeChat
| Comando | Função |
|---|---|
/pm jogador mensagem | mensagem privada |
/r mensagem | responder à última mensagem privada |
/groups | ver os grupos do jogador |
/track nome | localizar dino por nome |
/bodies | listar corpos |
/body id | rastrear um corpo |
/getbody id | recuperar o inventário de um corpo |
Os comandos disponíveis variam conforme os plugins carregados e as permissões configuradas no servidor.