Hi,
I am trying to use UMC map commands on a CS:GO server to allow players to switch between maps with different game modes. To do this, I have a pre-command on my map groups to change the game_type, game_mode, and mapgroup cvars to the appropriate values. These commands execute as expected right before the map change.
However, all of the game mode and game type specific convars in gamemodes_server.txt don't take effect until the server performs a *second* mapchange. So, e.g. when switching from classic competitive to arms race, the first arms race map will load with classic competitive rules still applied. This results in oddities like multiple round restarts and nobody being given a weapon since the weapon progression defined in gamemodes_server.txt hasn't yet taken effect. Change the map again to an arms race map, and this time it works perfectly.
Now, if I instead execute the precommands through RCON and issue a changelevel command manually, everything works as expected.
I guess my question is this: Does UMC/SourceMod use a mechanism for changing maps that differs from changelevel and would cause the server to fail to load the appropriate new game mode from gamemodes_server.txt? If so, would this be classified as a bug/feature request in UMC, SourceMod, or CS:GO?
Code:
"umc_mapcycle"
{
"A Group" //Name this whatever you like
{
"maps_invote" "6"
"default_min_players" "0"
"default_max_players" "12"
"display-template" "{MAP}"
"pre-command" "game_type 0;game_mode 1;mapgroup classic_pub"
//...other settings...
//Place maps here
//-------------
de_dust2 { }
de_aztec { }
de_dust { }
cs_office { }
cs_italy { }
de_nuke { }
de_inferno { }
}
"GroupB"
{
"default_min_players" "13"
"default_max_players" "19"
"maps_invote" "6"
"display-template" "{MAP}"
"pre-command" "game_type 0;game_mode 1;mapgroup classic_pub"
de_dust2 { }
de_aztec { }
de_dust { }
cs_office { }
cs_italy { }
de_nuke { }
de_inferno { }
de_train { }
}
"GroupC"
{
"default_min_players" "20"
"default_max_players" "32"
"maps_invote" "6"
"display-template" "{MAP}"
"pre-command" "game_type 0;game_mode 1;mapgroup classic_pub"
de_dust2 { }
de_aztec { }
de_dust { }
cs_office { }
cs_italy { }
de_nuke { }
de_inferno { }
de_train { }
de_bank { }
de_lake { }
de_safehouse { }
de_shorttrain { }
de_stmarc { }
de_sugarcane { }
}
"Arms Race"
{
"maps_invote" "1"
"display-template" "Arms Race: {MAP}"
"pre-command" "game_type 1;game_mode 0;mapgroup mg_armsrace"
ar_baggage { }
ar_shoots { }
}
}