How It Works
Server-side Workshop content involves three pieces:- A Workshop collection — a list of addons on Steam that your server should load.
- A Steam Web API key — lets your server query the Workshop and download the collection.
resource.AddWorkshop— a small Lua script that tells joining players which addons to download so they don’t see missing textures and errors.
Step 1: Create a Workshop Collection
Create a collection
Click Browse → Collections → Create Collection. Give it a name, set visibility to Public (the server can’t read private collections), and save it.
Add addons
Browse the Workshop and click Add to Collection on each addon you want. Maps, weapons, and playermodels are all added the same way.
Step 2: Get a Steam Web API Key
Your server needs an API key to download Workshop content:- Visit steamcommunity.com/dev/apikey while logged in to Steam.
- Enter any domain name (e.g.
wasabihosting.com— it isn’t validated for this use). - Agree to the terms and click Register.
- Copy the key that’s displayed.
Step 3: Add the Startup Parameters
In the Game Panel, open your server’s Startup tab and add these parameters (the panel may provide dedicated fields for them):+host_workshop_collection— your collection ID from Step 1.-authkey— your Steam Web API key from Step 2.
Step 4: Make Clients Download the Content
Mounting the collection only affects the server. Without one more step, players who don’t own the addons will see missing textures (pink/black checkers) and ERROR models. Fix this withresource.AddWorkshop:
Create the script
Using the File Manager or SFTP (File Management), create a new file at:
Add one line per addon
Each line uses the addon’s Workshop ID (from its Workshop page URL — not the collection ID):
Alternative: Legacy Addons Folder
Some content isn’t on the Workshop (private scripts, purchased addons from marketplaces, extracted legacy addons). These go directly into the addons folder:- Open the File Manager and navigate to
garrysmod/addons/. - Upload the addon folder (it should contain files like
addon.jsonor subfolders such aslua/,models/,materials/). - Restart the server.
Workshop
.gma files can also be placed in garrysmod/addons/ and the server will mount them directly. Folder-based addons must keep the correct internal structure — an addon nested one folder too deep won’t load.Keeping Addons Updated
- Workshop collection addons update automatically — the server re-checks the collection on each restart, so a simple restart pulls the latest versions.
- Adding/removing addons — edit the collection on Steam, then restart the server. Remember to update
workshop.luaif you added client-visible content. - Legacy folder addons never auto-update; re-upload new versions manually.
- Schedule a nightly restart via the panel’s Schedules feature to keep content fresh and memory usage low.
Performance Considerations
Every mounted addon costs startup time, memory, and often tickrate. Symptoms of addon bloat include long join times, low FPS for everyone, and server lag spikes. Audit your collection regularly and remove what you don’t use — then see the Server Optimization guide for deeper tuning. Before major addon overhauls, take a backup so you can roll back a broken configuration in one click.Host your addon-packed server with Wasabi
Garry’s Mod hosting from €12.50/month on Ryzen 7950X3D/9950X hardware — fast NVMe storage means even big collections mount quickly.

