Optimize Counter-Strike 1.6 (rates)
Posted by ePlus on 3 January, 2006 at 20:47 pm RECIPE FOR CALCULATING WHAT RATES TO USE
This guide is aimed primarily at people with less than perfect hardware... i.e. those of us who get choke / loss if we try using the "L337 rates" people with good hardware always try forcing on everyone else...
RECIPE FOR CALCULATING WHAT RATES TO USE
This guide is aimed primarily at people with less than perfect hardware... i.e. those of us who get choke / loss if we try using the "L337 rates" people with good hardware always try forcing on everyone else.
THE INGREDIENTS:
* cl_cmdrate - this should apparently be approximately equal to the FPS you're getting (check netgraph). Too much above or too much below and you'll get choke.
* cl_updaterate - you should set this as high as it will go without causing ANY packet loss - if you're getting any loss, that's BAD.
* rate - capped at 20000 for online play (25000 at LAN). Setting it too low will cause choke. Setting it too high will cause choke.
* ex_interp - the "ideal" is supposed to be 1/cl_updaterate. NEVER set this to zero because CS uses your current cl_updaterate, not the server's. Basically, the higher ex_interp, the smoother play will appear, but true player positions will be less accurate on your screen. Some people prefer to just set this low and leave it there. (0.01)
THE METHOD:
So, to figure out decent settings for you, best thing to do is probably something along the lines of this:
1 ) Turn on netgraph ("net_graph 3" I think is the one you want)
2 ) Start with this:
* cl_cmdrate 30
* cl_updaterate 40
* rate 15000
* ex_interp 0.033
3 ) Run around a bit (preferably on a busy server) and take note of your FPS... what you want is you *average* FPS.
4 ) Set cl_cmdrate to that value. E.g. if you're averaging 40 FPS on a busy server, then set cl_cmdrate to 40.
5 ) Run around some more, and see if you experience any choke. If you're getting choke, drop this value by 5. If you're not, increase by 5. Basically - keep doing this for a bit - you want the highest setting you can get before getting any choke / loss. Once you're happy, subtract 5! (safety buffer - and lets us play with the next settings) (max of 101)
6 ) Ok, so we've got our "ideal" cl_cmdrate... let's mess around with the cl_updaterate... Increase your cl_updaterate by 5, then run around some more. If you're not getting choke / loss, add 5. If you are, subtract 5. Basically, find the highest setting for this you can without getting any loss / choke. (max of 101)
7 ) Now that we've got those sorted, change your ex_interp to 1/cl_updaterate - so if your cl_updaterate is 50, you'll use 0.02. If your cl_updaterate is 100, you'll use 0.01. etc. (use a calculator) This value has more to do with the "feel" of the game rather than choke/loss, and some people will tell you to use 0.01 all the time (which is usually the same bunch of people who have decent connections capable of handling cl_updaterate of 100/101 and think they know better - it depends on how much easier you find it playing with a smoothe gameplay vs. a jerky but slightly more accurate one)
8 ) Ok... now you can start mucking about with the rate setting. Start increasing the rate by 500 until you get choke / loss. As soon as you do, decrease it by 500, and voila! You should have a pretty decent game on your hands.
9 ) Hopefully you'll also have a reasonable ping, but your ping, or latency, is actually less important than the rest of the above. Put your trust in the Half-Life server code for client compensation on this one. If you're really worried about your ping, then this is what you need to know: The higher your cl_cmdrate, the higher your ping. So you could try lowering the cl_cmdrate, then repeating steps 5-7 to get your better values for the other netcode (you might find though that you won't get a better cl_updaterate or rate at all). I suggest you forget about ping for an evening and try with the values this little exercise gives you and see how it handles, and only worry about your ping if the feel of the game is still really poo.
Ok then... so who's going to give this a try?
It has worked ok for me and most people I've told about it - again, if you're not getting any choke or loss running 20000/25000 101 101 then there's no point in messing with your rates since they're about as good as they'll get. Only reason you might have to play is if your ping absolutely sucks (i.e. worse than 50ms), otherwise you might as well stick with the higher rates.
Something else to bear in mind... these settings are not only affected by your hardware, but also by the server you're connecting to (and the settings on that server), as well as every bit of network connection between your PC and the server you're playing on. So while one setup might be fantastic on most UK servers, you might need to tweak things again if you play on a server where you're getting a lot of choke / loss (a slow server or foreign one for example)
*****Article taken from Clan =UKE=
Counter-Strike Tweaks 1.5/1.6
Adding these to your CS link or in Steam (my games > right click on CS > Properties)
-console (add console)
-nojoy (remove joystick support, gives more ram)
-noipx (removing LAN options, gives more ram)
-noforcemparms -noforcemaccel -noforcemspd (disable mouse acceleration)
-dev (removing 100fps limit *STEAM ONLY*)
-heapsize (gives CS memory, set it by kbytes, example; i have 384mb of ram so i used:
-heapsize 300000 (it tells cs to use 300mb of ram as cache for CS) , set it to 60-80% of your total ram, help's alot in 1.6)
Sensitivity:
CS is not Quake or UT, you dont need high sensitivity, you dont have rockets and plasma rifles, also CS has a great sound engine so you dont need to make some "FAST" moves. Getting used to low sensitivity will improve your aiming, lower your sensitivity by 0.5 every week, and you may see improvements, it also depents on your mouse and options, personally im using 2.5 because i have Microsoft Explorer. Lower sensitivity is better, so get used to it.
Config commands:
disable voicecomm (we got team-speak, ventrilo, why hear these 10 year old kids yelling?)
voice_scale "0"
voice_enable "0"
voice_modenable "0"
sv_voiceenable "0"
voice_forcemicrecord "0"
disable EAX (gets more FPS)
s_eax "0"
disable A3D (not allowed in CPLS)
s_a3d "0"
sound delay (after you turned off Sound acceleration, or random sound delays)
_snd_mixahead "0" or "0.1"
Connection (Optimal Settings):
rate "25000"
cl_updaterate "100"
cl_cmdrate "100"
cl_lc "1"
cl_lw "1"
ex_interp "0.1"
if you have lags with the optimal settings try these values:
rate "7500-10000"
cl_updaterate "20"
cl_cmdrate "30"
1.5/1.6 Graphic Tweaks (get more fps):
gl_cull "1"
gl_keeptjunctions "0"
gl_texsort "0"
gl_palette_tex "1"
r_norefresh "0"
gl_round_down "3"
gl_picmip "2"
gl_playermip "2"
gl_ztrick "1"
gl_texturemode "GL_LINEAR_MIPMAP_NEAREST"
viewsize "120"
brightness "1"
gamma "3"
fastsprites "0"
fps_max "200"
max_shells "0"
cl_corpsestay "0"
max_smokepuffs "0"
mp_decals "0"
d_spriteskip "0"
cl_himodels "0"
model "gordon"
topcolor "30"
bottomcolor "6"
cl_minmodels "1"
cl_weather "0"
gl_affinemodels "1"
gl_alphamin "0.25"
gl_clear "0"
gl_dither "1"
gl_flipmatrix "0"
gl_flashblend "0"
gl_lightholes "0"
developer "1"
r_dynamic "0"
r_novis "0"
r_traceglow "1"
r_wateralpha "1"
r_mirroralpha "0"
r_bmodelhighfrac "5.0"
r_lightmap "0"
gl_max_size "128" (16/32/64/128/256) (less size less quality and more performance)
precache "1"
USB Mouse or PS/2 Mouse (if your mouse supports USB USE IT:
m_filter "0" for USB
m_filter "1" for PS/2
Zoom Sensitivity (fixed in 1.6, but you still can change it):
zoom_sensitivity_ratio "1-3" (i using 1.6)
disable ATI Truform:
ati_npatch "0"
ati_subdiv "0"
Enable MMX
r_mmx "1"
Right or Left Hand:
cl_righthand (1 is right hand, 0 is left hand)
Disable AutoWeaponSwitch:
_cl_autowepswitch "0"
Used to old cs versions? Want the old crosshair? This is for you:
cl_dynamiccrosshair "0"
Remove the lame new gui menus:
setinfo _vgui_menus "0"
Add these scripts to your autoexec.cfg or userconfig.cfg:
//Hand Switch Script
alias "LH" "echo - Left Hand Selected -; cl_righthand 0; bind h RH"
alias "RH" "echo - Right Hand Selected -; cl_righthand 1; bind h LH"
Sick of holding shift key to walk? Add this to your autoexec.cfg:
//Walk/Run Script
alias "walk" "echo - Walk Selected -; +speed; bind SHIFT run"
alias "run" "echo - Run Selected -; -speed; bind SHIFT walk"
Advanced Graphic Commands:
1 - enable
0 - disable
-Control the blood, disable it to get more performance. But who doesnt like blood?
violence_ablood
violence_hblood
-Control the gibs, disable to get more performance
violence_agibs
violence_hgibs
-Control the ATI Trufrom, disable to get a big fps improvement, enable for more quality
ati_npatch "0"
ati_subdiv "0"
-Disabling it will make the game render everything, even objects you dont see, only crazy people will disable it.
gl_cull
-Enabling this will make sure you wont see any crashes and/or 3d bugs, disable it for more FPS
gl_keeptjunctions
-Multi texturing, disable it only on old 3d cards
gl_texsort
-MMX, enable to improve performance
r_mmx
-Joystick, disable for more ram and to improve performance
joystick
-disable dither only if you have a really good computer, enable for more performance improvement
gl_dither
-Enable for more model quality, disable for more performance-
gl_smoothmodels
-Vsync, enable to limit the fps into your refresh rate, disable for highest fps
vid_wait
-Lightholes, disable for a little performance gain-
gl_lightholes
-Enable to see some objects like 1337 sunglasses and stuff like that, disable for more performance
r_mirroralpha
-Precaching, disable if you have 64mb or less, enable if you have 64mb or more, improves performance
precache
-Enable or disable the rain in aztec
cl_weather
-Loading only 2 models, SAS and 1337, enable for big performance gain, disable to see all the models
cl_minmodels
-Round down, set value from 0-4 , the lower the number the higher the quality, higher number equals more performance
gl_round_down
-Map quality, set value from 0-2, lower number equals more quality, higher number equals more performance
gl_picmip
-Player model quality, set value from 0-2, lower number equals more quality, higher number equals more performance
gl_playermip
-Texture size, values are: 16,32,64,128,256,512,1024 (default is 128), lower value means less quality and more performance
gl_max_size
-Texture Quality (for Direct3D Trilinear bring more performance, and for OpenGL Brilinear bring more perormence) values
GL_LINEAR_MIPMAP_LINEAR (Trilinear, high quality)
GL_LINEAR_MIPMAP_NEAREST (Trilinear, low quality)
GL_NEAREST_MIPMAP_LINEAR (Bilinear, high quality)
GL_NEAREST_MIPMAP_NEAREST (Bilinear, high quality)
gl_texturemode
Example:
gl_texturemode "GL_NEAREST_MIPMAP_NEAREST"
-Fastsprites, control explosions and stuff like that, set value from 0-2, lower number equals more quality, higher number equals more performance
fastsprites
That's all folks! Enjoy!
*****Posted by mainman on NGOHQ.com.