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
Prefer not to run the server on your own PC? Godlike.Host offers hosted Garry's Mod servers with free DDoS protection and up to three free backups a day.
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.
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
+mapandchangelevelwithout the.bspextension. - 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
- 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.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →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.
- Create a new collection and give it a descriptive name, such as the server’s community name and map rotation.
- Add each required Workshop map to the collection. Include dependencies when the map author identifies them as separate Workshop items.
- Save the collection and copy its numeric collection ID from the collection URL.
- 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
- 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.
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.
Rank #3
- 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.
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
- 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.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteHow 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
- 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.
Recommended Free Tools
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.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →| 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.
Quick Recap
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
- Stop the server cleanly so Workshop files are not being written while you inspect them.
- Verify the launch command contains the intended collection ID or that the per-ID file is present and supported by the installed version.
- Start with console logging enabled and look for collection download and mount activity.
- Run a known map using its exact BSP name. If it fails, fix server installation before investigating client downloads.
- Change to the Workshop map with
changelevel MAP_NAMEand confirm the client-download log message. - For visual errors, identify the missing game or addon dependency and correct
mount.cfgor the Workshop list. - 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.txtwhen 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.

