Config Set Basics:
Config Sets are sets of *.cfg files which are executed AFTER game.cfg is executed.  Currently there is no console command that controls the cfg sets.  The only way to load the cfg sets is when you specify it in the Advanced Options menu.  The cfgset console commands will be implemented hopefully in the next release.

If you don't specify a cfg set name the default cfg set will be used.  The default cfg set is located at the dmplus\cfgsets directory.  Other cfg sets which are named have to be in dmplus\cfgsets\<setname> where <setname> is the name of the set.
Restrict your set names to alpha numeric characters with no spaces or tabs.  Underscores may be used though.  A more descriptive name is included inside the gameopts.cfg so the server can show the more descriptive name.

CFG Sets In-Depth:
Each cvar falls into one of the several cfg files in each set.  Note that the current organization of each cvar MAY be changed.  By no means is any cvar restricted to be placed only on the specific cfg it is currently in.  In fact you can put all your cvars into one cfg as long as your set has all the proper cfg files included (even if blank), however, large cfg files may cause the server to crash so this is discouraged.  It is not actually fatal not to include one of the cfg files if it isn't needed, however this will produce an error message on the console once the config files are read.  There are currently 9 files that will be read in each set.  These are the following cfg files and their contents plus any special information on for section:

ammo.cfg 
- contains the ammo amount settings which include ammo given on weapon and ammo clip pickup and ammo carrying maximums
notes: 
    * note that the <ammo type>_default_give will be ADDED to that of the start_ammo_<ammo type> (starteqp.cfg) if the corresponding start_<weapon> (starteqp.cfg) is set to 1...  for example, in the following settings:
    
        ammo.cfg
            "snark_default_give"    "5"
        starteqp.cfg
            "start_snark"           "1"
            "start_ammo_snark"      "5"
            
    The players will have snark_default_give (5) + start_ammo_snark number (5) of snarks for a total of 10 snarks on spawn time.  This is a little game limitation which I can bypass at the expense of making unhealthy code hacks which may or may not affect gameplay.  I decided against the unhealthy code hacks.
    
    * hornet_max - this is the number of hornets that the weapon will recharge to, no more no less, you cannot set the starting amount of hornets when you pick them up

dmg.cfg
- contains weapno damage settings and locational damage settings
notes:
    * The locational damage multipliers are just that...  multipliers.  For example you hit the player in the head with a 9mm bullet from an MP5 causing 15 damage points worth.  You multiply 15 with dmg_head (default is 5) so by default you will deal 5*15=75 points worth of damage.  On the other hand, the multipliers that are less than 1 so instead of increasing the damage, it decreases.  For example, the dmg_arm is 0.75.  A hit with the 9mm bullet from an Glock will normally cause 12 points of damage.  The same bullet hitting the arm will cause 12*0.75=9 points of damage.

gameopts.cfg
- contains general game settings like game type, teamplay, lights out, etc.

health.cfg
- contains the capacities for the chargers (health and HEV), batteries and healthkit...  also contains starting and maximum health and HEV charge...  see gameopts.cfg for the bleeding health levels...

hook.cfg
- contains the hook options...  hook damage is here and not the dmg.cfg
notes:
    * never set any of the speed values to a number larger than 2000.  This may cause very wierd effects.

miscopts.cfg
- contains miscellaneous game options like cloaking, MP5 accuracies and hit effect ratings
notes:
    * satchels_takedamage make the satchel charges blow up on damage, however, currently, they are only affected by splash damage

starteqp.cfg
- contains the on-spawn weapon and ammo loadouts
notes: 
    * note that the <ammo type>_default_give will be ADDED to that of the start_ammo_<ammo type> (starteqp.cfg) if the corresponding start_<weapon> (starteqp.cfg) is set to 1...  for example, in the following settings:
    
        ammo.cfg
            "snark_default_give"    "5"
        starteqp.cfg
            "start_snark"           "1"
            "start_ammo_snark"      "5"
            
    The players will have snark_default_give (5) + start_ammo_snark number (5) of snarks for a total of 10 snarks on spawn time.  This is a little game limitation which I can bypass at the expense of making unhealthy code hacks which may or may not affect gameplay.  I decided against the unhealthy code hacks.

tripmine.cfg
- currently only contains tripmine color options

weights.cfg
- contains the weapon weight values for auto-switching...  also contains the option to enable/disable auto-switching

For more information on the other cvar settings, please have a look at the defaults in dmplus\cfgsets which are neatly documented.  Also in dmplus\docs\defaults is the default cfg set *.cfg files which include the documentation, should you need to edit the default cfg set in dmplus\cfgsets.

Included with this package is my version of 1hk (it was a mod before but you can mimick it here in DMPlus) in a cfg set.  It is located in dmplus\cfgsets\1hk.  This is to serve as an example.

CFG Set Notes:
The *.cfg files (game.cfg and the cfg set files) are only read ONCE and this is when the first map has been loaded.  They are NEVER re-read again so any server changes you will make using the console will affect the game until you restart the server.  Note that server changes done using the console will NOT be saved.  Also, to understand the cfg set system you must understand how they are read.  First, the options set in the "Advanced Options" menu is parsed and written to game.cfg.  The game.cfg is then read.  Then, if the game.cfg says that cfg sets are enabled, the default cfg set is then loaded and any values present in the default cfg set will override the game.cfg values, however game.cfg values that are not present in the default cfg set are retained.  If no cfg set was specified (the option was left blank) then we are through.  Otherwise the specified cfg set is now executed and current values are overriden by the values present in the cfg set.  Any values not in the cfg set are not changed and will be retained.

CFG Set Sharing:
If you wish to share you cfg sets to other dmplus users, feel free send it to dmplus@planethalflife.com in a neatly packaged zip file.  :) Oh, and don't forget to include a readme.txt with the proper info and attribution otherwise I WILL NOT accept the file.  All files will be reviewed and those that are good enough will be included in the next distribution.  If enough contributions come in, I might put up a download site for these instead and if I do so, then ALMOST all submitted files will be included.  Remember no readme.txt, no review, no distribution.  Credit will be given in DMPlus' readme.txt file but the specific set you created will not be mentioned so if you wish the users to see that it is your contribution, please put it in the readme.txt file that you will include.
