Garry’s Mod servers load addons from the Steam Workshop or from the garrysmod/addons/ folder. Install Workshop addons with one tap from Mods, or use your own Workshop collection. The server downloads Workshop items from Steam itself, and players download the content they need when they join.
How addons get onto your server
| Way | How it works | Good for |
|---|---|---|
| Mods tab | Search the Workshop and install with one tap | Most addons |
| Your own Workshop collection | The server downloads every item in it at start | Big addon lists you manage on Steam |
| Workshop ID list | garrysmod/cfg/srcds_workshop_ids.txt lists item IDs, with or without a collection |
Advanced setups |
| By hand | An addon folder uploaded into garrysmod/addons/ |
Addons that aren’t on the Workshop |
Install from Mods
- Open Mods and search the Workshop, for example “Wiremod” or “ULX”.
- Install the addon. We back up your server first, and add the addon to your server’s Workshop list.
- Restart the server. It downloads Workshop items from Steam when it starts.
The Console shows each download. A big list can make the next start take a few minutes.
Use your own Workshop collection
- On the Steam Workshop for Garry’s Mod, create a collection and add the items you want. Collections inside your collection are downloaded too.
- Set the collection’s visibility to Public or Unlisted. The server can’t read a private one.
- Open the collection and copy the number at the end of its address, after
?id=. - Paste it into the Workshop collection field in Settings. Under the hood this is
+host_workshop_collection 123456789. - Restart the server.
Older guides say you need a Steam Web API key (-authkey) for this. Garry’s Mod no longer needs it.
Install an addon by hand
- Get the addon as a folder. Inside it you should see folders like
lua,materialsormodels. - Open Files, or connect with SFTP (works with FileZilla) using the details on the SFTP card in Files.
- Upload the whole folder into
garrysmod/addons/, so you get a path likegarrysmod/addons/myaddon/lua/. - Use lowercase folder names. Our servers run Linux, which treats
Luaandluaas different folders. - Restart the server. A map change isn’t always enough for new addons.
Some addons come with binary modules: files starting with gmsv_ in garrysmod/lua/bin/. Your server needs the Linux build of the module, which has linux in its file name.
What your friends need
Players download content when they join, but only what the server tells them to:
- Workshop maps in your collection download on their own.
- The gamemode downloads on its own when it’s on the Workshop.
- Other content (models, textures, sounds) needs one line per addon in a server Lua file. Create
garrysmod/lua/autorun/server/workshop.luaand add a line likeresource.AddWorkshop("123456789")for each addon with content.
Only add addons that have models, materials or sounds. Lua code downloads to players by itself, and marking Lua-only addons makes joining slower for nothing.
Players can turn downloads off in their game’s settings. If one friend sees purple and black squares or red ERROR signs while others don’t, ask them to allow downloads. Maps and models from other games, like Counter-Strike: Source, only show for players who own and installed that game.
Updates and version matching
- Workshop items update every time the server starts. To stop that, set
host_workshop_autoupdate 0inserver.cfg. Facepunch notes that this keeps out bad updates, but an updated map can then stop players joining. - Garry’s Mod itself updates through Steam. Our servers move to the newest build when they start, unless you pinned a version in Settings.
- After a Garry’s Mod update, an old addon can start throwing Lua errors. Update it, or remove it until its author fixes it. See Lua errors.
Admin addons
Garry’s Mod servers have no admin menu of their own. ULX, with its library ULib, is the most used admin addon. Its Workshop IDs are 557962280 (ULX) and 557962238 (ULib). Install both from Mods, restart, and follow the steps in getting started.
Addons and Facepunch’s rules
Garry’s Mod’s server operator rules apply to every addon you run. Servers get blacklisted from the server list for addons that:
- wipe or fill up players’ data folders, or change their settings without asking
- crash players’ games or trap them in custom menus
- show adult content without a consent prompt players must accept
- fake the server’s player count or location
- ask players to install other software
Check what an addon does before you install it, especially ones that promise to “protect” your server.
Questions
How do I add a Workshop collection to my Garry's Mod server?
Make the collection public or unlisted on the Steam Workshop, copy the number at the end of its address, paste it into the Workshop collection field in Settings and restart the server.
Why do players see missing textures from my server's addons?
The server has the addon but players don't. Maps and the gamemode download on their own, but other content addons need resource.AddWorkshop in a server Lua file so players download them when they join.
Does my Workshop collection need to be public?
It must be public or unlisted. A private collection can't be read by the server, so nothing in it downloads.
Do Garry's Mod Workshop addons update on their own?
The server checks the Workshop for updates every time it starts. You can turn that off with host_workshop_autoupdate 0, but then an updated map can stop players from joining.
Sources we checked
- Workshop for Dedicated ServersFacepunch Studios
- Serving ContentFacepunch Studios
- Linux Dedicated Server HostingFacepunch Studios
- Server Operator RulesFacepunch Studios
