Guia do Lag em Jogos › Buscar por sintoma
Teleporte: 47 causas e quem resolve
Também chamado de: warp, teleportando, trava e pula
Abrir no catálogo de sintomas ilustrado →
O personagem vai de uma vez para uma posição distante, sem mostrar o trajeto.
O outro jogador está parado no lugar e, de repente, aparece já bem longe dali.
Em geral significa que os pacotes pararam de chegar por um tempo. Suspeite de perda de pacotes, quedas rápidas da conexão, paralisação do servidor e falha na extrapolação. Se só uma pessoa teleporta e o resto está normal, a primeira suspeita é a conexão dela.
Causas deste sintoma
L1 Processo do jogo no cliente
- Extrapolação excessiva (dead reckoning): Enquanto os pacotes não chegam, o cliente continua mostrando o personagem andando na última velocidade conhecida e, quando percebe o erro, puxa de volta. (Desenvolvimento do cliente (Equipe de desenvolvimento))
L2 SO e dispositivo do cliente
- Estouro do buffer de recepção: Se o jogo está ocupado e demora para tirar os pacotes do socket (a interface de envio e recepção de rede oferecida pelo SO), o buffer do SO estoura. (Desenvolvimento do cliente (Equipe de desenvolvimento))
- Varredura de Wi-Fi em segundo plano: Enquanto o SO troca de canal periodicamente para procurar redes Wi-Fi próximas, a comunicação para por um instante. (Externo (Externo))
L3 Rede doméstica
- Interferência e sinal fraco no Wi-Fi: Com sinal fraco ou interferência, o trecho sem fio precisa reenviar várias vezes, e a chegada dos pacotes fica irregular. (Externo (Externo))
- Bufferbloat (fila do roteador): Quando alguém da família sobe um vídeo ou baixa um arquivo grande, a fila do roteador acumula centenas de ms de pacotes, e os pacotes do jogo esperam atrás deles. (Externo (Externo))
- Handover entre antenas (em movimento): Ao se deslocar de ônibus ou metrô, a comunicação cai enquanto o celular troca de antena. (Externo (Externo))
- Sinal de celular fraco e áreas de sombra: Em elevadores, subsolos e no interior de prédios, as retransmissões aumentam, a velocidade cai e, no fim, a conexão cai. (Externo (Externo))
- Troca frequente 5G↔LTE (borda da cobertura 5G): Dentro de prédios com sinal 5G fraco ou na borda da cobertura 5G, o celular alterna com frequência entre 5G e LTE e, a cada troca, o ping dá um pico ou a comunicação cai por um instante. (Externo (Externo))
L4 Conexão de internet
- Internet via satélite (órbita baixa ou geoestacionária): Na internet via satélite, o sinal precisa ir ao espaço e voltar. Com satélites geoestacionários, só a ida e volta já passa de 0,5 segundo. Satélites de órbita baixa como o Starlink costumam ser rápidos, mas no momento em que a rota é redistribuída a latência oscila e a conexão pode cair por um instante. (Externo (Externo))
- 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))
- Falha em cabo submarino ou link internacional: Quando um cabo submarino se rompe, o tráfego faz desvios longos por semanas (às vezes meses) até o reparo, e os links que sobram ficam congestionados. (Externo (Externo))
- Mudança de rota e convergência do BGP: Quando as informações de roteamento da internet mudam, pacotes se perdem enquanto as rotas convergem de novo, o que leva de alguns segundos a dezenas de segundos (raramente alguns minutos). (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))
- Limitação de velocidade e gerenciamento de tráfego da operadora: Quando a franquia de dados acaba, ou em planos que gerenciam certos tipos de tráfego, os pacotes são atrasados ou descartados. (Externo (Externo))
- Restrição de UDP e inspeção de pacotes por país ou operadora: Algumas redes bloqueiam endereços e portas UDP específicos ou limitam a velocidade do UDP, e equipamentos de inspeção de pacotes filtram protocolos que não reconhecem. Jogos que se comunicam por UDP não conectam nessas redes ou caem com frequência. (Externo (Externo))
- Qualidade ruim da linha: Mau contato nos conectores, fiação velha ou defeito no modem causam perda de pacotes constante e quedas periódicas da conexão. (Externo (Externo))
- Links compartilhados saturados por DDoS: Ataques volumosos contra a empresa do jogo, ou contra outro alvo na mesma rede, lotam os links compartilhados. (Infraestrutura de rede (Equipe de infraestrutura))
- Tráfego via VPN ou redutor de ping: Com uma VPN ou um redutor de ping ligado, os pacotes passam pelos servidores intermediários (relays) dessa empresa. Se o relay estiver longe ou congestionado, a conexão pode até ficar mais lenta. (Externo (Externo))
L5 Equipamentos de rede do data center
- Desvio pela proteção contra DDoS e falsos positivos: Quando o tráfego é desviado para um centro de scrubbing para barrar ataques, a rota fica mais longa, e às vezes jogadores legítimos são tomados por atacantes e bloqueados. (Infraestrutura de rede (Equipe de infraestrutura))
- Microburst no switch: Quando vários servidores mandam pacotes para milhares de jogadores no mesmo instante, o buffer pequeno da porta do switch onde esse tráfego converge transborda em menos de 1 ms. (Desenvolvimento do servidor (Equipe de desenvolvimento))
- Saturação do link do data center: Quando distribuição de patches, envio de logs ou backups usam o mesmo link do jogo, o link lota. (Infraestrutura de rede (Equipe de infraestrutura))
- 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
- Interrupções da NIC concentradas em um só núcleo: Se a NIC manda todas as interrupções de chegada de pacote para um único núcleo de CPU, esse núcleo vira gargalo. (Infraestrutura de servidores (Equipe de infraestrutura))
- Ring buffer insuficiente: Se o ring buffer, onde a NIC guarda os pacotes por um instante, é pequeno, um pico repentino faz o buffer transbordar e os pacotes são descartados. (Infraestrutura de servidores (Equipe de infraestrutura))
- Limite de PPS da nuvem excedido: Cada tipo de instância na nuvem tem limites de pacotes por segundo e de largura de banda, e o excedente é descartado em silêncio. (Infraestrutura de servidores (Equipe de infraestrutura))
- Saturação da largura de banda da NIC: Usar uma placa de 1 Gbps ou 10 Gbps no limite faz a fila de transmissão crescer até os pacotes serem descartados. (Desenvolvimento do servidor (Equipe de desenvolvimento))
- Manutenção do host na nuvem e live migration: Quando o provedor de nuvem faz manutenção em um servidor físico (host), ele move as VMs para outro host (live migration) ou as pausa por um momento. Nesse tempo o servidor inteiro para, e se a pausa for longa as conexões caem. (Infraestrutura de servidores (Equipe de infraestrutura))
L7 SO do servidor (kernel)
- Buffer de socket do kernel insuficiente: Com buffers de envio e recepção pequenos, quando chega um burst de tráfego, os pacotes recebidos por UDP são descartados e o envio TCP fica bloqueado por falta de espaço no buffer. (Infraestrutura de servidores (Equipe de infraestrutura))
- Tabela do conntrack cheia no servidor: Quando a tabela de rastreamento de conexões (conntrack), em que o firewall do Linux registra todas as conexões, chega ao limite, os pacotes novos são descartados. (Infraestrutura de servidores (Equipe de infraestrutura))
L8 Sockets e protocolos
- Política para clientes lentos (slow consumer): Para um cliente cujos dados a enviar não param de acumular, o servidor descarta as atualizações antigas ou derruba a conexão. (Desenvolvimento do servidor (Equipe de desenvolvimento))
- Fragmentação IP de pacotes UDP: Um pacote UDP maior que o MTU (o tamanho máximo que dá para enviar de uma vez) é fragmentado na camada IP, e perder um só fragmento faz o pacote inteiro ser descartado. (Desenvolvimento do servidor (Equipe de desenvolvimento))
L9 Processo do jogo no servidor
- Explosão de broadcast: Se o movimento de cada jogador é enviado a todos que o veem, o número de atualizações a enviar cresce com o quadrado do número de jogadores reunidos. (Desenvolvimento do servidor (Equipe de desenvolvimento))
- Mudança no padrão de tráfego após um patch: Quando novos conteúdos, efeitos e campos sincronizados aumentam o tamanho e a frequência dos pacotes, um servidor que ia bem passa a bater nos limites de MTU, largura de banda e número de pacotes depois do patch. (Desenvolvimento do servidor (Equipe de desenvolvimento))
Design de sincronização
- Autoridade do cliente: Quando cada um decide o próprio resultado, sua tela fica fluida, mas os resultados divergem da tela dos outros e o jogo fica vulnerável a hacks. (Desenvolvimento do servidor (Equipe de desenvolvimento))
- Erro de predição no netcode de rollback: O jogo prevê o input do adversário e mostra o resultado antes; se errou, volta no tempo e recalcula. Quanto maior o ping, maior o trecho que precisa voltar. (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))
- Taxa de envio de snapshots baixa: Se o servidor manda as atualizações de posição (snapshots) só algumas vezes por segundo, o buffer de interpolação precisa ser mais longo na mesma medida, e você vê os outros personagens mais no passado. (Desenvolvimento do servidor (Equipe de desenvolvimento))
Problemas que só afetam alguns
- Jogador com lag em avanço rápido na tela dos outros: Para quem tem conexão ruim, os inputs chegam ao servidor irregulares e agrupados. Se o servidor aplica a cada tick o que recebeu, na tela dos outros esse personagem engasga e depois anda vários passos de uma vez. (Desenvolvimento do servidor (Equipe de desenvolvimento))
- Autoridade do monstro em um cliente com lag: 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. (Desenvolvimento do servidor (Equipe de desenvolvimento))
- Perda do snapshot de referência (baseline): No modelo em que o servidor só manda “o que mudou desde a última vez”, se a informação completa enviada uma vez no início (a referência) se perde, as mudanças seguintes não podem ser aplicadas. (Desenvolvimento do servidor (Equipe de desenvolvimento))
Causas-raiz da retransmissão TCP
- Perda no trecho sem fio: O Wi-Fi e a rede móvel tentam retransmitir algumas vezes no trecho sem fio e, se ainda assim não conseguem, descartam o pacote. O TCP só reenvia o pacote descartado bem mais tarde. (Externo (Externo))
- Estouro de buffers rasos por bursts de envio: Quando o servidor manda de uma vez, a cada tick, as atualizações de milhares de jogadores, o buffer pequeno do switch ou o limite instantâneo da nuvem estoura em menos de 1 ms, e parte dos pacotes é descartada. (Desenvolvimento do servidor (Equipe de desenvolvimento))
- Descarte do excedente pelo policer: Planos de operadora, limites de instâncias na nuvem e equipamentos de proteção contra DDoS podem descartar na hora, sem colocar na fila, os pacotes que passam da taxa definida. (Infraestrutura de rede (Equipe de infraestrutura))
- Erros físicos (cabo, transceptor óptico ou conector com defeito): Cabos danificados, conectores ópticos sujos e transceptores ópticos no fim da vida útil geram erros de bit, e os equipamentos descartam silenciosamente os pacotes corrompidos. (Infraestrutura de rede (Equipe de infraestrutura))
- Descarte de pacotes no servidor receptor: O pacote chega ao servidor, mas é descartado porque o ring buffer da NIC (o buffer que guarda por um momento os pacotes que chegam) estourou ou porque o núcleo que faz o processamento de recepção no kernel está saturado. (Infraestrutura de servidores (Equipe de infraestrutura))
- Sobrecarga de equipamento intermediário (firewall, IPS, proteção contra DDoS): Firewalls, sistemas de prevenção de intrusão (IPS) e equipamentos de proteção contra DDoS inspecionam um por um os pacotes que passam. Quando a carga passa da capacidade de inspeção, eles descartam os pacotes que não conseguem processar. (Infraestrutura de rede (Equipe de infraestrutura))
- Mudança de rota ou caminho ECMP com defeito: Pacotes somem durante os segundos em que a rota na internet muda, ou nas conexões que caíram em um caminho com defeito entre vários caminhos ECMP. (Infraestrutura de rede (Equipe de infraestrutura))
Ver o catálogo de sintomas ilustrado