Ir para o guia

Documentação 9.6.24

Instalação passo a passo

Cerca de 20 minutos de um servidor vazio até a proteção funcionando e conectada ao painel. Cada etapa termina com o que verificar. Se uma verificação falhar, corrija antes de seguir.

Antes de começar#

Confira se tudo abaixo está pronto antes de começar.

  • Uma build atual do servidor FiveM (artifact) com OneSync ativado (set onesync on). A maioria das verificações do lado do servidor não funciona sem OneSync, e o anticheat avisa sobre isso na inicialização.
  • oxmysql instalado e em execução. O anticheat acessa o banco de dados apenas pelo oxmysql e nunca pede uma senha de MySQL separada.
  • Uma conta no painel com um plano que inclua downloads.
  • Um backup do banco de dados e da pasta resources. Ao atualizar, guarde também separadamente suas pastas configs, admins, editable, locales e bridge.
  • Uma forma de enviar arquivos ao servidor (FTP, o gerenciador de arquivos do txAdmin ou área de trabalho remota) e uma ferramenta para executar SQL (HeidiSQL ou phpMyAdmin).

1. Adicione seu servidor no painel#

A chave de licença pertence a um único servidor, então a instalação começa cadastrando esse servidor no painel.

  1. Abra a página Servidores no painel do cliente e escolha Adicionar servidor.
  2. Informe o nome do servidor e escolha o framework (QBCore, Qbox ou ESX) e o script de inventário.
  3. Em Conexão com o banco de dados, mantenha Conectar pelo script selecionado. Esse modo não precisa de senha de MySQL nem de porta pública do banco de dados.
  4. Salve, abra o servidor e copie o valor do cartão Chave de licença. Se você tem vários servidores, use a chave de cada um.
  5. Verifique: o servidor aparece na lista e você copiou a chave de licença dele.

2. Baixe o pacote do servidor#

O pacote é gerado para o servidor selecionado no momento do download, então pode levar alguns segundos.

O pacote contém tosun-ac (o recurso principal, obrigatório), tosun-ac-guardian (um recurso pequeno que impede que o anticheat seja parado, recomendado) e, quando incluído, tosun_render (o componente de vídeo de evidência). A pasta tosun-ac também contém INSTALL.sql (um único arquivo SQL que cria todas as tabelas), KURULUM.txt (uma nota curta de instalação) e INTEGRATION.md (o guia para outros scripts).

Baixar um novo pacote não atualiza um servidor em execução. Nada muda até você colocar os arquivos e reiniciar o recurso.

  1. Acesse a página Downloads no painel.
  2. Escolha seu servidor e clique em Baixar.
  3. Extraia o arquivo ZIP em uma pasta no seu computador.

3. Coloque os arquivos#

Crie uma pasta chamada [tosun] dentro da pasta resources do servidor. No FiveM, pastas entre colchetes servem só para agrupar recursos. Copie para ela as pastas tosun-ac, tosun-ac-guardian e, quando incluída, tosun_render.

Não renomeie as pastas. Outros scripts acessam o anticheat como exports['tosun-ac'] e o Guardian monitora o nome tosun-ac. Renomear quebra as integrações e a proteção.

Não apague arquivos dentro das pastas. A verificação de integridade do pacote detecta arquivos ausentes ou alterados.

resources/
  [tosun]/
    tosun-ac/
    tosun-ac-guardian/
    tosun_render/

4. Crie as tabelas do banco de dados#

O anticheat guarda banimentos, detecções, logs e configurações no banco de dados do jogo. Crie as tabelas no banco de dados ao qual o oxmysql se conecta, o mesmo que tem as tabelas do seu framework.

O INSTALL.sql não apaga seus dados. As tabelas são criadas com CREATE TABLE IF NOT EXISTS, então as tabelas existentes ficam como estão.

O usuário do banco de dados usado pelo oxmysql precisa das permissões CREATE e ALTER nesse banco. Se a sua hospedagem compartilhada não permitir, execute o SQL você mesmo pelo painel de controle da hospedagem.

  1. Faça backup do banco de dados.
  2. No HeidiSQL, selecione o banco de dados do jogo, abra tosun-ac/INSTALL.sql em File → Load SQL file e execute (F9). No phpMyAdmin, use a aba Importar.
  3. Se preferir a linha de comando, use o comando abaixo.
  4. Confira se as tabelas ts_anticheat, ac_detections e admin_logs agora existem.
mysql -u USER -p DATABASE_NAME < INSTALL.sql

5. Adicione colunas ausentes em instalações antigas#

Se você vem de uma versão antiga, suas tabelas existem, mas podem não ter as colunas mais novas. Se o console mostrar um erro como Unknown column 'log_message' in 'field list', faça backup do banco de dados e execute os comandos abaixo. Eles só adicionam as colunas que faltam e não mexem nos dados existentes.

Essa sintaxe é para MariaDB. O MySQL 8 não aceita IF NOT EXISTS aqui: primeiro liste as colunas com SHOW COLUMNS FROM admin_logs; e adicione só as que faltam com ADD COLUMN.

Se o erro continuar, a tabela admin_logs pode pertencer a outro script. Envie a saída de SHOW CREATE TABLE admin_logs; para o suporte.

ALTER TABLE admin_logs
  ADD COLUMN IF NOT EXISTS log_message LONGTEXT NULL,
  ADD COLUMN IF NOT EXISTS log_playerid LONGTEXT NULL,
  ADD COLUMN IF NOT EXISTS log_playername LONGTEXT NULL,
  ADD COLUMN IF NOT EXISTS log_type VARCHAR(20) NOT NULL DEFAULT 'LOG',
  ADD COLUMN IF NOT EXISTS log_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  ADD COLUMN IF NOT EXISTS created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;

ALTER TABLE ac_detections
  ADD COLUMN IF NOT EXISTS player_id INT NULL,
  ADD COLUMN IF NOT EXISTS player_name VARCHAR(100) NOT NULL DEFAULT '',
  ADD COLUMN IF NOT EXISTS license VARCHAR(100) NULL,
  ADD COLUMN IF NOT EXISTS steam VARCHAR(50) NULL,
  ADD COLUMN IF NOT EXISTS discord VARCHAR(50) NULL,
  ADD COLUMN IF NOT EXISTS ip VARCHAR(40) NULL,
  ADD COLUMN IF NOT EXISTS detection_type VARCHAR(60) NOT NULL DEFAULT '',
  ADD COLUMN IF NOT EXISTS detail TEXT NULL,
  ADD COLUMN IF NOT EXISTS reason VARCHAR(512) NOT NULL DEFAULT '',
  ADD COLUMN IF NOT EXISTS punishment VARCHAR(10) NOT NULL DEFAULT 'LOG',
  ADD COLUMN IF NOT EXISTS ban_id VARCHAR(20) NULL,
  ADD COLUMN IF NOT EXISTS screenshot VARCHAR(512) NULL,
  ADD COLUMN IF NOT EXISTS config VARCHAR(100) NULL,
  ADD COLUMN IF NOT EXISTS config_key VARCHAR(100) NULL,
  ADD COLUMN IF NOT EXISTS server_id INT NULL,
  ADD COLUMN IF NOT EXISTS created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;

6. Configure o server.cfg e as configurações básicas#

Adicione as linhas abaixo ao server.cfg. As linhas set precisam vir antes das linhas ensure, porque o recurso lê esses valores ao iniciar. O oxmysql e o seu framework precisam iniciar antes do anticheat.

Troque qb-core pelo recurso do seu framework (qbx_core ou es_extended). Adicione a linha tosun_render só se o seu pacote incluir esse recurso.

tosun_ac_license é a única configuração obrigatória. A conexão de dados do painel e a edição de saldos de personagens online vêm ativadas por padrão, então não adicione linhas para elas. As linhas antigas set tosun_db_bridge_enabled e set tosun_db_bridge_money_write são ignoradas a partir do pacote 9.6.14 e podem ser apagadas. Pacotes mais antigos ainda precisam dessas linhas para ativar a conexão, por isso baixe o pacote atual pelo painel.

Configurações opcionais: tosun_ac_panel_key (Configurações do site → Chave de API do AntiCheat; se ficar vazio, o anticheat encontra essa chave sozinho no banco de dados) e tosun_ac_central_token (um token com o componente fivem da página Tokens de API do AC; se ficar vazio, a chave do painel é usada).

Use apenas set para a licença e as chaves. setr envia o valor aos jogadores, e sets o publica na lista pública de servidores. Não coloque chaves em configs/anticheat_config.lua, porque esse arquivo também é enviado aos jogadores. Em vez do server.cfg, você pode usar a tabela credentials em configs/anticheat_server.lua, que é carregado só no servidor. Se os dois estiverem preenchidos, o server.cfg tem prioridade.

  • ts.Framework.framework: deixe "auto". QBCore, Qbox e ESX são detectados automaticamente. Se a detecção falhar, defina "qb", "qbox", "esx" ou "standalone".
  • ts.punishType: use 'LOG' no primeiro dia para só registrar as detecções. Depois de revisá-las no painel, mude para 'BAN'.
  • ts.Debug: mantenha false. Quando ativado, todos são detectados, inclusive a staff.
  • Deixe os campos webPanelKey, Central.token e licenseLock.licenseKey vazios.
set onesync on

set tosun_ac_license "YOUR_LICENSE_KEY"

ensure oxmysql
ensure qb-core
# ... seus outros recursos de framework e inventário ...
ensure tosun_render
ensure tosun-ac
ensure tosun-ac-guardian

7. Dê permissões à staff#

A staff fica isenta das detecções e pode abrir o menu de admin no jogo. O jeito recomendado é usar permissões ACE no server.cfg.

tosun.admin cobre o menu de admin e a isenção. tosunac.admin permite executar tosunac_setup de dentro do jogo. Troque o valor da licença pelo seu.

Outra opção é adicionar identificadores license:, steam: ou discord: à lista Admins em tosun-ac/admins/anticheat_admins.lua, ou conceder a permissão pelo painel.

Quem é apenas admin do txAdmin fica isento das detecções, mas não consegue abrir o menu no jogo. O menu exige um dos métodos acima.

No jogo, abra o menu com /ts ou /tsmenu, ou pressione F7. Você pode mudar a tecla com ts.AdminMenu.openKeyControl.

add_ace group.admin tosun.admin allow
add_ace group.admin tosunac.admin allow
add_principal identifier.license:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx group.admin

8. Primeira inicialização e verificação#

Na primeira instalação, reinicie o servidor inteiro, e não só o recurso, para que problemas de ordem de inicialização apareçam logo.

  1. Reinicie o servidor e procure erros vermelhos do tosun-ac no console.
  2. Execute tosunac_doctor no console do servidor. Ele lista configurações arriscadas ou conflitantes.
  3. Execute tosunac_db_status para a conexão de dados do painel e tosunac_integration para as conexões com outros scripts.
  4. Procure a linha [AC-Guardian] Aktif no console.
  5. Se você tem certeza de que o servidor está limpo, execute tosunac_setup. Ele primeiro procura backdoors e depois adiciona os recursos limpos e os eventos do servidor à lista de permissões. Não execute se suspeitar de algum recurso infectado: ele trata o estado atual como confiável.
  • O servidor aparece como online no painel e a contagem de jogadores é atualizada.
  • Ao entrar com uma conta da staff, /ts abre o menu.
  • Novas linhas aparecem na seção de logs do painel.
  • Depois de 10 a 15 minutos jogando com uma conta comum, o painel não mostra detecções inesperadas.
tosunac_doctor
tosunac_db_status
tosunac_integration
tosunac_setup

9. Verifique a conexão de dados do painel#

Essa conexão vem ativada por padrão. Você não precisa adicionar nenhuma linha ao server.cfg nem ativá-la no painel. Usuários autorizados do painel podem ver dados de jogadores, personagens, inventário, veículos, banimentos e detecções quando precisarem. O banco de dados não é copiado e sua senha de MySQL fica no seu servidor. A conexão só lê dados; a única exceção é a edição de saldos de personagens online, descrita abaixo.

Cada página retorna 25 registros, uma requisição é executada por vez e cada resposta tem no máximo 64 KB. Quando ociosa, a conexão não executa consultas no banco de dados do jogo. As tabelas padrão de QBCore, Qbox e ESX são suportadas. Tabelas personalizadas não são mapeadas automaticamente.

A edição de saldos também vem ativada por padrão. Só usuários do painel com a função de administrador ou proprietário (permissão de economia) podem usá-la. Ela não soma ao saldo: define o total em dinheiro ou no banco para o valor informado. O personagem precisa estar online. Se o saldo atual esperado não bater, a solicitação é recusada com stale_balance e nada muda. O painel mostra um resumo de confirmação antes do envio, e cada solicitação é gravada no log de auditoria. Uma solicitação com resultado incerto nunca é repetida automaticamente; confira o saldo no jogo antes de tentar de novo.

Para o controle manual avançado, adicione set tosun_db_bridge_manual "1" ao server.cfg. Assim, tosun_db_bridge_enabled e tosun_db_bridge_money_write são lidos do server.cfg como antes, e cada um fica desativado a menos que esteja em "1". Se você ativou de propósito o espelho completo antigo (ts.panelMirror.enabled = true em configs/anticheat_config.lua), a conexão fica desativada automaticamente para que o espelho continue funcionando.

O site da sua comunidade usa a mesma conexão. Sem configurações de banco de dados do jogo, as páginas Jogadores, Banimentos e Detecções leem do servidor de jogo; não é preciso usuário MySQL nem porta de banco de dados aberta. Em Banco de dados e bridge → “Site da comunidade só com a licença” você vê o que este modo mostra e quando vale a pena adicionar a conexão SQL direta opcional.

  1. No painel, abra Servidores → seu servidor → o cartão Tosun Connect. Enquanto o recurso estiver rodando, o cartão deve mostrar Connection ready (Conexão pronta).
  2. Você também pode verificar a conexão com tosunac_db_status no console do servidor.
  3. Para desligar a conexão de um servidor, escolha Disable connection (Desativar conexão) no mesmo cartão. Isso interrompe todas as leituras e edições de saldo desse servidor. Você pode ativá-la de novo no mesmo cartão.

10. Deixe seus outros scripts compatíveis#

Scripts que teleportam jogadores, dão armas ou congelam jogadores podem parecer trapaça se não avisarem o anticheat. Os casos mais comuns e como resolver:

Qualquer script pode chamar MarkTeleport. AllowWeapon e SetExempt concedem isenções amplas, por isso só são aceitos de recursos em que você confia. Adicione os nomes dos scripts que os usam, separados por vírgulas, e mantenha os nomes que já estão na lista.

  • Teleporta um jogador (casa, garagem, prisão, hospital): chame exports['tosun-ac']:MarkTeleport(src) logo antes de mover o jogador.
  • Abre um menu rápido que congela o jogador (roupas, barbearia): exports['tosun-ac']:MarkTeleport(src, 15000).
  • Dá uma arma sem colocá-la no inventário (arena, paintball): exports['tosun-ac']:AllowWeapon(src, "WEAPON_PISTOL", ms). Exige um recurso confiável.
  • Precisa deixar um jogador totalmente isento por um tempo (cutscene, respawn personalizado): exports['tosun-ac']:SetExempt(src, ms, "reason"). Exige um recurso confiável.
set tosun_ac_trusted_resources "my-clothing,my-housing,my-arena"

11. Atualização#

Atualize durante uma manutenção e mantenha suas próprias configurações.

Se a chave do painel ficava em anticheat_config.lua, ela pode ter sido enviada aos jogadores. Crie uma nova chave no painel e atualize também o server.cfg. Atualizar não revoga as chaves antigas.

  1. Baixe o novo pacote no painel.
  2. Faça backup da pasta tosun-ac no servidor e guarde separadamente suas alterações nas pastas configs, admins, editable, locales e bridge.
  3. Apague as pastas antigas tosun-ac, tosun-ac-guardian e tosun_render e coloque as novas no lugar. Copiar por cima das pastas antigas deixa para trás arquivos que foram removidos.
  4. Restaure suas próprias configurações. Para manter as linhas adicionadas na nova versão, leve apenas os valores que você alterou, em vez de substituir o arquivo inteiro.
  5. Se as notas da versão mencionarem mudanças no banco de dados, repita as etapas 4 e 5.
  6. Reinicie o servidor e repita as verificações da etapa 8.

12. Solução de problemas#

Os sintomas mais comuns e como resolver:

Ao pedir suporte, informe o número da versão (version em fxmanifest.lua), o erro completo do console e a saída do tosunac_doctor. Nunca compartilhe sua licença ou suas chaves de API. O suporte não vai pedi-las.

  • Unknown column '…' in 'field list': as tabelas são de uma versão antiga. Execute o SQL da etapa 5.
  • Table '…' doesn't exist: o INSTALL.sql não foi importado ou foi importado no banco de dados errado. Importe-o no banco de dados ao qual o oxmysql se conecta.
  • Erros do oxmysql e o anticheat parando no primeiro segundo: mova ensure oxmysql para cima de ensure tosun-ac.
  • Aviso de licença inválida: foi informada a licença de outro servidor, a linha set está depois do ensure ou foi usado setr. Copie a licença de novo do cartão do servidor correto.
  • O menu de admin não abre: a pessoa é apenas admin do txAdmin. Adicione as linhas ACE da etapa 7 e entre novamente.
  • Um jogador inocente é detectado: abra a detecção no painel para ver qual verificação disparou e adicione a chamada da etapa 10 ao script relacionado. Enquanto isso, defina a punição dessa verificação como LOG no painel.
  • O servidor aparece como offline no painel: leia a saída do tosunac_doctor. Se tosun_ac_panel_key estiver definido, confira se ele corresponde à chave do painel.
  • Não é possível baixar o pacote: leia o aviso na página Downloads. Seu plano pode não incluir downloads, ou o servidor não foi adicionado.

Primeiro acesso como dono do site#

Selecione seu site alugado no TosunDev e abra a gestão. Sem sessão, será pedido login e depois voltará à gestão. Para cadastro por e-mail use e-mail e senha válidos quando o site foi criado; alterações posteriores não são necessariamente sincronizadas.

  1. Confira o endereço com o aluguel selecionado.
  2. Teste login e retorno à gestão correta em uma janela privada.
  3. Associe o seu servidor FiveM; senha web, licença Tosun e senha MySQL são distintas.
  4. Use recuperação de conta e validação de propriedade, nunca senha compartilhada de administrador.

Copiar a licença Tosun do servidor certo#

Abra Servidores no TosunDev, selecione o seu servidor FiveM e copie a licença Tosun AC. tac_live_ não é a licença Cfx.re, sv_licenseKey, token Discord ou chave API do painel.

  1. Substitua YOUR_SERVER_LICENSE entre aspas no server.cfg.
  2. Coloque tosun_ac_license antes de ensure tosun-ac; use set, nunca setr nem sets.
  3. Em alternativa preencha credentials.licenseKey em configs/anticheat_server.lua. Um convar não vazio tem prioridade.
  4. Não publique a licença em capturas, chat, shared config ou arquivos cliente.
set tosun_ac_license "YOUR_SERVER_LICENSE"
# Alternative: configs/anticheat_server.lua
# credentials.licenseKey = "YOUR_SERVER_LICENSE"

Um único SQL na base correta#

tosun-ac/INSTALL.sql é o único ponto de importação SQL no novo ZIP. Não importe outra cópia antiga do esquema. O destino é a base do jogo FiveM/oxmysql, não a base de contas e tema do site alugado. Colunas antigas em falta são reparadas antes dos valores padrão; bans e ajustes personalizados são preservados.

  1. Faça backup da base do jogo e confirme o nome.
  2. Importe apenas INSTALL.sql em HeidiSQL/phpMyAdmin ou indique explicitamente a base no comando mysql.
  3. tosunac_db_check verifica uma consulta e tosunac_db_status o estado da ponte. A ponte vem ativa por padrão e não exige nenhuma linha no server.cfg. enabled=false é normal no modo manual (set tosun_db_bridge_manual "1") sem tosun_db_bridge_enabled "1", ou se o espelho completo antigo (ts.panelMirror.enabled = true em configs/anticheat_config.lua) foi ativado de propósito; a licença não cria uma ligação MySQL.
  4. A conexão do painel (Tosun Connect) e a edição de saldo online vêm ativas por padrão. Não adicione tosun_db_bridge_enabled nem tosun_db_bridge_money_write ao server.cfg; a partir do pacote 9.6.14, linhas antigas são ignoradas e podem ser apagadas (pacotes mais antigos ainda precisam delas até você instalar o pacote atual). Só usuários do painel com papel admin ou owner definem saldos: o personagem precisa estar online, o saldo esperado precisa coincidir (senão stale_balance e nada muda), o painel mostra um resumo para confirmar antes do envio, cada pedido vai para o registro de auditoria e um resultado incerto nunca é repetido automaticamente; confira antes o saldo no jogo. Define o total, não soma. Para desligar toda a conexão em um servidor (isso interrompe todas as leituras do painel e todas as edições de saldo): Painel → Servidores → o servidor → cartão Tosun Connect → Disable connection; você pode religá-la no mesmo cartão. Guarde a senha apenas no servidor de jogo.
mysql -u YOUR_DB_USER -p YOUR_GAME_DATABASE < tosun-ac/INSTALL.sql

# txAdmin console:
tosunac_db_check
tosunac_db_status

Do ZIP ao início no txAdmin#

Copie tosun-ac, tosun-ac-guardian e tosun_render para o mesmo nível de resources, cada um com fxmanifest.lua na raiz. discord-bot é uma aplicação Node.js. O novo manifesto Render declara apenas gta5, sem common.

  1. Mantenha mysql_connection_string; inicie oxmysql e framework/inventário existentes antes de Render, AC e Guardian.
  2. Execute refresh no txAdmin e siga a ordem abaixo. O alias tosun-render funciona; a pasta permanece tosun_render.
  3. tosun_render_status deve mostrar started e arquivos disponíveis. Depois teste a captura com um jogador.
  4. Verifique o primeiro erro: dependência, pasta ou licença do servidor selecionado.
set tosun_ac_license "YOUR_SERVER_LICENSE"

ensure oxmysql
# Start your existing framework/inventory here.
ensure tosun_render
ensure tosun-ac
ensure tosun-ac-guardian

# txAdmin console:
tosun_render_status
tosunac_doctor
tosunac_db_check
tosunac_db_status

Verificar permissões e revogação#

ACE, identificadores de administradores e permissões do painel são verificados no servidor. all não é um identificador nem concede acesso. allowedIds usa license:..., discord:... ou fivem:... completos dos identificadores do jogador.

  1. Dê apenas as permissões necessárias a um administrador de teste.
  2. Remova a permissão do painel e teste o mesmo jogador; o novo intervalo padrão de consulta é cerca de cinco segundos.
  3. Confira permissões independentes ACE/admins.lua. Telemetria de jogadores online não concede acesso.
  4. Um jogador normal deve continuar bloqueado; use dados de teste para ações sensíveis.
ts.AdminMenu.allowedIds = {
    "license:YOUR_EXACT_PLAYER_IDENTIFIER",
    "discord:YOUR_DISCORD_USER_ID"
}
# Examples are placeholders, not grants.

Instalar o bot Discord como serviço separado#

discord-bot roda com Node.js e não com ensure. Crie sua aplicação no Discord Developer Portal; use Application ID, Guild ID e IDs de canais e funções do seu Discord. Guarde o token em arquivo de ambiente privado.

A conta da base do site é limitada por padrão ao localhost do provedor. Um bot em outra máquina FiveM não ganha acesso automático. Use serviço gerenciado no host do site ou conexão privada aprovada apenas para sua conta. Nunca use root do provedor nem exponha MySQL publicamente. Verifique separadamente comandos antigos que consultam tabelas do jogo.

Como proprietário, salve token, Client ID e Guild ID em Gestão do site → Bot Discord. Baixe o arquivo privado em Download private bot setup e salve como .env na sua pasta do bot. Ele contém apenas as chaves do site escolhido, diferente do exemplo vazio do ZIP. Não compartilhe nem inclua no controle de versões.

  1. Instale uma versão LTS suportada do Node.js 22 ou superior e prepare os exemplos com o instalador.
  2. Convide com os escopos bot e applications.commands e conceda apenas permissões necessárias.
  3. Configure a base do site e API HTTPS. A chave privada de comandos é exclusiva deste bot/site; não é licença Tosun nem chave principal SaaS.
  4. Execute npm run doctor antes de iniciar. Depois confira online e funções; doctor não entra no Discord.
cd discord-bot
sh setup.sh
# Configure the private .env and site bot settings first.
npm run doctor
npm start

Evitar análise desnecessária após reiniciar#

Cada arranque verifica impressões SHA256 do conteúdo. Recursos com arquivos e regras inalterados reutilizam resultados autenticados no KVP do servidor, evitando repetir análises dispendiosas de assinaturas e eventos. Mudanças em arquivos, exceções ou regras invalidam a análise correspondente. As impressões ainda leem arquivos; não há garantia de um valor resmon fixo.

  1. Mantenha o cache KVP nas atualizações normais; entradas corrompidas ou não verificáveis são analisadas novamente.
  2. O catálogo inicial reúne nomes literais de eventos Lua/JS. Nomes dinâmicos, arquivos ilegíveis ou escrow e DLL não são certificados como totalmente analisados.
  3. A configuração automática manual aguarda a análise de segurança. Recursos incompletos, suspeitos, alterados ou com tempo esgotado não são aprovados automaticamente.
  4. Teste entrada de jogadores, jogo normal e ações administrativas num servidor de teste; avalie resmon com o número de jogadores e a carga do framework.