301 ratings
How to fix cs after updates! =)
By vel0 =DD
I made this guide because the updates made by Valve caused a lot of problems. Most of the problems that occured are fixable by the users themselves. This guide will cover all the new features of the updated CS 1.6 (íncluding some stuff for HL and CZ as well), along with explanations and fixes for the most common issues.
Rate  
Favorite
Favorited
Unfavorite
Table of contents
1. Introduction
2. New features, console commands and launch options.
2.1 Mouse
2.1.1 Rawinput
2.1.2 Mousethread
2.1.3 Mouse acceleration
2.1.4 Sensitivity
2.2 Graphics, Gui's and Performance
2.2.1 Nofbo, nomsaa and stretchaspect
2.2.2 Low video quality
2.2.3 D3D
2.2.4 Monitor refresh rate
2.2.4 Vsync
2.2.5 FPS
2.2.6 Minmodels
2.2.7 Performance
2.3 GUI's, allowing custom added content and HD models.
2.4 Netcode
2.5 Gameplay
2.5.1 Fastswitch
2.5.2 Filterstuffcmd
3. Most common issues
3.1 Content and installing issues
3.2 Beta issues
3.3 Most graphical issues
3.4 SDL2.DLL issue
3.5 WHITE SQUARES/ODD SPRITES/GREEN SQUARES
3.6 Screen flickering
3.7 Sound
3.8 Snapshot and Screenshot with -nofbo
3.9 Movement, aiming and FPS
4. Summary of new recommended new cvars and launch options:
5. Thanks
1. Introduction
They call me vel0 ;)
https://www.youtube.com/watch?v=Idb6AmDSRZI

My mates:
http://www.youtube.com/watch?v=9s4YHPjDPxU

Config: http://ge.tt/5tsGtaa/v/1 (includes a few very good tweaks like cl_nosmooth 1, and a moneyscript)

GUI: http://ge.tt/4X8tb5a/v/0
Snapshots are in the guide!

Guide: http://ge.tt/6IjIbTa/v/0?c

Gui+config+guide: http://ge.tt/3GLQKpa/v/0?c

I made this guide because the updates made by Valve caused a lot of problems. Most of the problems that occured are fixable by the users themselves. This guide will cover all the new features of the updated CS 1.6 (íncluding some stuff for HL and CZ as well), along with explanations and fixes for the most common issues. Please note that the new destinations for CS files are:

C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike
C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike_addon
C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike_downloads
C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike_hd

The CS changelog is available at: http://steamcommunity.com/games/10/announcements
The HL changelog is available at: http://steamcommunity.com/games/70/announcements

My original thread is available at: http://forums.steampowered.com/forums/showthread.php?t=3079106
2. New features, console commands and launch options.
2.1 Mouse
2.1.1 Rawinput
Rawinput is the same thing as directinput. This feature takes mouseinput straight from the mouse, bypassing Windows settings. This makes the computer use low latency - high quality mouse input, which is VERY much better than the old-style input. The cvar to use this is m_rawinput 1. If you wish to play with the old mouse input, use m_rawinput 0. The code for m_rawinput 1 has been confirmed to be the exact same as RInput.exe (v 1.31). I highly recommend that everyone uses m_rawinput 1. m_rawinput didn't work very well at one point, but was fixed with the March 6th public release. m_rawinput has default values 1 on OSX and Linux, 0 on Windows.
2.1.2 Mousethread
To access this feature, you must first add -mousethread as a launch option, which activates the m_mousethread_sleep cvar. This cvar tells CS (in milliseconds) how many times per second the pointer position should be updated from windows (please use m_rawinput 0 with this cvar). m_mousethread_sleep 1 = 1ms sleep time (1000hz updaterate), 2 = 500hz, 10 = 125hz and 0 = maximum hz. This cvar has NOTHING to do with the amount of signals your mouse sends to your computer (mousehz). You do NOT have to have these values synced. It is still unclear if Valve is going to keep the mousethread option, as it was just an attempt to fix m_rawinput 0. I would suggest using a value for m_mousethread_sleep that feels good, or then maybe 0.
2.1.3 Mouse acceleration
This is a hard cvar to configure, since it doesn't work in the exact same way as the "enhance pointer precision"-option in windows does.

If you used mouse acceleration before the updates you can try:
m_customaccel 1
m_customaccel_max 0
m_customaccel X (Here take you old windows sens and multiply it by 2. For example before the update I was using 4/10 on windows, so i should set this value to 0.8)
m_customaccel_scale 0.02
sensitivity X (The exact half of your old sensitivity cvar)
If it doesn't feel right, try using different values for the m_customaccel_* commands, eventually you're going to get it close enough ;)
2.1.4 Sensitivity
The sensitivity cvar didn't get an update itself, but "When you are in a map (i.e connected to a server) you are limited to changing sensitivity at most once every 30 seconds, to prevent game exploits. (alfred-valve)
2.2 Graphics, Gui's and Performance
2.2.1 Nofbo, nomsaa and stretchaspect
Alfred also updated the way CS renders in OpenGL. This came with many bugs, which is why they implemented a new set of launch options: -nofbo and -nomsaa. -nofbo forces CS (HL + CZ as well) to use the old rendering method. The new rendering method also includes multi-sample antialiasing. If you want CS to use the new style of rendering, but you dont want the antialiasing, you can set -nomsaa as a launch option. -nofbo includes -nomsaa.

In the latest public release Valve added the option to use black bars without having -nofbo in launch options. I STRONGLY recommend that everyone (who doesn't have problems with flickering/white boxes/etc) takes away -nofbo from their launch options and uses -strechaspect instead (if you don't want black bars).
2.2.2 Low video quality
In the options (if you have updated cs) you will now find a "low video quality" checkbox. I don't recommend checking this if you have a computer that has no problems running cs. If you check the box the following will happen:
GL_LINEAR_MIPMAP_NEAREST. If you do NOT have it checked, the default is GL_LINEAR_MIPMAP_LINEAR (which looks much better). (alfred-valve)
2.2.3 D3D
D3D was (unfortunately) disabled. This was done for a few reasons: 1) It was REALLY easy to create wallhacks by just configuring .wad files and using D3D. 2) The D3D rendering style was very old and outdated 3) Valve wanted to focus on improving OpenGL so much, that it would be as effective as the old D3D (if you have performance issues with OpenGL, please report to Valve's GitHub, so they can adress these issues).
2.2.4 Monitor refresh rate
With the April 2nd update, Alfred restored the -freq launch option (yay! =)). He stated that most CRT monitors have 100% support for it, but LCDs and LEDs only have partial support. He is still working on improving -freq. If the command isn't compatible with your monitor you have to use RefreshLock. This will automatically use your best refresh rate / resolution. Link for RefreshLock can be found here[www.satanion.dk]
2.2.4 Vsync
Valve (finally) implemented a new cvar to control vsync; gl_vsync. To activate vsync, use gl_vsync 1, to turn it off use 0. By using gl_vsync 0 you also solve some potential graphical bugs.
2.2.5 FPS
The fps_max cvar also got an update. You can now override the maximum fps rate by using fps_override 1, and then set fps_max to your desired frame rate. In the beginning, people hade HUGE problems with movement when the fps exceeded 100. These problems got solved, but the command is still far from perfect. Valve is still working on fixing movement at 100+ fps. Some people complain about fps_max not being locked to the correct fps, and that it, for example, spikes at 100.5 fps when having fps_max at 100. My personal opinion is that I couldn't give a flying **** about fps being 100 / 100,5, but if it is a problem just set fps_max 99.5 (or 99) in your USERCONFIG.
2.2.6 Minmodels
This cvar got a makeover as well. If you use cl_minmodels 1, you can now configure a specific model that the client will show. The values for each model are:

cl_min_ct X:
2 = GIGN
4 = GSG-9
7 = SAS
9 = SEAL
10 = SPETSNAZ (CZ)

cl_min_t X:
1 = ELITE
5 = GUERILLA
6 = ARCTIC
8 = PHOENIX
11 = MILITIA (CZ)

(Note that you MUST use cl_minmodels 1 to get these working.)
2.2.7 Performance
Set snd_noextraupdate to "1" by default, this value provides better performance for current PCs. (alfred-valve). I definitely suggest not changing this default value.
2.3 GUI's, allowing custom added content and HD models
First of all, we can now find a new checkbox in the video options. It's called "allow custom content". By checking this, you allow CS to use, for example, custom models, sprites, GUI's etc. Now, since most GUI's aren't made for the new Rawinput and low video quality checkboxes, they might look odd. The easiest fix is to use my GUI, which I will constantly be updating according to the new CS updates. (http://ge.tt/4X8tb5a/v/0 )
Screenshots:
http://tinypic.com/view.php?pic=9bb2vl&s=6
http://tinypic.com/view.php?pic=29pqg7c&s=6

Remember the old CZ models? Valve finally made a really easy-to-use fix. In the new video options you get the option of using "HD models". These are just the ordinary CZ models. To use normal CS models, just uncheck this box. If you want the CZ models, check the box.

For GUI makers, I think this will help you out:

C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\resource\gameui_english.txt

"GameUI_VSync" "Toggle VSync"
"GameUI_HDModels" "Enable HD models"
"GameUI_AddonsFolder" "Enable custom content"
"GameUI_LowVideoDetail" "Low-quality video"
"GameUI_RawInput" "Raw Input"
"GameUI_RawInputLabel" "Enable HQ - Low latency mouseinput"
2.4 Netcode
Valve upped the max rate to 100 000. They also upped default cmdrate and updaterate to 60. The recommended network values are:

rate 100000
cl_updaterate 100
cl_cmdrate 105
ex_interp 0.01
cl_nosmooth 1 (this cvar takes away the smoothing effect, and shows the correct position of the model)

It is going to take a while before most servers have set their sv_maxrate to 100 000, but hopefully most server admins will do it quickly. There is a hot discussion going on about setting a default ex_interp value, but nothing has yet been stated by Valve.
2.5 Gameplay
2.5.1 Fastswitch
They also updated the fastswitch option. It now looks like this:
hud_fastswitch 0 = No fastswitch
hud_fastswitch 1 = Fastswitches on BOTH mousewheel and number keys
hud_fastswitch 2 = The old hud_fastswitch 1. Fastswitches ONLY on number keys, NOT mousewheel.
2.5.2 Filterstuffcmd
There is a very (angry :D ) discussion going on about this new feature. Many plugins broke down because of this new cvar, which restricts what commands the server is allowed to execute on the client. For example, if you use cl_filterstuffcmd 1 the server can no longer bind certain functions to keys. Personally, I think that it provides a better security for the average cs player. On the other hand, I really think Alfred should listen carefully to the feedback that the plugin-developers provide.. This command is probably going to see some changes as to what it restricts, but atm it restricts the server from changing the values of the following cvars:

alias
connect
retry
set*
bind
unbund
unbindall
quit
"_restart"
kill
exit
exec
writecfg
cl_filterstuffcmd
ex_interp
say
developer
timerefresh
rate
cd
fps_max
speak_enabled
voice_enable
setinfo
sensitivity
sys_ticrate
removedemo
volume
mp3volume
cl_*
gl_*
m_*
r_*
hud_*
3. Most common issues
3.1 Content and installing issues
If you don't get the new content at all, just backup configs and whatever you need, then delete the cstrike folder. After that right click counter-strike in steam and delete local content. Then reinstall. Note that the new folder for counter strike is going to be: C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike. Another great way to get rid of these issues are to right-click on cs, selecting properties and verifying the local files. Remember to backup configs and GUI's before doing this.
3.2 Beta issues
At the moment, the easiest way to join the latest CS beta is having both CS and HL INSTALLED. To get access to the CS beta, you have to right-click both HL and CS, select properties and join the beta-beta on BOTH games. Another options is to join the steampipe beta, and then join whichever beta you want. If you aren't using the steampipe beta, then please DON'T use only CS beta, since you might get different .dll and executable issues by doing that.
3.3 Most graphical issues
Verify your install, use -nofbo, gl_vsync 0 and "low video quality". Update video card drivers and delete custom GUI's.
3.4 SDL2.DLL issue
Exists because you are opted into only ONE beta, not both CS and HL. To get rid of the issue, join both betas or then don't join beta at all. Then verify game files / reinstall.
3.5 White squares/odd sprites/green squares
These problems usually exist because people are opted into just the cs 1.6 beta. Please use both HL and CS betas or neither. Use -nofbo in launch options as well, along with gl_vsync 0 and "low video quality" in video options. If nothing else works, update your video card drivers. Another good way to get stuff working is by verifying local content (right-click cs and verify). Use 32-bit color depth in Windows.

Of course, do make sure that you are using 32-bit color depth in both CS and on the desktop!
3.6 Screen flickering
Change your desktop resolution to the refresh rate you want, then problem fixed (alfred-valve). You can also try fps_max 99.
3.7 Sound
While most of the sounds are OK, in-game voices are bugged atm. This is because they updated CS to use the same audio codec as Steam itself. (Miles Sound System (and SpeeX) --> Silk)
3.8 Snapshot and Screenshot with -nofbo
Fixed in the latest public release.
3.9 Movement, aiming and FPS
Please read corresponding section.
4. Summary of new recommended new cvars and launch options:
fps_max 99 (in USERCONFIG)
gl_vsync 0
cl_filterstuffcmd 1
m_rawinput 1
rate 100000
snd_noextraupdate 1
-nofbo (if the new OpenGL makes cs feel odd)
-nomsaa (if gameplay feels OK, but you don't want anti-aliasing.)
5. Thanks!
Thanks for updating CS and HL, Valve! Most of the updates are AWESOME!

Thanks for reading, haters go elsewhere =D
105 Comments
< >
onebulletattime Jul 27 @ 12:21am 
@vel0 =DD and wat size of crosshair? :)
vel0 =DD  [author] Jul 20 @ 7:46am 
@onebulletattime 640 * 480, full screen, black borders :)
onebulletattime Jun 11 @ 12:26am 
@vel0 ♫ Wat kind of rezolution are you using for counter strike 1.6?
And are you playing in full screen?
Or your have both borders black, like in my picture? - Its wat my cs looks like in-game! - http://postimg.org/image/b24t7pljd/
Rus[H]3R^ Jun 5 @ 1:44am 
nice GUI thx.
vel0 =DD  [author] Jun 2 @ 11:04am 
@haze

1) This guide is about the updated commands in CS 1.6. It is not a general config guide. This is why I haven't touched on -noforcemparms. FYI, noforcemparms reverts the mouse button settings to desktop configuration. The only benefit you could get from enabling this command is if you are having trouble with your mouse buttons in-game.

2) m_rawinput does NOT turn off the all of the mouse acceleration in-game. For example, if you have m_customaccel at 1, you will get mouse acceleration. m_rawinput does NOT help here. Rawinput only bypasses the operating system on your computer, meaning if your OS adds accel to your mouse movements, then m_rawinput 1 will disable THAT mouse accel.
vel0 =DD  [author] Jun 2 @ 11:04am 
3) If you knew what mousegrab did, you would know that it doesn't affect mouse acceleration at all. Mousegrab 1 only grabs the mouse inside the window, instead of slamming it each frame. What this really means is that if you have fps over 50, then you probably won't notice any difference between mousegrab 1 and 0. If you use cl_mousegrab 0, then mousemovement recorder will show pointer movement because the HL-engine slams the cursor into the middle of the screen. This is in no way harmful, and it DOES NOT add positive, NOR negative mouse accel.

Help with the development of my guide is helpful, but please, ask questions instead of just stating things that you aren't sure about. People might actually believe you, which could be harmful in this case. Cheers
haze May 30 @ 10:00pm 
Velo nice guide but you should recommend to use m_rawinput 1 and cl_mousegrab 1
that will turn off the whole mouse accel in game, plus the -noforcemparms in steam.
i test several times the "cl_mousegrab 1 and 0 by using mousemovement recorder in game and when you set in windows cl_mousegrab to 0 you dont get 1x1 , you get 1x4 1x2 2x3 etc etc you get positive acceleration and that's bad. cheers :)
vel0 =DD  [author] Mar 15 @ 8:13pm 
@ichigo if your fps in cs 1.6 drops below 100 then you should really consider upgrading your computer :D but anyways, you probably experience fps drops because your game now renders in OpenGL instead of D3D, which you can do nothing about. Read the guide if you want ideas on how you can improve your fps on OpenGL.
Zriz._ #MotoG N #G300 Mar 13 @ 1:28am 
Awesome guide bro! But need one help.. Even after trying all of it i am getting 25 - 50 Losses whenever i play on a Server.. This problem was not there earlier but after the update it started happening! I have 70 - 100 fps in servers but still loss doesn't go. Will appreciate your response! Btw Awesome work :D
shon Jan 18 @ 5:15pm 
what extension you use?