Tweak Guide Howto tweak your settings for your hardware For most Quake 3 based games (within reason) examples include - Call of Duty, Medal of Honor, Return to Castle Wolfenstein, Soldier of Fortune, Enemy Territory.
Connection Settings
First we will start with tweaking your connection settings, these commands apply for any Quake based game (within reason)
The Commands
| Command |
Explanation |
| /set rate int |
(no default)
Sets the bandwidth you can recieve, varies with what the Server Configuration allows.
Most servers have a lower limit of 5kb/s and upper of 25kb/s.
|
| /set snaps int |
(default 20, in 20-40)
Sets the number of World Snapshots (Location of Players & Items)
|
| /set cl_timenudge int |
(default 0, in 0 to -50)
Sets the time period (ms) for Snapshots to be delayed. |
| /set cl_maxpackets int |
(default 30, in 15-100)
Sets the number of Updates sent by the Client (you). |
| /set cl_packetdup int |
(default 1)
Sets the number of Duplicate Packets sent to the Server. |
Optimal Connection Settings
|
LAN
seta cl_maxpackets "100"
seta cl_packetdup "0"
seta snaps "40"
seta rate "25000"
|
ADSL / Cable / Wireless
seta cl_maxpackets "60"
seta cl_packetdup "1"
seta snaps "40"
seta rate "25000"
|
ISDN (Dual Channel 128k)
seta cl_maxpackets "60"
seta cl_packetdup "1"
seta snaps "40"
seta rate "14000" / seta rate "12250"
|
ISDN (Single Channel 64k)
seta cl_maxpackets "60"
seta cl_packetdup "1"
* seta snaps "40"
seta rate "7000" / seta rate "6200"
|
56K Modem
seta cl_maxpackets "30"
seta cl_packetdup "1"
seta snaps "20"
seta rate "(See Table Beside)"
|
50000: 5500
48000: 5200
46000: 5000
44000: 4800
42000: 4500
40000: 4300
38000: 4100
|
An Overview of the Commands
How to Tweak your Settings
First, start up your game, and connect to your favourite server.
Bring down your Console [`] and type /cg_lagometer 1
Now, on the right on your HUD (Heads up Display) you should see the graphs.
The Graph at the bottom of the box (Green), shows weather your data is being recieved in time by the Server.
The smaller the Height of the Graph is and the Greener it is, the better the Upload Speed of your connection.
The Graph in the middle in Blue, shows how well your PC & Connection is keeping up with the reception of Snapshot Data,
it also tells you if your PC is rendering in time with the receptio.
By rule of thumb this should be perminently Blue reguardless of Connection Speed.
larger yellow spikes could suggest a more major problem with your Settings or Hardware.
(provided no one else upon the Network is utilising Downstream!)
How do I reduce the Yellow/Red spikes on the Blue Line?
This can be a combination of your Graphics Settings and your Connection Ssettings,
but most PC's Hardware isn't much of a problem.
Try at first if you are using a negitive value for cl_timenudge, by increasing it by 10 (-50 to -40 to -30) and check the Blue Graph on the Lagometer.
By reduscing the timenudge, the game is not holding back data reducing your chances of aiming and hitting an enemy.
If you have a resonable Connection, and are having problems with loss of Snapshots. Check your value for snaps.
If you have snaps set to the default value (20), try increasing the value by 10 to 30 then to 40 and see what happens.
If you've already got snaps set to 40 or 30 and you are finding problems, reduce it to default value (20).
How do I Reduce the Fluctuation on the Green Line?
This can usually be resolved by increasing the cl_maxpackets value, although it is in relation to your framerate.
Using the Command cg_drawFPS 1 you will see your current framerate appear on the Screen.
If you increase the value of cl_maxpackets you are increasing the frequency at which the Client (you) sends a player update (Client Snapshot).
The best values are any even multiples of your average framerate or equal to your framerate.
If you wish to Cap your framerate you can do so by typeing com_maxfps int
The values allowed for cl_maxpackets is in 15 100 for most games...
The best values are 30, 40, 60, 75/76, 80/84, 90, 100 as these are generally the same value of most VSync'd Monitors.
Graphical & Rendering Tweaks
Now, this is something I found on a Tweaking Guide which helped a bit. (Credit to SavageGuides)
This is based on a Quake 3 Guide so, anything post Quake 3 can be treated very similar.
Newer games based on the Quake 3/4 will have specific Variables for Visual Qualities and other Game Settings.
This should cater for the following games in many respects
(Call of Duty, Call of Duty: United Offensive, Call of Duty: 2, Call of Duty: Modern Warfare, Soldier of Fortune, Soldier of Fortune: II, Return to Castle Wolfenstein, Wolfenstein - Enemy Territory)
|
Best Visual Quality, Lowest FPS

Download Config
//Quake3 & TeamArena
seta cg_oldRail "0"
seta cg_oldRocket "0"
seta cg_oldPlasma "0"
seta cg_noProjectileTrail "0"
seta cg_hudFiles "ui/hud.txt"
seta r_inGameVideo "1"
seta s_doppler "1"
seta cg_scorePlums "1"
seta r_ext_compressed_textures "0"
seta r_ext_compress_textures "0"
seta com_blood "1"
seta cg_simpleItems "0"
seta cg_draw3dIcons "1"
seta cg_gibs "1"
seta cg_marks "1"
seta cg_brassTime "2000"
seta cg_shadows "1"
seta r_picmip "0"
seta r_finish "0"
seta r_roundImagesDown "0"
seta r_lodBias "-2"
seta r_swapInterval "0"
seta r_subdivisions "1"
seta r_lodCurveError "10000"
seta r_colorbits "32"
seta r_texturebits "32"
seta r_stencilbits "8"
seta r_depthbits "24"
seta r_dynamiclight "1"
seta r_drawSun "1"
seta r_fastsky "0"
seta r_flares "1"
seta r_textureMode "GL_LINEAR_MIPMAP_LINEAR"
seta r_vertexLight "0"
seta s_loadas8bit "0"
seta s_compression "0"
seta s_khz "22"
seta s_musicvolume "0"
seta s_mixahead "0.2"
|
High Visual Quality, Low FPS

Download Config
//Quake3 & TeamArena
seta cg_oldRail "0"
seta cg_oldRocket "0"
seta cg_oldPlasma "0"
seta cg_noProjectileTrail "0"
seta cg_hudFiles "ui/hud.txt"
seta r_inGameVideo "1"
seta s_doppler "1"
seta cg_scorePlums "1"
seta r_ext_compressed_textures "0"
seta r_ext_compress_textures "0"
seta com_blood "1"
seta cg_draw3dIcons "1"
seta cg_simpleItems "0"
seta cg_gibs "1"
seta cg_marks "0"
seta cg_brassTime "0"
seta cg_shadows "0"
seta r_picmip "0"
seta r_finish "0"
seta r_roundImagesDown "0"
seta r_lodBias "0"
seta r_swapInterval "0"
seta r_subdivisions "4"
seta r_lodCurveError "250"
seta r_colorbits "32"
seta r_texturebits "32"
seta r_stencilbits "8"
seta r_depthbits "24"
seta r_dynamiclight "0"
seta r_drawSun "0"
seta r_fastsky "0"
seta r_flares "0"
seta r_textureMode "GL_LINEAR_MIPMAP_LINEAR"
seta r_vertexLight "0"
seta s_loadas8bit "0"
seta s_compression "0"
seta s_khz "22"
seta s_musicvolume "0"
seta s_mixahead "0.2"
|
Good Visual Quality, Medium FPS

Download Config
//Quake3 & TeamArena
seta cg_oldRail "1"
seta cg_oldRocket "1"
seta cg_oldPlasma "1"
seta cg_noProjectileTrail "0"
seta cg_hudFiles "ui/hud.txt"
seta r_inGameVideo "1"
seta s_doppler "1"
seta cg_scorePlums "1"
seta r_ext_compressed_textures "1"
seta r_ext_compress_textures "1"
seta com_blood "0"
seta cg_draw3dIcons "1"
seta cg_simpleItems "0"
seta cg_gibs "0"
seta cg_marks "0"
seta cg_brassTime "0"
seta cg_shadows "0"
seta r_picmip "1"
seta r_finish "0"
seta r_roundImagesDown "1"
seta r_lodBias "1"
seta r_swapInterval "0"
seta r_subdivisions "25"
seta r_lodCurveError "125"
seta r_colorbits "32"
seta r_texturebits "32"
seta r_stencilbits "8"
seta r_depthbits "24"
seta r_dynamiclight "0"
seta r_drawSun "0"
seta r_fastsky "0"
seta r_flares "0"
seta r_textureMode "GL_LINEAR_MIPMAP_LINEAR"
seta r_vertexLight "0"
seta s_loadas8bit "1"
seta s_compression "1"
seta s_khz "22"
seta s_musicvolume "0"
seta s_mixahead "0.2"
|
|
|
|
|
Best Visual/FPS Compromise

Download Config
//Quake3 & TeamArena
seta cg_oldRail "1"
seta cg_oldRocket "1"
seta cg_oldPlasma "1"
seta cg_noProjectileTrail "0"
seta cg_hudFiles "ui/hud2.txt"
seta r_inGameVideo "0"
seta s_doppler "0"
seta cg_scorePlums "1"
seta r_ext_compressed_textures "1"
seta r_ext_compress_textures "1"
seta com_blood "0"
seta cg_draw3dIcons "0"
seta cg_simpleItems "0"
seta cg_gibs "0"
seta cg_marks "0"
seta cg_brassTime "0"
seta cg_shadows "0"
seta r_picmip "1"
seta r_finish "0"
seta r_roundImagesDown "2"
seta r_lodBias "1"
seta r_swapInterval "0"
seta r_subdivisions "90"
seta r_lodCurveError "125"
seta r_colorbits "32"
seta r_texturebits "16"
seta r_stencilbits "0"
seta r_depthbits "32" //
seta r_dynamiclight "0"
seta r_drawSun "0"
seta r_fastsky "0"
seta r_flares "0"
seta r_textureMode "GL_LINEAR_MIPMAP_NEAREST"
seta r_vertexLight "0"
seta s_loadas8bit "1"
seta s_compression "1"
seta s_khz "22"
seta s_musicvolume "0"
seta s_mixahead "0.14"
|
Lower Visual Quality, High FPS

Download Config
//Quake3 & TeamArena
seta cg_oldRail "1"
seta cg_oldRocket "1"
seta cg_oldPlasma "1"
seta cg_noProjectileTrail "1"
seta cg_hudFiles "ui/hud2.txt"
seta r_inGameVideo "0"
seta s_doppler "0"
seta cg_scorePlums "0"
seta r_ext_compressed_textures "1"
seta r_ext_compress_textures "1"
seta com_blood "0"
seta cg_draw3dIcons "0"
seta cg_simpleItems "1"
seta cg_gibs "0"
seta cg_marks "0"
seta cg_brassTime "0"
seta cg_shadows "0"
seta r_picmip "1"
seta r_finish "0"
seta r_roundImagesDown "2"
seta r_lodBias "2"
seta r_swapInterval "0"
seta r_subdivisions "90"
seta r_lodCurveError "125"
seta r_colorbits "16"
seta r_texturebits "16"
seta r_stencilbits "0"
seta r_depthbits "16"
seta r_dynamiclight "0"
seta r_drawSun "0"
seta r_fastsky "0"
seta r_flares "0"
seta r_textureMode "GL_LINEAR_MIPMAP_NEAREST"
seta r_vertexLight "0"
seta s_loadas8bit "1"
seta s_compression "1"
seta s_khz "22"
seta s_musicvolume "0"
seta s_mixahead "0.14"
|
Worst Visual Quality, Best FPS

Download Config
//Quake3 & TeamArena
seta cg_oldRail "1"
seta cg_oldRocket "1"
seta cg_oldPlasma "1"
seta cg_noProjectileTrail "1"
seta cg_hudFiles "ui/hud2.txt"
seta r_inGameVideo "0"
seta s_doppler "0"
seta cg_scorePlums "0"
seta r_ext_compressed_textures "1"
seta r_ext_compress_textures "1"
seta com_blood "0"
seta cg_draw3dIcons "0"
seta cg_simpleItems "1"
seta cg_gibs "0"
seta cg_marks "0"
seta cg_brassTime "0"
seta cg_shadows "0"
seta r_picmip "2"
seta r_finish "0"
seta r_roundImagesDown "2"
seta r_lodBias "2"
seta r_swapInterval "0"
seta r_subdivisions "90"
seta r_lodCurveError "125"
seta r_colorbits "16"
seta r_texturebits "16"
seta r_stencilbits "0"
seta r_depthbits "16"
seta r_dynamiclight "0"
seta r_drawSun "0"
seta r_fastsky "0"
seta r_flares "0"
seta r_textureMode "GL_LINEAR_MIPMAP_NEAREST"
seta r_vertexLight "1"
seta s_loadas8bit "1"
seta s_compression "1"
seta s_khz "11"
seta s_musicvolume "0"
seta s_mixahead "0.14"
|
| |
|
|
|
NOTE: ** Users of Geforce2 MX cards or any card that supports a zbuffer that can be different to colour depth can set this to 16 for extra FPS ( seta r_depthbits "16" )
|
| Display and Rendering Tweak Notes |
cg_oldRail
cg_oldRocket
cg_oldPlasma |
Controls the appearance of weapon explosions and particle effects in 1.29 or above. Enabling the new effects (0 for cg_oldxxxx) will usually mean you lose FPS.
|
| cg_noProjectileTrail |
Controls the projectile trail (smoke etc) for weapons in 1.29 or above. Disabling the projectile trail can help with FPS or visibility
|
| cg_hudFiles |
Controls the type or layout of the HUD being displayed, in Team Arena a smaller HUD gives you a slight gain in FPS.
|
| r_inGameVideo |
Team Arena maps have pre-recorded 'videos' of the level being played shown on 'monitors' in some area. This cvar disables or enables them being shown, quite a gain in FPS when disabled. 1 is enabled, 0 is disabled
|
| s_doppler |
Team Arena and Quake3 1.27g or above play a sound when, for example, you overtake a projectile that has been fired. This is called the 'doppler' effect and disabling it gives a minor improvement to FPS. 1 is enabled, 0 is disabled
|
| cg_scorePlums |
Controls the showing of the floating score bubbles in Team Arena and quake3 1.27g or above. 1 is enabled, 0 is disabled |
| cg_draw3dIcons |
The HUD defaults to display ammunition, 'head', last attacker etc. using 3D models. You can gain FPS by forcing those to a 2D icon or sprite and not lose any HUD information. 0 disables drawing of 3D icons on the HUD and forces 2D icons, 1 enables 3D icons on the HUD. |
r_ext_compressed_textures
r_ext_compress_textures |
See notes in r_roundImagesDown and r_texturebits sections. These settings control the video cards texture compression option if it exists. This alleviates the problems with texture thrashing and AGP memory bandwidth problems when levels are played that are texture intensive. Helps FPS at the expense of visual quality, note that r_ext_compressed_textures is the cvar to used for 1.27g and above and r_ext_compress_textures is the cvar to be used for 1.17 and below. |
com_blood
cg_gibs
|
Controls the showing of blood or gibs on the screen, on it's own a very minor FPS increase. When combined with gibs disabled this gives a large improvement to FPS 1 is enabled, 0 is disabled |
cg_marks
|
Controls the showing of marks or decals when a weapon's projectile hits ground, walls etc. Helps with FPS when disabled. 1 is enabled, 0 is disabled |
| cg_brassTime |
Controls how long the 'brass' or 'cartridges' are left on the ground when using weapons such as Machinegun and Shotgun. Helps with FPS when disabled. Range is 0 to 3000 with 0 being disabled |
| cg_trueLightning |
Controls the lightning gun shaft, similar to OSP and CMPA truelightning. Try values of 0, 0.5 and 1. |
| r_swapInterval |
Controls vsync in Quake3 and defaults to 0 which is vsync off. Set to 1 to reduce tearing problems, you may lose FPS as it will be capped to monitor refresh rate. |
| r_drawSun |
Controls the way lighting of models and objects is handled by simulating effects of sunlight. Defaults to 0 which is the suggested setting, 1 is enabled, 0 is disabled. |
| r_flares |
Controls drawing of flares on maps that have them. Helps with FPS when disabled. 1 is enabled, 0 is disabled |
| r_subdivisions |
Controls world geometry, range 1 to 10000 where 10000 is lowest geometry and 1 is highest. Over 90 causes visual problems such as see through walls or smearing of textures on curved surfaces for some maps. If you are only playing on the ThreeWave or standard CTF maps then this can be set to 999 with no visual problems. |
| r_lodCurveError |
Controls distance at which curves are dropped, range 0 to 10000 where 0 is always drop curves and 10000 is never drop curves. |
| r_lodBias |
Controls model or weapon etc mipmap/geometry detail, range -2 to +2 where +2 is lowest geometry and -2 is highest. |
| cg_shadows |
If you wish to have high quality shadows and your driver supports it set this to 2 and make sure that r_stencilbits is set to 8 and r_depthbits is set to 24. Unless you have a hardware stencil buffer a setting of 2 will be very CPU intensive. A setting of 3 will create lifelike shadows, however again with a CPU performance hit. Disabling shadows using 0 will give a large boost to FPS. |
| cg_simpleItems |
Setting this to 1 can greatly increase your framerates if you have a slow CPU and are not using a graphics card with a GPU / T&L unit such as a Radeon, Savage2000 or Geforce. Weapons, powerups and ammunition will be shown as icons rather than fully rendered models. |
| cg_forceModel |
Setting this to 1 will force all models to be the same character as yourself. Really only of use when playing on internet servers as the variety of models used is far greater and results in more memory and graphics card load than the single player game. Best suited for tweaking if you have less than 128 Megabytes of memory and play online a lot. |
| r_fastsky |
Try to keep this set to 0 so you can see through portals and see opponents reflections in mirrors. When set to 0 you also not have the problem of a blank sky causing legibility problems when reading team/player messages on some systems that display sky as white. FPS gain with good drivers is minimal 0.2 FPS or so, however when you are near a portal or mirror the FPS hit will be quite large. If you really need the FPS then set r_fastsky to 1 and use a toggle key such as bind f toggle r_fastsky so you can see through portals and reflections in mirrors as and when needed. |
| r_finish |
Set this to 1 if you experience the FPS induced keyboard/mouse input lag with some graphic cards. Setting this to 0 will increase framerate but you may experience the problem mentioned. With the new beta HSR Voodoo3/4/5 drivers you should leave this at 0 to gain benefits if you have HSR enabled. |
| r_textureMode |
Controls the method used for texturing 7 filtering ( bilinear , trilinear etc.), on majority of cards available bilinear filtering is much faster than trilinear. |
| r_colorbits |
Voodoo 3 and Banshee users can benefit from the 32bit setting with no slowdown. While the 3dfx cards mentioned cannot display 32bit you do get improved visuals by setting this to 32 with some OpenGL or driver sets such as Wicked3D. This is mainly due to the 3dfx post filter on the Voodoo range of cards dithering to 22bit.
If you have a card capable of 32 bit rendering that has limited fillrate such as a TNT, TNT2 or a Geforce SDR card that you are running at 800x600 or above then you should try setting this to 16 for a FPS gain. |
| r_vertexLight |
Quake3 can use two forms of lighting on maps, Vertex and lightmap. Vertex lighting requires no lightmap for textures and can help when texture memory is limited, albeit making the game ugly. Lightmap is default in all modes except fastest and is the preferred method. 1 is Vertex lighting enabled, 0 is disabled |
| r_ignorefastpath |
This cvar determines if the rendering engine uses the fast shader rendering path of either diffuse lighting or multi-texture lighting. Defaults to 1 and on some driver sets a setting of 0 will give minimal FPS gain. |
| r_detailtextures |
If a shader has a detail stage this setting determines if it is rendered or not. Defaults to 1 but 0 may give minimal FPS gain. |
| r_texturebits |
If you have a card that supports 32 bit rendering but have limited texture memory due to running at high resolutions try setting this to 16 while keeping r_colorbits at 32. Example, on a Geforce 32MB DDR running at 1024x768+ you may wish to set this to 16 in order to stop texture thrashing on maps such as Q3DM9 and MPTEAM7. |
| r_depthbits |
This controls the z buffer depth used, defaults to 24 bits when using 32 bit colour but some driver sets support 16 bit z buffer depth when rendering in 32 bit colour. If you have a card that supports 32 bit rendering but have limited memory or memory bandwidth due to running at high resolutions or a card with SDRAM then try setting this to 16. If you notice visual problems set this back to it's default of 0 which then uses desktop colour depth. |
| r_roundImagesDown |
When textures need to be resized they are rounded up or down based on the value of the r_roundImagesDown cvar setting.
A setting of 1 or 2 results in less detailed textures as they are being rounded down when they need to be resized, this means less chance of speed problems and running out of local texture memory on the card. A setting of 0 means more detailed textures as they are rounded up when they need to be resized but can result in texture thrashing and slowdowns. Bad drivers or AGP texturing problems can cause the machine to lockup when local texture memory is full.
Note that round_down is not the same as picmip. Picmip is texture mipmap size of the original texture, round_down determines how that texture is resized. |
| s_khz |
Controls sound quality, a setting of 11 is low quality sound and a setting of 22 is high quality sound. Helps with FPS when sound is set to low quality |
| s_musicvolume |
Self explanatory, control the volume of the in game music. A setting of 0 disables music and helps with FPS or stuttering. |
| s_mixahead |
Controls the delay used to mix and combine sounds, if set too low can cause 'crackles' and 'distortion' or reduced sound quality. Can help with FPS, default setting is 0.2 but a setting of 0.14 seems a 'safe' compromise on majority of systems for that little bit extra FPS. Avoid setting this cvar to less than 0.1 or you will experience sound problems. In 1.27h a new algorithm automatically determines the amount of sound frames to be mixed ahead so this cvar in 1.27h is redundant. |
Note
Framerates over 125FPS are fairly negligible, as the average flatscreen monitor has a response time of around 5-8ms.
Some have 4/2ms (250FPS/500FPS), most Graphics cards cannot render fulldetail at these framerates.
It would actually make the games far less stable and less playable!
The average persons eye, can notice the difference between lower and higher framerates,
movies are recorded at ~24FPS which makes your eyes tired - and why they advise a break after 45minutes.
So, choose the right framerate for you personally...
Higher framerates will allow better mouse control/input speeds for faster reactions.
Final Notes
I hope this has been of best help with what ever problems you've been experiencing with a Game based on Quake 3 or similar!
This tutorial was written by =W=J4M32= with excerpts from UpsetChaps Guides.
Feel free to contact J4M32 via this website in our Forums with any Questions you may have which are not covered in this Article!
Copyright © by Wolfstuff All Rights Reserved. Published on: 2007-04-09 (9983 reads) [ Go Back ] |