Pular para o conteúdo
RPScripts

Como corrigir avisos de travamento de thread do servidor

Por Luke

Avisos de problemas do servidor FiveM (correção)

Um aviso de travamento de thread do servidor significa que um frame do servidor demorou mais do que o esperado. Um aviso durante a inicialização é diferente de travamentos repetidos durante o jogo. Capture a carga de trabalho e identifique o atraso antes de substituir o hardware ou desabilitar recursos.

A configuração e os exemplos de código aqui são voltados ao FiveM para GTA V Legacy. O Enhanced tem regras diferentes de runtime e de compatibilidade; verifique as alterações de Legacy para Enhanced do Cfx.re antes de aplicá-las a um servidor Enhanced.

Determine quando o travamento acontece

Registre o aviso, seu carimbo de data/hora, contagem de jogadores e a ação que está ocorrendo. Anote as alterações recentes de recursos ou configuração. Compare a inicialização, um servidor ocioso e a ação de jogo que aciona o problema. Verifique a CPU do host, a pressão da memória e a atividade do disco ao mesmo tempo.

Capture a carga de trabalho do servidor

Execute esses comandos no console do FXServer ou no console do servidor no txAdmin. O número é frames, não milissegundos.

profiler record 500
profiler status

Aguarde até que a gravação seja concluída e, em seguida, inspecione-a:

profiler view

Para uma captura de servidor, copie o link do visualizador para o seu navegador. Mantenha a gravação focada no problema. Procure por código de recurso de longa execução em torno dos frames lentos; também investigue a contenção do host ou o trabalho de bloqueio quando o aviso não tiver um pico de script correspondente.

Faça uma alteração baseada em evidências

Se a captura apontar para um recurso, inspecione o loop, o manipulador de eventos ou o acesso a dados relevantes. O trabalho repetido pode pertencer a um evento ou a uma atualização menos frequente; consultas custosas exigem uma investigação específica da consulta. Não aumente cegamente as esperas no código de controle de jogo executado a cada frame.

Desative um recurso opcional de suspeito apenas em uma cópia de teste e verifique suas dependências primeiro. Atualize os artefatos usando o procedimento de atualização de tempo de execução documentado; um genérico git pull não atualiza todas as instalações do FXServer.

Verifique o resultado

Repita a mesma ação sob uma carga de trabalho comparável e capture outro perfil. Verifique a frequência e a duração dos travamentos juntamente com a experiência do jogador. Reverta a alteração se ela quebrar a jogabilidade ou não resolver a causa medida. Um problema de FPS do cliente ou um atraso de rede precisa de sua própria investigação.

Referência

Guia do profiler da Cfx.re

Seleção premium para o seu servidor

  • elevador de carro
    • ESX
    • QBCore
    • vRP
    US$ 4,99€ 4,99£ 3,99AU$ 7,99R$ 25,99CHF 4,99JP¥ 790
  • Pré-visualização do recurso KS Loadingscreen FiveM
      US$ 13,99€ 12,99£ 10,99AU$ 20,99R$ 71,99CHF 11,99JP¥ 2.220
    • Polícia de Origen
      • QBCore
      US$ 23,00€ 20,99£ 17,99AU$ 33,99R$ 116,99CHF 18,99JP¥ 3.640
    • Mirror Park Hood
        US$ 8,00€ 7,99£ 6,99AU$ 11,99R$ 40,99CHF 6,99JP¥ 1.270
      • Polícia de Origen
        • ESX
        US$ 23,00€ 20,99£ 17,99AU$ 33,99R$ 116,99CHF 18,99JP¥ 3.640
      Ver a loja