Skip to content

Create Your Own MapGroup

Important Files

CREATED     /csgo/cfg/mapgroup.cfg
CREATED     /csgo/cfg/mapgroup_settings.cfg
MODIFIED    /csgo/gamemodes_server.txt
MODIFIED    /csgo/subscribed_file_ids.txt
MODIFIED    /cfg/mods.cfg
MODIFIED    /csgo/addons/counterstrikesharp/configs/plugins/GameModeManager/GameModeManager.json
MODIFIED    /csgo/addons/counterstrikesharp/configs/plugins/CS2-CustomVotes/CS2-CustomVotes.json

Example Scenario - "CS 1.6 Classic Maps Mode" with only RockTheVote added as a "mode" plugin.

Title Formatting

With the use of GameModeManager, we will want to make our game modes readable to players ingame. !modes menu example
As of right now, it appears GameModeManager doesn't allow for spaces in the gamemode naming conventions.

Created Files

mapgroup.cfg
Borrow files files from already made mapgroup/mods in the /csgo/cfg folder and modify to your needs. You will want to exec unload_plugins.cfg, as well as add plugins to this cfg file you want to load upon changing to this gamemode.
Keep in mind you will want to adjust the game_type and game_mode to your needs.

gamemodes and gametypes
So Competitive mode would be game_type 0 and game_mode 1, while Deathmatch would be game_type 1 and game_mode 2.

mapgroup_settings.cfg
This is where you place your cvars for the mode. You will probably want to load a gamemode_xxxxx.cfg file just to do a best effort settings reset on the server.
For my server environment, I would normally add exec settings/map_voting.cfg and exec settings/movementUnlocker_off.cfg to ensure the official cs2 map voting is disabled, and all surf movement settings are reverted to standard official movement.

Modified Files

gamemodes_server.txt
In gamemodes_server.txt, there are already many mapgroups included by cs2-modded-server. Based on your game_mode and game_type you might decide to add your new mapgroup to the casual section, competitive section, wingman section, deathmatch section, or the custom section.

For my Casual-1.6 Mode, I will put it in casual. gamemodes_server.txt first step
Scroll down to the bottom of the list and add in the new mg_1.6-Casual section by copying another mapgroup and pasting it in and altering the mapgroup order.adding a mapgroup gif animation

subscribed_file_ids.txt
For this file, we just simply add the workshop IDs of any maps that are not used by the server already.

mods.cfg
Add your new mapgroup/mode by simply adding say "- !rcon exec casual-1.6 - Casual 1.6 mode"

GameModeManager.json
We want to add our new mapgroup to the list, following the proper json syntax pattern. In our example scenario, we would just simply add the line "Casual-1.6", near the top to keep things alphabetical.

CS2-CustomVotes.json
If you wish to create a short-command for your new mapgroup/mode, copy and paste previous use-cases from the included CS2-CustomVotes.json file, and paste to where in the .json you would like your new mapgroup to be included.

Tip!

Use a JSON Validator such as Curious Concept's - JSON Formatter and Validator if you are running into errors. If you are using an IDE such as Microsoft Visual Studio, Atom, or Eclipse, it should have built-in json validation.

Done!

(restart server or change map?)That's it! 😎👍

TL;DR

  • Create duplicates of aimmap.cfg + aimmap_settings.cfg and rename to your new mapgroup
  • Add new mapgroup to gamemodes_server.cfg and workshop IDs to subscribed_file_ids.txt
  • Add MG_ name to GameModeManager.json