Гайд: Установка и настройка сервера 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. Рекомендации по безопасности и стабильности
- Никогда не используйте
sv_lan 1на публичном сервере. - Пароль RCON должен быть ≥12 символов, содержать цифры, спецсимволы, регистр.
3. Плагинная база: для защиты от эксплойтов и расширения функционала установите:
ReAPI(безопасные вызовы движка)Reunion(фикс подключения Steam/Non-Steam)ReSemiclip(исправление коллизий)AMX Mod X 1.10.0+(управление сервером)- Бэкапы: регулярно копируйте
cstrike/,addons/,server.cfg. - Мониторинг: используйте
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/) |
Удачной настройки!