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

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

Falsos positivos da validação concentrados em uma operadora Anti-cheat / movement validation false positives on bad ISPs

ID da causa pt-isp-validation · Responsável principal Desenvolvimento do servidor (Equipe de desenvolvimento) · Também envolvidos Infraestrutura de rede (Equipe de infraestrutura)

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

Quem usa conexão com jitter alto tem os inputs chegando agrupados e cai com frequência nas checagens de velocidade e cooldown do servidor.

Por quê O jitter de uma operadora ou região aumenta à noite → Efeito O servidor considera inputs normais que chegaram juntos como excesso de velocidade ou violação de cooldown → Na tela Só os assinantes dessa operadora têm rubber banding, skills rejeitadas e, nos casos graves, desconexão porque o servidor os expulsa

Sintomas
Rubber banding, Ação perdida / rollback, Desconexão
Fatores
Jitter
Quem é afetado
Região ou operadora específica, Só eu
Quando
Horário de pico à noite, Em movimento ou ao trocar de mapa
Responsável
Responsável principal Desenvolvimento do servidor (Equipe de desenvolvimento) · Também envolvidos Infraestrutura de rede (Equipe de infraestrutura)
O que fazer (Equipe de desenvolvimento)
Checar com tolerância acumulada ao longo de alguns segundos, afrouxar o critério considerando a qualidade da conexão (ping, jitter), ter um estágio de aviso antes do encerramento forçado, usar um buffer de input por jogador para distribuir por igual, a cada tick, os inputs que chegaram juntos e reduzir os próprios falsos positivos.
O que fazer (Equipe de infraestrutura)
Verificar por faixa de horário a distribuição de perda e jitter por operadora e compartilhar com a equipe de desenvolvimento, verificar a rota no trecho dessa operadora (mtr nos dois sentidos) e, se preciso, mudar a rota ou acionar a operadora.
No gráfico
Alto só em certos horários · Rejeições na validação e encerramentos forçados por operadora (ASN), jitter por operadora
Onde olhar
Anexar a operadora (ASN) do IP de conexão e o horário aos logs de rejeição, correção e encerramento forçado do servidor e contar por operadora e faixa de horário. A equipe de infraestrutura roda, no mesmo horário, mtr nos dois sentidos em direção a essa operadora para ver jitter e perda
Confirma se
Rejeições e encerramentos forçados se concentram em uma operadora e aumentam à noite, o jitter dessa operadora sobe no mesmo horário, e o deslocamento somado em janelas de alguns segundos fica dentro da regra
Descarta se
Repete só em certas contas, seja qual for a operadora: possível cheat real. Aumenta em todas as operadoras juntas: causa no servidor, com o tick atrasado aplicando os comandos agrupados (estouro do tick)
Como verificar
Exige logs e métricas do servidor ou do cliente do jogo

Fontes

  1. Source SDK 2013: player.cpp Valve
    Comentário de desenvolvimento: o orçamento de comandos acumulado a cada tick barra o excesso de velocidade, mas limites mais rígidos geram engasgos até para jogadores normais
  2. RFC 2697: A Single Rate Three Color Marker IETF
    Token bucket: decide pela taxa média e pelo tamanho de burst permitido
  3. Understanding Networked Movement in the Character Movement Component for Unreal Engine Epic Games
    Com grande diferença entre os timestamps do cliente e do servidor, descarta o movimento ou trata com um procedimento de resolução da diferença de tempo; calcula pelo horário do servidor para impedir speed hack

Veja também

Mesma camada: Problemas que só afetam alguns

Mesmo sintoma (Rubber banding) em outras camadas

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