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 suspeito somente em uma cópia de teste e confira primeiro suas dependências. Atualize os artifacts pelo procedimento documentado de atualização do ambiente de execução; um comando 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.
preciso de ajuda com esse problema de sincronização de thread, todos os meus scripts parecem estar otimizados e ainda recebo esse aviso, mesmo em uma nova instalação do qb-core, fazendo com que os jogadores dessincronizem