Garry's Mod

Garry's Mod

Not enough ratings
Create map pools using GMod Mount Manager
By blu
   
Award
Favorite
Favorited
Unfavorite
What is a map pool?
A map pool is the submenu on the maps screen that groups multiple maps that belong together. It's much more convenient than having all the maps in the "Other" category. When combined with thumbnails it can also give a good guidance for in which order the maps are to be played if it's a campaign. Garrys Mod has hard-coded map pools for some of the compatible games (Like Half-Life 2) as you can see here:
What is "mounting"?
Mounting describes the process of loading compaible game files into Garry's Mod in order to be used by players and modders.
How to mount a game?
Supported Games:
GMod has a list of games that can easily be mounted through the litte gamepad button in the main menu:
Legend:
  • Checked Checkbox means the game's files are properly mounted and can be used.
  • Unchecked Checkbox means the game's files are ready to be mounted but automounting was disabled, just check the box if you want to mount it :)
  • Yellow folder with red stop sign means you own the game but it isn't installe or can't be found by GMod
  • Red X means you don't own the game on Steam (You can still mount the game files manually as described below if you have them)
For a more detailed guide on mounting supported games, check out https://steamcommunity.com/sharedfiles/filedetails/?id=121098599

Unsupported Games:
If you can't find your game in the list or it doesn't get recognized you need to mount it manually.

This can be achieved by following one of the available tutorials:
or by Using the GMod Mount Manager (GMMM):
  1. Download https ://github. com/Bluscream/GMod-Mount-Manager/releases and extract it to a folder of your choosing.
  2. Start the tool
  3. Now you have two choices: Do you know the folder of the game you want to import?
    • Yes: Click on "Games" -> "Add" and select the base folder of the game (NOTE: the base folder is a folder INSIDE of your game folder, so for "S:\Steam\steamapps\common\GarrysMod" the base folder will be "S:\Steam\steamapps\common\GarrysMod\garrysmod" and for "S:\Steam\steamapps\common\Half-Life 2" the base folder is "S:\Steam\steamapps\common\Half-Life 2\hl2"
    • No: Click on "Games" -> "Search" and select the hard drives you want to search in or click the "Folder" button to search within a folder. It will come up with all games it can find (Including Garrys Mod itself!) and for now just select all rows and copy them to your clipboard.
  4. CURRENTLY THE GMOD MOUNT MANAGER DOES NOT SUPPORT SAVING YOUR MOUNTS SO WHEN YOU GOT THE PATHS YOU NEEDED YOU STILL NEED TO FOLLOW ONE OF THE TUTORIALS LISTED ABOVE. When the tool gets saving support i will rewrite this section.

    You can also use GMMM's "Config" -> "Edit" option to quickly open your mount.cfg in a text editor!
How to create a map pool using GMod Mount Manager
GMMM provides some utility that helps in quickly creating map pools for Source Games that can be used in GMod.

  1. Download https ://github .com/Bluscream/GMod-Mount-Manager/releases and extract it to a folder of your choosing.
  2. Start the tool
  3. Make sure the game that you want to create a map pool for is mounted (See How to mount a game?)
  4. Right click on the game in the table and click "Create Map Pool"
  5. In the following window do necessary changes to the values on the left (CHANGE THE DESCRIPTION LAST AS IT WILL BE OVERWRITTEN WITH ANY CHANGE TO THE OTHER VALUES)
    • "Addon ID" is used for internal naming of the gamemode folders and some other stuff
    • "Game Name" is the category name shown when listing the maps in the maps menu and also used on the generated thumbnails (Click in the field to get more infos!)
    • "Addon Name" is used in the addons menu of GMod and should also be used as the name on the steam Workshop
    • Developer should list the original developers of the game you're importing. You might need to google for that
    • URL contains a web url under which the game in question can be obtained in order to be imported (Steam, ModDB, etc.)
    • The description field can be pasted into crowbar/steam workshop once the addon is ready to be published (Make sure it's correct and add additional infos if required)
  6. Now to the map list on the right: the tool should be able to read all maps and tries to fill the order automatically but in case it fails you can do the necessary adjustments here:
    • Check the "Hidden" checkbox for maps that are not to be played on (Background maps [having "bg" or "background" in their name], etc.)
    • Every map that is not part of a ordered campaign should have the order "-1" assigned to it so their thumbnails won't contain any numbers
    • Set the order of the other maps by entering their number in the "Order" field (Start with the first playable map at "1", you can use "0" for a intro/prologue). These are the numbers that will get printed onto the thumbnails later on.
  7. If you have a folder with map thumbnails called "<mapname1>.png,<mapname2>.png" you can select that folder by clicking on the "..." button. It will use these as base to overlay thumbnail fonts onto.
  8. Click on "Create Addon". When asked to, open the addon folder and check all files for correctness. The tool may also tell you that the maplist has changed and will ask you if you want to update it. That will create a "maplist.txt" and a "mapcycle.txt" in the mount folder to save your changes to map order permanently (next time you open the "Create Map Pool" window it should load the updated list automatically.
  9. Once you verified the generated addon proceed by uploading it using Crowbar

Files generated by GMod Mount Manager
GMMM will create the following file structure inside your "Garrys Mod\garrysmod\addons\" folder:
\---<addon name> | addon.json | +---gamemodes | \---<addon id> | | <addon id>.txt | | | \---gamemode | cl_init.lua | init.lua | shared.lua | \---maps \---thumb <map name>.png ...

Example "addon.json":
{ "title": "<addon name>", "type": "gamemode" }

Example "<addon name>\gamemodes\<addon id>\<addon id>.txt":
"<addon id>" { "base" "base" "title" "<game name>" "maps" "<map name>|..." "menusystem" "0" }
Example "<addon name>\gamemodes\<addon id>\gamemode\cl_init.lua":
include( "shared.lua" )
Example "<addon name>\gamemodes\<addon id>\gamemode\init.lua":
AddCSLuaFile( "cl_init.lua" ) AddCSLuaFile( "shared.lua" ) include( "shared.lua" )
Example "<addon name>\gamemodes\<addon id>\gamemode\shared.lua":
GM.Name = "<addon name>" GM.Author = "<developer>" GM.Email = "" GM.Website = "<url>" function GM:Initialize() -- Do stuff end
5 Comments
reib Mar 4 @ 3:41am 
where is the tool
Ian Jul 22, 2022 @ 3:42pm 
oh i found it
Ian Jul 22, 2022 @ 3:34pm 
where's the tool?
blu  [author] Sep 27, 2020 @ 7:25pm 
https://github.com/Bluscream/GMod-Mount-Manager/blob/master/UI/CreateMapPool.cs#L164 states that the default height and width is 256
https://github.com/Bluscream/GMod-Mount-Manager/blob/master/UI/CreateMapPool.cs#L126 states that it searches for <mapname>.png in the selected folder
red Sep 27, 2020 @ 7:21pm 
Thanks for the tutorial :steamhappy: Can you tell me what format and size the thumbnails should be in?