Creating a Arsenal: Arms Race Map
The Arsenal: Arms Race game mode is a single extended round with instant respawn. Players start with an SMG, and progress to different weapons as they get kills. The progression of unlocked weapons ends with the golden knife. The first player to get a kill the last weapon wins the match.
The only required entities for a map to work in Arms Race are spawn points for each team.
Spawn points
Arms Race uses the normal info_player_counterterrorist and info_player_terrorist as well as the info_armsrace_terrorist and info_armsrace_counterterrorist entities as player spawns. The spawn priorities of all of these are ignored in Arms Race, so a terrorist will always spawn at a randomly chosen spawnpoint from all existing info_player_terrorists and info_armsrace_terrorists.


Disabling default spawns using VScript
If you want to use the info_armsrace_terrorist and info_armsrace_counterterrorist spawns exclusively, the other must be disabled. One way to disable all info_player_counterterrorist and info_player_terrorist spawns only for Arms Race is writing a VScript with something like:
TYPE <- ScriptGetGameType()
MODE <- ScriptGetGameMode()
if (TYPE == 1 && MODE == 0) // Arms Race uses game_type == 1 and game_mode == 0
{
EntFire("info_player_terrorist", "SetDisabled", "", 0)
EntFire("info_player_counterterrorist", "SetDisabled", "", 0)
}
else
{
EntFire("info_player_terrorist", "SetEnabled", "", 0)
EntFire("info_player_counterterrorist", "SetEnabled", "", 0)
}
Give this text file a name and save it with the .nut
extension, for example mapname.nut
and put it either directly into csgo/scripts/vscripts/
or in a (new) subdirectory from there. Place a logic_script in your level and add the previous script to its Entity Scripts. Check the console when running the map to see if something goes wrong. When publishing the map, this script must also be packed (see e.g. VIDE).
Testing your map
The map is launched in the Arms Race gamemode by first setting the server-side ConVars game_type
to 1 and game_mode
to 0 and then running the map using the map
or changelevel
command. See CSGO Game Mode Commands for details and tips.