Registro de acerto sem compensação de lag Server-now hit validation
ID da causa sy-no-lagcomp · Responsável principal Desenvolvimento do servidor (Equipe de desenvolvimento) · Também envolvidos Desenvolvimento do cliente (Equipe de desenvolvimento)
Se o servidor decide o acerto só pela “posição atual no servidor”, a decisão diverge do que você viu na tela.
Por quê O adversário na sua tela está na posição de cerca de 0,2 s atrás (com ping de 150 ms e interpolação de 100 ms) → Efeito O servidor decide pela posição atual, e o alvo já não está onde você mirou → Na tela Você acertou, mas conta como erro. É preciso atirar à frente de alvos em movimento
Responsável principal Desenvolvimento do servidor (Equipe de desenvolvimento) · Também envolvidos Desenvolvimento do cliente (Equipe de desenvolvimento)
O que fazer (Equipe de desenvolvimento)
Servidor: voltar no tempo até o momento que o atacante via e decidir ali (compensação de lag), ou mudar para seleção de alvo (tab target). Cliente: ao atacar, enviar junto o momento que estava vendo (o horário do servidor em interpolação).
No gráfico
Alto só em alguns · Taxa de acerto em alvos em movimento (por faixa de ping)
Onde olhar
Registrar juntos no log de decisões do servidor o horário do ataque, a posição do alvo na tela do atacante (valor enviado pelo cliente), a posição do alvo no servidor usada na decisão e o RTT do atacante. Em build de desenvolvimento, desenhar sobre a tela do cliente a posição usada pelo servidor deixa isso visível na hora
Confirma se
Nas decisões de erro, a diferença entre as duas posições é aproximadamente velocidade do alvo × (RTT do atacante + tempo de interpolação), e quanto maior o ping, mais cai só a taxa de acerto em alvos em movimento
Descarta se
Erra até alvos parados: problema na hitbox ou na checagem de colisão. Diverge mesmo com volta no tempo: verificar se o cliente informa errado ao servidor o tempo de interpolação
Como verificar
Exige logs e métricas do servidor ou do cliente do jogo
Peeking into VALORANT's NetcodeRiot Games O servidor volta ao estado do jogo que o jogador via no momento do tiro para decidir o acerto, e o cliente envia junto o horário da simulação que estava vendo