Hosting A Dedicated Server
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 Garry's Mod Dedicated Server
If you want to specify a download folder then before you update enter this command:
You can then install the Garry's Mod DS using the command
app_update 4020 validate
It will slowly download.
Once it's done you can type quit at the console to exit.
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
The development branch
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
The development branch is updated extremely regularly.
Main article: Linux Dedicated Server Hosting
Here's a useful script that will download SteamCMD into ~/Steam/ then extract and install it - and then install the Garry's Mod Dedicated Server.
mkdir ~/Steam cd ~/Steam wget http://media.steampowered.com/client/steamcmd_linux.tar.gz tar -xvzf steamcmd_linux.tar.gz ./steamcmd.sh +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
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.
See this article on the valve wiki. 32-bit libraries on 64-bit Linux systems