Downloading and Hosting a Dedicated Server
Windows
SteamCMD
Dedicated servers are now downloaded using SteamCMD. This is a command line version of Steam.
You can download it from this page.
The first time you run it it will update and you will be left at a STEAM> console. You will want to log in. You can log into an anonymous account by typing:
Installing & Updating Garry's Mod Dedicated Server
If you want to specify a download folder then before you update enter this command:
force_install_dir
feature, or try reinstalling your server into another folder. You can also try entering force_install_dir
before logging into Steam via login
command.You can then install or update the Garry's Mod Dedicated Server by using the command:
It will slowly download or update.
If you wish to verify your server, enter this instead of the above:
Once it's done you can type quit at the console to exit or just close the SteamCMD window.
Automated
You probably don't want to do that every time you want to install/update a server. Don't worry - it supports command lines too.
Running the server
After downloading and installing the server files you can now run the dedicated sever.
You can either just run srcds.exe
directly or use its command line interface like so:
After initial installation
After installing your server you should set up your GSL Token and the server's location.
GSLT
Please see Steam Game Server Accounts (GSLT) for help with sv_setsteamaccount
. This is mandatory. Your server's ranking will be penalized if you do not do this.
Server operator rules
Please make sure your server conforms to Server Operator Rules.
Location flag
Next you should set your server's location. This is done via the sv_location
console variable. The convar should directly correspond to a flag icon stored in the materials/flags16/
folder, without the .png
extension. The maximum length is currently set to 5 characters.
The flag icon filenames follow the ISO 3166-1 alpha-2
country codes. (http://www.famfamfam.com/lab/icons/flags/)
For example sv_location gb
will display the Great Britain flag, sv_location us
will display the USA flag, etc.
European Union has a special case: sv_location eu
Steam Workshop
Optionally you can add +host_workshop_collection <collectionID>
to your command line to automatically install workshop addons onto your dedicated server.
Please see Workshop for Dedicated Servers for help with workshop for dedicated servers.
Setting startup gamemode
The active gamemode is set via the gamemode
ConVar. As a command line parameter it can be applied as such: +gamemode sandbox
, where sandbox
is the name of the gamemode folder as it appears in garrysmod/gamemodes/
or in the gamemodes/
folder of any addon, including workshop addons. If you do know know the folder name of a workshop addon, it is very likely this information is provided in the addons' description. If not, you can ask the addon author.
The active gamemode can be changed at any time with the gamemode
convar and then changing the map (see below).
Setting the startup map.
Setting startup maps works identically to setting startup gamemode, but using the map
concommand. As a command line parameter it would look like so: +map gm_construct
, where gm_construct
is name of the map file without the .bsp
extension, inside the garrysmod/maps/
folder, or inside the maps/
folder of any addon. Same rule applies to workshop addons - check the addons workshop page description for map file name.
To gracefully change the active map to a different map (or to simply reload the map), you can use the changelevel
command, like so: changelevel gm_flatgrass
.
Peer to Peer
Dedicated server can function in peer-to-peer mode. It can be turned on via the -p2p
command line parameter. On startup the server will tell you how players can connect to such a server manually.
Hiding Your Server
hide_server
convar, which when set to 1 will hide the server from the server browser. Ex: hide_server 1
Linux
Main article: Linux Dedicated Server Hosting
Installation
Install SteamCMD as per the recommendations from the Valve Developer Wiki.
Then install the GMod dedicated server in a similar manner to Windows:
The server is now available in ~/gmodds/.
Troubleshooting
If you get the error message
You are most likely running 64 a bit system and missing 32 bit libraries.
If the output of this command is x86_64, you are running a 64 bit system and need 32 bit libraries.
See this article on the valve wiki.
32-bit libraries on 64-bit Linux systems
macOS
macOS dedicated servers are no longer shipped.
The Experimental Branches
To update your server to a beta branch, you'll have to add the -beta <beta_name>
to your app_update
command.
The development branches are updated regularly, and may not be stable. See Dev Branch.
For the dev
beta branch:
For the pre-release
branch:
For the x86-64
branch:
Removing beta participation
To revert back to stable branch (NONE
beta):
-beta
parameter will not be sufficient! SteamCMD will continue to update to the last activated beta.