Escaneos del módulo anti-cheat Anti-cheat scan and heartbeat
ID de la causa cg-anticheat · Responsable principal Desarrollo de cliente (Equipo de desarrollo) · También Desarrollo de servidor (Equipo de desarrollo)
El módulo de seguridad que se ejecuta junto al juego para impedir los hacks hace escaneos periódicos. Si el escaneo es pesado o si el heartbeat (señal periódica que confirma que el cliente sigue activo) que intercambia con el servidor de seguridad llega tarde, hay tirones o desconexiones.
Por qué El módulo de seguridad escanea periódicamente la memoria del juego, los programas en ejecución y los drivers → Efecto Durante el escaneo se detiene el hilo del juego, o el heartbeat no sale a tiempo → En pantalla Tirones a intervalos regulares y, en casos graves, desconexión con un aviso de error de seguridad
A intervalos regulares, Al conectar o tras un mantenimiento, De vez en cuando, al azar
Responsable
Responsable principal Desarrollo de cliente (Equipo de desarrollo) · También Desarrollo de servidor (Equipo de desarrollo)
Tareas (Equipo de desarrollo)
Cliente: ejecutar los escaneos pesados fuera del hilo del juego y en pequeñas porciones, comparar las estadísticas de tirones y desconexiones por versión del módulo de seguridad (si se concentran justo después de una actualización, comunicarlo al proveedor del módulo). Servidor: tolerar que el heartbeat llegue tarde una o dos veces.
Cifras de referencia
Un escaneo ligero suele tardar menos de 1 ms, pero un escaneo pesado que corre en el hilo del juego puede ocupar de una vez decenas o cientos de ms, según la implementación.
En el gráfico
Picos periódicos · Tiempo de frame, expulsiones por el anti-cheat
Dónde mirar
Medir el intervalo de los picos en el tiempo de frame de PresentMon y contabilizar, por versión del módulo de seguridad y configuración de hardware, los motivos de expulsión por anti-cheat que recibe el servidor (en EOS, AuthenticationFailed / Authentication Timed Out de ClientActionReason, etc.)
Se confirma si
Pausas breves a intervalos regulares que se repiten sin relación con lo que pasa en el juego; justo después de una actualización del módulo de seguridad aumentan, con ciertas configuraciones de hardware, los tirones y las expulsiones por timeout de autenticación
Se descarta si
Si el intervalo es el mismo en todas las configuraciones, sin relación con la versión del módulo de seguridad: “Recolección de basura (GC) en el cliente” o “Procesos en segundo plano que ocupan la CPU”
Se verifica con
Requiere logs y métricas del servidor o el cliente del juego
Para saber más
El módulo de seguridad se instala como driver en lo más profundo del SO, así que a veces choca con antivirus, overlays o módulos de seguridad de otros juegos. Si justo después de una actualización del módulo de seguridad se concentran reportes de tirones y desconexiones solo con ciertas configuraciones de hardware, es lo primero que hay que sospechar.
Fuentes
Using the Anti-Cheat InterfacesEpic Games Si el servidor no recibe los mensajes anti-cheat del cliente dentro del tiempo fijado (RegisterTimeout), lo expulsa por timeout de autenticación (una causa habitual es un cliente detenido por una carga); si el problema viene de una actualización reciente del módulo, se vuelve al módulo anterior