В этой теме мы пошагово разберем, как поднять чистый, оптимизированный и защищенный сервер на Linux, готовый к высоким нагрузкам.
1. Подготовка операционной системы
- Для работы сервера нам понадобятся 32-битные библиотеки (даже если у вас 64-битная система, так как сервер CS 1.6 32-битный) и утилита SteamCMD.
- Подключитесь к серверу по SSH и выполните команды:
Bash sudo dpkg --add-architecture i386 sudo apt update sudo apt install lib32gcc-s1 lib32stdc++6 curl screen htop target -y
2. Установка чистого сервера через SteamCMD
Цитата
Не качайте готовые сборки из интернета — в них часто зашиты вирусы или мусорные плагины. Ставим чистый оригинал:
Создаем пользователя для безопасности *(запускать сервер от root нельзя!):
Bash adduser hlds su - hlds
- Скачиваем и распаковываем SteamCMD:
Bash mkdir steamcmd && cd steamcmd curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
- Скачиваем файлы игры (AppID для CS 1.6 — 90):
Bash ./steamcmd.sh +force_install_dir /home/hlds/server +login anonymous +app_update 90 validate +quit
Цитата
(Если загрузка прервалась, повторите команду еще раз, пока не увидите Success! App '90' fully installed).
3. Переход на ReHLDS и ReGameDLL
Теперь превращаем стандартный сервер в производительный ReHLDS. Для этого вам нужно скачать последние релизы модулей и заменить файлы:
ReHLDS (скачать) — заменяем оригинальный движок engine_i486.so в корне сервера.
ReGameDLL (скачать) — заменяем mp.so в папке cstrike/dlls/.
Metamod-r (скачать) — ставим обновленный менеджер плагинов в cstrike/addons/metamod/.
4. Базовый комплект модулей (Защита и Экосистема)
В файл addons/metamod/plugins.ini прописываем минимальный набор модулей, без которых сервер не должен выходить в онлайн:
- Reunion (скачать) — позволяет заходить на сервер как Steam, так и Non-Steam игрокам, генерирует уникальные SteamID.
- Rechecker (скачать) — сканирует клиентские файлы на наличие читов.
- VoiceTranscoder — объединяет голосовой чат для игроков со старыми (Non-Steam) и новыми (Steam) версиями игры.
- Чтобы стрельба на сервере была идеальной, а пули летели без задержек, сервер должен работать на частоте 1000 FPS.
- Открываем cstrike/server.cfg и выставляем правильные рейты:
sys_ticrate 1100 ; Запас частоты для удержания ровных 1000 FPS sv_maxrate 100000 ; Максимальная пропускная способность sv_minrate 25000 ; Минимальный порог sv_maxupdaterate 102 ; Максимальное число обновлений в секунду sv_minupdaterate 30
Скрипт правильного запуска (start.sh):
- В корне сервера создаем файл start.sh для запуска сервера в фоновом режиме через утилиту screen:
Bash #!/bin/bash # Привязываем сервер к первому ядру процессора (taskset -c 0) для уменьшения скачков FPS screen -AmdS cs_server taskset -c 0 ./hlds_run -game cstrike +ip 0.0.0.0 +port 27015 +maxplayers 32 +map de_dust2 -pingboost 3 +sys_ticrate 1100
Сделайте скрипт исполняемым: chmod +x start.sh и запускайте команду ./start.sh.
6. Настройка FastDL (Быстрая загрузка карт и моделей)
- Если на сервере есть кастомные карты, звуки или модели, скачивание их напрямую с игрового сервера будет очень медленным. Для этого настраивают HTTP-сервер (Nginx/Apache).
sv_downloadurl "http://ваш_домен/cstrike/" ; Ссылка на ваш Web-сервер с файлами sv_allowdownload 1 sv_allowupload 0 ; Запрещаем загрузку файлов от игроков (безопасность)
Цитата
Важно: Структура папок на Web-сервере должна полностью повторять структуру игровой папки cstrike/ (папки maps, models, sound и т.д.).
7. Автозапуск сервера 24/7 (Systemd Service)
Цитата
Использовать простой screen вручную неудобно: при перезагрузке VDS сервер не поднимется сам. Настроим системную службу Systemd.
- Создаем файл службы:
Bash sudo nano /etc/systemd/system/cs16.service
- Вставляем следующую конфигурацию:
[Unit] Description=CS 1.6 ReHLDS Server After=network.target [Service] Type=forking User=hlds WorkingDirectory=/home/hlds/server ExecStart=/usr/bin/screen -AmdS cs_server taskset -c 0 /home/hlds/server/hlds_run -game cstrike +ip 0.0.0.0 +port 27015 +maxplayers 32 +map de_dust2 -pingboost 3 +sys_ticrate 1100 ExecStop=/usr/bin/screen -S cs_server -X quit Restart=on-failure RestartSec=5s [Install] WantedBy=multi-user.target
- Активируем и запускаем службу:
Bash sudo systemctl daemon-reload sudo systemctl enable cs16 sudo systemctl start cs16
Цитата
Теперь сервер автоматически запустится после перезагрузки VDS, а при падении процесса рестартует через 5 секунд.
Заключение:
Вы подняли современный, оптимизированный и защищенный сервер CS 1.6 на базе ReHLDS. Сервер выдерживает высокую нагрузку, держит честные 1000 FPS и защищен от большинства стандартных атак.
- Полезные команды для управления службой:
sudo systemctl restart cs16 — перезапустить сервер.
su - hlds -> screen -r cs_server — подключиться к консоли сервера (выйти без закрытия: Ctrl+A, затем D).


