Bueno, como veo que la discusión del cl_nterpolate está por varios threads y no voy a explicar lo mismo una y otra vez cada vez que salga el tema, voy a intentar aclararlo aquí.
Primero empiezo por explicar que es la interpolación, como ya lo hice en otro post, solo pegaré lo que escribí en él:
Interpolación
Si un jugador que está delante de ti pasa por los puntos A, B, y C, hasta que el servidor no te diga: "Está en A, ahora en B, ahora en C", tú no le verás en esos puntos.
El servidor tiene la información de todo lo que está pasando, y sabe que el jugador ha pasado por los puntos A, B, y C, sin embargo, el servidor no informa a los clientes de lo que ocurre constantemente, si no que lo hace cada cierto tiempo (cada 50 ms si el servidor está configurado por defecto)
Como solo recibes información de lo que está pasando cada 50 ms, tienes la sensación de que el contrario se mueve a tirones. El interpolate simplemente rellena un movimiento apróximado de lo que está ocurriendo en esos 50ms que pasan hasta que recibes una nueva información del servidor, ni más ni menos.
Bien, de esa explicación, se deduce que quitar la interpolación (cl_interpolate 0), no es nada malo, ni te da ninguna ventaja. Entonces viene la gran pregunta, ¿por qué pasan cosas raras cuando la gente lo pone a 0? Pues eso también tiene su expliación.
Imaginemos que la interpolación está activa (cl_interpoalte 1). Como he explicado, la itnerpolación no es más que un movimiento de relleno, sin embargo ese movimiento no se obtiene al azar, si no que se basa en un cálculo que tiene en cuenta el valor de otra variable, cl_interp.
Para no liar el tema, no voy a entrar en detalles de como se hace el cálculo, solo diré que cl_interp está por defecto a 0.1, lo cual significa que los cálculos se basan en en valores de 100 ms.
Pues bien, el problema está, en que al desactivar la interpolación no se desactiva el cálculo de cl_interp, es algo que hay que hacer manualmente.
Si mantienes cl_interp con el valor de 100ms, lo que ocurre es que si disparas al jugador y no le das, si 100ms atrás estaba donde has disparado, el servidor cuenta que le has dado, por eso aciertas los tiros en madera de dust2.
Poner otros valores en cl_interp con el cl_interpolate a 0, provoca todo tipo de comportamientos extraños.
Por tanto, si queréis desactivar la interpolación, debéis poner el cl_interpolate a 0, y el cl_interp a 0, si no se desactiva cl_intep manualmente es entonces cuando aparecen las "cosas raras".