Виділений сервер Garry's Mod ставиться через SteamCMD (app 4020, анонімний вхід) і запускається через srcds_run (Linux) або srcds.exe (Windows). Потрібно близько 30 хвилин, VPS або ПК і токен сервера GSLT, обов'язковий за вікі Facepunch. Основне джерело: wiki.facepunch.com/gmod.
Покрокове встановлення
Виберіть машину: VPS з Linux (Ubuntu/Debian) або ПК з Windows; навантаження залежить переважно від аддонів і режиму.
Створіть користувача без root (steam) і встановіть SteamCMD та 32-бітні бібліотеки.
Завантажте сервер: app_update 4020 validate з анонімним входом.
Створіть токен GSLT (AppID 4000) на steamcommunity.com/dev/managegameservers.
Створіть рядок запуску інструментом «Команда запуску Garry's Mod» і запустіть srcds_run.
Налаштуйте garrysmod/cfg/server.cfg інструментом «Генератор server.cfg для Garry's Mod».
Додайте аддони через колекцію Workshop (+host_workshop_collection).
Відкрийте порти (щонайменше 27015 UDP/TCP) в ufw, у провайдера й на роутері.
Перевірте локально (connect 127.0.0.1 у консолі гри), потім з іншого підключення.
Створіть службу systemd і заплануйте оновлення та бекапи.
Вимоги
- ОС: Linux (Ubuntu/Debian) або Windows. У вікі Facepunch є команди для Windows і Linux.
- Ресурси: вікі мінімум не задає. Почніть із 2 vCPU, 4 ГБ ОЗУ та кількох ГБ диска, потім підлаштуйте під аддони та кількість гравців (офіційно не задокументовано).
- Облікові записи: акаунт Steam для токена GSLT (AppID 4000); сам сервер ставиться анонімним входом.
Локальне встановлення у Windows
Розпакувавши SteamCMD у C:\steamcmd, встановіть сервер і запустіть srcds.exe (приклад із вікі Facepunch). Потім перевірте командою connect 127.0.0.1 у консолі гри.
cd C:\steamcmd
steamcmd +force_install_dir C:\gmodds +login anonymous +app_update 4020 validate +quit
cd C:\gmodds
srcds.exe -console -game garrysmod +maxplayers 20 +gamemode sandbox +map gm_construct +sv_setsteamaccount YOUR_GSLT_TOKENLinux VPS: користувач і залежності
Сервер Source — 32-бітна програма: увімкніть архітектуру i386 і встановіть 32-бітні бібліотеки. Пакети нижче взято з вікі Team Fortress (той самий рушій); назви можуть відрізнятися залежно від дистрибутива.
sudo adduser steam
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6 lib32z1 steamcmd
su - steamLinux VPS: встановлення та перший запуск
Команда встановлення для Linux із вікі Facepunch, потім запуск через srcds_run. На сторінці немає подробиць про порти та точне місце server.cfg; діють стандартні значення Source (див. нижче).
steamcmd +login anonymous +force_install_dir /home/steam/gmodds +app_update 4020 validate +quit
cd /home/steam/gmodds
./srcds_run -game garrysmod -console +maxplayers 32 +gamemode sandbox +map gm_construct +sv_setsteamaccount YOUR_GSLT_TOKENWorkshop і токен GSLT
За вікі Facepunch, +sv_setsteamaccount обов'язковий (без нього рейтинг сервера знижується), а +host_workshop_collection додає аддони публічної або прихованої за посиланням колекції разом із вкладеними. host_workshop_autoupdate 0 вимикає автооновлення, але може завадити гравцям зайти за застарілої версії мапи. У вікі згадано також новий формат cfg/srcds_workshop_ids.txt (версія 2026.09.22 і новіші): див. сторінку «Workshop for Dedicated Servers». Про завантаження на стороні гравців — інструмент «Менеджер колекції Workshop».
./srcds_run -game garrysmod -console +maxplayers 32 +gamemode sandbox +map gm_construct \
+host_workshop_collection 123456789 \
+sv_setsteamaccount YOUR_GSLT_TOKENПорти для відкриття та брандмауер Linux (ufw)
Це стандартні значення серверів Source (на вивченій сторінці вікі Facepunch їх немає). Ігровий порт змінюється параметром -port N у рядку запуску. Аддони Workshop завантажуються через Steam: додаткових портів на стороні гравця не задокументовано.
Відкривайте лише необхідне й перевіряйте з іншого підключення (не з самого сервера).
- 27015/udp: гра (порт Source за замовчуванням)
- 27015/tcp: RCON
- 27005/udp: зв'язок із клієнтом
- 27020/udp: SourceTV (необов'язково)
sudo ufw allow OpenSSH
sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp
sudo ufw allow 27005/udp
sudo ufw allow 27020/udp
sudo ufw enable
sudo ufw statusБрандмауер Windows (netsh)
У командному рядку адміністратора створіть вхідне правило для кожного порту (або відкрийте «Брандмауер Windows Defender у режимі підвищеної безпеки»).
netsh advfirewall firewall add rule name="Garry's Mod 27015 UDP" dir=in action=allow protocol=UDP localport=27015
netsh advfirewall firewall add rule name="Garry's Mod 27015 TCP" dir=in action=allow protocol=TCP localport=27015
netsh advfirewall firewall add rule name="Garry's Mod 27005 UDP" dir=in action=allow protocol=UDP localport=27005
netsh advfirewall firewall add rule name="Garry's Mod 27020 UDP" dir=in action=allow protocol=UDP localport=27020Брандмауер провайдера та проброс портів (роутер)
У хостера (OVH, Hetzner, Scaleway…) відкрийте ті самі порти й у брандмауері або «security group» провайдера: ufw недостатньо, якщо є зовнішній брандмауер. Вдома налаштуйте на роутері проброс (NAT) кожного порту на локальну IP-адресу машини (статичну або зарезервовану через DHCP).
Перевірка: з іншого підключення додайте сервер як «IP:порт» у браузері серверів Garry's Mod або в консолі. Якщо не виходить, перевірте по черзі: чи запущено службу, локальний брандмауер, брандмауер провайдера, NAT.
Автозапуск: служба systemd
Створіть /etc/systemd/system/gmod.service (від root) і ввімкніть його. Підставте свого користувача та шляхи; логи — journalctl -u gmod -f.
[Unit]
Description=Garry's Mod dedicated server
After=network-online.target
Wants=network-online.target
[Service]
User=steam
WorkingDirectory=/home/steam/gmodds
ExecStart=/home/steam/gmodds/srcds_run -game garrysmod -console -norestart +maxplayers 32 +gamemode sandbox +map gm_construct +sv_setsteamaccount YOUR_GSLT_TOKEN
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
# then:
# sudo systemctl daemon-reload
# sudo systemctl enable --now gmodWindows: завдання планувальника під час запуску
У Windows завдання планувальника запускає ваш .bat під час старту системи (виконайте команду в командному рядку адміністратора).
schtasks /Create /TN "Garry's Mod server" /TR "C:\gmodds\start-gmod.bat" /SC ONSTART /RU SYSTEM /RL HIGHESTОновлення, резервні копії та планові перезапуски
Зупиняйте службу перед оновленням (та сама команда SteamCMD, що й під час встановлення), регулярно робіть бекап конфігурації та даних і плануйте щоденний перезапуск, якщо сервер із часом деградує.
sudo systemctl stop gmod
steamcmd +force_install_dir /home/steam/gmodds +login anonymous +app_update 4020 validate +quit
sudo systemctl start gmod
# backup
tar czf ~/gmod-$(date +%F).tar.gz -C /home/steam/gmodds garrysmod/cfg garrysmod/data garrysmod/addons
# daily restart at 05:00 (root crontab: sudo crontab -e)
0 5 * * * systemctl restart gmodДодавання та пошук сервера
Додайте сервер на https://game-rank.com/jeux/garrys-mod, щоб його побачила спільнота. У грі шукайте його в браузері серверів або підключайтеся напряму за IP:порт.
Усунення несправностей: часті помилки
- Клієнти зависають на завантаженні або «missing content»: аддони не передано гравцям. Рішення: додайте ID у workshop.lua (resource.AddWorkshop) або задайте sv_downloadurl (FastDL) і перевірте, що колекція публічна.
- Сервер не видно ззовні: служба працює, але ніхто не може підключитися. Причина: закритий порт (ufw, брандмауер провайдера або немає NAT). Рішення: відкрийте перелічені порти на всіх трьох рівнях і перевірте з іншого підключення.
- Порт зайнятий під час запуску: порт утримує інший екземпляр. Рішення: перегляньте процеси командою ss -lunp | grep 27015, зупиніть старий екземпляр або задайте кожному серверу свій порт через -port.
- SteamCMD «Failed to install app» або завантаження зависло: часта причина — заповнений диск або брак прав на теку. Рішення: перевірте df -h і власника теки, потім повторіть команду з validate (за потреби кілька разів).
- srcds_run: «No such file or directory» або немає 32-бітної бібліотеки: сервер Source — 32-бітна програма. Рішення: увімкніть архітектуру i386 (dpkg --add-architecture i386) і встановіть lib32gcc-s1 та lib32stdc++6.
Поширені запитання
- Чи обов'язковий токен GSLT?
- Вікі Facepunch вказує, що +sv_setsteamaccount обов'язковий, а без нього рейтинг сервера знижується. Для створення токена використовуйте AppID 4000.
- Як змінити режим гри (DarkRP, TTT…)?
- Параметром +gamemode <папка> у рядку запуску; папка розташована в garrysmod/gamemodes/ або в gamemodes/ аддона. Можна також змінити змінну gamemode і потім змінити мапу.
- Чи можна запускати сервер від root?
- Не рекомендується: створіть окремого користувача (наприклад, steam) без прав адміністратора й встановлюйте та запускайте сервер від нього. Тоді вразливість сервера чи плагіна не скомпрометує всю машину.
- Мій сервер Garry's Mod не відображається в списку: що перевірити?
- Спочатку перевірте, що порти відкриті на всіх рівнях, сервер не в режимі LAN (sv_lan 0) і, якщо гра вимагає, вказано дійсний токен сервера (GSLT). Список Steam може оновлюватися кілька хвилин; поки підключайтеся за IP:порт.
