Guia do Lag em Jogos › Buscar por sintoma
Rubber banding: 14 causas e quem resolve
Também chamado de: puxado para trás, efeito elástico, rollback de posição
Abrir no catálogo de sintomas ilustrado →
Seu personagem avança e é puxado de volta para o ponto por onde acabou de passar.
Você está correndo e, de repente, volta 1–5 m. Às vezes anda o mesmo trecho duas ou três vezes.
Sua tela (a predição) e a decisão do servidor divergiram. Seu comando não chegou ao servidor (perda), a validação de movimento do servidor o cortou, ou os dois lados calculam o movimento de forma diferente.
Causas deste sintoma
L1 Processo do jogo no cliente
- Divergência na predição do cliente: Seu cliente mostra o movimento antes da confirmação; se o servidor calcular de outro jeito, seu personagem é puxado. (Desenvolvimento do cliente (Equipe de desenvolvimento))
L3 Rede doméstica
L4 Conexão de internet
- Congestionamento no peering em horário de pico: Mais ou menos entre 9 e 11 da noite, o tráfego de vídeo dispara e os links entre operadoras (peering) tendem a congestionar. (Infraestrutura de rede (Equipe de infraestrutura))
- Um caminho ECMP com defeito: Operadoras e data centers mantêm vários caminhos para o mesmo destino e mandam cada conexão por um deles. Se só um caminho falha, só quem caiu nesse caminho continua com lag. (Infraestrutura de rede (Equipe de infraestrutura))
L5 Equipamentos de rede do data center
- Cabo com defeito ou erros na porta: Com transceptor óptico ou cabo com defeito, uma proporção constante dos pacotes que passam por aquele caminho chega corrompida. (Infraestrutura de rede (Equipe de infraestrutura))
L6 Placa de rede do servidor
L13 Arquitetura e operação de servidores
- Troca de mapa (transferência entre servidores): Ao entrar em outro mapa ou dungeon, os dados do personagem passam para outro servidor, e esse processo gera atrasos e falhas. (Desenvolvimento do servidor (Equipe de desenvolvimento))
- Erro de matchmaking ou de atribuição de região: Quando o jogador é mandado para um servidor de uma região distante, mesmo havendo uma região próxima, só o ping dele fica sempre alto, ainda que a conexão esteja boa. (Desenvolvimento do servidor (Equipe de desenvolvimento))
Design de sincronização
- Validação rígida demais no servidor: Se o servidor checa com rigidez demais a velocidade de movimento, o cooldown e o alcance, rejeita até inputs normais que chegaram juntos por causa do jitter. (Desenvolvimento do servidor (Equipe de desenvolvimento))
- Servidor rejeita o que o feedback no cliente já mostrou: Se o servidor não reconhece depois um golpe ou uma skill que sua tela já mostrou, o resultado que você viu claramente deixa de ter acontecido. (Desenvolvimento do cliente (Equipe de desenvolvimento))
- Divergência no cálculo de caminho na sincronização de comandos: Se cliente e servidor trocam só “vá para cá” e cada lado calcula o caminho por conta própria, basta uma pequena diferença no cálculo para um personagem ou monstro seguir outro caminho e depois ser puxado de volta para o lugar certo. (Desenvolvimento do servidor (Equipe de desenvolvimento))
Problemas que só afetam alguns
Causas-raiz da retransmissão TCP
Ver o catálogo de sintomas ilustrado