***RENAME your existing file(s) (with .OLD extension, for example)*** ***BEFORE copying any files to your folders or you*** ***WILL LOSE your original files/data***
The path for all included files is \csgo\cfg
There is no random map cycling in CS. You can start/create server with a random map. In CSGO, you choose Play\Offline With Bots\Random. In CSS/CS0, you choose Create Server then Map < Random Map >.
1. gamemodes_server.txt is just mostly good for changing your "maxplayer" settings for each game mode. When you choose a map from CSGO GUI\common\casual or \workshop\classic the game will load casual game mode settings. Workshop maps normally let you choose from the game modes the map supports.
2. Although CSGO has a "random" map and "random" mapgroups defined, I couldn't get them to do anything. Setting a mapgroup will likely fail with an invalid or empty error, then CSGO will load the next map in your mapcycle.txt file listed after the previously loaded/played map.
3. HOW IT WORKS:
When you choose your first map from the CSGO GUI, the game will usually set a single-map mapgroup named after the specific map. This means that the map will not change unless you have the setting mapcycledisabled 0 and a mapcycle.txt file containing a list of valid map names.
You can achieve a random "feel" at least by selecting the random map option from the CSGO GUI and having arranged or alphabetized your mapcycle.txt map list by map name (assault) rather than map type (cs_). Example: cs_assault ar_baggage de_corruption cs_office aim_pyrocynical de_thunder etc.
If you have several versions of a particular map, you may want to spread them out in your mapcycle.txt file, change your mp_timelimit setting to 5 (minutes) at the beginning of the match or just pause and load a different map: maps* to see a list of map names map cs_assault (example map name) to change map.
4. WHAT I DO:
I use my config file: \csgo\cfg\cstm.cfg
Inside cstm.cfg: bind F11 "exec cstm.cfg"
At the beginning of the map/match, I press F11. It configures my settings and kicks any map-default bots. Next I pause the server ("p") and decide what other .cfg's I want to run, such as changing default weapons, extending the match length or loading specific bots. I've included example scripts for loading bots, buying weapons, configuring default weapons and a few others.
The way I have these files currently configured, the first map loads with 5 v 5 (1 player and 9 random bots) and subsequent maps load without any bots. So on the first map you can just get to it (in case you just want to play single match) and on next maps, press KP_RIGHTARROW or exec r5bot.cfg in console to get to it with 5 v 5 random bots or use F11 and "p" to configure settings at your leisure.
5. GOOD NEWS
Even though we don't get a random map cycle, we DO get random, customized bots and you can give them whatever weapons you want them to have (per team) in CSGO!!! You can also customize bot weapon preferences a few different ways in the botprofile.db file. Individually, in the weapon_preference templates or in the skill templates.
BE SURE to try class-bots: Player(s) plus 6 bots on each team, one bot for each weapon class. Console exec classbot.cfg or press DOWNARROW on your keyboard. Ton of fun!