Configs
The console commands and variables make up a programming language that includes ways to customize nearly every aspect of the game, player controls, audio-video settings, etc. If you need help accessing the console, please read the Console Help page.
Kingpin uses two text files to setup and keep your configuration settings. Both are in the "main" directory and are just plain text files that you can create and/or edit with any text editor like notepad. The files are named autoexec.cfg and config.cfg.
config.cfg
This file is created by Kingpin to save your settings from game to game. If the files does not exist, Kingpin will make one and fill it with the default settings. It's best to leave this file alone and make your seetings in autoexec.cfg (because if you change something here, it can still be overwritten by a setting in autoexec.cfg). If you somehow mess up your config files and need to start over, simply delete config.cfg and autoexec.cfg and run the game. Kingpin will make a new config.cfg for you with all default settings.
autoexec.cfg
This file is executed by Kingpin automatically and can be used to change the game settings. Anything that you could type into the console you can include here, one command or variable setting per line (or separated by semicolons ;). Note that arguments (parameters you give to a command or variable) must be enclosed in double-quotes if they contain a space (i.e. say "I have the flag"). Note also that, although you can simply type 'variablename value' in the console to set the variable variablename to some value, the syntax for doing this in a cfg file is 'set variablename value' (the 'set' is required in scripts only). A good start for making an autoexec.cfg (though it will not contain ALL possible settings), is to simply copy config.cfg to autoexec.cfg and edit the file to suit your preferences.
anything.cfg
You can also make additional script files, using the same syntax and format as config.cfg and autoexec.cfg (they don't even have to end in '.cfg' -- just put the file in the main directory) and execute any one of them by simply opening the console and typing:
exec "filename"
(The quotes are only required if the filename has a space in it, but they don't hurt anything).
Why would you do that? Well, say two people play Kingpin, and each uses a different control setup. One person could put his or her preferences in a file called "player1.cfg" and the other could put his or her preferences in a file called "player2.cfg". Then, depending on who's playing, just 'exec playerX.cfg' from the console to setup everything (it beats trying to remember to rename autoexec.cfg files before running Kingpin).
These files can contain more than just console commands and variable settings -- the console language is flexible enough to allow some programming (sans looping or any real flow control) and the creation of scripts and/or aliases to perform complex tasks. See the Scripting page for more info.