Counter-Strike: Global Offensive/Game Modes/Custom
Every map can be run in the Custom game mode. Possibilities are:
- Run it through the Workshop menus and choose the Custom game mode, if possible.
game_mode 0in the console before loading the map via
map <mapname>. This is equivalent to invoking
map <mapname> custom.
Game Mode Description
This game mode allows map makers to run their map with a bunch of custom settings via a custom config file
It allows to play mode variants like scoutzknivez and aim maps with their unique settings embedded right in the map. So, how many new game modes will Custom support? We don’t know! We can’t wait to see what the community comes up with. We’ve provided some Custom mode examples in the SDK which you can get by clicking here.
When a map is loaded in any game mode, all whitelisted ConVars are set to their default value and are then possibly overwritten by subsequent config executions.
sv_autoexec_mapname_cfg is not
0 while loading a map in the Custom game mode, then the CFG file
csgo/maps/cfg/<mapname>.cfg is executed using
execwithwhitelist, only affecting whitelisted ConVars listed in
Otherwise, the resulting game rules are very similar to Casual but with the noticeable differences
mp_roundtime 5 and
When you upload your map to the workshop, your cfg file will automatically get packed into your bsp file, so don't worry about packing it yourself.[confirm]
- What else can I ship with my BSP?
- Lots of stuff! New textures, new models, new sounds and most importantly (for custom gameplay) you can ship VScript files. If you aren't familiar with VScript files, they are Squirrel language-based scripts that can be run in-game. To learn more about them, see VScript.
- How do I pack additional files in my BSP?
- This is covered on the CS:GO Map Publish Tool page along with what files are automatically packed in the BSP on upload.
Execute CFG files using VScript
nType <- ScriptGetGameType()
nMode <- ScriptGetGameMode()
if (nType == 3 && nMode == 0)
SendToConsole("exec " + GetMapName() + " */maps")
To achieve what this game mode used to be made for, namely the execution of
csgo/maps/cfg/<mapname>.cfg, but without depending on
sv_autoexec_mapname_cfg, we need only one short VScript with the concept named at CS:GO Game Modes#Game Mode dependent Events.
- Create a text file with the content shown on the right. Save it at
csgo/scripts/vscripts/or in a subfolder from there as a
- In Hammer, create a logic_script and add this file to its
- In-game, the script will be executed every time a round starts. If the current game mode is Custom, the script executes the CFG file