Counter-Strike: Global Offensive/Game Modes: Difference between revisions
(Added missing map command parameters. Added 'Map default' row. Added icons, if existent.) |
(Game Mode Flags. Adjusted introduction. Internal game mode names. Reworded Skirmish Modes text, especially using "War Games". ".cfg" -> "CFG") |
||
Line 5: | Line 5: | ||
== Loading a Map == | == Loading a Map == | ||
To launch a map with a desired game mode, | To launch a map with a desired game mode, adjust the [[ConVar]]s | ||
*<code>'''game_type'''</code>, | |||
*<code>'''game_mode'''</code>, | |||
*<code>'''sv_game_mode_flags'''</code> and | |||
*<code>'''sv_skirmish_id'''</code> | |||
according to the tables below and load a map by using the <code>[[Map (ConCommand)|map]] <mapname></code> or {{ent|changelevel|<mapname>}} console command. | |||
When loading a map, the game will... | When loading a map, the game will... | ||
# set the [[ | # set the [[CS:GO_Custom_Game_Mode#Whitelisting|whitelisted ConVars]] (the ones listed in <code>csgo/bspconvar_whitelist.txt</code>) to their default value, | ||
# execute the [[ | # execute the [[CFG]] files associated with the current values of <code>game_type</code> and <code>game_mode</code> (defined in <code>csgo/[[gamemodes.txt]]</code> and <code>csgo/gamemodes_server.txt</code>), | ||
# execute the | # execute the CFG file associated with the current value of <code>sv_game_mode_flags</code>, see [[#Game Mode Flags|below]], and | ||
# execute the CFG file associated with the current value of <code>sv_skirmish_id</code> (defined in <code>csgo/scripts/items/items_game.txt</code> under <code>skirmish_modes</code>), see [[#Skirmish Modes|below]]. | |||
If these | If these four ConVars are not set before loading a map, the map launches in the last game mode played. Their initial value is 0 (Casual). | ||
{{Tip | The <code>map</code> and <code>changelevel</code> commands have an optional <code><gamemode></code> parameter. Example: <code>map de_dust2 deathmatch</code> or <code>changelevel myCustomMap coop</code>. If such a <code>gamemode</code> parameter is given and if it is valid, the game will adjust <code>game_type</code> and <code>game_mode</code> and launch the map with the associated game mode. See the ''map command optional parameter'' column in the following big table.}} | {{Tip | The <code>map</code> and <code>changelevel</code> commands have an optional <code><gamemode></code> parameter. Example: <code>map de_dust2 deathmatch</code> or <code>changelevel myCustomMap coop</code>. If such a <code>gamemode</code> parameter is given and if it is valid, the game will adjust <code>game_type</code> and <code>game_mode</code> and launch the map with the associated game mode. See the ''map command optional parameter'' column in the following big table.}} | ||
Line 31: | Line 34: | ||
== Game Type and Game Mode == | == Game Type and Game Mode == | ||
{{Note | Unless you want to use game mode flags, make sure <code>sv_game_mode_flags</code> is (e.g.) 0.}} | |||
{{Note | Unless you want to load a Skirmish Mode, make sure <code>sv_skirmish_id</code> is (e.g.) 0.}} | {{Note | Unless you want to load a Skirmish Mode, make sure <code>sv_skirmish_id</code> is (e.g.) 0.}} | ||
{{Confusion | The [[Setting up 1v1 Warmup Arenas|1v1 warmup arenas]] seen in some Competitive and Wingman maps do '''not''' use an own game mode. If arenas are implemented in a map, warmup arenas can be played by launching the map in Competitive or Wingman and invoking <code>mp_warmup_start</code>.}} | {{Confusion | The [[Setting up 1v1 Warmup Arenas|1v1 warmup arenas]] seen in some Competitive and Wingman maps do '''not''' use an own game mode. If arenas are implemented in a map, warmup arenas can be played by launching the map in Competitive or Wingman and invoking <code>mp_warmup_start</code>.}} | ||
{{Note | The information of these tables can be found in <code>csgo/gamemodes.txt</code>.}} | {{Note | The information of these tables can be found in <code>csgo/[[gamemodes.txt]]</code>.}} | ||
{| class="standard-table" style="text-align: center; margin-left: auto; margin-right: auto;" | {| class="standard-table" style="text-align: center; margin-left: auto; margin-right: auto;" | ||
Line 57: | Line 61: | ||
|- | |- | ||
! Custom !! 3 | ! Custom !! 3 | ||
| [[ | | [[CS:GO Custom Game Mode|Custom]] | ||
|- | |- | ||
! Cooperative !! 4 | ! Cooperative !! 4 | ||
Line 70: | Line 74: | ||
|} | |} | ||
{{minititle|About the following table}} | {{minititle|About the following table}} | ||
{{Note | The | {{Note | The CFG files ending with <code>_offline.cfg</code> are only executed if the server was launched via ''Practice with Bots'' from the main menu. Valve uses them to enable [[bot]]s in offline competitive since bots have been disabled in competitive by default, see {{ent|bot_quota}}.}} | ||
{{Tip | The | {{Tip | The CFG files ending with <code>_server.cfg</code> 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 game mode.}} | ||
{{Note | With no adjustments, [[maxplayers]] is a hard limit for the number of [[player]]s and bots on the server.}} | {{Note | With no adjustments, [[maxplayers]] is a hard limit for the number of [[player]]s and bots on the server.}} | ||
{{Note | {{cpp}} The possible ''map command optional parameters'' can be found in the function <code>GameTypes::GetGameTypeAndModeFromAlias</code> defined in <code>gametypes.cpp</code>.}} | {{Note | {{cpp}} The possible ''map command optional parameters'' can be found in the function <code>GameTypes::GetGameTypeAndModeFromAlias</code> defined in <code>gametypes.cpp</code>.}} | ||
{| class="standard-table mw-collapsible" style="width:100%;" | {| class="standard-table mw-collapsible" style="width:100%;" | ||
! colspan="2"| | ! colspan="2"| Skirmish Mode | ||
! style="width:3em;" | type | ! style="width:3em;" | type | ||
! style="width:3em;" | mode | ! style="width:3em;" | mode | ||
! Internal Name | |||
! style="white-space:nowrap;"| map command<br>optional parameters | ! style="white-space:nowrap;"| map command<br>optional parameters | ||
! [[maxplayers|max-<br>players]] | ! [[maxplayers|max-<br>players]] | ||
! | ! CFG filenames executed, if existent | ||
! Description | ! Description | ||
|- | |- | ||
Line 88: | Line 93: | ||
| style="text-align:center;" | 0 | | style="text-align:center;" | 0 | ||
| style="text-align:center;" | 0 | | style="text-align:center;" | 0 | ||
| <code>casual</code> | |||
| <code>casual</code> | | <code>casual</code> | ||
| 20 | | 20 | ||
Line 97: | Line 103: | ||
| style="text-align:center;" | 0 | | style="text-align:center;" | 0 | ||
| style="text-align:center;" | 1 | | style="text-align:center;" | 1 | ||
| <code>competitive</code> | |||
| <code>competitive, comp</code> | | <code>competitive, comp</code> | ||
| 10 | | 10 | ||
Line 106: | Line 113: | ||
| style="text-align:center;" | 0 | | style="text-align:center;" | 0 | ||
| style="text-align:center;" | 2 | | style="text-align:center;" | 2 | ||
| <code>scrimcomp2v2</code> | |||
| <code>scrimcomp2v2</code> | | <code>scrimcomp2v2</code> | ||
| 4 | | 4 | ||
Line 115: | Line 123: | ||
| style="text-align:center;" | 0 | | style="text-align:center;" | 0 | ||
| style="text-align:center;" | 3 | | style="text-align:center;" | 3 | ||
| <code>scrimcomp5v5</code> | |||
| <code>scrimcomp5v5</code> | | <code>scrimcomp5v5</code> | ||
| 10 | | 10 | ||
Line 124: | Line 133: | ||
| style="text-align:center;" | 1 | | style="text-align:center;" | 1 | ||
| style="text-align:center;" | 0 | | style="text-align:center;" | 0 | ||
| <code>gungameprogressive</code> | |||
| <code>armsrace, arms,<br>gungame, gg,<br>gungameprogressive</code> | | <code>armsrace, arms,<br>gungame, gg,<br>gungameprogressive</code> | ||
| 10 | | 10 | ||
Line 133: | Line 143: | ||
| style="text-align:center;" | 1 | | style="text-align:center;" | 1 | ||
| style="text-align:center;" | 1 | | style="text-align:center;" | 1 | ||
| <code>gungametrbomb</code> | |||
| <code>demolition, demo,<br>gungametrbomb</code> | | <code>demolition, demo,<br>gungametrbomb</code> | ||
| 10 | | 10 | ||
Line 142: | Line 153: | ||
| style="text-align:center;" | 1 | | style="text-align:center;" | 1 | ||
| style="text-align:center;" | 2 | | style="text-align:center;" | 2 | ||
| <code>deathmatch</code> | |||
| <code>deathmatch, dm</code> | | <code>deathmatch, dm</code> | ||
| 16 | | 16 | ||
Line 151: | Line 163: | ||
| style="text-align:center;" | 2 | | style="text-align:center;" | 2 | ||
| style="text-align:center;" | 0 | | style="text-align:center;" | 0 | ||
| <code>training</code> | |||
| <code>training</code> | | <code>training</code> | ||
| 1 | | 1 | ||
Line 157: | Line 170: | ||
|- | |- | ||
| | | | ||
| [[ | | [[CS:GO_Custom_Game_Mode|Custom]] | ||
| style="text-align:center;" | 3 | | style="text-align:center;" | 3 | ||
| style="text-align:center;" | 0 | | style="text-align:center;" | 0 | ||
| <code>custom</code> | |||
| <code>custom</code> | | <code>custom</code> | ||
| 100 | | 100 | ||
| - | | - | ||
| Like Undefined, see below, but if <code>sv_autoexec_mapname_cfg</code> is not <code>0</code> (which however it its default value), the | | Like Undefined, see below, but if <code>sv_autoexec_mapname_cfg</code> is not <code>0</code> (which however it its default value), the CFG file <code>csgo/maps/cfg/<mapname>.cfg</code> is executed with whitelist. | ||
|- | |- | ||
| [[File:Csgo icon guardian.png|32px]] | | [[File:Csgo icon guardian.png|32px]] | ||
Line 169: | Line 183: | ||
| style="text-align:center;" | 4 | | style="text-align:center;" | 4 | ||
| style="text-align:center;" | 0 | | style="text-align:center;" | 0 | ||
| <code>cooperative</code> | |||
| <code>guardian, guard,<br>cooperative</code> | | <code>guardian, guard,<br>cooperative</code> | ||
| 20 | | 20 | ||
Line 178: | Line 193: | ||
| style="text-align:center;" | 4 | | style="text-align:center;" | 4 | ||
| style="text-align:center;" | 1 | | style="text-align:center;" | 1 | ||
| <code>coopmission</code> | |||
| <code>coop, coopstrike,<br>coopmission</code> | | <code>coop, coopstrike,<br>coopmission</code> | ||
| 10 | | 10 | ||
Line 187: | Line 203: | ||
| style="text-align:center;" | 5 | | style="text-align:center;" | 5 | ||
| style="text-align:center;" | 0 | | style="text-align:center;" | 0 | ||
| <code>skirmish</code> | |||
| <code>skirmish</code> | | <code>skirmish</code> | ||
| 12 | | 12 | ||
Line 196: | Line 213: | ||
| style="text-align:center;" | 6 | | style="text-align:center;" | 6 | ||
| style="text-align:center;" | 0 | | style="text-align:center;" | 0 | ||
| <code>survival</code> | |||
| <code>survival</code> | | <code>survival</code> | ||
| 16 | | 16 | ||
Line 204: | Line 222: | ||
| ''Map default'' | | ''Map default'' | ||
| colspan="2" | <center>''see<br>description''</center> | | colspan="2" | <center>''see<br>description''</center> | ||
| - | |||
| <code>default, auto</code> | | <code>default, auto</code> | ||
| ''depends'' | | ''depends'' | ||
| ''depends'' | | ''depends'' | ||
| This is not a game mode itself, rather a "redirect". The game picks <code>game_type</code> and <code>game_mode</code> from the map's <code>default_game_type</code> and <code>default_game_mode</code> values, defined in either <code>[[.kv| | | This is not a game mode itself, rather a "redirect". The game picks <code>game_type</code> and <code>game_mode</code> from the map's <code>default_game_type</code> and <code>default_game_mode</code> values, defined in either <code>csgo/maps/[[.kv|<mapname>.kv]]</code>, <code>csgo/[[gamemodes.txt]]</code> (under <code>maps/<mapname>/</code>) or <code>csgo/gamemodes_server.txt</code>. If they are defined in more than one of these files, the latter of the named files overrides the former. If they are not defined in any of these, the current type and mode are kept. All official maps use this appropriately (just that competitive maps use Casual). | ||
|- | |- | ||
| | | | ||
| ''Undefined'' | | ''Undefined'' | ||
| colspan="2" | <center>''none of<br>the above''</center> | | colspan="2" | <center>''none of<br>the above''</center> | ||
| - | |||
| - | | - | ||
| ? | | ? | ||
| - | | - | ||
| No | | No CFG file is executed, only the [[CS:GO_Custom_Game_Mode#Whitelisting|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. <code>mp_roundtime</code> is also set to 5 minutes. | ||
|} | |||
== Game Mode Flags == | |||
The [[ConVar]] <code>'''sv_game_mode_flags'''</code> is used for game mode variations. It can determine more [[CFG]] files that will be executed after the game mode CFG files when a map is launched. | |||
Its value is read bitwise, meaning that adding values of the following table together results in all associated CFG files to be executed. | |||
{| class=standard-table | |||
|+ <code>sv_game_mode_flags</code> | |||
! Value !! CFG file executed, if existent | |||
|- | |||
| 4 || <code>gamemode_<internal game mode name>_tmm.cfg</code> | |||
|- | |||
| 32 || <code>gamemode_<internal game mode name>_short.cfg</code> | |||
|} | |} | ||
{{note|This works for all game modes except Custom.}} | |||
{{note|A <code>_short</code> CFG is executed before a <code>_tmm</code> CFG.}} | |||
Example: | |||
* If set to 32 and a map is launched in Wingman, it will cause the execution of the CFG file <code>gamemode_scrimcomp2v2_short.cfg</code>. | |||
* If set to 36 and a map is launched in Wingman, it will cause the execution of the CFG files <code>gamemode_scrimcomp2v2_short.cfg</code> and <code>gamemode_scrimcomp2v2_tmm.cfg</code>, in this order. | |||
Valve currently uses this to implement game mode variations without touching <code>sv_skirmish_id</code>. | |||
{| class=standard-table | |||
|+ Current usage of Game Mode Flags | |||
!rowspan="2" colspan="2"| Game Mode | |||
!rowspan="2"| Flags Usage | |||
!colspan="3"| Flags Value | |||
|- | |||
! 0 | |||
! 4 | |||
! 32 | |||
|- | |||
| [[File:Csgo icon competitive.png|32px]] | |||
| Competitive | |||
| match length | |||
| ''default'' | |||
| Short Match | |||
| | |||
|- | |||
| [[File:Csgo icon deathmatch.png|32px]] | |||
| Deathmatch | |||
| style | |||
| ''default'' | |||
| Team vs Team | |||
| Free For All | |||
|} | |||
Exmaple: To play Team vs Team, invoke <code>game_type 1; game_mode 2; sv_game_mode_flags 4; map <mapname></code>, or shorter: <code>sv_game_mode_flags 4; map <mapname> dm</code>. | |||
== Skirmish Modes == | == Skirmish Modes == | ||
'''War Games''' are game mode variations. | |||
To play one of the following game modes, type <code>sv_skirmish_id <number></code> in the console and launch a map with | The [[ConVar]] <code>'''sv_skirmish_id'''</code> determines the War Game that a map will be launched in. Each War Game can have [[CFG]] files associated to it that are executed if a map is launched in that War Game, namely if <code>sv_skirmish_id</code> is set to the ID of that War Game. These CFG files contain only few commands and are executed after the CFG files of a game mode and after the CFG files of the game mode flags. They can be loaded in any game mode, but the intended game mode of a skirimsh CFG file (the ones in the table below) can be found in <code>csgo/scripts/items/items_game.txt</code> and also in the CFG file itself. | ||
To play one of the following game modes, type <code>sv_skirmish_id <number></code> in the console and launch a map with the intended game mode, see above. | |||
<br> | <br> | ||
Alternatively, | Alternatively, one could also do <code>exec <cfg filename></code> and <code>mp_restartgame 1</code> in-game or even write own [[CFG|configs]] for that matter. | ||
To return to a "pure" game mode found in the above table, set <code>sv_skirmish_id</code> to a value that is '''not''' in the following table (intuitively 0), so the game will not load any additional | To return to a "pure" game mode found in the above table, set <code>sv_skirmish_id</code> to a value that is '''not''' in the following table (intuitively 0), so the game will not load any additional CFG files to a game mode. | ||
Example: | Example: | ||
Line 234: | Line 304: | ||
* To launch Competitive on <code>de_dust2</code> after having played a skirmish mode, enter <code>sv_skirmish_id 0</code> and <code>map de_dust2 comp</code>. This is equivalent to <code>sv_skirmish_id 0; game_type 0; game_mode 1; map de_dust2</code>. | * To launch Competitive on <code>de_dust2</code> after having played a skirmish mode, enter <code>sv_skirmish_id 0</code> and <code>map de_dust2 comp</code>. This is equivalent to <code>sv_skirmish_id 0; game_type 0; game_mode 1; map de_dust2</code>. | ||
{{note | The skirmish IDs | {{note | The skirmish IDs 5 and 9 are undefined. However, there are CFG files in <code>csgo/cfg/</code> that have no associated skirmish ID. They are mentioned at the end of the following table.}} | ||
{{note | The information of this table can be found in <code>csgo/scripts/items/items_game.txt</code> under <code>skirmish_modes</code>.}} | {{note | The information of this table can be found in <code>csgo/scripts/items/items_game.txt</code> under <code>skirmish_modes</code>.}} | ||
{| class="standard-table mw-collapsible" style="width:100%;" | {| class="standard-table mw-collapsible" style="width:100%;" | ||
! colspan="2"| Game | !style="white-space:nowrap;" colspan="2"| War Game | ||
! sv_skirmish_id | ! sv_skirmish_id | ||
! Intended | ! Intended Game Mode | ||
! | ! CFG filenames executed with whitelist | ||
! Description | ! Description | ||
|- | |- | ||
Line 251: | Line 321: | ||
| op08_stab_stab_zap.cfg | | op08_stab_stab_zap.cfg | ||
| Only [[weapon_knife|knives]] and recharging [[weapon_taser|taser]]. | | Only [[weapon_knife|knives]] and recharging [[weapon_taser|taser]]. | ||
|- | |||
| | |||
| Free For All | |||
| 2 | |||
| Deathmatch | |||
| gamemode_dm_freeforall.cfg | |||
| Like Deathmatch, but teammates are enemies. {{note|The official FFA Deathmatch mode is not this skirmish mode, see Game Mode Flags.}} | |||
|- | |- | ||
| [[File:Csgo icon skirmish flyingscoutsman.png|32px]] | | [[File:Csgo icon skirmish flyingscoutsman.png|32px]] | ||
Line 281: | Line 358: | ||
|- | |- | ||
| | | | ||
| Heavy Assault Suit | |style="white-space:nowrap;"| Heavy Assault Suit | ||
| 8 | | 8 | ||
| Casual | | Casual | ||
Line 302: | Line 379: | ||
|- | |- | ||
| [[File:Csgo icon skirmish retakes.png|32px]] | | [[File:Csgo icon skirmish retakes.png|32px]] | ||
| [[ | | [[CS:GO_Game_Mode_-_Retakes|Retakes]] | ||
| 12 | | 12 | ||
| Casual | | Casual | ||
Line 327: | Line 404: | ||
| Deathmatch | | Deathmatch | ||
| op08_team_deathmatch.cfg | | op08_team_deathmatch.cfg | ||
| Killing enemies is worth team victory points, killing enemies with the Deathmatch [[CS:GO Gamemodes: Deathmatch#Bonus Weapon|bonus weapon]] awards additional victory points. The team with the most victory points at the end of the time limit wins. | | Killing enemies is worth team victory points, killing enemies with the Deathmatch [[CS:GO Gamemodes: Deathmatch#Bonus Weapon|bonus weapon]] awards additional victory points. The team with the most victory points at the end of the time limit wins. {{note|The official Team Deathmatch mode is not this skirmish mode, see Game Mode Flags.}} | ||
|} | |} | ||
Revision as of 15:11, 24 September 2021
Here are tables of the game modes and the console commands to launch them in Template:Game name.
Loading a Map
To launch a map with a desired game mode, adjust the ConVars
game_type
,game_mode
,sv_game_mode_flags
andsv_skirmish_id
according to the tables below and load a map by using the map <mapname>
or changelevel <mapname> console command.
When loading a map, the game will...
- set the whitelisted ConVars (the ones listed in
csgo/bspconvar_whitelist.txt
) to their default value, - execute the CFG files associated with the current values of
game_type
andgame_mode
(defined incsgo/gamemodes.txt
andcsgo/gamemodes_server.txt
), - execute the CFG file associated with the current value of
sv_game_mode_flags
, see below, and - execute the CFG file associated with the current value of
sv_skirmish_id
(defined incsgo/scripts/items/items_game.txt
underskirmish_modes
), see below.
If these four ConVars are not set before loading a map, the map launches in the last game mode played. Their initial value is 0 (Casual).

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 game mode. See the map command optional parameter column in the following big table.
map <mapname> default
or map <mapname> auto
. See the big table below.
+game_type <number> +game_mode <number> +map <mapname>

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 game mode.
competitive
, as this causes them to stop.

gamemode_competitive_server.cfg
(see below) to automatically set bot_quota
and bot_quota_mode
to have bots on your local server whenever you load a map in Competitive.Game Type and Game Mode

sv_game_mode_flags
is (e.g.) 0.
sv_skirmish_id
is (e.g.) 0.
mp_warmup_start
.
csgo/gamemodes.txt
.Game Type | Game Mode | ||||
---|---|---|---|---|---|
0 | 1 | 2 | 3 | ||
Classic | 0 | ![]() |
![]() |
![]() |
Weapon Expert |
Gun Game | 1 | ![]() |
![]() |
![]() | |
Training | 2 | ![]() | |||
Custom | 3 | Custom | |||
Cooperative | 4 | ![]() |
![]() | ||
Skirmish | 5 | ![]() | |||
Free For All | 6 | ![]() |
About the following table:

_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.
_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 game mode.


GameTypes::GetGameTypeAndModeFromAlias
defined in gametypes.cpp
.Skirmish Mode | type | mode | Internal Name | map command optional parameters |
max- players |
CFG filenames executed, if existent | Description | |
---|---|---|---|---|---|---|---|---|
![]() |
Casual (default) | 0 | 0 | casual
|
casual
|
20 | gamemode_casual.cfg, gamemode_casual_server.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 | 0 | 1 | competitive
|
competitive, comp
|
10 | gamemode_competitive.cfg, gamemode_competitive_offline.cfg (!) gamemode_competitive_server.cfg |
The classic game mode, 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
|
scrimcomp2v2
|
4 | gamemode_competitive2v2.cfg, gamemode_competitive2v2_offline.cfg (!) gamemode_competitive2v2_server.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
|
scrimcomp5v5
|
10 | gamemode_competitive.cfg, gamemode_competitive_offline.cfg (!) op08_weapons_expert.cfg, gamemode_competitive_server.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 | gungameprogressive
|
armsrace, arms,
|
10 | gamemode_armsrace.cfg, gamemode_armsrace_server.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 | gungametrbomb
|
demolition, demo,
|
10 | gamemode_demolition.cfg, gamemode_demolition_server.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
|
deathmatch, dm
|
16 | gamemode_deathmatch.cfg, gamemode_deathmatch_server.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
|
training
|
1 | gamemode_training.cfg, gamemode_training_server.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
|
custom
|
100 | - | 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 | cooperative
|
guardian, guard,
|
20 | gamemode_competitive.cfg, gamemode_cooperative.cfg, gamemode_cooperative_server.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 | coopmission
|
coop, coopstrike,
|
10 | gamemode_competitive.cfg, gamemode_coopmission.cfg, gamemode_coopmission_server.cfg |
Usually a custom mission for two human players on a custom map that is designed primarily for this mode. |
![]() |
Skirmish | 5 | 0 | skirmish
|
skirmish
|
12 | - | Like Undefined, see below. |
![]() |
Danger Zone | 6 | 0 | survival
|
survival
|
16 | gamemode_survival.cfg, gamemode_survival_server.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. |
Map default | description |
- | default, auto
|
depends | depends | This is not a game mode itself, rather a "redirect". The game picks game_type and game_mode from the map's default_game_type and default_game_mode values, defined in either csgo/maps/<mapname>.kv , csgo/gamemodes.txt (under maps/<mapname>/ ) or csgo/gamemodes_server.txt . If they are defined in more than one of these files, the latter of the named files overrides the former. If they are not defined in any of these, the current type and mode are kept. All official maps use this appropriately (just that competitive maps use Casual).
| ||
Undefined | 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.
|
Game Mode Flags
The ConVar sv_game_mode_flags
is used for game mode variations. It can determine more CFG files that will be executed after the game mode CFG files when a map is launched.
Its value is read bitwise, meaning that adding values of the following table together results in all associated CFG files to be executed.
Value | CFG file executed, if existent |
---|---|
4 | gamemode_<internal game mode name>_tmm.cfg
|
32 | gamemode_<internal game mode name>_short.cfg
|


_short
CFG is executed before a _tmm
CFG.Example:
- If set to 32 and a map is launched in Wingman, it will cause the execution of the CFG file
gamemode_scrimcomp2v2_short.cfg
. - If set to 36 and a map is launched in Wingman, it will cause the execution of the CFG files
gamemode_scrimcomp2v2_short.cfg
andgamemode_scrimcomp2v2_tmm.cfg
, in this order.
Valve currently uses this to implement game mode variations without touching sv_skirmish_id
.
Game Mode | Flags Usage | Flags Value | |||
---|---|---|---|---|---|
0 | 4 | 32 | |||
![]() |
Competitive | match length | default | Short Match | |
![]() |
Deathmatch | style | default | Team vs Team | Free For All |
Exmaple: To play Team vs Team, invoke game_type 1; game_mode 2; sv_game_mode_flags 4; map <mapname>
, or shorter: sv_game_mode_flags 4; map <mapname> dm
.
Skirmish Modes
War Games are game mode variations.
The ConVar sv_skirmish_id
determines the War Game that a map will be launched in. Each War Game can have CFG files associated to it that are executed if a map is launched in that War Game, namely if sv_skirmish_id
is set to the ID of that War Game. These CFG files contain only few commands and are executed after the CFG files of a game mode and after the CFG files of the game mode flags. They can be loaded in any game mode, but the intended game mode of a skirimsh CFG file (the ones in the table below) can be found in csgo/scripts/items/items_game.txt
and also in the CFG file itself.
To play one of the following game modes, type sv_skirmish_id <number>
in the console and launch a map with the intended game mode, see above.
Alternatively, one could also do exec <cfg filename>
and mp_restartgame 1
in-game or even write own configs for that matter.
To return to a "pure" game mode found in the above table, set sv_skirmish_id
to a value that is not in the following table (intuitively 0), so the game will not load any additional CFG files to a game mode.
Example:
- To launch Stab Stab Zap on
de_dust2
, entersv_skirmish_id 1
andmap de_dust2 casual
. This is equivalent tosv_skirmish_id 1; game_type 0; game_mode 0; map de_dust2
. - To launch Competitive on
de_dust2
after having played a skirmish mode, entersv_skirmish_id 0
andmap de_dust2 comp
. This is equivalent tosv_skirmish_id 0; game_type 0; game_mode 1; map de_dust2
.

csgo/cfg/
that have no associated skirmish ID. They are mentioned at the end of the following table.
csgo/scripts/items/items_game.txt
under skirmish_modes
.War Game | sv_skirmish_id | Intended Game Mode | CFG filenames executed with whitelist | Description | |
---|---|---|---|---|---|
Stab Stab Zap | 1 | Casual | op08_stab_stab_zap.cfg | Only knives and recharging taser. | |
Free For All | 2 | Deathmatch | gamemode_dm_freeforall.cfg | Like Deathmatch, but teammates are enemies. ![]() | |
![]() |
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. ![]() 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. ![]() |
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. ![]() |
Game Mode dependent Events
local nMode = ScriptGetGameMode();
local nType = ScriptGetGameType();
if (nType == 0 && nMode == 2)
{
// code executed only in Wingman
}
else
{
// code executed only in any other game mode
}
|
There are the specific VScript functions
ScriptGetGameType()
and ScriptGetGameMode()
which return the current integer value of game_type
and game_mode
.

sv_skirmish_id
.These allow VScript structures such as the one on the right. With this concept, one can manipulate gameplay depending on the current game mode, which is a really powerful tool to make other game modes such as Co-op Strike work.
