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

Guia do Lag em Jogos › Problemas que só afetam alguns

Autoridade do monstro em um cliente com lag Monster movement delegated to a player client

ID da causa pt-mob-control · Responsável principal Desenvolvimento do servidor (Equipe de desenvolvimento)

Abrir o card interativo, com figuras e simulações →

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

Sintomas
Teleporte, Engasgos, Avanço rápido
Fatores
Jitter, Perda de pacotes
Quem é afetado
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

  1. 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
  2. Distributed authority topologies (Netcode for GameObjects 2.5) Unity
    Com a autoridade dividida entre clientes, não existe simulação única, e o jogo fica vulnerável a trapaça

Veja também

Mesma camada: Problemas que só afetam alguns

Mesmo sintoma (Teleporte) em outras camadas

Ver o card interativo, com figuras e simulações