한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Libro blanco del lag en juegos › Problemas que solo afectan a algunos

Un cliente lento controla al monstruo Monster movement delegated to a player client

ID de la causa pt-mob-control · Responsable principal Desarrollo de servidor (Equipo de desarrollo)

Abrir la ficha interactiva con gráficos y simulaciones →

Para reducir la carga del servidor, algunos juegos delegan el cálculo del movimiento de un monstruo en el cliente de un jugador cercano. Si la conexión de ese jugador es mala, el monstruo se mueve raro en las pantallas de todos.

Por qué El servidor delega el cálculo del movimiento del monstruo en el cliente del jugador más cercano (o del primero en llegar) → Efecto Los resultados que reporta ese jugador llegan tarde o a ráfagas al servidor → En pantalla Solo ese monstruo se detiene un instante y luego se teletransporta en las pantallas de todos los que están cerca. En la pantalla del propio jugador encargado se ve bien

Síntomas
Teletransporte, Tirones, Cámara rápida
Factores
Jitter, Pérdida de paquetes
A quién afecta
Solo un personaje se ve raro, Una zona o un canal
Cuándo
Siempre, De vez en cuando, al azar
Responsable
Responsable principal Desarrollo de servidor (Equipo de desarrollo)
Tareas (Equipo de desarrollo)
Pasar el control a alguien con buena conexión (según ping y pérdida), hacer que el servidor lo recupere de inmediato si se cortan los reportes, y que el propio servidor calcule los monstruos importantes, como los jefes.
En el gráfico
Alto solo en algunos · Intervalo de reporte de posición por monstruo (por cliente con el control)
Dónde mirar
Registrar en el servidor, para cada monstruo, el cliente que tiene el control y su intervalo de reporte, RTT y pérdida. En una captura de paquetes del lado del servidor también se puede ver el intervalo de llegada de los paquetes de ese cliente
Se confirma si
El control de todos los monstruos que se mueven raro lo tiene la misma persona, sus intervalos de reporte son irregulares o se cortan, y al pasar el control a otro todo vuelve a la normalidad de inmediato
Se descarta si
Si los monstruos que calcula el propio servidor también saltan, apunta al retraso del tick del servidor o a la conexión de quien mira. Si siguen saltando después de pasar el control, apunta a “Discrepancias de pathfinding en la sincronización de comandos”
Se verifica con
Requiere logs y métricas del servidor o el cliente del juego
Para saber más
Como el encargado lo ve todo bien, los reportes solo llegan como “el monstruo se comporta raro”. Si todos menos una persona ven raro el mismo monstruo, lo primero es comprobar quién tiene el control de ese monstruo.

Fuentes

  1. Authority (Netcode for GameObjects 2.5) Unity
    En el modelo de autoridad distribuida, cada instancia del juego (cliente) asume la autoridad sobre algunas entidades de red y las calcula
  2. Distributed authority topologies (Netcode for GameObjects 2.5) Unity
    Si la autoridad se reparte entre los clientes, no hay una simulación única y el juego queda expuesto a las trampas

Ver también

Misma capa: Problemas que solo afectan a algunos

Causas de otras capas con el mismo síntoma (Teletransporte)

Ver la ficha interactiva con gráficos y simulaciones