Подробный гайд: Установка и настройка сервера Surf / Kreedz для CS:GO

Гайд по установке и настройке сервера Surf/KZ для CS:GO на Linux: SteamCMD, SourceMod, плагины, FastDL, автозапуск.

2026.04.17                  


Подробный гайд: Установка и настройка сервера Surf / Kreedz для CS:GOПодробный гайд: Установка и настройка сервера Surf / Kreedz для CS:GO Вот подробный пошаговый гайд по развёртыванию и настройке сервера Surf / Kreedz (KZ) для CS:GO. Гайд рассчитан на Linux (Ubuntu 20.04/22.04/24.04), так как это стандарт для игровых хостингов и обеспечивает максимальную стабильность.

Важно:

  • С сентября 2023 года CS:GO переведён в статус Legacy. Valve больше не выпускает для него официальные обновления, но серверная часть полностью работоспособна. Многие сообщества используют патчи от энтузиастов или остаются на стабильных билдах. Для новых проектов рекомендуется рассматривать CS2, но инфраструктура Sourcemod/плагинов для CS:GO по-прежнему активна.

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

Компонент Минимум Рекомендация
ОС Ubuntu 20.04 LTS / Debian 11 Ubuntu 22.04/24.04 LTS
CPU 2 ядра @ 2.5 GHz 4 ядра @ 3.0+ GHz
RAM 2 GB 4 GB
Диск 10 GB SSD 20+ GB NVMe
Сеть 100 Мбит/с 1 Гбит/с, низкий пинг до ЦА

Шаг 1: Подготовка системы

sudo apt update && sudo apt upgrade -y
sudo apt install -y wget curl tar unzip lib32gcc1 lib32stdc++6 lib32z1 screen tmux net-tools ufw
sudo ufw allow 27015/udp 27016/udp 27017/udp 27020/udp
sudo ufw enable

Создаём отдельного пользователя для сервера (не запускайте от root!):

sudo adduser csgoserver
sudo usermod -aG sudo csgoserver
su - csgoserver

Шаг 2: Установка SteamCMD

mkdir ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
./steamcmd.sh +quit

Шаг 3: Загрузка файлов сервера CS:GO

mkdir ~/csgo_server && cd ~/steamcmd
./steamcmd.sh +login anonymous +force_install_dir ~/csgo_server +app_update 740 validate +quit

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

~/csgo_server/
├── bin/
├── csgo/
│   ├── cfg/
│   ├── addons/ (появится позже)
│   └── ...
├── steamapps/
└── ...

Шаг 4: Базовая настройка сервера

Перейдите в ~/csgo_server/csgo/cfg/ и создайте/отредактируйте server.cfg:

// Идентификация
hostname "Surf/KZ Server"
sv_password ""
rcon_password "Ваш_Сложный_RCON_Пароль"

// Геймплей
sv_cheats 0
sv_lan 0
sv_allowdownload 1
sv_allowupload 1
sv_downloadurl "http://ваш_домен_или_ip/fastdl"
sv_maxrate 786432
sv_minrate 0
sv_maxcmdrate 128
sv_mincmdrate 0
sv_tickrate 128
sv_airaccelerate 100
sv_enablebunnyhopping 1

// Слоты и режимы
sv_maxplayers 32
game_type 0
game_mode 1

// Карты
mapgroup surf_kz_pool
mapcyclefile "mapcycle.txt"

Создайте mapcycle.txt (по 1 карте на строку):

surf_ace
surf_kitsune
surf_mesa
kz_16pillars
kz_luclin

Шаг 5: Установка Metamod:Source + SourceMod

1. Скачайте стабильную сборку под Linux:

  • Metamod: https://www.sourcemm.net/downloads.php
  • SourceMod: https://www.sourcemod.net/downloads.php

2. Распакуйте в ~/csgo_server/csgo/

   addons/
   ├── metamod/
   └── sourcemod/
       ├── configs/
       ├── plugins/
       ├── scripting/
       └── ...

3. Создайте csgo/cfg/autoexec.cfg:

   exec server.cfg

4. В csgo/addons/metamod.vdf укажите путь к SourceMod:

   "Metamod"
   {
       "File"    "../csgo/addons/sourcemod/bin/server_i486.so"
   }

Перезапустите сервер.

В консоли должна появиться надпись:

[SM] Displaying 112 extensions:
[01] Automatic Updater
...
SourceMod 1.11.x detected.

Шаг 6: Плагины для Surf / Kreedz

Основные плагины (устанавливаются в csgo/addons/sourcemod/plugins/):

Плагин Назначение Где брать
kz_global_system.smx / kztimer.smx Таймер, чекпоинты, рекорды AlliedModders / GitHub
surf_timer.smx Таймер для серф-карт AlliedModders
bhop_autobunnyhop.smx Автобхоп (опционально) SM forums
mapchooser_extended.smx Выбор следующей карты Входит в SM
nextmap.smx Показ следующей карты Входит в SM
admin-flatfile.smx Админка Входит в SM

Установка:

  1. Скачайте .smx файлы.
  2. Загрузите в csgo/addons/sourcemod/plugins/
  3. Перезапустите сервер или в консоли: sm plugins load <имя>
  4. Настройте через csgo/addons/sourcemod/configs/ и cfg/ плагинов.

Пример kztimer.cfg (базовый):

kz_enable 1
kz_checkpoint_save 1
kz_global_top_enabled 1
kz_spectate_enabled 1
kz_teleport_mode 1

Шаг 7: Настройка карт и FastDL

Сервер будет отправлять клиентам карты через HTTP/HTTPS (FastDL), иначе игроки будут отключаться.

1. Установите веб-сервер (nginx):

   sudo apt install nginx -y
   sudo mkdir -p /var/www/fastdl/csgo
   sudo chown -R www-www-data /var/www/fastdl

2. Скопируйте карты:

   cp ~/csgo_server/csgo/maps/*.bsp /var/www/fastdl/csgo/maps/
   cp ~/csgo_server/csgo/maps/*.res /var/www/fastdl/csgo/maps/
   cp ~/csgo_server/csgo/maps/*.nav /var/www/fastdl/csgo/maps/
   cp ~/csgo_server/csgo/sound/*.wav /var/www/fastdl/csgo/sound/
   cp ~/csgo_server/csgo/materials/*.* /var/www/fastdl/csgo/materials/

3. Настройте nginx (/etc/nginx/sites-available/fastdl):

   server {
       listen 80;
       server_name ваш_ip_или_домен;
       root /var/www/fastdl;
       autoindex on;
       location / { }
   }
   sudo ln -s /etc/nginx/sites-available/fastdl /etc/nginx/sites-enabled/
   sudo nginx -t && sudo systemctl restart nginx

4. В server.cfg убедитесь:

   sv_downloadurl "http://ваш_ip/fastdl"
   sv_allowdownload 1

Шаг 8: Сетевая настройка и проброс портов

Порт Протокол Назначение
27015 UDP/TCP Основной игровой
27016 UDP RCON / Query
27017 UDP GOTV
27020 UDP Клиентские соединения

Если сервер за NAT:

  • пробросьте порты в роутере на локальный IP сервера.

Проверка:

`netstat -ulnp | grep 27015` или `ss -ulnp | grep 27015`

Шаг 9: Автозапуск через systemd

Создайте сервис: sudo nano /etc/systemd/system/csgo-surf.service

[Unit]
Description=CS:GO Surf/KZ Server
After=network.target

[Service]
Type=simple
User=csgoserver
WorkingDirectory=/home/csgoserver/csgo_server
ExecStart=/home/csgoserver/csgo_server/srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +map surf_ace +ip 0.0.0.0 -port 27015 +tickrate 128
Restart=on-failure
RestartSec=10
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

Активация:

sudo systemctl daemon-reload
sudo systemctl enable csgo-surf.service
sudo systemctl start csgo-surf.service
sudo systemctl status csgo-surf.service

Логи:

`journalctl -u csgo-surf.service -f`

Шаг 10: Тестирование и диагностика

  1. Подключитесь к серверу через клиент: connect IP:27015
  2. Проверьте консоль сервера: sm version, sm plugins list
  3. Убедитесь, что таймеры и чекпоинты работают.
  4. Проверьте FastDL: в консоли клиента status должно быть sv_downloadurl активен.
  5. Логи: ~/csgo_server/csgo/logs/

Частые проблемы:

Симптом Решение
Connection rejected Проверьте фаервол, проброс портов, sv_lan 0
Плагины не грузятся Версия SM не совпадает с билдом CS:GO, проверьте metamod.vdf
Карты не скачиваются Ошибка в sv_downloadurl, права на /var/www/fastdl, MIME-типы в nginx
Сервер крашится Отключите плагины по одному, проверьте logs/ и dumps/

Рекомендации по развитию

  • Админка: настройте admins_simple.ini и admin_groups.cfg
  • База рекордов: подключите MySQL для kztimer/surf_timer (укажите в databases.cfg)
  • Античит: smac, kz_anticheat, serverguard (опционально)
  • Мониторинг: HLSW, GameQ, или кастомный веб-панель
  • Бэкапы: tar -czf csgo_backup_$(date +%F).tar.gz ~/csgo_server/

Итог

Вы получили полностью рабочий сервер для Surf/KZ с таймерами, чекпоинтами, автозапуском, FastDL и базовой защитой. Для поддержки актуальности следите за обновлениями SourceMod на sourcemod.net и проверяйте совместимость плагинов с билдом CS:GO.