Insert the following commands into your console or autoexec.cfg:
Bad Internet (1-30 Mbps)
Good Internet (30-100+ Mbps)
The following was taken from this guide.
Bad Internet (1-30 Mbps)
cl_cmdrate 66 - (Number of command packets sent to the server per second.)
cl_interp 0 - (Interpolate x seconds from game (0.02 = 20ms))
cl_interp_ratio 2 - (Sets the interpolation amount (final amount is cl_interp_ratio / cl_updaterate))
cl_lagcompensation 1 - (Perform server side lag compensation of weapon firing events.)
cl_pred_optimize 2 - (Optimize for not copying data if didn't receive a network update (1), and also for not repredicting if there were no errors (2))
cl_smooth 0 - (If set to 1 attempts to smooth the view after prediction errors.)
cl_smoothtime 0.01 - (Time over which to smooth the view after prediction errors if cl_smooth is enabled.)
cl_updaterate 40 - (Number of packets per second you are requesting from the server.)
rate 60000 - (Max bytes/sec the host can receive data.
Good Internet (30-100+ Mbps)
cl_cmdrate 66 - (Number of command packets sent to the server per second.)
cl_interp 0- (Interpolate x seconds from game (0.02 = 20ms))
cl_interp_ratio 1 - (Sets the interpolation amount (final amount is cl_interp_ratio / cl_updaterate))
cl_lagcompensation 1 - (Perform server side lag compensation of weapon firing events)
cl_pred_optimize 2 - (Optimise for not copying data if didn't receive a network update (1), and also for not repredicting if there were no errors (2))
cl_smooth 0 - (If set to 1 attempts to smooth the view after prediction errors.)
cl_smoothtime 0.01 - (Time over which to smooth the view after prediction errors if cl_smooth is enabled.)
cl_updaterate 66 - (Number of packets per second you are requesting from the server.)
rate 60000 - (Max bytes/sec the host can receive data.)
The following was taken from this guide.