CS:GO Game Mode Commands

From Valve Developer Community
Revision as of 21:05, 20 April 2021 by Popcorn (talk | contribs) (Corrected Custom and Undefined description, adjusted introduction)
Jump to: navigation, search

Counter-Strike: Global Offensive Level Creation

Here are tables of the gamemodes and the console commands to launch them in Counter-Strike: Global Offensive Counter-Strike: Global Offensive.

To launch a map with a desired gamemode, adjust the values of game_type, game_mode and sv_skirmish_id according to the tables below. After that, load a map by using the map <mapname> or changelevel <mapname> console command.

When a map is loaded with the map or changelevel command, the game will

  1. set the whitelisted ConVars (the ones listed in csgo/bspconvar_whitelist.txt) to their default value,
  2. execute the .cfg files associated with the current values of game_type and game_mode,
  3. execute the .cfg file associated with the current values of sv_skirmish_id.

If these values are not set before loading a map, it results in the last gamemode played. The initial values of game_type, game_mode and sv_skirmish_id are 0 (Casual).

Tip.png Tip:  The map and changelevel commands have an optional <gamemode> parameter. Example: map de_dust2 deathmatch or changelevel myCustomMap coop. If such a gamemode parameter is given and if it is valid, the game will adjust game_type and game_mode and launch the map with the associated gamemode.
Tip.png Tip:  Set Launch Options can be used, e.g: +game_type <number> +game_mode <number> +map <mapname>
Tip.png Tip:  You can define aliases to make frequent testing easier, for example alias MyMapRetake "game_type 0; game_mode 0; sv_skirmish_id 12; map MyMap". Best used in autoexecs which allows to quickly launch and test custom maps in the right gamemode.
Note.png Note:  If you want to run a map in a Classic gamemode with bots, make sure bot_quota_mode is not set to competitive, as this causes them to stop.
Idea: You can create and use gamemode_competitive_server.cfg (see below) wisely to automatically have bots on your local server whenever you load a map in Competitive.

Game Type and Game Mode

Note.png Note:  Unless you want to load a Skirmish Mode, make sure sv_skirmish_id is (e.g.) 0.
Note.png Note:  The information of these tables can be found in csgo/gamemodes.txt.
Defined pairs of values for game_type and game_mode
Game Type Game Mode
0 1 2 3
Classic 0 Casual Competitive Wingman Weapon Expert
Gun Game 1 Armsrace Demolition Deathmatch
Training 2 Training
Custom 3 Custom
Cooperative 4 Guardian Co-op Strike
Skirmish 5 Skirmish
Free For All 6 Danger Zone
Note.png Note:  The .cfg files ending with _offline.cfg are only executed if the server was launched via Practice with Bots from the main menu. Valve uses them to enable bots in offline competitive since bots have been disabled in competitive by default, see bot_quota.
Tip.png Tip:  The .cfg files ending with _server.cfg don't exist locally by default. You can create them and write commands into them that will be executed every time you locally launch the corresponding gamemode.
Game Mode type mode map command optional parameter .cfg filenames executed, if existent Description
Casual (default) 0 0 casual gamemode_casual.cfg,
Like Competitive but with fewer rounds, shorter freezetime per round, no friendly fire, no team collision, free armor and free defuse kit/cutters.
Competitive / Scrimmage 0 1 competitive gamemode_competitive.cfg,
gamemode_competitive_offline.cfg (!)
The classic gamemode, usually made for 5v5. Best of 30 rounds, teams are switched at halftime, friendly fire is on. Round-ending objectives are elimination, bomb explosion, bomb defusal, hostage rescue and timeout.
Wingman 0 2 scrimcomp2v2 gamemode_competitive2v2.cfg,
gamemode_competitive2v2_offline.cfg (!)
Like Competitive, but adjusted for 2v2 and for a smaller map or a map section. Best of 16 rounds. Also, each round is shorter.
Weapon Expert 0 3 scrimcomp5v5 gamemode_competitive.cfg,
gamemode_competitive_offline.cfg (!)
Like Competitive but every player can buy each weapon at most once per match. The freezetime is a bit longer.
Arms Race 1 0 armsrace, gungameprogressive gamemode_armsrace.cfg,
The game is one perpetual round where killed players respawn at the default spawns. A weapon progression (a number of guns and their order) is defined where players win by making a specified number of kills with each of these weapons.
Demolition 1 1 demolition, gungametrbomb gamemode_demolition.cfg,
A mixture of Casual with Armsrace. Best of 20 rounds. Each player is given a fixed weapon for each round, depending on his individual progress. Each player can progress one gun per round by making at least one kill.
Deathmatch 1 2 deathmatch gamemode_deathmatch.cfg,
Like Armsrace but with free weapon choice and respawns across the map. Kills grant points, depending on the weapon type and if it is currently the bonus weapon. A player wins by scoring the highest after the round's time limit.
Training 2 0 training gamemode_training.cfg,
Assigns clients to CT with no weapon. No round limit, no time limit, no freezetime, minimal HUD. Good for singleplayer maps, used on CS:GO's Training Course.
Custom 3 0 custom - Like Undefined, see below, but if sv_autoexec_mapname_cfg is not 0 (which however it its default value), the .cfg file csgo/maps/cfg/<mapname>.cfg is executed with whitelist.
Guardian 4 0 guardian, cooperative gamemode_competitive.cfg,
Two human players must defend a bombsite as CT or hostages as T against rushing bots. Maps must support this mode to work as intended.
Co-op Strike 4 1 coop, coopstrike, coopmission gamemode_competitive.cfg,
Usually a custom mission for two human players on a custom map that is designed primarily for this mode.
Skirmish 5 0 skirmish - Like Undefined, see below.
Danger Zone 6 0 survival gamemode_survival.cfg,
A Battle Royale mode for big maps where players win by being the last man (or team) standing. Maps must be designed for this mode to work as intended.
none of
the above
- - No .cfg file is executed, only the whitelisted ConVars are set to their default value. By default this results in game rules like Casual but with no round limit, instead with a time limit of 5 minutes for the game and map. mp_roundtime is also set to 5 minutes.

Skirmish Modes

If sv_skirmish_id is set to a value that can be found in the following table, it will load an additional .cfg file associated to the ID. These .cfg files are supposed to be loaded to a specific base gamemode, which is mentioned as a comment in their first lines as well as in csgo/scripts/items/items_game.txt. Anyway, it is possible to use any base gamemode.

To play one of the following game modes, type sv_skirmish_id <number> in the console and launch a map with a base gamemode, see above.
Alternatively, it is possible in-game to execute the corresponding .cfg files manually and restarting the game using exec <cfg filename> and mp_restartgame 1. Incidentally, one could of course write/modify such configs himself.
To return to a "pure" gamemode from the above table, use a skirmish ID that is not on this table (intuitively 0), so the game will not load any additional .cfg files to a gamemode.


  • To launch Stab Stab Zap on de_dust2, enter sv_skirmish_id 1 and map de_dust2 casual. This is equivalent to the commands sv_skirmish_id 1, game_type 0, game_mode 0 and map de_dust2.
  • To launch Competitive on de_dust2 after having played a skirmish mode, enter sv_skirmish_id 0 and map de_dust2 competitive. This is equivalent to the commands sv_skirmish_id 0, game_type 0, game_mode 1 and map de_dust2.
Note.png Note:  The skirmish IDs 2, 5 and 9 are undefined. However, there are .cfg files in cfg/ that have no associated skirmish ID. They are mentioned at the end of the following table. They probably were the modes for the skirmish IDs 2, 5 and 9.
Note.png Note:  The information of this table can be found in csgo/scripts/items/items_game.txt.
Game Mode sv_skirmish_id Intended Base Gamemode .cfg filenames executed Description
Stab Stab Zap 1 Casual op08_stab_stab_zap.cfg Only knives and recharging taser.
Flying Scoutsman 3 Casual op08_flying_scoutsman.cfg Only scouts and knives, low gravity, high precision.
Trigger Discipline 4 Casual op08_trigger_discipline.cfg Gunshots that a player does not hit an enemy with damage himself down to a minimum of 1 HP.
Boom! Headshot! 6 Deathmatch op08_headshots.cfg Helmets are disabled and bodyshots deal no damage, causing a small spark effect instead of blood.
Hunter-Gatherers 7 Deathmatch op08_hunter_gatherers.cfg Team deathmatch with collecting dogtags: Killed enemies will drop dogtags that anyone can pick up. Collecting dogtags from the enemy team awards victory points. Killing enemies with the Deathmatch bonus weapon makes them drop an extra dogtag. The team with the most victory points at the end of the time limit wins.
Heavy Assault Suit 8 Casual op08_heavy_assault_suit.cfg Heavy armor can be purchased for $6000. Deprecated: The item is no longer accessible in the buy menu, but can still be bought with the command buy heavyarmor while not owning a rifle.
Arms Race 10 Arms Race - Equivalent to Arms Race.
Demolition 11 Demolition - Equivalent to Demolition.
Retakes 12 Casual gamemode_retakecasual.cfg Each round, 3 Terrorists spawn on a bomb site with a bomb being planted and 4 CTs spawn at fixed locations around it or on the other bomb spot. Each player can choose a loadout card at round start.
Warning.png Warning:  If there is exactly one bombsite, the game crashes with a probability of 50 %.
Bloodletter - Arms Race op08_bloodletter.cfg Dealing damage heals you 100 % of the damage dealt (max 200). Players take non-lethal damage over time while they are alive.
Bounty Hunter - Deathmatch op08_bounty_hunter.cfg All players are enemies, killed enemies will drop dogtags that anyone can pick up. Killing players awards less points. Collecting dogtags awards additional Deathmatch points.
Team Deathmatch - Deathmatch op08_team_deathmatch.cfg Killing enemies is worth team victory points, killing enemies with the Deathmatch bonus weapon awards additional victory points. The team with the most victory points at the end of the time limit wins.

Gamemode dependent Events

There are the Counter-Strike: Global Offensive specific VScript functions ScriptGetGameType() and ScriptGetGameMode() which return the current integer value of game_type and game_mode.

Note.png Note:  This is independent of the current value of sv_skirmish_id.

These allow VScript structures such as the following.

local nMode = ScriptGetGameMode();
local nType = ScriptGetGameType();

if (nType == 0 && nMode == 2)
  // code executed only in Wingman
  // code executed only in any other gamemode
Idea: When making a map, you can create a VScript exclusively for that map and use this concept to make gamemode dependent changes to: the map, player spawns, gamerules and much more. For example, it is possible to make closed areas on a map, that are opened up only in some gamemodes, such as Deathmatch and Armsrace.