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

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

Bug de sesiones identificadas por IP o dispositivo Session keyed by IP or machine ID

ID de la causa pt-session-key · Responsable principal Desarrollo de servidor (Equipo de desarrollo) · También Desarrollo de cliente (Equipo de desarrollo)

Abrir la ficha interactiva con gráficos y simulaciones →

Si el servidor o un servidor intermedio distingue las conexiones por IP o por ID de dispositivo, toma los dos clientes de la misma computadora (la misma IP pública) por una sola persona.

Por qué La tabla de sesiones se indexa por IP o por IP + ID de dispositivo → Efecto Los datos del segundo cliente sobrescriben la primera sesión o se mezclan con ella → En pantalla Uno no ve los NPC y el otro se desconecta o recibe datos ajenos

Síntomas
Entidades invisibles / fantasma, Desconexión
Factores
Pérdida de paquetes
A quién afecta
Solo un cliente en tu PC, Misma casa, Una región o un ISP
Cuándo
Al conectar o tras un mantenimiento
Responsable
Responsable principal Desarrollo de servidor (Equipo de desarrollo) · También Desarrollo de cliente (Equipo de desarrollo)
Tareas (Equipo de desarrollo)
Servidor: hacer que tanto el servidor como los servidores intermedios distingan cada conexión con un token de sesión único; corregirlo sin falta, porque también lo sufren varias personas de una misma casa (detrás del NAT del router) y los usuarios de redes móviles en las que el ISP reparte una IP entre muchos abonados (CGNAT). Cliente: usar un token de sesión propio para cada cliente abierto.
En el gráfico
Alto solo en algunos · Sesiones simultáneas desde la misma IP pública, sesiones sobrescritas
Dónde mirar
Registrar en los logs del servidor y de los servidores intermedios la clave usada para buscar la sesión, el token de sesión y la IP y el puerto del cliente, y ver si la sesión existente cambió en el momento en que entró una segunda conexión desde la misma IP. Se reproduce abriendo dos clientes uno tras otro en la misma computadora
Se confirma si
En el momento en que se conecta el segundo cliente cambian la dirección o los datos del personaje de la primera sesión, y otros jugadores detrás del mismo router o de la misma red móvil (CGNAT) sufren las mismas desconexiones
Se descarta si
Si las dos sesiones de la misma IP se mantienen por separado con tokens distintos, no es esta causa. Si los dos procesos usan el mismo puerto local, apunta a “Colisión de puertos UDP fijos”
Se verifica con
Requiere logs y métricas del servidor o el cliente del juego

Fuentes

  1. RFC 6269: Issues with IP Address Sharing IETF
    Cuando varios abonados comparten una dirección IPv4 mediante NAT o CGN, no se puede distinguir a los usuarios solo por la IP

Ver también

Misma capa: Problemas que solo afectan a algunos

Causas de otras capas con el mismo síntoma (Entidades invisibles / fantasma)

Ver la ficha interactiva con gráficos y simulaciones