Ir para o guia

Documentação 9.6.24

Instalação

Use o pacote deste servidor. Faça backup do recurso, configurações editáveis e banco antes de atualizar.

1. Prepare o servidor#

Use um artifact FiveM compatível e confira o OneSync. Preserve a conexão oxmysql existente. Extraia tosun-ac em resources sem renomear. Inicie framework e dependências primeiro. Na primeira execução, o anticheat precisa criar suas tabelas locais. A bridge não exige importar SQL. Se faltarem tabelas, use o SQL fornecido somente após backup.

2. Configuração exclusiva do servidor#

Copie a licença em Servidores e substitua YOUR_SERVER_LICENSE. Use set, nunca setr ou sets. Não publique a chave nem a coloque em Lua compartilhado ou cliente. A conexão de dados do painel (bridge) vem ligada por padrão e não precisa de linha no server.cfg; linhas antigas tosun_db_bridge_enabled e tosun_db_bridge_money_write são ignoradas e podem ser apagadas.

set tosun_ac_license "YOUR_SERVER_LICENSE"
ensure oxmysql
ensure tosun_render
ensure tosun-ac
ensure tosun-ac-guardian

3. Inicie e verifique#

Inicie oxmysql antes de tosun-ac durante manutenção. Confira versão e erros no console. A bridge inicia ligada por padrão, sem linha extra no server.cfg. Confira o estado com o comando abaixo no console do servidor. Não envie chaves reais ao suporte.

tosunac_db_status

Preparar uma instalação recuperável#

Anote a versão do artifact e os nomes dos recursos de framework e inventário. Baixe o pacote do servidor selecionado em Servers: outra licença pode conectar a instalação errada. Confira a assinatura paga e a permissão de gerenciamento. Mantenha o ZIP privado.

  1. Faça backup de tosun-ac, das configurações editáveis e do banco do jogo. Verifique o acesso à cópia antes de substituir arquivos.
  2. Extraia em uma pasta separada. fxmanifest.lua deve estar diretamente em tosun-ac, sem uma segunda pasta tosun-ac dentro dela.
  3. Compare suas alterações com os novos padrões. Transfira ajustes intencionais e integrações; não substitua toda a configuração nova pela antiga.

Dependências e configurações privadas#

Mantenha a conexão oxmysql que já funciona. A ponte de banco de dados do painel e a edição de saldo online vêm ativadas por padrão, por isso o exemplo não tem linhas da ponte. As linhas antigas tosun_db_bridge_enabled e tosun_db_bridge_money_write são ignoradas e podem ser apagadas. Insira as linhas existentes de início do framework e inventário na ordem de dependências. Não inicie frameworks conflitantes para seguir um exemplo. Use set na licença: setr replica valores aos clientes e sets publica informações do servidor.

O recurso precisa de acesso para suas próprias tabelas. A preparação inicial é independente da ponte. Para desligá-la em um servidor, abra no painel Servers → o servidor → Tosun Connect → Disable connection. Para controle manual, adicione set tosun_db_bridge_manual "1"; assim tosun_db_bridge_enabled e tosun_db_bridge_money_write são lidos do server.cfg, e cada um fica desligado se não for "1". Não importe SQL sem revisar em um banco com dados. Senhas e licença não devem estar no Lua compartilhado ou cliente. Planeje manutenção: ensure pode reiniciar um recurso em execução.

set tosun_ac_license "YOUR_SERVER_LICENSE"

ensure oxmysql
# Inicie aqui seu framework e inventário existentes.
ensure tosun-ac

Validar o jogo antes de reabrir#

Um recurso iniciado não valida todas as integrações. Confira versão do manifest, mensagens e conexão; entre com uma conta de teste. Execute os diagnósticos no console do servidor. A ponte vem ativada por padrão; disabled só é esperado no modo manual sem tosun_db_bridge_enabled "1" ou com o espelho antigo do painel ativado. O doctor avisa sobre configurações arriscadas, sem alterá-las.

Registre versão, horário, responsável e fluxos testados. Se só um script falha, reproduza com jogador de teste e anote o recurso. Revise a integração antes de isentar todos ou aumentar punições gerais.

  • Seleção de personagem, spawn, reanimação, entrada em casas e saída de garagem não geram punições inesperadas.
  • Armas do inventário, equipamentos policiais e armas de arena seguem a verificação ou autorização específica.
  • Objetos de emotes, telefone e ações da equipe funcionam; os logs identificam o recurso a integrar.
  • Em falhas de início, guarde o primeiro erro relevante e a versão, restaure o recurso salvo se necessário e remova segredos antes de compartilhar logs.
tosunac_integration
tosunac_doctor
tosunac_db_status

Atualizar um recurso sem misturar dois pacotes#

Trate a atualização como uma alteração com estados anterior e posterior conhecidos. Mantenha o nome tosun-ac para preservar caminhos de exports e auxiliares. Compare configs/anticheat_config.lua, configs/anticheat_webhooks.lua e integrações editáveis com o novo pacote; transfira apenas ajustes intencionais. Preserve convars privados e recursos de confiança revisados. A partir da 9.6.14, as linhas tosun_db_bridge_enabled e tosun_db_bridge_money_write do server.cfg são ignoradas; depois da atualização, a ponte e a edição de saldo online para administradores e proprietários do painel ficam ativadas. Para manter a ponte desligada, use Disable connection no cartão Tosun Connect do servidor ou adicione set tosun_db_bridge_manual "1"; assim essas linhas voltam a valer, e cada uma fica desligada se não for "1". Uma configuração antiga pode omitir novos padrões; copiar toda a pasta antiga pode deixar módulos obsoletos junto dos novos. oxmysql e o core adequado continuam antes de tosun-ac, e integrações dependentes depois.

  1. Feche novas conexões durante a manutenção e registre primeira saída de inicialização, versão instalada e alterações de configuração.
  2. Use uma única pasta tosun-ac ativa; mantenha a cópia fora da árvore de recursos ativos para evitar iniciá-la acidentalmente.
  3. Reconecte um jogador normal de teste após reiniciar; uma sessão anterior não representa uma aceitação limpa.

Escolher o diagnóstico pelo sintoma#

Comece pelo primeiro erro concreto, sem alterar várias proteções juntas. Se o recurso não inicia, confira pastas, manifesto e dependências ausentes. Se inicia sem conectar ao painel, confira servidor selecionado, licença e estado da conexão antes de investigar regras do jogo. Uma rejeição de entrada do launcher é outro controle com diagnóstico próprio. Se apenas um script de casa, arena ou roupas falha, registre recurso e ação e examine rejeições de integração. Uma conta de equipe pode ser isenta: seu teste bem-sucedido não comprova o funcionamento para jogadores comuns.

  1. Reproduza uma vez a menor ação problemática com personagem normal de teste e anote o resultado exato da consola ou painel.
  2. Compare com a última configuração funcional, corrija a dependência ou integração responsável e repita essa verificação.
  3. Remova chaves privadas do relatório; não desative toda detecção nem o controle de confiança para esconder um sintoma.

Restaurar um estado conhecido e verificar#

Planeje o retorno antes da manutenção. Guarde cópias compatíveis de recurso e configuração, ordem de inicialização anterior e alterações de convars. Se uma versão impedir entradas normais ou uma tarefa necessária, restaure o pacote conhecido e teste novamente. Restaurar Lua não desfaz uma alteração de dinheiro, apaga um trabalho do painel nem restaura a base. Não exclua tabelas AC, bans ou histórico de detecções para reparar a instalação. Se houve alteração na base, seu responsável deve avaliar uma recuperação separada considerando dados gravados desde a cópia.

  1. Restaure primeiro só os arquivos e ajustes afetados; teste início, conexão normal e a ação anteriormente problemática.
  2. A edição de saldo vem ativada por padrão. Até revisar a instalação restaurada e operações de saldo com resultado incerto, desligue a conexão no cartão Tosun Connect do servidor e confira o saldo no jogo antes de enviar uma alteração de novo. Depois da revisão, ligue-a de novo com Enable connection no mesmo cartão. Um pacote restaurado anterior à 9.6.14 mantém o comportamento antigo: sem as linhas do server.cfg, a ponte fica desligada.
  3. Registre o que restaurou e a razão, para que a próxima atualização corrija a causa reproduzível.

Conferir diretórios após a extração#

Extraia primeiro numa pasta independente. Confira aninhamento acidental tosun-ac/tosun-ac, fxmanifest.lua na raiz e pasta separada tosun-ac-guardian se fornecida. Não agrupe por extensão: o manifesto usa client, shared, configs, editable, server e html. Configuração copiada fora do caminho esperado pode não ser usada.

Erro @oxmysql/lib/MySQL.lua pede dependência, não renovação de licença. Para html/index.html ausente revise NUI e estrutura. Restaure o caminho do pacote correto sem misturar módulo de outra versão. Revise INSTALL.sql opcional contra o esquema existente com backup antes de aplicar. ZIP, pasta preparada e resource ativo devem formar uma cadeia clara. Priorize o primeiro erro inicial.

Conferir qual lado carrega segredos#

O nome do arquivo não define o que jogadores recebem. configs/anticheat_config.lua aparece em shared_scripts e carrega no servidor e cliente. Não adicione licença, credencial API privada ou senha de banco. Arquivos cliente e html/NUI também não guardam segredos. Configuração legível e editável não torna qualquer campo adequado para credenciais.

Revise seus arquivos alterados. Guarde licença em server.cfg protegido com set do servidor, nunca setr ou sets. Use configs/anticheat_webhooks.lua do servidor para webhook e oculte a URL em capturas. Remover segredo já distribuído publicamente não retira cópias anteriores; avalie substituí-lo. Registre arquivo e lado verificados sem copiar a credencial para a nota de aceitação.

Avance por pequenas etapas de aceitação#

Divida a manutenção em quatro etapas: conexão e core existentes, início do AC, fluxo normal do jogador e a ponte do painel, ativada por padrão. Observe o resultado antes de abrir a próxima. Primeiro confira as funções habituais do framework e inventário já usados; outro core pode esconder a causa. Relacione depois a saída do tosun-ac ativo ao pacote instalado. Teste o jogo com personagem sem isenções da equipe. A edição de saldo online para administradores e proprietários do painel também vem ativada por padrão; para validar a ponte basta uma leitura, sem alterar saldo.

Anote horário, resultado esperado e observado numa linha por etapa. Se a seleção funciona mas a saída da garagem falha, volte ao primeiro fluxo quebrado, sem baixar tudo outra vez. Jogo funcionando e leitura concluída pela ponte são aceitações separadas. Ocultar uma mensagem não aprova a etapa anterior. Resolva a dependência ausente antes de avançar e retome o uso normal após as verificações necessárias. O registro deixa claro o que terminou e o que ainda está pendente.

Interprete mensagens de console com seu resultado#

Mensagens coloridas de início não têm o mesmo significado. Uma verificação de armas/inventário aguardando inventário compatível não é detecção contra jogador; examine provedor e core. GetSelectedPedWeapon ausente indica que aquele módulo não tem o native necessário, não que todos estejam desligados. A saída Integration com enforce e trusted descreve a política de quem chama, mas não comprova um fluxo de jogo correto. Comece pelo texto completo, não apenas pela cor.

Connected da ponte confirma comunicação de saúde; uma consulta de personagem deve terminar separadamente. Waiting: oxmysql_unavailable aponta para dependências; Panel unavailable or not authorized exige investigar conexão ou autorização. Esta última mensagem não prova, sozinha, licença inválida. A ponte vem ativada por padrão; enabled=false no comando de estado só é esperado no modo manual sem tosun_db_bridge_enabled "1" ou com o espelho antigo do painel ativado. Se a conexão foi desligada no cartão Tosun Connect, o comando de estado continua mostrando enabled=true e o painel recusa as solicitações do servidor; o último estado do painel pode mostrar apenas Panel unavailable or not authorized. Ao ver essa mensagem, confira primeiro se o cartão Tosun Connect do servidor mostra a conexão ligada e depois verifique a licença e a rede. Guarde primeiro erro anterior, recurso, horário e ação atual juntos. Diferenciar aviso de início e punição de jogador facilita o diagnóstico.

Baixar para o servidor correto#

Entre no painel e selecione o mesmo servidor em Servidores e Downloads. É necessário um direito de download pago e permissão para gerenciar o servidor. O bilhete é vinculado à sessão, usuário e servidor, dura 90 segundos e só pode ser usado uma vez.

Se expirar ou for consumido, obtenha outro bilhete no painel. Salve primeiro o ZIP: baixar não atualiza o recurso em execução automaticamente. Licenças em URL, Bearer ou X-License-Key não autorizam download. Não guarde bilhetes nem cookies em scripts de instalação.

Guardar credenciais somente no servidor#

Use set em server.cfg ou a tabela credentials de configs/anticheat_server.lua. Um convar não vazio tem prioridade sobre o arquivo; o valor compartilhado antigo é apenas compatibilidade temporária de migração no servidor. Não use setr ou sets para segredos.

Deixe ts.webPanelKey, ts.Central.token e ts.licenseLock.licenseKey vazios na configuração compartilhada. panelKey, centralToken e licenseKey são editáveis no arquivo do servidor. Deixe conexões não utilizadas vazias. Renove chaves expostas no painel correspondente: apagar um valor local não o revoga.

set tosun_ac_license "YOUR_SERVER_LICENSE"
set tosun_ac_panel_key "YOUR_PANEL_API_KEY"
# Optional: only configure a central connection you use.
set tosun_ac_central_token "YOUR_FIVEM_CENTRAL_TOKEN"
ensure oxmysql
ensure tosun_render
ensure tosun-ac
ensure tosun-ac-guardian

Diagnosticar início e pausas do Guardian#

Na console do servidor txAdmin, execute tosunac_doctor e depois tosunac_guardian_status. ready indica recurso iniciado; waiting_dependency uma dependência; transition início/parada em andamento; held uma pausa temporária deliberada. Isso não confirma testes do jogo ou do esquema SQL.

Inicie oxmysql e tosun_render antes de tosun-ac, depois tosun-ac-guardian. Corrija a licença/versão antes de resume. pause é exclusivo da console e dura no máximo 30 minutos. Tentativas malsucedidas são limitadas e espaçadas.

# txAdmin server console:
tosunac_doctor
tosunac_guardian_status

# Pause only during planned maintenance; repair the reported cause first:
tosunac_guardian_pause 300
tosunac_guardian_resume

Verifique descoberta após as dependências#

EventScanner inicia após 30 segundos e a cada hora; tosunac_eventscan executa manualmente na console servidor. tosunac_setup é manutenção separada: scans completos de backdoor/assinatura e impressão fresca idêntica antes de aprovar recursos limpos elegíveis e iniciados. Não certifica ausência de backdoor. Use instalação revisada e backup. Descobrir eventos não cria validação de permissão, altera handlers ou autoriza jogadores.

# txAdmin server console: event discovery only
tosunac_eventscan

O que a cache de scan realmente evita#

Conteúdo e política inalterados reutilizam a análise, mas as impressões de conteúdo ainda são verificadas: não significa zero leitura de disco. Mudança exige nova análise. Backdoors: início25segundos, cada30minutos; recursos:20segundos, cada90segundos; eventos:30segundos, cada hora. signatureScanFirstRun verifica no início mesmo com marcador antigo. Scan parcial, ilegível, glob não suportado ou só escrow não é resultado limpo completo nem permite baseline automática.

-- Edit the existing configs/anticheat_config.lua tables.
ts.EnforceExportCallerWhitelist = true
ts.EventScanner.autoProtect = false
-- 0 disables only the periodic event scan, not initial/manual discovery.
-- ts.EventScanner.scanIntervalMs = 0

Aceite a integração com jogador comum#

Teste sem staff/whitelist: personagem, aparência, revive, entrada validada em casa, garagem e uma recompensa. Depois cancelamento, desconexão, reinício AC e rejeição sem autorização. Separe retorno export e recibo da aplicação. A margem legítima de câmera/movimento não desativa armas/eventos. Ações sensíveis usam exports servidor confiáveis; margem local não pausa todos os detectores diretamente assinados. Registre versão, recurso, esperado/observado sem chaves ou senhas.

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"

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

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.