Гайд: Установка и настройка сервера Counter-Strike 1.6 на reHLDS в Ubuntu: полное руководство

Пошаговая инструкция по установке игрового сервера Counter-Strike 1.6 на базе reHLDS в Ubuntu. Настройка, запуск, автоматизация через systemd.

2026.05.23                  


Гайд: Установка и настройка сервера Counter-Strike 1.6 на reHLDS в Ubuntu: полное руководствоГайд: Установка и настройка сервера Counter-Strike 1.6 на reHLDS в Ubuntu: полное руководство Представлен подробный, проверенный на практике гайд по установке и настройке сервера Counter-Strike 1.6 на базе reHLDS в Ubuntu. reHLDS — это современная, открытая и оптимизированная замена оригинальному HLDS от Valve, полностью совместимая с 64-битными ОС и активно поддерживаемая сообществом.


Важно:

Все команды выполняются в терминале. Рекомендую использовать Ubuntu 20.04/22.04/24.04 LTS.


1. Подготовка системы и пользователя

Работать от root небезопасно. Создадим отдельного пользователя для сервера.

sudo adduser --disabled-password --gecos "" csserver
sudo usermod -aG sudo csserver
sudo su - csserver
mkdir ~/cs16_server && cd ~/cs16_server

2. Установка зависимостей

GoldSrc движок 32-битный, поэтому требуются соответствующие библиотеки.

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y wget curl tar unzip screen lib32stdc++6 lib32z1 lib32gcc-s1

На Ubuntu 22.04/24.04 пакет lib32gcc1 заменён на lib32gcc-s1. Если возникнут ошибки с libstdc++.so.6, установите lib32stdc++6.


3. Загрузка базовых файлов сервера

Есть два пути.

Рекомендуемый (через SteamCMD, официально поддерживается):

# Скачиваем SteamCMD
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz

# Загружаем HLDS + мод cstrike
./steamcmd.sh +login anonymous +force_install_dir ./ +app_set_config 90 mod cstrike +app_update 90 validate +quit

Если app_update 90 падает или просит логин, используйте проверенный архив с файлами cstrike/ из надёжного источника (например, cs16-server-files.tar.gz с rehlds.ru) и распакуйте его в ~/cs16_server/.


4. Установка reHLDS

Заменяем оригинальные бинарники на версии reHLDS:

cd ~
wget https://github.com/reHLDS/reHLDS/releases/latest/download/rehlds.zip
unzip rehlds.zip

# Копируем ядро и модули в папку сервера
cp rehlds/bin/hlds_run ~/cs16_server/
cp rehlds/bin/hlds_linux ~/cs16_server/
cp rehlds/bin/engine_i486.so ~/cs16_server/
cp rehlds/bin/swds_i486.so ~/cs16_server/ 2>/dev/null || true
cp -r rehlds/addons ~/cs16_server/ 2>/dev/null || true

5. Базовая настройка сервера

Создаём конфигурационный файл:

mkdir -p ~/cs16_server/cstrike
nano ~/cs16_server/cstrike/server.cfg

Вставляем минимальный рабочий конфиг:

hostname "reHLDS |"
rcon_password "ваш_очень_сложный_пароль"
sv_password ""
maxplayers 32
map de_dust2
mp_timelimit 20
mp_c4timer 35
mp_friendlyfire 0
sv_lan 0
sys_ticrate 1000
fps_max 1000
log on
sv_logbans 1

Создаём файлы для IP/банов (обязательно, иначе сервер может крашиться при старте):

touch ~/cs16_server/cstrike/listip.cfg
touch ~/cs16_server/cstrike/banned.cfg

6. Первый запуск и проверка

cd ~/cs16_server
screen -S cs16 ./hlds_run -game cstrike +ip 0.0.0.0 +port 27015 +maxplayers 32 +map de_dust2 -pingboost 3 +sys_ticrate 1000 -debug
  • screen позволяет отключиться от терминала без остановки сервера (Ctrl+A, D для отключения, screen -r cs16 для возврата).
  • Проверьте, что порт открыт: netstat -tulpn | grep 27015
  • Сервер должен появиться в браузере серверов через 2–5 минут.

7. Настройка автоматического запуска (systemd)

Убьём тестовый процесс (Ctrl+C в screen или killall hlds_linux) и создадим сервис:

sudo nano /etc/systemd/system/cs16-server.service

Содержимое файла:

[Unit]
Description=reHLDS Counter-Strike 1.6 Server
After=network.target

[Service]
Type=simple
User=csserver
WorkingDirectory=/home/csserver/cs16_server
ExecStart=/home/csserver/cs16_server/hlds_run -game cstrike +ip 0.0.0.0 +port 27015 +maxplayers 32 +map de_dust2 -pingboost 3 +sys_ticrate 1000 -norestart
Restart=on-failure
RestartSec=10
StandardOutput=journal
StandardError=journal
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target

Активируем и запускаем:

sudo systemctl daemon-reload
sudo systemctl enable cs16-server
sudo systemctl start cs16-server
sudo systemctl status cs16-server

Логи сервера:

journalctl -u cs16-server -f

8. Настройка брандмауэра (UFW)

sudo ufw allow 27015/udp
sudo ufw allow 27020/udp
sudo ufw allow 27015/tcp
sudo ufw enable

Если сервер за NAT/VPS, убедитесь, что проброс портов настроен на уровне провайдера/хостинга.


9. Администрирование и обновления

Задача Команда / Действие
Перезапуск сервера sudo systemctl restart cs16-server
Остановка sudo systemctl stop cs16-server
Просмотр логов journalctl -u cs16-server -f или cat ~/cs16_server/cstrike/logs/L*.log
Подключение RCON rcon -a 127.0.0.1:27015 -p ваш_пароль status
Обновление reHLDS Скачать новый релиз с GitHub → заменить bin/sudo systemctl restart cs16-server

10. Рекомендации по безопасности и стабильности

  1. Никогда не используйте sv_lan 1 на публичном сервере.
  2. Пароль RCON должен быть ≥12 символов, содержать цифры, спецсимволы, регистр.
3. Плагинная база: для защиты от эксплойтов и расширения функционала установите:
  • ReAPI (безопасные вызовы движка)
  • Reunion (фикс подключения Steam/Non-Steam)
  • ReSemiclip (исправление коллизий)
  • AMX Mod X 1.10.0+ (управление сервером)
    1. Бэкапы: регулярно копируйте cstrike/, addons/, server.cfg.
    2. Мониторинг: используйте htop, vnstat, или скрипты автоперезапуска при падении (RestartSec=10 в systemd уже покрывает базовый сценарий).

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

Симптом Решение
Cannot open shared object libstdc++.so.6 sudo apt install lib32stdc++6
Сервер не виден в браузере Проверьте sv_lan 0, порты 27015/27020 UDP, наличие выхода в интернет, firewall
Segmentation fault / краш при старте Убедитесь, что скопированы все .so из rehlds/bin/, добавьте -pingboost 3, обновите reHLDS
Карты не загружаются Проверьте наличие .bsp в cstrike/maps/, права на чтение (chmod -R 755 cstrike/)

Удачной настройки!