____            _           __   _                               
                |  _ \          | |         / _| (_)                              
                | |_) |   __ _  | |   ___  | |_   _   _ __    ___                 
                |  _ <   / _` | | |  / _ \ |  _| | | | '__|  / _ \                
                | |_) | | (_| | | | |  __/ | |   | | | |    |  __/                
                |____/   \__,_| |_|  \___| |_|   |_| |_|     \___|                
                                                                                  
                                                                                  
                           ___   ___   _    ___    ___                            
                          / __| / __| (_)  / __|  / _ \                           
                         | (__  \__ \  _  | (_ | | (_) |                          
                          \___| |___/ (_)  \___|  \___/                           
                                                                                  
                                           __   _                               
                        __   ___   _ _    / _| (_)  __ _                        
                       / _| / _ \ | ' \  |  _| | | / _` |                       
                       \__| \___/ |_||_| |_|   |_| \__, |                       
                                                    |___/                        

You need a monospaced font to show this config correctly. If you you use windows choose: "Consolas".
Disable line breaks in your editor.
I highly recommend using an editor which supports text highlighting.
Notepad++ text highlight for CSGO .cfg files can be found here: https://github.com/k3nnyfr/csgo#csgo-npp-language
I am using Sublime Text with: github.com/aronj/CFGGameConfigurationSyntax

Be careful when first using this conifg, read through it, disable/enable or change what you don't like.
The config might do lots of unexpected stuff to your game.
Don't use it if you're not willing to read through it. Otherwise it might ruin the game for you!

I consider this config to still be in beta:
I did some testing, but I couldn't be bothered to try all combinations, etc.
Please let me know if anything is not working or missing. (via github)
The preconfigured version is optimized for a german keyboard layout - unfortunately valve doesn't make an international layout easy for me. (check: redd.it/3f826h)

The conifg is split up and all custiomization can be achieved by editing files in this folder: ...\Counter-Strike Global Offensive\csgo\cfg\customize\

(for me: \Steam\SteamApps\common\Counter-Strike Global Offensive\csgo\cfg\customize\)

When you first install it please follow the next few steps.
They are here to make future updates of this config easy and painless. (Without compromising your changes)

  1. Backup your: autoexec.cfg, crosshair, radar, viewmodel if you changed any of this.

  2. Copy the "cfg" directory to the following directory:
    ...\Counter-Strike Global Offensive\csgo\
    (for me: \Steam\SteamApps\common\Counter-Strike Global Offensive\csgo\)

  3. If you want hidden radio commands (radio menu) copy the "resource" directory to the following directory:
    ...\Counter-Strike Global Offensive\csgo\
    (check: steamcommunity.com/sharedfiles/filedetails/?id=187002729)

  4. Make sure that the following file is not write protected:
    ...\Counter-Strike Global Offensive\csgo\cfg\config.cfg

  5. Copy all files from:
    ...\Counter-Strike Global Offensive\csgo\cfg\customize\simple\
    or if you want to use the preconfigured version from:
    (Be careful with this one! It is ment to be an example.)
    ...\Counter-Strike Global Offensive\csgo\cfg\customize\preconfigured_german\
    to:
    ...\Counter-Strike Global Offensive\csgo\cfg\customize\

  6. Customize the config to your needs.
    You can accomplish this by editing the files in the the folder:
    ...\Counter-Strike Global Offensive\csgo\cfg\customize\
    After you are done backup this folder.

If you want to update just follow steps 2 to 4
If you want to reinstall just follow steps 2 to 4 then copy your backed up customize folder to:
...\Counter-Strike Global Offensive\csgo\cfg\customize\

For a simple start use the simle folder in step 5. You will only have to edit the level1 files in:
...\Counter-Strike Global Offensive\csgo\cfg\customize\
Type helpresources in game console to get help.
You will only have level1 features at your disposal, but you can enable higher levels in: level1_configsettings.cfg

The most important config files are:

  • level1_bindstatic.cfg - Put your static (normal) binds here.
  • level1_configsettings.cfg - Setting related to this config can be changed in here.
  • level1_gamesettings.cfg - Here you put all the stuff that normally would be in the autoexec.cfg It's important to do this to be able to update/backup easily.

For the rest check out the files in the preconfigured folder, they are commented: ...\Counter-Strike Global Offensive\csgo\cfg\customize\preconfigured_german\

Modes (mode_default; mode_demo; mode_training) are ment to change your configuration (especially binds) optimized for the different ways you use the game (normal play, overwatch/demo, training)
Dynamic binds are there to allow you multiple uses of one key. (As long as a modifier key (for me: ALT) is pressed key binds will change to something else.
Variable binds are there to toggle the bind of one key to something else with another key.
Static binds are the "normal" binds one key performs one (or multiple) actions.


There are different levels of configuration:

  • level1 - game setting, config settings, static key binds
  • level2 - advanced game settings (crosshair, radar, viewmodel)
  • level3 - dynamic key binds
  • level4 - low level config changes (radar zoom, crosshair nade)
  • level5 - high level conifg changes

mode_[?] config files

  • levelA - mode_[?] static key binds
  • levelB - mode_[?] dynamic key binds
  • levelC - mode_[?] configuration

To explain how the dynamic binds and the mode_[?] system in this config works I made this diagram:

  ╔═════════════╗                                                                                               
  ║ Start CS:GO ║▒                                                                                              
  ╚══╤══════════╝▒                                                                                              
   ▒▒│▒▒▒▒▒▒▒▒▒▒▒▒                                                                                              
     └┐                                                                                                         
    ┌─┴────────────┐                                                                                            
    │ autoexec.cfg │                                                                                            
    └───┬──────────┘                                                                                            
      ┌─┴──────────────────────────────┐                                                                        
      │ balefire/resources.cfg         │                                                                        
      └───┬────────────────────────────┘                                                                        
        ┌─┴───────────────────────────────────┐                                                                   
        │ customize/level5_resources.cfg      │                                                                        
        │ customize/level1_configsettings.cfg │                                                                   
        │ customize/level1_gamesettings.cfg   │                                                                   
        └─┬───────────────────────────────────┘                                                                   
      ┌───┘             ╔══════════════╗  ┌───────────────────────────────────┐                                 
      │               ┌─╢ ALT pressed  ╟──┤ customize/level3_+binddynamic.cfg │                                 
    ╔═╧════════════╗  │ ║(+binddynamic)║  └───────────────────────────────────┘                                 
    ║ mode_default ╟──┤ ╚══════════════╝                                                                        
    ╚═╦════════════╝  │ ╔══════════════╗  ┌────────────────────────────────────┐                                
      ║               └─╢ ALT released ╟──┤ customize/level3_-bindsdynamic.cfg │                                
      ║                 ║(-binddynamic)║  └────────────────────────────────────┘                                
      ╠═╤═══╗           ╚══════════════╝                                                                        
      ║ │ ┌─╨────────────────────────────────────────┐                                                          
      ║ │ │ customize/levelC_mode_demo_on.cfg        │                                                          
      ║ │ │ customize/levelA_demo_bindstatic_add.cfg │                                                          
      ║ │ └─┬────────────────────────────────────────┘                                                          
      ║ │   │              ╔══════════════╗  ┌─────────────────────────────────────────────┐                    
      ║ │   │            ┌─╢ ALT pressed  ╟──┤ customize/level3_+binddynamic.cfg           │                    
      ║ │ ╔═╧═════════╗  │ ║(+binddynamic)║  │ customize/levelB_demo_binddynamic_add_+.cfg │                    
      ║ │ ║ mode_demo ╟──┤ ╚══════════════╝  └─────────────────────────────────────────────┘                    
      ║ │ ╚═╤═════════╝  │ ╔══════════════╗  ┌─────────────────────────────────────────────┐                    
      ║ │   │            └─╢ ALT released ╟──┤ customize/level3_-bindsdynamic.cfg          │                    
      ║ │   │              ║(-binddynamic)║  │ customize/levelB_demo_binddynamic_add_-.cfg │                    
      ║ │   │              ╚══════════════╝  └─────────────────────────────────────────────┘                    
      ║ │ ┌─┴──────────────────────────────────┐                                                                
      ║ │ │ customize/levelC_mode_demo_off.cfg │                                                                
      ║ │ │ customize/level1_bindstatic.cfg    │                                                                
      ║ │ └─┬──────────────────────────────────┘                                                                
      ║ └─<─┘                                                                                                   
      ║                                                                                                         
      ╚═╤═══╗                                                                                                   
        │ ┌─╨────────────────────────────────────────────┐                                                      
        │ │ customize/levelC_mode_training_on.cfg        │                                                      
        │ │ customize/levelA_training_bindstatic_add.cfg │                                                      
        │ └─┬────────────────────────────────────────────┘                                                      
        │   │                  ╔══════════════╗  ┌─────────────────────────────────────────────────┐            
        │   │                ┌─╢ ALT pressed  ╟──┤ customize/level3_+binddynamic.cfg               │            
        │ ╔═╧═════════════╗  │ ║(+binddynamic)║  │ customize/levelB_training_binddynamic_add_+.cfg │            
        │ ║ mode_training ╟──┤ ╚══════════════╝  └─────────────────────────────────────────────────┘            
        │ ╚═╤═════════════╝  │ ╔══════════════╗  ┌─────────────────────────────────────────────────┐            
        │   │                └─╢ ALT released ╟──┤ customize/level3_-bindsdynamic.cfg              │            
        │   │                  ║(-binddynamic)║  │ customize/levelB_training_binddynamic_add_-.cfg │            
        │   │                  ╚══════════════╝  └─────────────────────────────────────────────────┘            
        │ ┌─┴──────────────────────────────────────┐                                                            
        │ │ customize/levelC_mode_training_off.cfg │                                                            
        │ │ customize/level1_bindstatic.cfg        │                                                            
        │ └─┬──────────────────────────────────────┘                                                            
        └─<─┘                                                                                                   

##Contact: github: github.com/SirBalefire/cs-go-config

steam: https://steamcommunity.com/id/balefire/

##Credits:
bitbucket.org/DonSanchez/dons-l4d2-autoexec cs.ingame.de/counter-strike-uebersicht/counter-strike-global-offensive/csgo-skill-groups
csgo.gamebanana.com/scripts
csgohelp.com/aliases-toggles-binds
^use: web.archive.org/web/20150315004502/http://csgohelp.com/aliases-toggles-binds
en.wikipedia.org/wiki/Box-drawing_character
steamcommunity.com/sharedfiles/filedetails/?id=187002729
patorjk.com/software/taag
twowordbird.com/articles/csgo-console-commands-variable-reference
wiki.multiplay.co.uk/CSGO/Bot_Commands
www.gamerconfig.eu/commands/counter-strike-global-offensive
www.nmlgaming.co.uk/index.php/updates/59-autoexec-help.html

I'm sorry that these are incomplete! - When I started this config it was 3 Lines long ;)