Janela de tempo curta consumida pelo ping Timing window too short for latency + reaction
ID da causa sy-short-window · Responsável principal Desenvolvimento do servidor (Equipe de desenvolvimento) · Também envolvidos Desenvolvimento do cliente (Equipe de desenvolvimento), Infraestrutura de servidores (Equipe de infraestrutura)
Quando o tempo para reagir é curto, como em esquiva, parry ou defesa, o ping consome esse tempo e surgem ataques impossíveis de evitar.
Por quê Janelas de tempo curtas, como um aviso de ataque do boss de 0,5 s ou uma janela de parry de 0,2 s → Efeito Você vê o aviso tarde (latência servidor → cliente + interpolação), e seu input também chega tarde (latência cliente → servidor + espera do tick) → Na tela Você desviou, mas levou o golpe; o parry não saiu
Responsável principal Desenvolvimento do servidor (Equipe de desenvolvimento) · Também envolvidos Desenvolvimento do cliente (Equipe de desenvolvimento), Infraestrutura de servidores (Equipe de infraestrutura)
O que fazer (Equipe de desenvolvimento)
Servidor: agendar o aviso de ataque pelo horário do servidor e enviá-lo antes, alongar a janela de tempo na medida do ping (compensação de lag). Cliente: reproduzir o aviso recebido no horário agendado, pelo relógio do servidor.
O que fazer (Equipe de infraestrutura)
Instalar servidores perto das regiões com mais jogadores (servidores regionais) para reduzir o próprio ping.
Números de referência
Com ping de 150 ms e interpolação de 100 ms, o aviso leva cerca de 0,18 s para aparecer na sua tela e seu input leva cerca de 0,1 s para chegar ao servidor. Somando a reação humana de 0,25 s, um aviso de 0,5 s fica quase impossível.
No gráfico
Alto só em alguns · Taxa de falha de esquiva e parry (por faixa de ping)
Onde olhar
Registrar no log do servidor o início e o fim da janela de tempo, o horário de chegada do input do jogador ao servidor e o RTT dele, e separar a taxa de falha por faixa de ping (ex.: de 50 em 50 ms)
Confirma se
Quanto maior a faixa de ping, claramente maior a taxa de falha, e os inputs que falharam chegam um pouco depois do fim da janela (dentro de RTT + tempo de interpolação)
Descarta se
Taxa de falha parecida em todas as faixas de ping: problema de dificuldade do padrão de ataque. Input que chegou dentro da janela e ainda assim conta como falha: verificar o código de decisão ou a validação do servidor
Como verificar
Exige logs e métricas do servidor ou do cliente do jogo