Перейти к основному содержимому
Вернуться в категорию

Установка сервера Garry's Mod: Руководство по Dedicated Server

Установка выделенного сервера GMod, настройка игровых режимов, аддоны/Workshop коллекции, FastDL, ULX админ мод и оптимизация сервера.

Время чтения: 15 мин. Настройка игровых серверов
garrys-modgmodигровой серверsteamcmddedicated server

Содержание

Введение

Garry's Mod (GMod) — это песочница на движке Source Engine, предлагающая безграничные творческие возможности. С игровыми режимами DarkRP, TTT (Trouble in Terrorist Town), Sandbox и многими другими вы можете создать собственный сервер сообщества. В этом руководстве подробно описана установка GMod Dedicated Server на вашем REXE VDS.

Системные требования

РесурсМинимумРекомендуется
CPU2 ядра4+ ядер
RAM4 ГБ8+ ГБ
Диск20 ГБ SSD40+ ГБ NVMe
ОСUbuntu 22.04+Ubuntu 22.04 LTS
Пропускная способность5 Мбит/с10+ Мбит/с

Требования к RAM зависят от количества установленных аддонов и вместимости сервера. Серверы DarkRP обычно требуют больше RAM.

Предварительная подготовка

Подключитесь к серверу по SSH и установите необходимые пакеты:

hljs bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y lib32gcc-s1 lib32stdc++6 wget tar screen

Создайте отдельного пользователя:

hljs bash
sudo adduser gmod --disabled-login --gecos ""
sudo su - gmod

Установка SteamCMD

hljs bash
mkdir -p ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzf steamcmd_linux.tar.gz
rm steamcmd_linux.tar.gz
./steamcmd.sh +quit

Загрузка файлов сервера GMod

hljs bash
~/steamcmd/steamcmd.sh +force_install_dir ~/gmod-server \
  +login anonymous \
  +app_update 4020 validate \
  +quit

App ID 4020 — это Steam ID для Garry's Mod Dedicated Server. Загрузка составляет примерно 4-5 ГБ.

Установка контента CSS

Многие игровые режимы GMod требуют контент CSS:

hljs bash
~/steamcmd/steamcmd.sh +force_install_dir ~/css-content \
  +login anonymous \
  +app_update 232330 validate \
  +quit

Подключите контент CSS к серверу GMod:

hljs bash
nano ~/gmod-server/garrysmod/cfg/mount.cfg
"mountcfg"
{
  "cstrike" "/home/gmod/css-content/cstrike"
}

Получение GSLT токена

GSLT токен необходим для отображения сервера в браузере серверов:

  1. Перейдите на steamcommunity.com/dev/managegameservers
  2. App ID: 4000 (Garry's Mod)
  3. Скопируйте токен

Настройка сервера

server.cfg

hljs bash
nano ~/gmod-server/garrysmod/cfg/server.cfg
hostname "Мой REXE GMod Сервер"
rcon_password "НАДЕЖНЫЙ_ПАРОЛЬ_RCON"
sv_password ""
sv_defaultgamemode "sandbox"
sv_maxrate 0
sv_minrate 100000
sv_maxupdaterate 66
sv_minupdaterate 33
sv_timeout 120
sv_lan 0
sv_allowdownload 1
net_maxfilesize 64
log on

Игровые режимы

РежимОписаниеsv_defaultgamemode
sandboxСвободный режимsandbox
darkrpРолевая играdarkrp
terrortownTTT - Детективная играterrortown
prophuntПряткиprop_hunt
murderТайна убийстваmurder
deathrunПаркур с ловушкамиdeathrun

Скрипт запуска

hljs bash
nano ~/gmod-server/start.sh
hljs bash
#!/bin/bash
cd ~/gmod-server

./srcds_run \
  -game garrysmod \
  -port 27015 \
  -maxplayers 32 \
  +gamemode sandbox \
  +map gm_construct \
  +sv_setsteamaccount GSLT_TOKEN \
  -tickrate 33 \
  +host_workshop_collection ID_КОЛЛЕКЦИИ \
  -authkey STEAM_API_KEY
hljs bash
chmod +x ~/gmod-server/start.sh

Настройка Workshop коллекции

Управление аддонами через коллекции Steam Workshop:

1. Получение Steam API Key

Получите API ключ на steamcommunity.com/dev/apikey.

2. Создание коллекции Workshop

  1. Создайте новую коллекцию в Steam Workshop
  2. Добавьте нужные аддоны
  3. Запишите ID коллекции из URL

3. Добавление на сервер

Для автоматической загрузки на клиенте создайте lua/autorun/server/workshop.lua:

hljs lua
resource.AddWorkshop("ID_АДДОНА_1")
resource.AddWorkshop("ID_АДДОНА_2")
resource.AddWorkshop("ID_АДДОНА_3")

Настройка FastDL

FastDL обеспечивает быструю загрузку пользовательского контента:

hljs bash
sudo apt install nginx -y
sudo nano /etc/nginx/sites-available/fastdl
hljs nginx
server {
    listen 8080;
    server_name IP_СЕРВЕРА;

    location /garrysmod/ {
        alias /home/gmod/gmod-server/garrysmod/;
        autoindex on;
    }
}
hljs bash
sudo ln -s /etc/nginx/sites-available/fastdl /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Добавьте в server.cfg:

sv_downloadurl "http://IP_СЕРВЕРА:8080/garrysmod/"
sv_allowdownload 1

Установка ULX Admin Mod

hljs bash
cd ~/gmod-server/garrysmod/addons
git clone https://github.com/TeamUlysses/ulib.git
git clone https://github.com/TeamUlysses/ulx.git

После перезапуска сервера в игре:

ulx adduserid STEAM_ID superadmin
ulx ban ИМЯ_ИГРОКА 0 "Причина"
ulx kick ИМЯ_ИГРОКА "Причина"

Настройка портов

ПортПротоколНазначение
27015TCP + UDPИгровой сервер GMod
27005UDPКлиентский порт
27020UDPSourceTV
8080TCPFastDL (опционально)

Path Panel Firewall

Через REXE Path Panel:

  1. GMod UDP: Протокол: UDP, Порт: 27015, Фильтр: Source Engine
  2. GMod TCP: Протокол: TCP, Порт: 27015
  3. Client: Протокол: UDP, Порт: 27005

Автозапуск через systemd

hljs bash
sudo nano /etc/systemd/system/gmod.service
hljs ini
[Unit]
Description=Garry's Mod Dedicated Server
After=network.target

[Service]
Type=simple
User=gmod
Group=gmod
WorkingDirectory=/home/gmod/gmod-server
ExecStart=/home/gmod/gmod-server/start.sh
Restart=on-failure
RestartSec=15
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target
hljs bash
sudo systemctl daemon-reload
sudo systemctl enable gmod
sudo systemctl start gmod

Настройка DarkRP

hljs bash
cd ~/gmod-server/garrysmod/gamemodes
git clone https://github.com/FPtje/DarkRP.git darkrp
cd ~/gmod-server/garrysmod/addons
git clone https://github.com/FPtje/darkrpmodification.git

В server.cfg:

sv_defaultgamemode "darkrp"

Оптимизация сервера

Настройки Tickrate

-tickrate 33    # Стандарт (рекомендуется)
-tickrate 66    # Высокая производительность (требует больше CPU)

Автообновление

hljs bash
nano ~/update_gmod.sh
hljs bash
#!/bin/bash
~/steamcmd/steamcmd.sh +force_install_dir ~/gmod-server +login anonymous +app_update 4020 +quit
hljs bash
chmod +x ~/update_gmod.sh
crontab -e
0 5 * * * /home/gmod/update_gmod.sh >> /home/gmod/update.log 2>&1

Заключение

С выделенным сервером Garry's Mod вы можете создать сервер сообщества с безграничными творческими возможностями. Workshop коллекции, ULX Admin Mod, FastDL и DarkRP выведут ваш сервер на профессиональный уровень. Мощная инфраструктура REXE VDS обеспечивает идеальную производительность для вашего GMod сервера.