The Quake engine is from a time when configuration files were the preferred method of tweaking the game options and setting up additional players defaults. Luckily all the Quake config files are just text files that can easily be opened in any text editor like notepad for windows.
There are three configuration files and each one is designed for a specific reason; the engine, mods and the player. The 'config.cfg' file is controlled by the engine and any changes to this file by the player will usually be overwritten. The 'quake.rc' file is designed for mods and will be executed when a mod is loaded via the console or command line. Finally the 'autoexec.cfg' file is designed for the player and should be used for any personal defaults or engine / mod overrides.
The 'default.cfg' file is usually not used and can easily be ignored. The 'config.cfg' file is executed again to make sure that the engine defaults are setup. The extra key bindings are designed for new players and are an easy way to access the new mod features. Quake veteran players will likely re-use the keys and should override these key binding settings in the 'autoexec.cfg' file instead.
This is something dear to my heart because the original Quake artwork (AD artwork as well) was designed for a lower resolution and crispy pixel setup. Unfortunately the default was changed when the gl and fitz engines were released and its likely that most players don't know this is how the game was suppose to look! This option can also be toggled with the 'pixels' alias command on the console.
The top lines are developer console commands and are designed to help mappers when testing or developing new maps. Some of these commands are designed to fix speed and resolution problems with the console / User Interfaces on modern higher resolution monitors. The bottom lines are designed for specific engines and should probably be left as they are only used when needed.
All mods can add additional functions with the impulse console command and this is a list of all impulse commands that exist and roughly what they do. Some are limited to developer mode only because they will usually break maps and should only be used when developing a map.
Remembering all the different impulse command numbers can be really awkward and the alias command system is a way to get around this problem with proper names for the new mod functions. All of these alias commands can be changed or removed as they are not essential to the mod.
This is the most important part of the 'quake.rc' file because all permanent changes to the mod are applied through this single variable. The reason all these options are done through one variable is because most Quake engines don't support new custom variables. This single variable has to be setup as a binary bit flag where each bit (digit) of the variable is a different option. Most calculator applications can generate binary numbers and there are examples in the text to show how the binary flag works with different mod options. The default is always 0 so that all extra mod particles can easily be turned off.
During the development of Arcane Dimensions 1.8 extra console variables were discovered and are now being used for the new functionality. The 'scratch' variables are used to select the default custom User Interface layout, setup the Chaos mode / random seed and allow for Evil skill to be the default. The 'saved' variables are used for players who want a more vanilla experience and allow for an easier way to removed functionality from AD. The 'saved' options are also available with the 'temp1' bit flag system.
The new User Interfaces can cause problems with some older Darkplace engines and it recommended to disable the mod UI changes by un-commented the top two lines. The player 'autoexec.cfg' is executed to override any mod settings and the server protocol is changed to cope with the extra cinematic camera smoothing code. Finally the 'menu_main' command will tell the engine to start with the menu instead of the console once the mod is loaded.