1. Descarrega-o
Em Linux, o servidor precisa antes das bibliotecas de 32 bits:
dpkg --add-architecture i386
apt update
apt install -y lib32gcc-s1 lib32stdc++6
# Windows
C:\steamcmd\steamcmd.exe +force_install_dir C:\gmod +login anonymous +app_update 4020 validate +quit
# Linux (com o utilizador steam)
~/steamcmd/steamcmd.sh +force_install_dir ~/gmod +login anonymous +app_update 4020 validate +quit
2. O token do Steam (GSLT)
Em steamcommunity.com/dev/managegameservers cria um token com o App ID 4000. É o do jogo, não o do servidor (4020): com o 4020 não funciona.
3. Arranca-o
# Windows
C:\gmod\srcds.exe -console -game garrysmod +gamemode sandbox +map gm_construct +maxplayers 16 +sv_setsteamaccount O_TEU_TOKEN
# Linux
~/gmod/srcds_run -game garrysmod +gamemode sandbox +map gm_construct +maxplayers 16 +sv_setsteamaccount O_TEU_TOKEN
Muda sandbox para o modo que quiseres: terrortown (TTT, vem incluído) ou o do teu modo descarregado, como o DarkRP.
4. Coleções do Workshop
Cria uma coleção no Workshop do Steam com os teus mapas e addons, e acrescenta à linha de arranque:
+host_workshop_collection ID_DA_COLECAO
O servidor descarrega e monta tudo o que está na coleção ao arrancar.
5. Nome, palavra-passe e RCON
Em garrysmod/cfg/server.cfg:
hostname "O meu servidor de Garry's Mod"
sv_password ""
rcon_password "UMA_PALAVRA_PASSE_LONGA"
6. Portas
O Garry's Mod usa a 27015 em UDP para o jogo e em TCP para o RCON:
# Windows (PowerShell como administrador)
New-NetFirewallRule -DisplayName "GMod UDP 27015" -Direction Inbound -Protocol UDP -LocalPort 27015 -Action Allow -Profile Any
New-NetFirewallRule -DisplayName "GMod TCP 27015" -Direction Inbound -Protocol TCP -LocalPort 27015 -Action Allow -Profile Any
# Linux
ufw allow 27015/udp
ufw allow 27015/tcp
Para entrar: consola do jogo (tecla \ ou ~) e connect O_TEU_IP:27015.