Los inputs de alguien con mala conexión llegan al servidor de forma irregular y a ráfagas. Si el servidor aplica en cada tick lo que haya recibido, los demás ven a ese personaje detenerse un instante y luego avanzar varios pasos de golpe.
Por qué Los comandos de movimiento del jugador con lag llegan 0 en un tick y 2–3 en otro → Efecto El servidor los aplica todos de una vez en el tick en que llegan, y la posición de ese personaje avanza en escalones → En pantalla En las pantallas de los demás, solo ese personaje se detiene un instante y luego avanza de golpe. El resto se ve bien
Responsable principal Desarrollo de servidor (Equipo de desarrollo) · También Externo (Externo)
Tareas (Equipo de desarrollo)
Repartir los comandos de forma pareja con un búfer de inputs por jugador, aplicarlos con su intervalo original según el número de secuencia del input; alargar solo el búfer de interpolación en las pantallas de los demás no basta (porque el propio historial de posiciones del servidor ya va a saltos).
Tareas (Externo)
Indicar al jugador con lag que use cable y revise el Wi-Fi y el router.
Cifras de referencia
Con 80 ms de jitter, en un servidor de 20 ticks (50 ms) el número de comandos por tick oscila entre 0 y 3.
En el gráfico
Alto solo en algunos · Comandos aplicados por tick por jugador, jitter por jugador
Dónde mirar
En una captura de paquetes del lado del servidor, filtrar solo los paquetes del jugador reportado, contar cuántos llegan en cada intervalo de tick (p. ej., 50 ms) y comparar con otros jugadores. Si hay logs del servidor, ver por jugador los comandos de movimiento aplicados en cada tick y los números de secuencia de input
Se confirma si
Solo los paquetes del jugador reportado llegan a ráfagas, alternando entre 0 y 2–3 por tick, con jitter y pérdida altos en ese jugador, mientras los paquetes de los demás llegan de forma pareja. Mejora si ese jugador se pasa a cable
Se descarta si
Si varios personajes se mueven a ráfagas a la vez, apunta al retraso del tick del servidor o a la conexión de quien mira. Si la llegada y la aplicación son parejas y aun así solo ese personaje parece saltar, es un problema de interpolación o de visualización en el lado de quien mira
Se verifica con
Con herramientas de infraestructura (no hace falta código del juego)
Para saber más
En una arquitectura con autoridad del servidor, esto es el comportamiento normal. El lag de una sola persona solo lo ven los demás como “esa persona se mueve raro”, y no afecta al control de los demás ni al movimiento de los monstruos. Pero lo que se hace directamente con esa persona (intercambios, mecánicas de grupo, resolución en PvP) también se retrasa.
Fuentes
Peeking into VALORANT's NetcodeRiot Games El servidor mete los inputs que llegan en la cola de movimiento de cada jugador por orden de tick y, si se vacía, la rellena con predicción. Las correcciones solo las ve ese jugador; el resto lo ve fluido
State SynchronizationGaffer On Games Incluso paquetes enviados 60 veces por segundo llegan agrupados: 2 en un frame y 0 en el siguiente
Source SDK 2013: player.cppValve Repartir entre los ticks del servidor los comandos que llegan juntos (meter out)