CSGO Game Mode Commands: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (Linked Deathmatch.)
m (Fixing double redirect. This action was performed by a bot.)
Tag: Redirect target changed
 
(4 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{DISPLAYTITLE:CS:GO Game Mode Commands}}
#REDIRECT [[Counter-Strike: Global Offensive/Game Modes]]
 
{{back | Counter-Strike: Global Offensive Level Creation}}
 
Here is a table of game modes and the console commands to launch them in {{csgo}} [[Counter-Strike: Global Offensive]].
 
When a map is loaded with the <code>[[Map (ConCommand)|map]]</code> or <code>[[changelevel]]</code> command, the game uses the values of <code>'''game_type'''</code>, <code>'''game_mode'''</code> and <code>'''sv_skirmish_id'''</code> to determine [[cfg|.cfg]] files (representing a gamemode) that it executes. If these values are not set before loading a map, it results in the last gamemode played. The initial values of <code>game_type</code>, <code>game_mode</code> and <code>sv_skirmish_id</code> are 0 (Casual).
 
To launch a map with a desired gamemode, 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 <code>[[changelevel]] <mapname></code> console command.
 
{{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 gamemode 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 gamemode.}}
 
{{tip | You can define [[alias]]es, for example <code>alias dust2retake "game_type 0; game_mode 0; sv_skirmish_id 12; map de_dust2"</code>. Best used in [[autoexec]]s to be able to quickly launch and test custom maps in the right gamemode.}}
 
{{tip | [[Command Line Options|Set Launch Options]] can be used, e.g: <code>+game_type <number> +game_mode <number> +map <mapname></code>}}
 
{{note | If you want to test your local Competitive/Wingman/Weapon Expert map with [[bot]]s, make sure to set {{ent|bot_quota_mode}} to a different value other than the new value <code>competitive</code> (e.g. <code>fill</code>), which (also) stops bots. Also adjust <code>bot_quota</code> (default: 10 for Competitive, 4 for Wingman).
{{Idea | A way to permanently get back the bot joining behavior before 01/07/2021 for all of the three gamemodes is copy-pasting the configs <code>gamemode_competitive_offline.cfg</code> and <code>gamemode_competitive2v2_offline.cfg</code> inside <code>csgo/cfg/</code> and renaming them from <code>[...]_offline.cfg</code> to <code>[...]_server.cfg</code>, unless you already use such a file in a different way. In this case you could copy-paste the content of <code>[...]_offline.cfg</code> to an appropriate place of your <code>[...]_server.cfg</code>.}}
}}
 
== 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.}}
 
{{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]]
|}
 
{{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 if you locally launch the corresponding gamemode.}}
 
{| class="standard-table"
! Game Mode
! game_type
! game_mode
! map command optional parameter
! .cfg filenames executed, if existent
! Description
|-
| Casual (default)
| 0
| 0
| <code>casual</code>
| 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
| 0
| 1
| <code>competitive</code>
| gamemode_competitive.cfg, <br> gamemode_competitive_offline.cfg (only via ''Practice with Bots'') <br> gamemode_competitive_server.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 and hostage rescue.
|-
| [[Creating_a_Wingman_Map|Wingman]]
| 0
| 2
| <code>scrimcomp2v2</code>
| gamemode_competitive2v2.cfg, <br> gamemode_competitive2v2_offline.cfg (only via ''Practice with Bots'') <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
| 0
| 3
| <code>scrimcomp5v5</code>
| gamemode_competitive.cfg, <br> gamemode_competitive_offline.cfg <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]]
| 1
| 0
| <code>armsrace, gungameprogressive</code>
| 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]]
| 1
| 1
| <code>demolition, gungametrbomb</code>
| 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]]
| 1
| 2
| <code>deathmatch</code>
| 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
| 2
| 0
| <code>training</code>
| 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]]
| 3
| 0
| <code>custom</code>
| -
| No longer working. Used to load <code>csgo/cfg/<mapname>.cfg</code>. Now this mode is like Undefined, see below.
|-
| [[Creating_a_Guardian_Scenario_Map|Guardian]]
| 4
| 0
| <code>guardian, cooperative</code>
| 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.
|-
| [[Creating_a_Co-op_Strike_Map|Co-op Strike]]
| 4
| 1
| <code>coop, coopstrike, coopmission</code>
| 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 only for this mode.
|-
| Skirmish
| 5
| 0
| <code>skirmish</code>
| -
| Like Undefined, see below.
|-
| [[Creating_a_Danger_Zone_Map|Danger Zone]]
| 6
| 0
| <code>survival</code>
| 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.
|-
| Undefined
| colspan="2" | <center>none of the above</center>
| -
| -
| 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 gamemode, 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 gamemode.
 
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 gamemode, 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" 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.
 
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 Gamemode
!.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.
|}
 
 
 
== Gamemode 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 gamemode
}
</syntaxhighlight>
 
{{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.}}
 
 
[[Category: Counter-Strike: Global Offensive]][[Category: Console Variables]]

Latest revision as of 14:48, 21 January 2024