How to add a Steam Workshop collection to your GMod server
Build a public Workshop collection, paste its link in the Workshop tab and restart: the server and joining players get the same addons, no API key.
A Garry's Mod server loads its addons from a Steam Workshop collection: one list you keep on Steam, and the server downloads everything in it when it starts. Link the collection in the panel's Workshop tab and that's the whole setup. Joining players download the same addons automatically.
Make the collection
- On the Steam Workshop for Garry's Mod, open Collections and press Create Collection.
- Give it a name and add the addons, maps and gamemodes you want. You can add more later; the server picks up changes on its next restart.
- Set its visibility to Public or Unlisted. A Private collection can't be read by the server, so nothing in it downloads.
- Open the finished collection and copy its link from your browser's address bar (or Steam's Share button).
You don't need a Steam Web API key. The server downloads a Public or Unlisted collection without one.
Link it to your server
- Open your server in the dashboard and go to the Workshop tab, under Content.
- Paste the collection's link and press Link collection. The bare number at the end of the link works too.
- Press Restart now in the message that appears. The Console shows each addon downloading on the way up; a big collection takes a few minutes the first time and is quick after that.
Linking does two things at once: it tells the server which collection to download, and it writes the list of addons joining players download (see below).
Check it worked
Once a collection is linked, the Workshop tab shows a short checklist:
- Collection linked: the collection's name and how many addons are in it.
- Downloaded on the server: how many of them are on the server. If some aren't yet, or an addon's author has published an update since the server last started, press Restart now next to it. While the server starts, this line shows the download as it happens, addon by addon.
- Players get the addons: whether joining players download the same addons. The tab keeps the players' list in step with your collection by itself, even when you change the collection on Steam. Players get a new list when the server restarts, so this line says when a restart is still needed, and is ticked once the list is live and every addon is on the server.
Under the checklist, every addon in the collection is listed as On the server, Update on restart (Steam has a newer version; the server picks it up as it starts) or Downloads on restart. The search box above the list finds an addon by name, description or tag.
To switch to a different collection, press Change and paste the new link. Unlink stops the server loading the collection from the next restart.
How players get the addons
Mounting a collection gives the server the addons. Joining players still need them, or they see errors and missing textures. GMod's answer is resource.AddWorkshop: a Lua file the server runs on start, listing the Workshop IDs every client must download from Steam before they can play.
The Workshop tab writes that list for you in garrysmod/lua/autorun/server/workshop.lua when you link a collection, inside a block marked as managed by the panel.
An addon only the server needs (an admin tool or a logger, say) doesn't have to be downloaded by every player. Turn off Players download on its row: the server still loads it, joining players skip it, and joining is quicker. Like the rest of the list, the change takes effect when the server restarts. You can open the file in the File Manager too. Lines you add yourself outside the managed block are kept, which is handy for an addon players need but the server does not.
Keep the collection lean. Every item in it goes on the player list, server-only addons included, and players download whatever they don't already have before they can join. Every 5 GB of downloads takes close to half an hour on a 25 Mbps connection.
Gamemodes and maps
If your collection includes a gamemode or a map, set Gamemode and Map in the Startup tab to match (terrortown and a ttt_ map, prop_hunt and a ph_ map, and so on). The Gamemode presets on the Startup tab do this in one go for Sandbox, Trouble in Terrorist Town and DarkRP: each sets the gamemode and picks a matching installed map when there is one. The DarkRP preset unlocks once DarkRP is in your collection and the server has restarted. GMod server: connect, Workshop, gamemodes covers switching gamemodes.
Files that aren't on the Workshop (FastDL)
resource.AddWorkshop covers anything that lives on the Workshop. Files that do not (a custom map you made yourself, a sound pack from a forum) would need FastDL: a separate web server that the sv_downloadurl setting points at. The simple fix is to upload the file to the Workshop yourself and add it to the collection, so the same mechanism handles it.
Common problems
- "We couldn't read that collection" - the collection is Private, or the link is to a single addon rather than a collection. Set the collection to Public or Unlisted, or copy the collection's own link, and try again.
- Addons didn't download - the server hasn't restarted since you linked the collection. Press Restart now in the Workshop tab.
- Players stuck on "Retrieving server info" or seeing pink textures - they don't have the addons. Open the Workshop tab (it brings the list up to date), then restart the server.
- A gamemode is in the collection but the server starts in sandbox - set Gamemode in the Startup tab to the gamemode's folder name, or use a Gamemode preset; the collection only installs it.
- The map is missing - maps must be in the collection too, and Map must match the
.bspname exactly, without the ending. - An addon updated on the Workshop but not on the server - restart. The server checks for updates on boot only.
If none of these match, include the exact error from the Console and your collection link when you open a support ticket.
Was this guide helpful?
Related guides
How to make a Garry's Mod (GMod) server
Host a Garry's Mod server for your friends: join by address, set the name and password in server.cfg, mount a Workshop collection and switch gamemodes.
Add Workshop mods to Project Zomboid
Add Steam Workshop mods and collections to your Project Zomboid server, set the load order, and get players back in after a mod update.
Add tModLoader mods to your Terraria server
Install Steam Workshop mods on your tModLoader Terraria server in a few clicks, upload .tmod files, switch mods off and keep them up to date.
