Alguns jogos, para reduzir a carga do servidor, entregam o cálculo do movimento dos monstros ao cliente de um jogador próximo. Se a conexão dessa pessoa é ruim, o monstro se move de um jeito estranho na tela de todos.
Por quê O servidor entrega o cálculo do movimento do monstro ao cliente do jogador mais próximo (ou do primeiro que chegou) → Efeito Os resultados reportados por esse jogador chegam ao servidor atrasados ou agrupados → Na tela Só esse monstro engasga e teleporta na tela de todos ao redor. Na tela de quem tem a autoridade, está normal
Só um personagem parece estranho, Local ou canal específico
Quando
Sempre, Aleatoriamente, de vez em quando
Responsável
Responsável principal Desenvolvimento do servidor (Equipe de desenvolvimento)
O que fazer (Equipe de desenvolvimento)
Passar a autoridade para quem tem conexão boa (por ping e perda), devolver a autoridade ao servidor na hora quando os reports pararem, calcular no próprio servidor os monstros importantes, como bosses.
No gráfico
Alto só em alguns · Intervalo dos reports de posição por monstro (por cliente com autoridade)
Onde olhar
Registrar no servidor, para cada monstro, o cliente com autoridade e o intervalo de reports, o RTT e a perda desse cliente. Também dá para ver o intervalo de chegada dos pacotes enviados por esse cliente em uma captura de pacotes no servidor
Confirma se
Todos os monstros com movimento estranho estão sob a autoridade da mesma pessoa, o intervalo de reports dela é irregular ou some, e passar a autoridade para outro jogador resolve na hora
Descarta se
Monstros calculados pelo próprio servidor também pulam: atraso no tick do servidor ou conexão de quem está vendo. Continua pulando depois de trocar a autoridade: “Divergência no cálculo de caminho na sincronização de comandos”
Como verificar
Exige logs e métricas do servidor ou do cliente do jogo
Saiba mais
Como quem tem a autoridade acha que está tudo normal, os reports chegam só como “o monstro está estranho”. Se todos, menos uma pessoa, veem o mesmo monstro estranho, verifique primeiro quem tem a autoridade sobre ele.
Fontes
Authority (Netcode for GameObjects 2.5)Unity No modelo de autoridade distribuída, cada instância do jogo (cliente) tem autoridade sobre parte das entidades de rede e as calcula