How to Add a Custom Map to a Garry's Mod Server

Add a Workshop or custom map to a Garry's Mod server: put it in your collection, start it by its .bsp name with +map, and make sure players download it.

Updated Oct 3, 2026 · 6 min read

On this page

To add a custom map to a Garry's Mod server, put the map's Workshop addon in the public or unlisted collection the server loads with +host_workshop_collection <collection ID>, then start the server with +map <bsp name>, for example +map gm_bigcity. The map setting takes the map's .bsp file name, never its Workshop ID. If the map is in the server's collection, players download it automatically when they join. A map that is not on the Workshop goes into garrysmod/maps/ as a .bsp instead.

What you are working with

Thing What it is Where it goes
Workshop map addon A map published on the Steam Workshop, with a numeric ID in its URL In the server's Workshop collection
Collection ID The number after ?id= in the collection's URL +host_workshop_collection (on GamezServers, the Workshop ID setting)
.bsp file name The map's real name, like gm_construct or ttt_minecraft_b5 +map (on GamezServers, the Map setting)
Loose .bsp file A map downloaded outside the Workshop garrysmod/maps/
.bsp.bz2 file A compressed copy for fast downloads Your FastDL web host, under maps/

The one thing most people get wrong

The Workshop ID and the map name are two different things. Facepunch's Workshop for Dedicated Servers page is explicit: you start a Workshop map with the normal map command and its .bsp name, like +map zs_cleanoffice_v2. Putting the Workshop ID in the map setting gives you a map load failure in the console.

To find the .bsp name:

  • Look on the map's Workshop page. Most authors list it in the description, because everyone asks.
  • Subscribe to the map, start Garry's Mod, and open Start New Game. The name under the map's thumbnail is the .bsp name.
  • Ask the map author in the Workshop comments if neither shows it.

The second trap: the map must suit the gamemode. A ttt_ map needs Trouble in Terrorist Town (terrortown), a rp_ map needs your roleplay gamemode, and a ph_ map needs Prop Hunt. Change the gamemode and the map together.

A Garry's Mod server running a custom city map loaded from a Workshop collection

Method 1: Add a Workshop map (easiest)

Step 1: Add the map to your collection

Open the map's Workshop page in Steam and choose Add to Collection, then pick the collection your server uses. If you do not have one yet, create it under Collections in the Garry's Mod Workshop and set it to Public or Unlisted. A private collection cannot be read by the server. Our guide on adding Workshop addons to a Garry's Mod server covers collections in full.

Step 2: Point the server at the collection

The server reads the collection on every start:

+host_workshop_collection 123456789

On GamezServers, paste the collection number into the Workshop ID setting in the panel.

Step 3: Set the map by its .bsp name

+map gm_bigcity +gamemode sandbox

On GamezServers, type the .bsp name (no .bsp extension) into the Map setting and set Gamemode to match.

Step 4: Restart and watch the console

On start, the console shows the collection downloading and then the map loading. When the current map comes from the server's collection, Gmod marks it for client download by itself. The resource.AddWorkshop page confirms the current map and a Workshop gamemode are added automatically if they come from the server's collection.

Step 5: Add more maps for map votes

Every map in the collection is installed on the server, so map vote addons and changelevel <bsp name> from the console can switch to any of them. Only the current map is sent to players automatically. If your map vote can pick other maps, players download each map when it loads.

Method 2: Add a map that is not on the Workshop

Step 1: Upload the .bsp

Upload the map file to garrysmod/maps/ with SFTP or the file manager. If it came with extra folders such as materials, models or sound, keep that layout and put the whole thing in garrysmod/addons/<mapname>/ instead, so the paths stay intact.

Step 2: Change to it

Set the Map setting to the file name, or run changelevel mymap in the console.

Step 3: Get the map to players

Loose maps are not on the Workshop, so players need another way to get them:

  • Direct download from the server: sv_allowdownload 1 lets players pull the file when they join. It is slow, and Source limits the size with net_maxfilesize (default 16 MB, maximum 64 MB).
  • FastDL: compress the map to mymap.bsp.bz2, upload it to a web host under maps/, and set sv_downloadurl "https://your-host/" in server.cfg. Players download from the web host at full speed. The server still needs the uncompressed .bsp.
  • Publish it: if you made the map, uploading it to the Workshop and using Method 1 is the least work for everyone.

Common problems

  • Console says the map failed to load or was not found: the map setting holds the Workshop ID, a typo, or the .bsp extension. Use the exact file name.
  • Players see purple checkers and ERROR models on the map: the map uses Counter-Strike: Source textures or content from another addon. Add that content to the collection and mark it for download with resource.AddWorkshop lines, and tell players to install CS:S content if the map needs it.
  • "Map missing" when the server boots: the collection is private, or the map addon was removed from the Workshop. Check the collection's visibility and the console download lines.
  • Map loads but the gamemode is broken: the gamemode does not match the map's prefix. Set the right gamemode and restart.
  • Players time out downloading a big map: use FastDL, or ask players to subscribe to the collection before joining so the map is already on their PC.

Custom maps on GamezServers

On a Garry's Mod server from GamezServers, the collection and map are two fields in the panel: Workshop ID and Map. Loose maps go up over the SFTP login in Settings or through the file manager, which also unpacks zips and can download a file from a link straight to the server. Click Backup before swapping maps or addon packs, and the server keeps running without anyone's PC. New to Gmod hosting? Start with how to host a Garry's Mod server.

FAQ

Do I use the Workshop ID or the map name in +map?

The map name. +map takes the .bsp file name, like gm_bigcity, and the Workshop ID goes in the collection instead.

Will players download the map automatically?

Yes, if the map is in the server's Workshop collection and is the current map. Loose maps need sv_allowdownload or a FastDL host.

Where do custom maps go on a Garry's Mod server?

Workshop maps download into the server's cache from the collection. Loose .bsp files go in garrysmod/maps/.

Can I add a map without restarting the server?

A loose .bsp in garrysmod/maps/ can be loaded with changelevel. New Workshop maps need a restart so the server downloads the updated collection.

Skip the setup. Your own Garry's Mod server.

$4.99USD first month

Then $9.99/mo. Just trying it? $2.50 for 3 days

Keep reading