Hello guys,
i decided to write this little tutorial to describe how i got around a but that was driving me nuts in CS:GO.
PREMISE:
This workaround works for people that uses the same server to play multiple modes. In my case, i have a home computer that i use as a server and i need to run all modes on the same machine.
THE PROBLEM:
Global Offensive relies on a new way to define which maps are used in each mode. Before, with CS:S we used a file name mapcycle.txt to define not only which maps where going to be used by the game but the order as well.
SourceMod is a great plugin but since CS:GO came out there have been some quirks in certain aspetcs. One of them is the fact that SourceMod still relies on mapcycle.txt messing up not only the map selection list inside the admin menu but the rotation as well.
THE SOLUTION/WORKAROUND:
Until the developers fix it in code here is how i managed to work around the problem fixing the map selection list in the process.
There is a command line switch for launching the server that defines which mapcycle file is used in game. While the convar has been removed INSIDE the game, it still works as a switch.
Here is what i did:
1. Created a shortcut for each mode (Competitive, Deathmatch, Arms Race and Demolition). If you don't know how to do it, look at the section "Starting the Server" @
https://developer.valvesoftware.com/...icated_Servers
2. Go inside the \csgo\ subfolder and create one mapcycle file per mode (in my case "mapcycle_armsrace.txt" and so on)
2. Edit those files to include the maps (they could be the default ones or even custom ones) and make sure to order them the way you want them to appear (favorite ones for example)
3. Edit gamemodes_server.txt accordingly (this is because you need the server to recognize any custom maps or mapgroup even if not used later)
4. Edit each shortcut adding the following: " +mapcyclefile MAPCYCLEFILENAME.txt" where, for example, if you have a file names "mapcycle_armsrace.txt" you will add " +mapcyclefile mapcycle_armsrace.txt"
What the game will do is load the maps via the mapgroups inside gamemodes_server.txt as it is supposed to do but will correct what SourceMod doesn't handle and make the maps cycle properly.
The real issue is the fact that SourceMod defines the following map using sm_nextlevel and uses the mapcycle file to do that, screwing up the selected group cycle.
At the time of writing i'm using version 1.5.0-hg3757 of the plugin.
Hope this helps people while we wait for a proper handling of this issue.