Una advertencia de bloqueo de hilo del servidor significa que un fotograma del servidor tardó más de lo esperado. Una advertencia durante el inicio es diferente de los bloqueos repetidos durante el juego. Captura la carga de trabajo e identifica el retraso antes de reemplazar hardware o deshabilitar recursos.
Los ejemplos de configuración y código aquí están dirigidos a FiveM para GTA V Legacy. Enhanced tiene diferentes reglas de tiempo de ejecución y compatibilidad; consulta los cambios de Legacy a Enhanced de Cfx.re antes de aplicarlos a un servidor Enhanced.
Establece cuándo ocurre el bloqueo
Registra la advertencia, su marca de tiempo, el número de jugadores y la acción que se está llevando a cabo. Anota los cambios recientes de recursos o configuración. Compara el inicio, un servidor inactivo y la acción de juego que desencadena el problema. Verifica la CPU del host, la presión de la memoria y la actividad del disco al mismo tiempo.
Captura la carga de trabajo del servidor
Ejecuta estos comandos en la consola de FXServer o en la consola del servidor en txAdmin. El número es fotogramas, no milisegundos.
profiler record 500
profiler status
Espera a que la grabación se complete y luego revísala:
profiler view
Para una captura del servidor, copia el enlace del visor en tu navegador. Mantén la grabación enfocada en el problema. Busca código de recursos de larga duración alrededor de los fotogramas lentos; también investiga la contención del host o el trabajo de bloqueo cuando la advertencia no tenga un pico de script coincidente.
Realiza un cambio basado en la evidencia
Si la captura apunta a un recurso, inspecciona el bucle relevante, el controlador de eventos o el acceso a datos. El trabajo repetido puede pertenecer a un evento o a una actualización menos frecuente; las consultas costosas necesitan una investigación específica de la consulta. No aumentes ciegamente los tiempos de espera en el código de control del juego por fotograma.
Desactiva un recurso opcional sospechoso solo en una copia de prueba y comprueba antes sus dependencias. Actualiza los artefactos siguiendo el procedimiento documentado de actualización del runtime; un git pull no actualiza todas las instalaciones de FXServer.
Verifica el resultado
Repite la misma acción con una carga de trabajo comparable y captura otro perfil. Comprueba la frecuencia y la duración de los bloqueos junto con la experiencia del jugador. Revierte el cambio si rompe la jugabilidad o no aborda la causa medida. Un problema de FPS del cliente o un retraso de red requiere su propia investigación.
Necesito ayuda con este problema de sincronización del hilo. Todos mis scripts parecen estar optimizados y sigo recibiendo esta advertencia incluso en una nueva instalación de qb-core, lo que hace que los jugadores se desincronicen.