1. Скачайте сервер
В Linux серверу сначала нужны 32-битные библиотеки:
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 (от имени пользователя steam)
~/steamcmd/steamcmd.sh +force_install_dir ~/gmod +login anonymous +app_update 4020 validate +quit
2. Токен Steam (GSLT)
На странице steamcommunity.com/dev/managegameservers создайте токен с App ID 4000. Это ID игры, а не сервера (4020): с 4020 токен не работает.
3. Запустите сервер
# Windows
C:\gmod\srcds.exe -console -game garrysmod +gamemode sandbox +map gm_construct +maxplayers 16 +sv_setsteamaccount VASH_TOKEN
# Linux
~/gmod/srcds_run -game garrysmod +gamemode sandbox +map gm_construct +maxplayers 16 +sv_setsteamaccount VASH_TOKEN
Замените sandbox на нужный режим: terrortown (TTT, входит в комплект) или скачанный вами режим, например DarkRP.
4. Коллекции Workshop
Создайте в Steam Workshop коллекцию со своими картами и аддонами и добавьте в строку запуска:
+host_workshop_collection ID_KOLLEKTSII
При запуске сервер скачает и подключит всё содержимое коллекции.
5. Имя, пароль и RCON
В файле garrysmod/cfg/server.cfg:
hostname "My Garry's Mod server"
sv_password ""
rcon_password "DLINNYY_PAROL"
6. Порты
Garry's Mod использует порт 27015 по UDP для игры и по TCP для RCON:
# Windows (PowerShell от имени администратора)
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
Чтобы подключиться, откройте консоль игры (клавиша ~ или `, на русской раскладке это Ё) и введите connect VASH_IP:27015.