STEAM GROUP: bashandslash

CoD4 Tweaks: The yitch3 configuration
Written by jockyitch   
Thursday, 15 May 2008

Welcome to

Many of you have come here because of the so-called "yitch3" CoD4 MP configuration file. That config is downloadable below.

If you are new to using config files, please read this: Noob Orientation.

Hopefully you will find it a good jumping-off point for your own configs. We have tried to provide as much information as possible for you to create your own configs on this site.

Have a look at the following Google Document where we have noted down many of the dvars we have used in this config. 

Also, if you want to test out your config file, I suggest you have a read of this standardized method.

Don't forget to look around the site, we have quite a few articles to help you play better and if you have time, don't forget to check out our CoD Webcast, BASH.

Good luck!




Ted Cargill from Bell Labs used to say:

"The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time."

Also known as the ninety-ninety rule, Cargill is telling us that the hard portions of a programming project is what causes the lateness of a project.  Certainly, the long-overdue latest revision of our "High-FPS" CoD4 configuration could be attributed to Cargill's rule.

Nevertheless, is proud to present...the yitch3.cfg!





In retrospect, coming up with yitch1.cfg and yitch2.cfg CoD4 multiplayer config files was relatively easy. After all, yitch1 was made by ostensibly copying and moderately tweaking a configuration made for slow computer systems that was included in the CoD4 DVD by an IW staffer known as dk05. spoke to this IW employee this week and we asked him about his now famous configuration. Apparently, the dk05.cfg file was concocted as a result of the fact that dk05 had a sluggish computer and wanted to run CoD4 with as high a frame-rate as possible. The other interesting fact we learned was that the config should never have been on the DVD! It was accidentally copied to the master - and that's how we got it.

The rest is history.

Of course, we here at thanked dk05 for his config file...heck, without his efforts many of us in CallofDutyville with slug-computers would have been S.O.L. when it came to CoD4.

What is the yitch3.cfg file?

In our opinion, CoD4's config_mp.cfg file plays a huge role in the outcome of online gaming. More accurately, the role is huge *if* your system (hardware and communication systems) is bottlenecked. FPS rate is life online and if your system cannot attain the same framerates as your opponents, you will find yourself more often than not...dead.


This is why we came up with the yitchX configs. They are meant to be used by folks with crappy computers so that they can keep up with all the sleek, speedy new systems on the cutting edge of online play.

The client-side configuration file is found in your player folder:

C:\Program Files\Activision\Call of Duty 4 - Modern Warfare\players\profiles\JockYitch

it is named: config_mp.cfg.

yitch3 can be used, with some slight modifications, in lieu of this config file. 



The yitch3 config file was tested on a P4 single core, 2Gb RAM, running a 7900 nVidia card with 512Mb onboard running 169.21_forceware_winxp_32bit_english_whql.exe.

The FPS rates shown in this article are STATIC rates, with no one in the server. Your rates will undoubtedly vary from the results we have achieved. Our numbers are simply for comparison.







Note that we were running a different Forceware driver set than was used when we came up with yitch2. For that reason, the yitch2 frame rate is lower than that reported in the original yitch2 article. The absolute FPS is not that important - we are just looking for relative improvement over stock. Either way, yitch3 yields an FPS almost a factor of 4 higher than stock.

What's new? 

Firstly, we have sweet-spotted fps/packets/snaps/rate comms combo so that (hopefully) you will find better registration. The fps has been capped at 125 (com_maxfps) and uploads to the server have been set at 42 (this latter value would probably be best set at cl_maxpackets "63"; however, folks with low end systems have found a slightly beneficial ping at 42...we've left it there). We have added a few binds for you below to modify these values as you see fit.

Does yitch3 give you an FPS boost? Yes. But it is a small increase over yitch2. On our system it gave us roughly 10% in certain situations.

What is new in yitch3 is to provide you with toggle and preset binds to allow you to change your config on the fly. In this way if a server kicks you for having lowish can instantly crank them up to meet the minimum requirements.


One of the biggest complaints with the yitch1 and 2 configs was that PunkBuster would kick you if your config was outside the bounds set by the server admins. In yitch2, you could get kicked from a server (NOT banned ...just kicked temporarily), if say, your picmip setting was 3 (low res), or for setting lodscale to a low res setting.

What we have done in yitch3 is to add binds to allow you to modify your settings on the fly so that you will not get kicked.

Here are some of those binds. The function keys in yitch3 act as "toggles". If you keep pressing the function key associated with the bind the next value written in the line is used.

e.g. hit F4 and your m_pitch will be 0.044. Hit it again and it will be 0.033 and so on. Note that as in the case for F4, when you hit the key an error message shows up saying "Unknown Command <m_pitch". This is done on purpose. It is a feedback message to you saying you hit the m_pitch key. No one else in the server will see this message: just you.

bind F1 "toggle cg_fov 65 80"
 - toggles the Field of View. yitch3 comes with a 65 deg FOV to minimize FPS hit.

bind F2 "toggle r_gamma 1.2 1.4 1.6 1.8 2.0 2.2"
- allows you to adjust your brightness

bind F3 "toggle sensitivity 4.0 4.5 4.7 5.2 5.5 5.7"
- allows you to modify your mouse sensitivity

bind F4 "toggle m_pitch 0.044 0.033 0.022 0.015;<m_pitch"
- allows you to asymmetrically modify your mouse sensitivity in the vertical

bind F5 "toggle m_yaw 0.032 0.026 0.022 0.018;<m_yaw"
- modify the mouse sensitivity in the horizontal

bind F6 "toggle r_picmip 2 1 0 3; r_applypicmip; <picmip"
- Sets texture sizes. Equivalent to in-game menu "Texture". This is scaled according to hardware support.  For the maximum "texture" set to 0, lowest (ie fastest rendering) is 3. Note that bind automatically executes r_applypicmip which is needed for you to actually see the difference on screen.

bind F7 "toggle r_lodscalerigid 3 2 1 4; <lodsr"
- Level of detail for static objects (1=best to 4=worst). Usually "1" is required in competition.

bind F8 "toggle r_lodscaleskinned 3 2 1 4;<lodss"
- Level of detail for skinned objects (-1000=better to 0=lowest)

bind F9 "toggle r_detail 0 1;<det"
- Detailed Shaders (0=none 1=Activated). Draws "detail", or pixel shader. Set to "0", scene looks more like CoD2 and will turn cammo off the guns. Set to "1" for cammo skins. This bind was added in response to the huge number of folks that were miffed that yitch2 made them lose their gun cammo skins. Get them back by toggling this bind.

bind F10 "toggle  cg_marks 1 0";<cgmarks"
- Show bullet holes when set to 1. No bullet holes, set to 0.


bind KP_HOME "com_maxfps 66; cl_maxpackets 34"
- Sweet spot setting used to optimize server connection. FPS is capped here at 66. For those that can only achieve a constant 66 fps rate, use this setting.

bind KP_UPARROW "com_maxfps 76; cl_maxpackets 39"
- Sweet spot setting used to optimize server connection. FPS is capped here at 76. For those that can only achieve a constant 76 fps rate, use this setting.

bind KP_PGUP "exec stock.cfg; //r_applypicmip; <stock"
- copy your stock config_mp.cfg file into stock.cfg and place this file in your:

C:\Program Files\Activision\Call of Duty 4 - Modern Warfare\main

folder. Now, you can run your stock config file by typing PGUP on the keypad.

*NOTE. You will notice that r_applypicmip has been commented out of this command as it is preceded by two slashes "//". Why? Well, we are being a bit sly here. On some servers you will be booted if you do not run picmip 1 or 2. However, you can select picmip 1 or 2 on the fly, but by not running r_applypicmip, you technically can stay in mode 3 (low detail). Yes...I know...we'll burn in hell for this one.

The keypad keys 4,3,2,1 have been set to change your on-screen detail (lod, picmip..etc.) all in one go: 

bind KP_LEFTARROW "r_lodscalerigid 4; r_lodscaleskinned 4; r_picmip 3; //r_applypicmip; <lod4pic3"
- select lowest detail. This is the standard setting for yitch3.

bind KP_END "r_lodscalerigid 1; r_lodscaleskinned 1; r_picmip 0; //r_applypicmip; <lod1pic0"
- select highest detail.

bind KP_DOWNARROW "r_lodscalerigid 2; r_lodscaleskinned 2; r_picmip 1; //r_applypicmip; <lod2pic1"
- select high detail

bind KP_PGDN "r_lodscalerigid 3; r_lodscaleskinned 3; r_picmip 2; //r_applypicmip; <lod3pic2"
- select moderate detail

Cvar changes relative to Yitch2

seta cg_drawLagometer "1"
- Added the lagometer for you so that you can monitor packet loss if any.

seta cg_fov "65"
- FOV 80 causes an FPS hit, so we have dialed the FOV angle back to 65.

seta cg_hudGrenadeIconEnabledFlash "1"
seta cg_hudGrenadeIconHeight "40"
- Enable the FLASHBANG grenade indicator to be shown - see figure below:




seta cg_hudGrenadeIconWidth "40"
seta cg_hudGrenadePointerHeight "40"
- slightly increased size of nade indicator

seta cg_marks "0"
seta cg_marks_ents_player_only "0"
- do not show bullet holes

seta cl_maxpackets "42"
seta com_maxfps "125"
- capped FPS to 125 and set maxpackets to a "sweet spot" value. Should provide lowest ping and a 9% increase in jump height over standard stock settings.

seta cl_timeNudge "-15"
- we are unsure if this command is supported in CoD4. But have added this Quake command as a registration placebo.

seta con_inputBoxColor "0.15 0.2 0.4 0.7"
seta con_inputHintBoxColor "0.15 0.2 0.4 0.7"
- made console input box slightly translucent (now you can still see FPS indicator thru it).

seta hud_fade_healthbar "0"
seta hud_fade_offhand "0"
seta hud_fade_sprint "0"
seta hud_fade_stance "0"
- stops hud from fading as in yitch2 (negligible FPS hit).

seta r_cachemodellighting "1"
seta r_cachesmodellighting "1"
- should provide FPS boost

seta r_picmip_water "0"
- no water reflections

seta r_texFilterAnisoMax "1"
seta r_texFilterAnisoMin "1"
- bare minimum anisotropic filtering

seta snaps "30"
- increased ping a bit, but hopefully increased registration with this server packet setting

seta waypointiconheight "15"
seta waypointiconwidth "15"
- bomb site icons now much smaller to improve visibility




Currently all the configs we have toyed with are kept here in this spreadsheet:

Yitch configs

Note that this database contains a constantly updated list of CVARs and their function.


You can download this file: yitch3.cfg if you like to execute it on the fly. Put it in your main folder
C:\Program Files\Activision\Call of Duty 4 - Modern Warfare\main

You can then run it from the console:

/exec yitch3.cfg
/vid_restart or /r_applypicmip 

The best way to run this file is to insert it into your config_mp.cfg file.

1. BACKUP your current config_mp.cfg file first!

2. Copy paste yitch3.cfg into config_mp.cfg between your binds and the con_hidechannel  command line.

Note that yitch3 over-rides most F-key binds and KeyPad binds. Check that your binds have not been over-ridden. 

3.  Write-protect the config_mp.cfg file.


Report issues in our forums (do not e-mail us): BASHandSlash Tweaks Forum


These config files are a community effort. The thank you's start with dk05 from IW. We then go to the forum-goers at (especially scot). Finally, we ask for a standing ovation to the great forum posters of Doctor of Quake engine configurations [DA]Flash, puller, FoX and Volatile. Thank you guys, and anyone else I may have missed, for providing the insight into this configuration file.

< Prev   Next >

BASHandSlash Network


BASH on YouTube


The BASHandSlash Forums

original solarflare design by rhuk
lunarized by joomlashack