First of all, there are different config directories for different modifications. So if you play on a standard DM server it will use the config(s) in /baseoa (baseq3). If you then switch to play on a server with a modification, like for instance Corkscrew, Defrag or anything else; then it will use that directory config file(s).
So, if you connect to Defrag and don't have a config written for it, then the Q3 engine will pick up the config you have in /baseq3 (baseoa) and copy all the settings in to your /baseq3/defrag directory.
Now, if you change the settings in your /baseoa/test.cfg, then they do NOT change in your /baseoa/defrag/test.cfg, so what happends then is that if you start your basic game (load /baseoa/test.cfg) it will then overwrite your config in /baseoa/defrag/test.cfg if they have different bit-values.
So, to complicate things even more, there is a way to get it to work; do the following:
Remove ALL your configs from every directory to start with, that way you start with a clean slate.
Go to /baseoa (baseq3) and create a file called my_config.cfg
There you enter ALL your generic commands which you use in all mods, like shooting, jumping, fps, smileys e.t.c, then save it.
Next you go to your /baseoa/defrag directory and create my_defrag.cfg. Here you enter all settings specific for your defrag configuration.
Every mod you play will create its own directory at the same level as baseq3, so most of you will have other folders specific to the mods you play.
All configuration parameters are stored in a file called q3config.cfg and you will find this file exists in baseq3 and any mod directory. If you remove this file from a mod directory then next time you play that mod quake3 will copy the q3config.cfg file from baseq3 into the mod directory. If you remove the q3config.cfg file from the baseq3 directory then you'll lose all your settings and have to start again! Quake3 won't break, it'll just create a new q3config.cfg file, but it will be a default one without your
Next you might want to go to /baseoa/corkscrew and make my_corkscrew.cfg and enter all the corkscrew settings.
And so on...Do this for each mod, that way you have the mods unique setttings in each directory and the base settings in the base directory.
Now when that is done, go to your /baseoa (baseq3) and create a file called autoexec.cfg and make it look like this:
unbindall // This is very important
Nothing more is needed in this file..
One thing to remember is that you should NEVER edit your q3config.cfg directly, that WILL break your configs, without a doubt.
You can during gameplay on (for instance defrag) make a change to a setting and then type:
and it will save the settings to your my_defrag.cfg in the /baseoa/defrag directory but BE AWARE that it will write ALL current settings to that file
, not only the one, or two, you made.
[edit: no, nothing can write to autoexec.cfg unless you edit it yourself on purpose]