Avalancha de spawns al entrar en una zona concurrida Spawn burst when entering a crowd
ID de la causa sp-spawn-burst · Responsable principal Desarrollo de servidor (Equipo de desarrollo) · También Desarrollo de cliente (Equipo de desarrollo)
Al teletransportarse a un pueblo lleno de gente, el servidor tiene que enviar de golpe la apariencia, el equipamiento y el estado de los cientos de jugadores que ahora son visibles.
Por qué El jugador aparece de repente en un lugar concurrido al teletransportarse, al conectarse o al cambiar de canal → Efecto Se genera y se envía de una vez la información completa de cientos de jugadores, y tu PC también la carga de una vez → En pantalla Una pausa breve justo al llegar; los personajes aparecen tarde, uno a uno, y los inputs responden tarde
Al moverse o cambiar de zona, 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: enviar por orden de cercanía y en varios ticks, cachear la información de apariencia. Cliente: recibir los datos por adelantado durante la pantalla de carga, crear los personajes recibidos repartidos en varios frames.
Cifras de referencia
Si la información de apariencia, equipamiento y buffs de un jugador ocupa 300 bytes, 500 jugadores son unos 150 KB. De golpe llega decenas de veces lo que se envía normalmente en un tick (unos pocos KB).
En el gráfico
Avalancha tras la apertura · Bytes enviados por conexión, tiempo de frame del cliente
Dónde mirar
Bytes y paquetes enviados a esa conexión durante los primeros segundos tras llegar a un lugar concurrido (logs del servidor) y tiempo de frame del cliente (net graph, logs del cliente)
Se confirma si
Justo al llegar, lo enviado a esa conexión se dispara a decenas de veces lo normal de un tick y luego baja, y en el mismo momento hay un pico en el tiempo de frame del cliente
Se descarta si
Si se detiene igual al moverse a un lugar poco concurrido, apunta a “Cambio de zona (traspaso entre servidores)” o a la carga en el cliente
Se verifica con
Requiere logs y métricas del servidor o el cliente del juego
Fuentes
Detailed Actor Replication Flow in Unreal EngineEpic Games Al abrir por primera vez el canal de un actor se envía también información como la posición y la rotación iniciales, y si la conexión se satura, los actores restantes se aplazan al siguiente tick
Actor Priority in Unreal EngineEpic Games Se asigna prioridad según la distancia y la dirección de la mirada, y se envían primero los actores cercanos y visibles