All About Quake3 Config Files

The Quake3 standard config file is called q3config.cfg. This is the default config file that Q3 looks for by default. When you installed Quake3 for the first time, it was created in the baseq3 directory and contained all the default settings for various configurable options. Many mods extend the stock config options available to the users and Coliseum2 is no exception.

This q3config.cfg file is also present in all mod directories. By default, Q3 will scan the mod directory to find q3config.cfg. If the file is not present, then it will copy the one currently in baseq3 and duplicate it in the mod directory. Once there, it will reference that one whenever that mod is run in the future. If the user deletes it, then it will be recopied again then next time the mod is run.

The values in the config files can be set by two different methods. They are "set" and "seta". The command is followed by a variable name and then the value associated with that name, usually enclosed in double quotes (example: seta name "WarMonger"). Q3 logic looks up these names when need and gets the values associated with them. There is a very important difference between "set" and "seta" that, if not used correctly, can seemingly corrupt you config files.

As a rule, it is always a good idea to keep a backup of your config files before making any major changes, just in case.

Values set using the "seta" command are automatically written out to the config file the second they are changed ("seta" means 'set archive'). If you look in the q3config.cfg file generated by Q3 you will notice that they are all set using the "seta" command.

Values set using the "set" command are effective only for the current session of the game. They are not auto archived. Any changes that you want to make permanent, you would manually have to edit the config file with any plain text editor and re-save.

This begs the question--why not use "seta" for everything and make it easy. The problem is that using "seta" will auto archive the values only to the q3config.cfg file. Although you may have multiple config files, the changes made to variables using "seta" will be saved only to q3config.cfg. However, there is a limit to how big a config file may be. The config file is read all at once by the Q3 engine and if this limit is exceeded, Q3 will automatically switch to default settings for everything.

By using "seta" for every possible variable, especially for Coliseum2, you will quickly exceed this limit. Also, Coliseum2 added additional client side variables that are, by their intended design, auto archived (rail type, weapon hand, announcer sounds, hook bind key, etc.). Careful testing was done to make sure that the additional auto archived variables along with the ones created by Q3 will not exceed the allowable limit.

However, even if a variable was set using "set" in a config file, the user may override this by bringing down the console and change that variable by using "seta". This will cause that variable to be written out to q3config.cfg. Be careful not to do this since you may inadvertently cause q3config.cfg to exceed the file limit. No matter how the variable was originally set, using "seta" in the console will cause it to write to q3config.cfg.

Many users may have created their own customized scripts, map rotation listings, etc. and placed them in q3config.cfg. These custom additions along with the new auto archive variables from Coliseum2 may cause the q3config.cfg file to exceed its allowable limit--thus causing Q3 to revert to default settings for everything.

For custom additions to config files (i.e.: entries not created by the program or mod) it is best practice to place them in a separate config file. There is no known limit to how many config files may be present as long as they are all in the same place and end with ".cfg".

Additional config files may be executed in 2 different ways.

1. Once Quake3 has started, bring down the console and type "exec config_file.cfg").
   Example: exec my_config.cfg
2. Name the custom config file autoexec.cfg
   This name will cause Quake3 to automatically execute it after it executes q3config.cfg.

Do not place the exec command in q3config.cfg. Quake3 has been known to delete this entry because it thinks that it does not belong there.

How does all this affect Coliseum2?

Coliseum2 adds a ton of new configuration variables. These new variables are what gives the mod its power by allowing the server admin to tweak nearly everything. Most of these variables are server related and begin with "g_". These variables can be found in the coliseum.cfg file contained in the download. You will note that these variables are set using "set". Do not change these to "seta". Doing so will cause you serious headaches by exceeding the file limit of q3config.cfg. When tweaking your server, it is best to change the values in the console using "set". Once to have the values you want, make a note of them and manually edit the coliseum.cfg (or any other config file the desired variable may be in, including autoexec.cfg if you have one).

If you should run into a problem where a user preference is not saved when you know it should (rail type, hook bind, drop rune bind, etc.) check to make sure that your q3config.cfg file is not too large. If it is, try moving some of the entries into separate file. Also make sure that q3config.cfg is not write protected. If you copied the q3config.cfg file off the Quake3 install disk, it may be write protected on your drive.

Table of Contents | Installing and Starting Coliseum2 | Id Software fix for Mac Users