CSGO Game Mode Commands: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Added column and note about maxplayers. Added note about 1v1 arenas. Replaced gamemode -> game mode.)
(Moved to get the name right, which misses a colon.)
Tag: New redirect
Line 1: Line 1:
{{DISPLAYTITLE:CS:GO Game Mode Commands}}
#REDIRECT [[CS:GO Game Mode Commands]]
 
{{back | Counter-Strike: Global Offensive Level Creation}}
 
Here are tables of the game modes and the console commands to launch them in {{csgo}} [[Counter-Strike: Global Offensive]].
 
To launch a map with a desired game mode, adjust the values of <code>'''game_type'''</code>, <code>'''game_mode'''</code> and <code>'''sv_skirmish_id'''</code> according to the tables below. '''''After that''''', load a map by using the <code>[[Map (ConCommand)|map]] <mapname></code> or {{ent|changelevel|<mapname>}} console command.
 
When a map is loaded with the <code>[[Map (ConCommand)|map]]</code> or {{ent|changelevel}} command, the game will...
# set the [[CSGO_Custom_Game_Mode#Whitelisting|whitelisted ConVars]] (the ones listed in <code>csgo/bspconvar_whitelist.txt</code>) to their default value,
# execute the [[cfg|.cfg]] files associated with the current values of <code>game_type</code> and <code>game_mode</code>,
# execute the .cfg file associated with the current value of <code>sv_skirmish_id</code>.
 
If these values are not set before loading a map, the map launches in the last game mode played.
The initial values of <code>game_type</code>, <code>game_mode</code> and <code>sv_skirmish_id</code> are 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.}}
 
{{Tip | [[Command Line Options|Set Launch Options]] can be used, e.g: <code>+game_type <number> +game_mode <number> +map <mapname></code>}}
 
{{Tip | You can define [[alias]]es to make frequent testing easier, for example <code>alias MyMapRetake "game_type 0; game_mode 0; sv_skirmish_id 12; map MyMap"</code>. Best used in [[autoexec]]s which allows to quickly launch and test custom maps in the right game mode.}}
 
{{Note | If you want to run a map in a Classic game mode with [[bot]]s, make sure {{ent|bot_quota_mode}} is not set to <code>competitive</code>, as this causes them to stop.
{{Idea | You can create and use <code>gamemode_competitive_server.cfg</code> (see below) wisely to automatically have bots on your local server whenever you load a map in Competitive.}}
}}
 
== Game Type and Game Mode ==
 
{{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>.}}
{{Note | The information of these tables can be found in <code>csgo/gamemodes.txt</code>.}}
 
{| class="standard-table"
|+ Defined pairs of values for <code>game_type</code> and <code>game_mode</code>
!colspan="2" rowspan="2" | Game Type
!colspan="4" | Game Mode
|-
! 0 !! 1 !! 2 !! 3
|-
! Classic !! style="width:3em" | 0
| Casual
| Competitive
| [[Creating_a_Wingman_Map|Wingman]]
| Weapon Expert
|-
! Gun Game !! 1
| [[Creating_a_Arsenal:_Arms_Race_Map|Armsrace]]
| [[Creating_a_Arsenal:_Demolition_Map|Demolition]]
| [[CS:GO_Gamemodes:_Deathmatch|Deathmatch]]
|-
! Training !! 2
| Training
|-
! Custom !! 3
| [[CSGO Custom Game Mode|Custom]]
|-
! Cooperative !! 4
| [[Creating a Guardian Scenario Map|Guardian]]
| [[Creating a Co-op Strike Map|Co-op Strike]]
|-
! Skirmish !! 5
| Skirmish
|-
! Free For All !! 6
| [[Creating_a_Danger_Zone_Map|Danger Zone]]
|}
 
{{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 .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.}}
 
{| class="standard-table"
! Game Mode
! style="width:2.5em;" | type
! style="width:2.5em;" | mode
! style="white-space:nowrap;"| map command<br>optional parameter
! [[maxplayers|max-<br>players]]
! .cfg filenames executed, if existent
! Description
|-
| Casual (default)
| style="text-align:center;" | 0
| style="text-align:center;" | 0
| <code>casual</code>
| 20
| gamemode_casual.cfg, <br> gamemode_casual_server.cfg
| Like Competitive but with fewer rounds, shorter freezetime per round, no friendly fire, no team collision, free [[item_assaultsuit|armor]] and free [[item_defuser|defuse kit]]/[[item_cutters|cutters]].
|-
| Competitive / Scrimmage
| style="text-align:center;" | 0
| style="text-align:center;" | 1
| <code>competitive</code>
| 10
| gamemode_competitive.cfg, <br> gamemode_competitive_offline.cfg&nbsp;(!)<br> 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, [[Creating a Bomb Defusal Map|bomb explosion, bomb defusal]], [[Creating a Hostage Rescue Map|hostage rescue]] and timeout.
|-
| [[Creating_a_Wingman_Map|Wingman]]
| style="text-align:center;" | 0
| style="text-align:center;" | 2
| <code>scrimcomp2v2</code>
| 4
| gamemode_competitive2v2.cfg, <br> gamemode_competitive2v2_offline.cfg&nbsp;(!)<br> 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
| style="text-align:center;" | 0
| style="text-align:center;" | 3
| <code>scrimcomp5v5</code>
| 10
| gamemode_competitive.cfg, <br> gamemode_competitive_offline.cfg&nbsp;(!)<br> op08_weapons_expert.cfg, <br> gamemode_competitive_server.cfg
| Like Competitive but every player can buy each weapon at most once per match. The freezetime is a bit longer.
|-
| [[Creating_a_Arsenal:_Arms_Race_Map|Arms Race]]
| style="text-align:center;" | 1
| style="text-align:center;" | 0
| <code>armsrace, gungameprogressive</code>
| 10
| gamemode_armsrace.cfg, <br> 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.
|-
| [[Creating_a_Arsenal:_Demolition_Map|Demolition]]
| style="text-align:center;" | 1
| style="text-align:center;" | 1
| <code>demolition, gungametrbomb</code>
| 10
| gamemode_demolition.cfg, <br> 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.
|-
| [[CS:GO Gamemodes: Deathmatch|Deathmatch]]
| style="text-align:center;" | 1
| style="text-align:center;" | 2
| <code>deathmatch</code>
| 16
| gamemode_deathmatch.cfg, <br> 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
| style="text-align:center;" | 2
| style="text-align:center;" | 0
| <code>training</code>
| 1
| gamemode_training.cfg, <br> 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.
|-
| [[CSGO_Custom_Game_Mode|Custom]]
| style="text-align:center;" | 3
| style="text-align:center;" | 0
| <code>custom</code>
| 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 .cfg file <code>csgo/maps/cfg/<mapname>.cfg</code> is executed with whitelist.
|-
| [[Creating_a_Guardian_Scenario_Map|Guardian]]
| style="text-align:center;" | 4
| style="text-align:center;" | 0
| <code>guardian, cooperative</code>
| 20
| gamemode_competitive.cfg, <br> gamemode_cooperative.cfg, <br> 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.
|-
| [[Creating_a_Co-op_Strike_Map|Co-op Strike]]
| style="text-align:center;" | 4
| style="text-align:center;" | 1
| <code>coop, coopstrike, coopmission</code>
| 10
| gamemode_competitive.cfg, <br> gamemode_coopmission.cfg, <br> gamemode_coopmission_server.cfg
| Usually a custom mission for two human players on a custom map that is designed primarily for this mode.
|-
| Skirmish
| style="text-align:center;" | 5
| style="text-align:center;" | 0
| <code>skirmish</code>
| 12
| -
| Like Undefined, see below.
|-
| [[Creating_a_Danger_Zone_Map|Danger Zone]]
| style="text-align:center;" | 6
| style="text-align:center;" | 0
| <code>survival</code>
| 16
| gamemode_survival.cfg, <br> 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.
|-
| Undefined
| colspan="2" | <center>none of<br> the above</center>
| -
| ?
| -
| No .cfg file is executed, only the [[CSGO_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.
|}
 
 
 
== Skirmish Modes ==
 
If <code>sv_skirmish_id</code> is set to a value that can be found in the following table, it will load an additional [[cfg|.cfg]] file associated to the ID. These .cfg files are supposed to be loaded to a specific base game mode, which is mentioned as a comment in their first lines as well as in <code>csgo/scripts/items/items_game.txt</code>. Anyway, it is possible to use any base game mode.
 
To play one of the following game modes, type <code>sv_skirmish_id <number></code> in the console and launch a map with a base game mode, see above. <br>
Alternatively, it is possible in-game to execute the corresponding .cfg files manually and restarting the game using <code>exec <cfg filename></code> and <code>mp_restartgame 1</code>. Incidentally, one could of course write/modify such [[cfg|configs]] himself.<br>
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:
* To launch ''Stab Stab Zap'' on <code>de_dust2</code>, enter <code>sv_skirmish_id 1</code> and <code>map de_dust2 casual</code>. This is equivalent to the commands <code>sv_skirmish_id 1</code>, <code>game_type 0</code>, <code>game_mode 0</code> and <code>map de_dust2</code>. <br>
* 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 competitive</code>. This is equivalent to the commands <code>sv_skirmish_id 0</code>, <code>game_type 0</code>, <code>game_mode 1</code> and <code>map de_dust2</code>.
 
{{note | The skirmish IDs 2, 5 and 9 are undefined. However, there are .cfg files in <code>cfg/</code> 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 | The information of this table can be found in <code>csgo/scripts/items/items_game.txt</code>.}}
 
{| class="standard-table"
!Game Mode
!sv_skirmish_id
!Intended Base Game Mode
!.cfg filenames executed
!Description
|-
| Stab Stab Zap
| 1
| Casual
| op08_stab_stab_zap.cfg
| Only [[weapon_knife|knives]] and recharging [[weapon_taser|taser]].
|-
| Flying Scoutsman
| 3
| Casual
| op08_flying_scoutsman.cfg
| Only [[weapon_ssg08|scouts]] and [[weapon_knife|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 [[Health|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
| [[CS:GO Gamemodes: Deathmatch#Team Mode|Team deathmatch]] with collecting [[item_dogtags|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 [[CS:GO Gamemodes: Deathmatch#Bonus Weapon|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
| [[item_heavyassaultsuit|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 <code>buy heavyarmor</code> while not owning a rifle.}}
|-
| Arms Race
| 10
| Arms Race
| -
| Equivalent to Arms Race.
|-
| Demolition
| 11
| Demolition
| -
| Equivalent to Demolition.
|-
| [[CSGO_Game_Mode_-_Retakes|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 | 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 [[item_dogtags|dogtags]] that anyone can pick up. Killing players awards less points. Collecting dogtags awards additional Deathmatch points.
|-
| [[CS:GO Gamemodes: Deathmatch#Team Mode|Team Deathmatch]]
| -
| Deathmatch
| 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.
|}
 
 
 
== Game Mode dependent Events ==
 
There are the {{csgo}} specific [[List of Counter-Strike: Global Offensive Script Functions#Other|VScript functions]] <code>ScriptGetGameType()</code> and <code>ScriptGetGameMode()</code> which return the current integer value of <code>game_type</code> and <code>game_mode</code>.
{{Note | This is independent of the current value of <code>sv_skirmish_id</code>.}}
These allow VScript structures such as the following.
 
<syntaxhighlight lang=cpp>
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
}
</syntaxhighlight>
 
{{Idea | When making a map, you can create a VScript exclusively for that map and use this concept to make game mode 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 game modes, such as Deathmatch and Armsrace.}}
 
 
[[Category: Counter-Strike: Global Offensive]][[Category: Console Variables]]

Revision as of 13:51, 6 September 2021