Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

To run a Steam Workshop map on a Garry’s Mod dedicated server, install or update the server with SteamCMD, place the map in a public or unlisted Workshop collection, start the server with +host_workshop_collection COLLECTION_ID, and launch the map with its BSP filename through +map MAP_NAME. Garry’s Mod then downloads and mounts the collection on the server and, when the active map belongs to that collection, makes it available for players to download.

Server installation and player delivery are separate jobs. A server must download and mount the Workshop content first; a client-side download declaration such as resource.AddWorkshop() does not install an addon on the dedicated server.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What you need before adding a Workshop map

Prepare these items before changing the server command line:

  • A Garry’s Mod dedicated-server installation managed with SteamCMD.
  • The Workshop map’s item page and its numeric Workshop ID.
  • A Steam Workshop collection containing the map, or a supported per-ID configuration.
  • The map’s BSP filename, which is the name used by +map and changelevel without the .bsp extension.
  • Any required content from other Source games, such as Counter-Strike: Source or Team Fortress 2, installed on the server and mounted through garrysmod/cfg/mount.cfg.
  • Firewall and port settings that already allow players to connect to the server.

Subscribing to a map in your personal Garry’s Mod client does not install it on the dedicated server. The server process must obtain the content itself through a collection or the dedicated-server Workshop ID configuration.

#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter | 4Pack Type C Female to A Male Cable Converter for Apple Duo 17 16 15 14 Plus,iWatch Watch 12 11 10,iPad 9 8 Air,Airpods 5 4
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

Install or update the dedicated server with SteamCMD

SteamCMD is Valve’s command-line installer for dedicated servers. Garry’s Mod uses application ID 4020. Run SteamCMD on the machine that will host the server and issue:

login anonymous
force_install_dir /path/to/garrysmod-server
app_update 4020
quit

Replace the installation path with the directory used by your operating system. On Windows, use a Windows path such as C:garrysmod-server; on Linux, use an absolute directory such as /srv/garrysmod. Run app_update 4020 again whenever you want SteamCMD to check for and install server updates.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

After the command completes, confirm that the installation contains the server executable (srcds.exe on Windows or srcds_run on Linux) and the garrysmod directory. Keep the server updated before troubleshooting Workshop content: an older executable can lack newer Workshop features or behave differently from current documentation.

Create a Workshop collection for the server

A collection gives the dedicated server one stable list of maps and addons to download. Use the Steam Workshop interface while signed in to the account that will manage the collection.

  1. Create a new collection and give it a descriptive name, such as the server’s community name and map rotation.
  2. Add each required Workshop map to the collection. Include dependencies when the map author identifies them as separate Workshop items.
  3. Save the collection and copy its numeric collection ID from the collection URL.
  4. Set the collection visibility to Public or Unlisted. Facepunch’s dedicated-server documentation requires one of those visibility states so the server can access the collection. A private collection is not a dependable server source.

Keep the collection focused. A dedicated server downloads and mounts the collection at startup, so unrelated items increase startup time and make updates harder to audit. If you maintain separate game modes or test and production servers, create separate collections rather than changing one list while a live server is starting.

Rank #2
Sale
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter | USB C Dongle with 90W Max Power Delivery, 3×5Gbps USB A Data Ports, for MacBook, Dell, and More (Charger Not Included)
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.

Configure the server to download and mount the collection

Add +host_workshop_collection and the collection ID to the command that launches the server. The argument must be present every time the server starts.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
srcds.exe +maxplayers 20 -console +host_workshop_collection 157384458 +gamemode sandbox +map gm_construct

In this example, 157384458 is the collection ID, sandbox is the game mode, and gm_construct is the initial map. The map name is not the Workshop item title; it is the map’s BSP name.

Windows launch

Create or edit a batch file in the server directory. A typical command is:

srcds.exe -console -game garrysmod +maxplayers 20 +host_workshop_collection COLLECTION_ID +gamemode sandbox +map MAP_NAME

Keep the command in the batch file used by your service manager or scheduled task. Starting the executable manually with a different command can omit the collection argument and make the server appear to have lost its Workshop content.

Linux launch

Run the equivalent command through srcds_run:

./srcds_run -game garrysmod +maxplayers 20 +host_workshop_collection COLLECTION_ID +gamemode sandbox +map MAP_NAME

Make sure the account running the process can write to the server directory and that the Workshop cache directories are writable. Linux filenames are case-sensitive, so the executable, configuration path, and map name must use the exact capitalization present on disk.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter | 85W Max PD, 2 USB 3.0 & 1 USBC Data Ports, SD/TF Card Reader, for Laptops/Mac and Other Type C Devices (Charger Not Included)
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

What happens during startup

With a valid collection ID, the server retrieves the collection’s Workshop items at startup and mounts the downloaded addons. Facepunch describes this behavior as: “The server will download the collection at startup and mount all the downloaded addons.” Watch the console while the process starts. A collection that cannot be read, a private collection, or a blocked network request can leave the server running without the expected map.

Start the map and change maps later

Use the map’s BSP filename without .bsp:

+map gm_construct

If the Workshop item contains gm_customcity.bsp, use gm_customcity, not the Workshop title and not gm_customcity.bsp. The same rule applies when changing levels from the server console or an administration tool:

changelevel gm_customcity

Start with a known built-in map such as gm_construct when validating the server command. Once the collection has loaded, issue changelevel MAP_NAME for the Workshop map. This separates command-line errors from map-loading errors and gives you a clear point at which to inspect the console.

If the map changes successfully but players receive missing-content errors, the server may have the BSP while clients lack the map’s downloadable assets or a dependency. Treat map loading and client delivery as two checks rather than assuming one proves the other.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use per-Workshop-ID configuration when a collection is not the right fit

Facepunch documents garrysmod/cfg/srcds_workshop_ids.txt as a newer option introduced in Garry’s Mod version 2026.09.22 and later. It is intended for a list of Workshop IDs when you do not want to rely on a collection.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray | Data transfer & Fast charging for MacBook, iPhone 17/16/15, iPad, Samsung Galaxy, Apple Watch
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

Use this method only on a server running that version or newer. Create or edit the file at:

garrysmod/cfg/srcds_workshop_ids.txt

Place the Workshop IDs required by the server according to the syntax documented for your installed version. Verify the file format against the server’s current documentation rather than copying a collection command into the file. The executable and configuration file must be kept in sync: a server older than 2026.09.22 may ignore the file because the feature is not present.

Decision point Workshop collection srcds_workshop_ids.txt
Operational simplicity One collection ID in the startup command A server-side file containing the required IDs
Visibility requirement Collection must be public or unlisted for dedicated-server access Uses the server’s ID configuration; collection visibility is not involved
Update control Edit the collection to add or remove items Edit the server file directly
Version support Established collection workflow Documented for Garry’s Mod 2026.09.22 or newer
Best use Shared rotations, community-managed content, and simple deployments Explicit per-server lists managed with configuration files

Do not configure both methods casually. Maintain one authoritative list so an old map is not reintroduced by a forgotten collection while you are testing the per-ID file.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How players receive the active Workshop map

When the running map is in the server’s Workshop collection, Garry’s Mod automatically marks it for client download. The server console logs the exact message:

Making workshop map available for client download

Seeing that line confirms that the server has recognized the active Workshop map as downloadable content. It does not guarantee that every dependency is present or that a player’s local download completed successfully; those are separate failure points.

Best Value
Sale
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display | 85W Max PD, 1 Powered USB-C 5Gbps & 2 Powered USB-A 3.0 5Gbps Data Ports, for MacBook Pro, MacBook Air, Dell and More (Black)
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

Why resource.AddWorkshop() is not server installation

resource.AddWorkshop("WORKSHOP_ID") declares Workshop content for clients. It does not download and install that addon into the dedicated server. Facepunch explicitly warns: “This will not ‘install’ the addon on your server.” Install server-side content through the dedicated-server Workshop workflow instead.

The resource API also has a shared limit of 8,192 downloadable files for resource.Add* functions. That limit is about downloadable file declarations, not a replacement for installing a Workshop collection. Using resource declarations as a substitute can produce a server that starts without the map or that still leaves clients missing files.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Fix missing textures, models, and other assets

A map can load on the server while players see purple-and-black textures, error models, or console messages about missing materials. The most common cause is a dependency from another Source game that the server has not mounted.

Mount installed Source-game content

Use garrysmod/cfg/mount.cfg to mount supported game folders, including Counter-Strike: Source and Team Fortress 2 when the map requires them. The mounted game must actually be installed on the server machine; listing a path to content that is not present cannot supply the assets.

Check every path and directory name carefully on Linux. The filesystem is case-sensitive, so a path that differs only by capitalization can fail even when it appears correct on Windows. After editing mount.cfg, restart the server and inspect the startup output for mount errors before testing the map again.

Separate the missing asset types

  • Map not found: the server did not download the Workshop item, the BSP name is wrong, or the collection/per-ID configuration was not loaded.
  • Map loads but textures are missing: a required game mount or material dependency is absent.
  • Players cannot join or see models: client delivery is incomplete, a dependency is not being offered, or the player’s local Workshop download failed.
  • Only Linux fails: inspect capitalization, permissions, and path separators in the server and mount configuration.

Choose the right content-delivery method

Facepunch distinguishes WorkshopDL, FastDL, and ServerDL. They are not interchangeable names for the same mechanism.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Method Setup effort Transfer behavior Update handling Suitable content
WorkshopDL Lowest when content is already published on the Workshop; use the collection or supported Workshop-ID configuration Clients obtain Workshop-hosted items through Garry’s Mod’s Workshop delivery path Workshop item updates are obtained through the Workshop system Workshop maps and addons
FastDL Requires a web server, mirrored files, and server resource configuration Clients download files from the configured HTTP location You must update the mirror when files change Files you control and publish through a FastDL mirror
ServerDL Requires the server-side setup documented for that delivery mode Clients receive content through the server’s supported download mechanism Managed by your server files and configuration Content that does not use Workshop delivery or needs a different distribution path

For a map already hosted on the Steam Workshop, WorkshopDL is the natural first choice. FastDL and ServerDL can be useful for other content, but they introduce different hosting, synchronization, and update responsibilities. Do not add a second delivery method merely because the map is missing until you know whether the underlying problem is server installation, a dependency, or client connectivity.

Troubleshoot a server that has the map but players see errors

Symptom Likely cause What to check
Server says the map cannot be found Collection was not loaded, collection is private, or the map name is wrong Confirm the public/unlisted visibility, collection ID, startup argument, downloaded Workshop files, and BSP name without .bsp
Server starts, but no Workshop items appear The command omitted +host_workshop_collection, the ID is incorrect, or the process cannot reach Steam Read the startup console, verify the numeric ID, and restart with the exact launch command
Map loads for the host but clients cannot download it The active map was not recognized as Workshop-downloadable or the client download failed Look for “Making workshop map available for client download” and test a clean client connection
Purple-and-black textures or error models A Counter-Strike: Source, Team Fortress 2, or other supported dependency is not mounted Install the required game content and correct garrysmod/cfg/mount.cfg; check Linux capitalization
resource.AddWorkshop() appears in a gamemode, but the server still lacks the map The function only declares client downloads Install the item through the collection or per-ID server configuration
One server uses an ID file but nothing changes The executable is older than the feature’s introduction version Confirm Garry’s Mod is version 2026.09.22 or newer and that the file is exactly garrysmod/cfg/srcds_workshop_ids.txt
Windows works but Linux does not Case-sensitive paths, permissions, or an incorrectly cased mount path Check file and directory names, ownership, execute permissions, and mount paths

A reliable diagnostic sequence

  1. Stop the server cleanly so Workshop files are not being written while you inspect them.
  2. Verify the launch command contains the intended collection ID or that the per-ID file is present and supported by the installed version.
  3. Start with console logging enabled and look for collection download and mount activity.
  4. Run a known map using its exact BSP name. If it fails, fix server installation before investigating client downloads.
  5. Change to the Workshop map with changelevel MAP_NAME and confirm the client-download log message.
  6. For visual errors, identify the missing game or addon dependency and correct mount.cfg or the Workshop list.
  7. Have one player reconnect after the server has fully reached the Workshop map. A client that connected before the map became available may need a fresh connection attempt.

Keep a Workshop map server maintainable

  • Record IDs and BSP names: maintain a small inventory of each map’s Workshop ID, BSP filename, required dependencies, and intended game mode.
  • Test collection edits: restart a staging instance after adding or removing an item, then watch the console for download and mount results before changing a live rotation.
  • Control updates: Workshop authors can update items after you add them. Review map changes when a server starts behaving differently instead of assuming the command line changed.
  • Keep backups: back up launch scripts, mount.cfg, srcds_workshop_ids.txt when used, and any server configuration that defines the rotation.
  • Use one source of truth: do not maintain an overlapping collection and ID file unless you deliberately want both sets of content.
  • Plan startup time: large collections take longer to download or verify. Schedule restarts and communicate expected downtime to players.

Quick reference

Task Correct setting or command
Install/update Garry’s Mod dedicated server app_update 4020 in SteamCMD
Load a collection +host_workshop_collection COLLECTION_ID
Start a map +map MAP_NAME, without .bsp
Change maps while running changelevel MAP_NAME
Per-ID configuration on supported versions garrysmod/cfg/srcds_workshop_ids.txt
Dependency mounts garrysmod/cfg/mount.cfg
Client-download confirmation Making workshop map available for client download

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.