Counter-Strike 1.6 Screen Shaking When Firing: Fix Guide
Last updated: May 4, 2026
Screen shaking when firing in Counter-Strike 1.6 has two distinct causes – intentional engine animations (viewmodel bob, recoil camera kick) and unintentional causes (server lag, corrupted config). This guide covers both. If your installation is corrupted, download Counter-Strike 1.6 before applying fixes.
What Causes Screen Shaking When Firing in Counter-Strike 1.6
There are two separate types of screen shake in CS 1.6:
| Type | Cause | Fix |
|---|---|---|
| Viewmodel bob | Engine animates the weapon and camera when moving and firing – controlled by cl_bob and cl_bobcycle |
Set bob commands to 0 |
| Camera recoil kick | Each shot pushes the camera upward – this is the actual recoil animation separate from crosshair spread | Set v_recoil to 0 |
| Server lag / packet loss | High ping or packet loss causes the game to interpolate player position erratically – looks like screen shaking or rubber-banding | Fix network rates or join lower ping server |
| Corrupted config | A malicious server or bad script set bob or recoil values to extreme numbers | Reset config values manually |
Disable Viewmodel Bob in Counter-Strike 1.6
Viewmodel bob is the weapon and camera sway animation that activates when moving. By default it is noticeable and many competitive players disable it entirely. Open the console (~) and type:
cl_bob 0
cl_bobcycle 0
cl_bobup 0
What each command does:
| Command | Default | Effect at 0 |
|---|---|---|
cl_bob |
0.01 | Removes vertical weapon sway when moving |
cl_bobcycle |
0.8 | Removes the cycling rhythm of weapon bob |
cl_bobup |
0.5 | Removes upward weapon bounce on each step |
Setting all three to 0 completely removes the viewmodel bob animation. The weapon stays visually fixed on screen while you move and fire. This is the standard competitive setup in CS 1.6.
Reduce Camera Recoil Shake in CS 1.6
Separate from viewmodel bob, each shot in CS 1.6 applies a camera kick – the view physically moves upward and sideways during recoil. This is controlled by v_recoil:
v_recoil 0
With v_recoil 0 the camera no longer physically moves when firing. The crosshair still moves according to weapon recoil patterns – you still need to control spray manually – but the view itself stays stationary. This makes screen shake during sustained fire disappear entirely.
Also disable dynamic crosshair to remove the visual expansion during fire:
cl_dynamiccrosshair 0
With a static crosshair and v_recoil 0, firing looks and feels significantly more controlled.
Screen Shake Caused by Server Lag
If the screen shaking happens specifically when other players are nearby or during heavy combat – and not when standing still – the cause is server lag or incorrect network rates, not the bob/recoil settings.
Check your ping with net_graph 3 in console. If choke or loss values are above 0, you have packet loss that causes erratic interpolation.
Set correct network rates:
rate 100000
cl_updaterate 101
cl_cmdrate 101
ex_interp 0.01
If your ping to the server is consistently above 80ms, use lower values:
rate 25000
cl_updaterate 60
cl_cmdrate 60
ex_interp 0.02
For a complete network lag fix guide, see CS 1.6 lag fix.
Save Screen Shake Fix Settings Permanently
Servers can reset cl_bob and related values when you join. To make the fix permanent, add all commands to userconfig.cfg in your cstrike folder:
cl_bob "0"
cl_bobcycle "0"
cl_bobup "0"
v_recoil "0"
cl_dynamiccrosshair "0"
Then add exec userconfig.cfg to the last line of config.cfg. For full instructions, see how to save Counter-Strike 1.6 settings permanently.
Quick Reference
| Problem | Command | Value |
|---|---|---|
| Weapon sways when moving | cl_bob, cl_bobcycle, cl_bobup |
0 |
| Camera kicks on each shot | v_recoil |
0 |
| Crosshair expands during spray | cl_dynamiccrosshair |
0 |
| Screen shakes near other players | rate, cl_updaterate, cl_cmdrate |
See network section |
| Settings reset after server join | Add to userconfig.cfg | exec userconfig.cfg in config.cfg |
To download the original game files plus you can visit our main project page, feel free to use our links. To get the most out of your game.
