Garry's Mod Wiki

Downloading and Hosting a Dedicated Server

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:

login anonymous

Installing & Updating Garry's Mod Dedicated Server

If you want to specify a download folder then before you update enter this command:

This is known to cause problems when updating your server to a newer version. If your server fails to update, try not using the force_install_dir feature, or try reinstalling your server into another folder
force_install_dir c:\my_garrysmod_server\

You can then install or update the Garry's Mod Dedicated Server by using the command:

app_update 4020

It will slowly download or update.

If you wish to verify your server, enter this instead of the above:

app_update 4020 -validate

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.

steamcmd.exe +login anonymous +app_update 4020 validate +quit

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:

srcds.exe +maxplayers 20 -console +gamemode sandbox +map gm_construct +sv_setsteamaccount <your token>

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.

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:

steamcmd +login anonymous +force_install_dir ../gmodds +app_update 4020 validate +quit

The server is now available in ~/gmodds/.

cd ~/gmodds/ ./srcds_run -game garrysmod +maxplayers 32 +map gm_construct

Troubleshooting

If you get the error message

./steamcmd.sh: line 29: /home/$USER/Steam/linux32/steamcmd: No such file or directory

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.

uname -m

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 the development branch, you'll have to launch your SteamCMD and enter these commands manually:

login anonymous app_update 4020 -beta dev validate quit

For the pre-release branch:

login anonymous app_update 4020 -beta prerelease validate quit

For the x64 branch:

login anonymous app_update 4020 -beta x86-64 validate quit

To revert back to stable branch:

login anonymous app_update 4020 -beta NONE validate quit

The development branch is updated regularly.

Special Pages


Wikis

?

Render Time: 63ms

DB GetPage 35
Generate Html 6
SaveChanges (1) 12
Render Body 0
Render Sidebar 7