Mensagens de spawn descartadas durante o carregamento Spawn messages dropped before the client is ready
ID da causa pt-loading-drop · Responsável principal Desenvolvimento do cliente (Equipe de desenvolvimento) · Também envolvidos Desenvolvimento do servidor (Equipe de desenvolvimento)
Assim que o personagem entra na zona, o servidor envia as mensagens de spawn dos NPCs próximos, mas o cliente ainda está carregando o mapa e descarta essas mensagens.
Por quê O servidor envia as mensagens de spawn das entidades próximas logo após processar a entrada → Efeito O cliente está carregando, ainda não tem o handler de mensagens e descarta as mensagens → Na tela O servidor considera que já enviou e não envia de novo. O NPC fica invisível até sair do campo de visão e voltar
Logo após login ou manutenção, Em movimento ou ao trocar de mapa
Responsável
Responsável principal Desenvolvimento do cliente (Equipe de desenvolvimento) · Também envolvidos Desenvolvimento do servidor (Equipe de desenvolvimento)
O que fazer (Equipe de desenvolvimento)
Cliente: enviar “pronto” ao terminar o carregamento, ou guardar os pacotes recebidos durante o carregamento e processá-los depois. Servidor: enviar as informações do entorno só depois de receber o “pronto”.
Números de referência
Se dois clientes no mesmo PC carregam ao mesmo tempo, ou se o que está carregando é uma janela em segundo plano, eles dividem CPU e disco e o processamento é limitado, então o carregamento desse lado pode ficar várias vezes mais longo. O mesmo bug também aparece quando o servidor passa a processar a entrada mais rápido.
No gráfico
Alto só em alguns · Tempo de carregamento por cliente, mensagens descartadas durante o carregamento
Onde olhar
Comparar o número e o tipo de mensagens que o cliente recebeu e descartou durante o carregamento, e o horário em que o carregamento terminou, com o horário em que o servidor enviou as mensagens de spawn. Fica fácil reproduzir carregando dois clientes ao mesmo tempo no mesmo PC ou deixando o que carrega como janela em segundo plano
Confirma se
O servidor enviou a mensagem de spawn do NPC invisível, ela chegou antes do fim do carregamento, e o número de mensagens descartadas subiu nesse intervalo. Só acontece no cliente que demora mais para carregar
Descarta se
Mensagem de spawn chegou depois do fim do carregamento e mesmo assim o NPC está invisível: aponta para “Perda do snapshot de referência (baseline)” ou “Confusão por reutilização de ID de entidade”. Servidor nem enviou a mensagem desse NPC: aponta para “Condição de corrida no registro da área de interesse (AOI)” ou “Diferença de canal, instância ou phasing”
Como verificar
Exige logs e métricas do servidor ou do cliente do jogo
Actor Relevancy in Unreal EngineEpic Games Atores que deixam de ser relevantes são apagados no cliente e, quando voltam a ser relevantes, são replicados de novo