Установка игрового сервера Garry's Mod на Linux
Инструкция по установке выделенного сервера Garry's Mod на VDS с Ubuntu 24.04. Все команды и снимки экрана сняты с настоящего сервера: инструкция проверена 15 ноября 2026 года на чистой Ubuntu 24.04.4 с сервером версии 2026.04.29.
Что понадобится
- VDS с Ubuntu 24.04 LTS и доступом root по SSH.
- Память: пустой сервер занимает меньше 200 МБ; с дополнениями и игроками — заметно больше. Берите VDS от 2 ГБ.
- Диск: файлы сервера занимают 6,5 ГБ; с запасом на обновления и дополнения нужно от 10 ГБ свободного места.
- Процессор: от 2 ядер.
Учётная запись Steam и купленная игра для установки сервера не нужны.
1. Обновите систему
sudo apt update && sudo apt upgrade -y
На свежей системе обновление идёт от 5 минут до получаса. По ходу могут появиться два места, где нужно ваше участие.
Окно выбора раскладки клавиатуры. Обновление остановится и покажет окно «Configuring keyboard-configuration». Ничего менять не нужно: нажмите Enter, в следующем окне снова Enter.
Сообщение о новом ядре. Если в конце вы видите «Pending kernel upgrade», система обновила ядро и ждёт перезагрузки.
Перезагрузите сервер и подключитесь снова через минуту:
sudo reboot
2. Установите нужные пакеты
sudo apt install -y wget lib32gcc-s1 lib32stdc++6
lib32gcc-s1иlib32stdc++6нужны программе SteamCMD, через которую скачивается сервер.
3. Создайте пользователя для сервера
Игровой сервер не должен работать от root. Создайте для него отдельного пользователя:
sudo useradd -m -s /bin/bash gmod
Пароль этому пользователю не нужен: входить под ним по SSH никто не будет, а переключаться на него вы будете командой из шага 5.
4. Скачайте SteamCMD
sudo mkdir -p /opt/steamcmd cd /opt/steamcmd sudo wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz sudo tar -xzf steamcmd_linux.tar.gz sudo chown -R gmod:gmod /opt/steamcmd
Архив маленький (2,3 МБ), но с серверов Steam он может качаться около минуты — это нормально.
5. Установите сервер Garry's Mod
Переключитесь на пользователя gmod и запустите SteamCMD:
sudo su - gmod cd /opt/steamcmd ./steamcmd.sh
При первом запуске SteamCMD скачивает собственное обновление (около 40 МБ). С серверов Steam оно может идти несколько минут — дождитесь приглашения Steam> и ничего не вводите раньше.
Затем введите по очереди три команды. Порядок важен: каталог установки задаётся до входа.
force_install_dir /home/gmod/gmod-server login anonymous app_update 4020 validate
Если вместо загрузки появилась строка «ERROR! Failed to install app … (Missing configuration)», просто введите команду app_update ещё раз: при первом запуске SteamCMD такое случается, со второго раза загрузка начинается.
Загрузка 3,5 ГБ (на диске 6,5 ГБ) занимает 10–15 минут. Дождитесь строки «Success! App '4020' fully installed.»:
Выйдите из SteamCMD:
quit
Проверьте, что файлы на месте:
ls /home/gmod/gmod-server
6. Настройте сервер
Настройки сервера записываются в файл server.cfg. Он уже есть в каталоге сервера, но пустой:
nano ~/gmod-server/garrysmod/cfg/server.cfg
hostname "My GMod Server" sv_password ""
hostname— название сервера в списке.sv_password— пароль для входа. Пустые кавычки — вход без пароля.
Число игроков, карта и режим игры в этом файле не задаются: они указываются ключами запуска в шаге 7.
Сохраните файл (в nano: Ctrl+O, Enter, Ctrl+X), проверьте его и вернитесь к root:
cat ~/gmod-server/garrysmod/cfg/server.cfg exit
7. Настройте автозапуск
Чтобы сервер запускался вместе с системой и поднимался после сбоя, создайте для него службу:
sudo nano /etc/systemd/system/gmod-server.service
Вставьте:
[Unit] Description=Garry's Mod Dedicated Server After=network.target [Service] Type=simple User=gmod WorkingDirectory=/home/gmod/gmod-server ExecStart=/home/gmod/gmod-server/srcds_run -norestart -console -condebug -game garrysmod +gamemode sandbox +map gm_construct +maxplayers 16 Restart=always RestartSec=5 [Install] WantedBy=multi-user.target
Что означают ключи запуска:
-norestart— штатный скрипт не перезапускает сервер сам: за этим следит служба.-condebug— сервер записывает свою консоль в файлgarrysmod/console.log. Без этого ключа под службой его сообщений не видно.+gamemode sandbox— режим игры,+map gm_construct— карта,+maxplayers 16— предел числа игроков.
8. Запустите сервер и проверьте его
sudo systemctl daemon-reload sudo systemctl enable gmod-server sudo systemctl start gmod-server
Запуск занимает меньше минуты. Проверьте состояние службы — должно быть active (running):
sudo systemctl status gmod-server --no-pager -n 0
Сервер готов, когда он занял порт 27015. Вторая команда показывает последние строки его консоли; предупреждение про sv_setsteamaccount в них — не ошибка, о нём рассказано в разделе «Токен сервера»:
sudo ss -uln | grep 27015 sudo tail -n 6 /home/gmod/gmod-server/garrysmod/console.log
Управление службой:
sudo systemctl stop gmod-server # остановить sudo systemctl restart gmod-server # перезапустить sudo journalctl -u gmod-server -f # смотреть журнал, выход — Ctrl+C
9. Откройте порты в файрволе
Внимание: сначала разрешите SSH и только потом включайте файрвол. Иначе связь с сервером оборвётся. Если SSH у вас на нестандартном порту, вместо первой команды выполните sudo ufw allow НОМЕР_ПОРТА/tcp.
sudo ufw allow OpenSSH sudo ufw allow 27015/udp sudo ufw enable
Если появится вопрос «Command may disrupt existing ssh connections. Proceed with operation (y|n)?», ответьте y. Проверьте результат:
sudo ufw status
10. Зайдите на сервер
В игре откройте список серверов и найдите сервер по названию либо откройте консоль и введите connect IP_СЕРВЕРА:27015. Пошагово со снимками — в статье Как зайти на сервер Garry’s Mod. Как поставить систему прав администратора — в статье Установка плагина Ulx на сервер Garry's mod.
Токен сервера (необязательно)
Без токена Steam сервер работает и виден в списке, но в его консоли есть предупреждение «Server ranking in server browser will be negatively impacted due to sv_setsteamaccount not being set»: в списке серверов он стоит ниже.
Токен бесплатный, его выдаёт Steam владельцу учётной записи:
1. Откройте страницу steamcommunity.com/dev/managegameservers и войдите в свою учётную запись Steam.
2. В поле «App ID» введите 4000 (это номер игры Garry's Mod), в поле заметки — любое название, и создайте токен.
3. Допишите токен в конец строки ExecStart в файле службы:
+sv_setsteamaccount ВАШ_ТОКЕН
4. Примените изменения:
sudo systemctl daemon-reload sudo systemctl restart gmod-server
Никому не передавайте токен: он привязан к вашей учётной записи Steam. Для каждого сервера нужен свой токен.
Обновление сервера
После выхода обновления игры остановите сервер, обновите файлы и запустите снова:
sudo systemctl stop gmod-server sudo -u gmod /opt/steamcmd/steamcmd.sh +force_install_dir /home/gmod/gmod-server +login anonymous +app_update 4020 validate +quit sudo systemctl start gmod-server
Ваши настройки и сохранения при обновлении не затрагиваются.
Где лежат сохранения
У сервера в режиме «песочница» нет мира, который нужно сохранять. Важные файлы:
/home/gmod/gmod-server/garrysmod/cfg/server.cfg— настройки;/home/gmod/gmod-server/garrysmod/addons/— дополнения;/home/gmod/gmod-server/garrysmod/data/— данные дополнений (например, списки администраторов);/home/gmod/gmod-server/garrysmod/console.log— журнал консоли.
Если что-то пошло не так
| Что видите | Причина и решение |
|---|---|
В журнале службы (journalctl) почти нет строк |
Это нормально: без терминала сервер не выводит свою консоль. Смотрите файл garrysmod/console.log — его включает ключ -condebug.
|
| Предел числа игроков не меняется | Строка maxplayers в server.cfg не действует. Меняйте ключ +maxplayers в строке ExecStart службы, затем выполните sudo systemctl daemon-reload и перезапустите службу.
|
После правки server.cfg название не изменилось |
Настройки читаются при запуске карты. Перезапустите службу: sudo systemctl restart gmod-server.
|
| SteamCMD отвечает «ERROR! Failed to install app '4020' (Missing configuration)» | Так иногда бывает при первом запуске SteamCMD. Введите команду app_update ещё раз — со второго раза загрузка начинается.
|
После установки нет каталога /home/gmod/gmod-server |
Команда force_install_dir была введена с ошибкой или после login, и сервер установился в /home/gmod/Steam/steamapps/common/. Запустите SteamCMD заново и повторите три команды из шага 5 по порядку.
|
| Служба в состоянии «failed» | Посмотрите причину: sudo journalctl -u gmod-server -n 50 --no-pager. Чаще всего это опечатка в пути или скрипт запуска не сделан исполняемым.
|
| Сервер запущен, но зайти не удаётся | Проверьте, что порты открыты (sudo ufw status) и что в игре указан верный адрес и порт.
|
Для размещения игровых серверов рекомендуем услуги ARK-HOSTER.RU:
- VPS/VDS серверы — для небольших и средних серверов
- Выделенные серверы — для высоконагруженных игровых серверов