You install Garry's Mod Workshop addons cleanly using a Steam Workshop collection, a Steam Web API Key, and optionally resource.AddWorkshop() for client downloads. This keeps the server configuration traceable, lets you swap addons centrally, and helps you check specifically whether the collection, API key, or individual Workshop IDs are faulty when problems occur.
Requirements
You need access to your Garry's Mod server startup parameters, a Steam Workshop collection, and a Steam Web API Key. The official source for Garry's Mod Workshop content is the Steam Workshop for Garry's Mod. You generate the API key through the official Steam page steamcommunity.com/dev/apikey.
Plan your addon selection deliberately. A large collection can increase server startup time, force clients into longer downloads, and make errors harder to find. For production servers, it makes sense to test addons individually or in small groups before permanently adding them to the main collection. At game-serverhosting, this workflow fits well with a controlled operating model: changes are documented, checked, and only then released for players.
Create a Workshop Collection
- Go to the Steam Workshop
- Create a new collection
- Add all desired addons
- Copy the Collection ID
The Collection ID is in the Steam collection URL. Copy only the numeric ID, not the full URL. Also make sure the collection is public or accessible to the server. If an addon is removed, made private, or updated by the author, it can affect your server startup or client downloads. For that reason, always check the server console after larger changes.
Load the Collection on the Server
In the server startup line:
+host_workshop_collection <collection_id>
-authkey <steam_web_api_key>
Replace <collection_id> with the ID of your Workshop collection and <steam_web_api_key> with your Steam Web API Key. The +host_workshop_collection parameter tells the server to load the specified collection. The -authkey parameter provides access to Steam web services required for Workshop downloads.

After entering the startup parameters, restart the server. Watch the console or log during the first startup. If Workshop content is not loaded, the cause is often an incorrect Collection ID, a missing or invalid API key, or an addon that is no longer reachable.
Steam Web API Key
Required for Workshop downloads:
- Go to steamcommunity.com/dev/apikey
- Generate a key
- Enter it as
-authkeyin the startup line
Treat the API key like an access token. Do not share it publicly and do not post it in forums, screenshots, or publicly accessible repositories. If you suspect the key was exposed, you should generate a new one at Steam and stop using the old key.
Players Download Addons Automatically
To make players download addons automatically, add this to lua/autorun/server/workshop.lua:
resource.AddWorkshop("workshop_id_1")
resource.AddWorkshop("workshop_id_2")
resource.AddWorkshop("workshop_id_3")
resource.AddWorkshop() uses individual Workshop IDs. Enter the addons here that clients should automatically fetch when connecting. This is especially important for maps, models, materials, sounds, or other content players need locally. Server-only addons do not necessarily need to be distributed to clients.
Keep this file clearly structured. You can group addons by purpose, such as maps, weapons, playermodels, or HUDs. If an addon causes problems, comment out the corresponding entry as a test and restart the server. This helps you find conflicts faster without breaking apart the entire collection.
Popular Addon Categories
| Category | Examples |
|---|---|
| Maps | ttt_minecraft, ph_office |
| Weapons | M9K Weapons, TFA Base |
| Playermodels | PM + Playermodel Selector |
| Tools | Wiremod, Precision Tool |
| HUDs | DarkRP HUD, TTT HUD |
These categories are typical examples, not a recommendation for every setup. DarkRP, TTT, Prop Hunt, and Sandbox servers have different requirements. What matters is that addons fit the game mode, are actively maintained, and do not duplicate functionality. Two weapon bases, multiple HUDs, or multiple admin tools can interfere with each other.
If you also run other games with mod workflows, the principles from the Project Zomboid Workshop Guide and the ARK Mods Installation Guide help: clarify dependencies first, then enter IDs cleanly, then check with logs and a client test.
Check the Result
Restart the server after every larger change and check three points. First: the console should not show any Workshop errors for the collection or API key. Second: the desired addons should be available server-side, for example maps in the map list or tools in the appropriate game mode. Third: a test client should automatically load required content when connecting or show no missing texture issues.
Test if possible with a client that has not already subscribed to the addons locally. Otherwise, it is easy to miss that automatic download does not work for new players. For public servers, it is also worth adding a short note in the server description if very large content needs to be downloaded.
Troubleshooting
- Addon does not load: Check the Steam Web API Key
- Missing Textures: Install the CSS Content Pack
- Slow Download: Reduce the collection to the essentials
If the entire collection is not loaded, first check for typos in +host_workshop_collection and -authkey. If only a single addon is missing, open its Workshop page and check whether it is still available. For missing textures, distinguish between Workshop content and externally required content. Garry's Mod servers often use content that is not automatically replaced by a single addon.
For long loading times, remove unused maps, duplicate models, old weapon packs, and large sound or material collections. A smaller collection is easier to maintain and reduces the likelihood that players quit during their first join.
Verification, Limits, and a Safe Rollback
The guide "Install Garry's Mod Workshop Addons" applies to the server type described in the article and the version state visible at the time of review. Menu names, available versions, mod or plugin compatibility, and required resources may differ after updates. Therefore, do not transfer any values unchecked to a different game, loader, or server version.
Before changing a world, savegame, configuration, or extensions, create a backup of the affected files. Then change only one related step and test it with the same client and server version you want to play with later.
| Checkpoint | Expected Result | Abort and Rollback |
|---|---|---|
| Server startup | The server reaches the ready-to-run state without new error messages. | If startup errors occur, revert the change and restore the latest backup. |
| Connection test | A test account can connect using the address shown in the panel. | If version or connection errors occur, compare version, port, and firewall rules again. |
| Function test | The specifically changed function works without damaging existing world or game data. | If side effects occur, stop the server and restore the backed-up files. |
A successful individual test is not a performance or availability guarantee. World size, mods, plugins, player count, network path, and simultaneous load can change the result. Document version, change, and test result so you can understand later deviations.
FAQ
Do I Always Need a Workshop Collection?
For a server with multiple addons, a collection is the cleanest approach because you manage the selection centrally in Steam. Individual Workshop IDs in resource.AddWorkshop() still remain important so clients automatically download required content.
What Is the Difference Between a Collection ID and a Workshop ID?
The Collection ID points to a collection of multiple addons. A Workshop ID points to a single addon. In the startup line, you use the Collection ID; in resource.AddWorkshop(), you enter individual Workshop IDs.
Why Do Players See Missing Textures?
Missing textures usually occur when client content was not loaded or additional content is required. Check resource.AddWorkshop(), the addon IDs, and whether the affected addon references further content.
Do I Need to Restart the Server After Every Addon Change?
For changes to startup parameters, the Workshop collection, or server-side Lua files, you should restart. That is the only reliable way to check whether the server loads the collection correctly and registers the client resources.
How Large Should a Collection Be?
As small as possible and as large as necessary. Remove addons your game mode does not actively use. This makes troubleshooting easier, keeps downloads manageable, and makes changes during live operation easier to control.