Counter-Strike 1.6 — культовая игра, которая дает возможность создать свой сервер для игры с друзьями или публичных матчей. Если вы хотите настроить его, но не знаете, с чего начать, эта статья вам поможет. Под катом подробно рассмотрим, какие есть способы создания сервера, как выполнить установку, настройку, защиту от DDoS-атак и пригласить других игроков.

Скоро выпустим новый комикс о путешествиях ИБ-специалиста! Регистрируйтесь, чтобы узнать о публикации первыми. Бонусом сможете выиграть один из 15 комплектов призов.



Используйте навигацию, если не хотите читать текст полностью:
Способы создания сервера
Рекомендации по конфигурации
Создаем и запускаем сервер
Сервер на Ubuntu 22.04 LTS
Windows Server 2019
Установка защиты от DDoS-атак
Как узнать IP-адрес своего сервера
Как пригласить других игроков
Заключение

Способы создания сервера


Использование хостинга


Хостинг — это наиболее удобный способ создать игровой сервер в Counter-Strike. Хостинг-провайдеры предлагают широкий выбор тарифов с бесперебойным соединением, низким пингом, автоматической настройкой, защитой от DDoS и поддержкой IPv4. Рассмотрим ключевые преимущества варианта.
  • Высокая производительность — сервер не зависит от мощности вашего ПК.
  • Бесперебойное соединение — минимальный пинг и стабильная работа.
  • Автоматическое управление и администрирование — простая настройка через панель управления.
  • Защита от DDoS-атак — фильтрация трафика и блокировка подозрительных IP-адресов.
  • Гибкая настройка конфигурации — выбор режима игры, карт и количества игроков.

Локальный сервер


Альтернативный вариант — создать CS-сервер локально на своем компьютере. Однако этот метод требует более детального конфигурирования — например, порта, IP-адреса, параметров игры и защиты. Рассмотрим ключевые этапы.
  1. Установить программу HLDS (Half-Life Dedicated Server).
  2. Настроить игровой сервер.
  3. Открыть порт 27015 для внешних подключений.
  4. Настроить IP-адрес для подключения других игроков.
  5. Защитить сервер от DDoS-атак и ботов.

В статье разберем создание и настройку сервера в инфраструктуре Selectel.



Рекомендации по конфигурации


CS 1.6 работает в режиме Dedicated Server (HLDS) без графического интерфейса — за рендеринг графики отвечают клиенты (игроки). Сервер выполняет только сетевые вычисления, поэтому его можно запустить без видеокарты.

Минимальные требования (до 10 игроков, без плагинов):
  • CPU: 1 ядро (от 2 ГГц);
  • RAM: 512 МБ;
  • Диск: 10 ГБ SSD;
  • Сеть: 100 Мбит/с;
  • ОС: Linux (Ubuntu, Debian) или Windows Server 2016 и новее.

Оптимальные требования (до 32 игроков, с AMX Mod X и плагинами):
  • CPU: 2 ядра (от 3 ГГц);
  • RAM: 2 ГБ;
  • Диск: 20 ГБ SSD;
  • Сеть: 1 Гбит/с;
  • ОС: Linux (рекомендуется) или Windows Server.

Рекомендуемые требования (более 64 игроков, сложные моды, несколько серверов):
  • CPU: 4 ядра (от 3,5 ГГц);
  • RAM: от 4 ГБ;
  • Диск: от 40 ГБ SSD/NVMe;
  • Сеть: 1 Гбит/с с DDoS-защитой;
  • ОС: Linux (Ubuntu, Debian).

Дополнительные рекомендации
  • Процессор. Чем выше тактовая частота, тем лучше: CS 1.6 сильно зависит от производительности одного ядра.
  • Оперативная память. Минимально одному серверу нужно около 50 МБ ОЗУ, но с плагинами потребление увеличивается. Лучше выделять не менее 2 ГБ для стабильной работы
  • Диск. Лучше выбрать SSD/NVMe, так как высокая скорость диска обеспечивает быструю загрузку карт и логов.
  • Сеть. Для публичного сервера нужен быстрый и стабильный интернет с низкой задержкой.

Создаем и запускаем сервер


Как мы упоминали ранее, производительность CS 1.6 зависит от тактовой частоты, поэтому для создания сервера используем конфигурацию HighFreq Line.

HighFreq Line — это фиксированные конфигурации высокопроизводительных облачных серверов с частотой процессора до 3,6 ГГц, памяти — 3 200 МГц. Подходят для баз данных, например 1С Bitrix, игровых серверов и других задач, требующих высокой скорости обработки и отклика.

Еще один важный фактор при выборе сервера — его расположение. Серверы линейки HighFreq доступны в нескольких локациях — подробнее с ними можно ознакомиться в документации.

Важно выбрать сервер, наиболее близко расположенный к игрокам. В данном случае будем создавать сервер в локации Санкт-Петербург (ru-9a) с конфигурацией 2 vCPU, 4 ГБ RAM, локальным диском на 60 ГБ, а также публичным адресом. Стоимость сервера такой конфигурации вместе с внешним IP — всего 5,11 ₽/час.


Конфигурация и стоимость сервера в панели управления.

Рассчитать стоимость необходимой конфигурации можно в калькуляторе ресурсов, а полная инструкция по созданию сервера доступна в документации.

Настройка сервера для CS 1.6 включает в себя подготовку операционной системы, установку зависимостей и конфигурирование самого сервера. Далее в тексте подробно разберем все шаги для ОС Ubuntu 22.04 и Windows Server 2019, чтобы ваш сервер был готов к запуску и стабильной работе.

Сервер на Ubuntu 22.04 LTS


Подготовка сервера


Обновим систему. Перед установкой любых пакетов и компонентов важно убедиться, что система актуальна. Обновление можно выполнить с помощью команды:

sudo apt update && sudo apt upgrade -y

Установим зависимости. Серверная часть CS 1.6 — Half-Life Dedicated Server (HLDS) — 32-битное приложение. Для его корректной работы важно установить дополнительные библиотеки:

apt-get install lib32stdc++6 curl wget screen -y

Разберемся, что делают эти пакеты.
  • lib32stdc++6 – 32-битные библиотеки для работы сервера.
  • curl и wget – инструменты для загрузки файлов из сети.
  • screen – позволяет запускать сервер в фоновом режиме.

Установка SteamCMD


SteamCMD — официальный инструмент для загрузки игровых серверов Steam.

Создадим папку для сервера. Важно создать структуру каталогов для хранения файлов сервера и связанных с ним данных. Перейдем в домашнюю директорию и создадим каталог для сервера:

mkdir ~/steamcmd
mkdir ~/cs

Установим SteamCMD. Скачаем установочный архив с официального сайта и распакуем его:

cd /root/steamcmd
wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz

Запустим SteamCMD и установим HLDS. После установки SteamCMD нужно запустить его и начать установку самого сервера CS 1.6.

./steamcmd.sh

Для установки сервера CS 1.6 нужно выполнить несколько действий в SteamCMD.

1. Для доступа к серверам Steam выполним анонимный вход:

login anonymous

Это позволит скачать сервер CS 1.6 анонимно, без Steam-аккаунта. Если у вас есть учетная запись, можно указать логин в команде.

2. Укажем директории для установки, куда будут загружены серверные файлы:

force_install_dir C:\cs_server

3. Загрузим и установим серверные файлы:

app_update 90 validate

Команда скачает все необходимые файлы. Иногда загрузка прерывается, поэтому команду можно повторить несколько раз, пока вы не увидите сообщение:

Success! App '90' fully installed.

4. После успешной установки выйдем из SteamCMD:

quit

Запуск сервера


Процесс запуска включает в себя выполнение нескольких команд в терминале, которые активируют сервер и позволят ему принимать подключения от игроков.

1. Перейдем в директорию, где установлен сервер. Предположим, что сервер находится в папке /root/cs. Используем команду:

cd /root/cs

2. Для запуска сервера используется команда, которая включает в себя несколько параметров. Например, чтобы запустить сервер с картой de_dust2 и 16 слотами для игроков, выполним следующую команду:

screen -S cs16 ./hlds_run -game cstrike -console -ip 31.129.45.43 -port 27015 +map de_dust2 +maxplayers 16

Разберем параметры команды
  • screen -S cs16 — создает новую сессию screen с именем cs16, что позволяет держать сервер запущенным даже после закрытия терминала.
  • ./hlds_run — запускает основной исполняемый файл сервера.
  • -game cstrike — указывает, что сервер будет работать с модификацией Counter-Strike.
  • -console — активирует консольный режим работы сервера.
  • -ip 31.129.45.43 — задает IP-адрес, на котором будет работать сервер (замените на ваш IP).
  • -port 27015 — указывает порт для подключения к серверу (по умолчанию используется 27015).
  • +map de_dust2 — задает карту, которая будет загружена при старте сервера.
  • +maxplayers 16 — устанавливает максимальное количество игроков на сервере (в данном случае 16).

Если сервер запустился успешно, после выполнения команды вы увидите следующие сообщения:

Connection to Steam servers successful.
VAC secure mode is activated.

Это означает, что сервер подключился к Steam и готов принимать игроков. VAC (Valve Anti-Cheat) активирован, что обеспечивает защиту от читов.

Опционально: можно проверить корректность подключения к серверу. Инструкция о том, как это сделать, — в главе «Как пригласить других игроков».
Что делать, если столкнулись с ошибкой «/root/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory»
Это означает, что система не может найти необходимую библиотеку steamclient.so. Для исправления этой ошибки выполните следующие команды. Они создадут необходимую директорию и символическую ссылку на файл steamclient.so, что позволяет серверу корректно работать.

mkdir -p ~/.steam/sdk32
ln -s ~/cs16_server/linux32/steamclient.so ~/.steam/sdk32/steamclient.so


Полезные команды


После запуска сервера CS 1.6 с использованием утилиты screen важно знать, как управлять сессией, возвращаться к ней, а также корректно останавливать сервер. Рассмотрим основные команды, которые помогут вам в администрировании сервера.

Выйти из screen без остановки сервера

Если вы запустили сервер в сессии screen, но хотите выйти из терминала без его остановки, используйте комбинацию клавиш CTRL + A + D.

Вернуться к сессии screen

Чтобы снова подключиться к запущенной сессии screen и управлять сервером, используйте команду:

screen -r cs16

Где cs16 — имя сессии, которое вы указали при запуске сервера (например, screen -S cs16).

Остановить сервер

Если вам нужно остановить сервер, вы можете сделать это прямо в консоли с помощью комбинации CTRL + C.

Управление сервером через консоль

Находясь в консоли сервера вы можете использовать различные команды для управления игровым процессом:
  • смена карты — changelevel de_dust2;
  • кик игрока — kick «имя_игрока»;
  • перезагрузка сервера — restart.

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


После установки сервера Counter-Strike 1.6 нужно настроить его параметры для корректной работы и удобства игры. Для этого отредактируйте файл конфигурации server.cfg. В нем задаются важнейшие настройки, которые определяют принципы работы сервера и позволяют конфигурировать его под ваши предпочтения: название сервера, пароль для удаленной консоли, правила игры и т. д.

Открываем файл настроек в текстовом редакторе:

nano /root/cscstrike/server.cfg

Пример настроек:

hostname "Мой CS 1.6 сервер" # Название сервера
sv_lan 0 # Разрешаем играть через интернет
rcon_password "mypassword"# Устанавливаем пароль для удалённой консоли
mp_autoteambalance 1 # Включаем автоматический баланс команд
mp_limitteams 2 # Ограничение на количество игроков в одной команде
mp_freezetime 3 # Время заморозки игроков в начале раунда
mp_roundtime 2 # Продолжительность раунда в минутах
mp_timelimit 30 # Ограничение времени игры в минутах
mp_startmoney 800 # Начальное количество денег у игроков

Сохраняем и выходим (CTRL + O, Enter,CTRL + X).

Открытие портов


Чтобы игроки могли подключаться к вашему серверу CS 1.6, важно убедиться, что порты на сервере открыты и правильно настроены. По умолчанию сервер CS 1.6 использует порт 27015 для подключения игроков, но также могут использоваться дополнительные порты для работы Steam и других функций.

Если на вашем сервере установлен ufw, выполним следующие команды для разрешения трафика на порт 27015:

sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp

Выполним проверку. Команда покажет список всех разрешенных портов и сервисов:

sudo ufw status

Если вместо ufw используется iptables, выполним следующие команды для открытия порта:

sudo iptables -A INPUT -p udp --dport 27015 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 27015 -j ACCEPT

Эти команды добавят правила в конфигурацию iptables, позволяя внешним пользователям подключаться к вашему серверу. Чтобы сохранить эти правила после перезагрузки, используйте команду sudo iptables-save или настройте автоматическое применение правил через системные скрипты.

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


Чтобы ваш сервер Counter-Strike 1.6 автоматически запускался при загрузке системы, нужно создать и настроить systemd — систему инициализации и управления сервисами в Linux. Она позволяет автоматизировать запуск приложений при старте системы.

1. Откроем терминал и создадим новый файл сервиса в директории:

/etc/systemd/system/:
sudo nano /etc/systemd/system/cs16.service

2. Заполним файлы сервиса:

[Unit]
Description=Counter-Strike 1.6 Server
After=network.target
[Service]
User=root
WorkingDirectory=/root/cs16_server
ExecStart=/root/cs16_server/hlds_run -game cstrike -console -port 27015 +map de_dust2 +maxplayers 16
Restart=always
[Install]
WantedBy=multi-user.target

3. Сохраняем и выходим (CTRL + O, Enter,CTRL + X).

Рассмотрим все параметры:

Unit

Description — описание вашего сервиса (в нашем — сервер CS 1.6). After — указывает, что сервис должен запускаться после инициализации сети.

Service

User — имя пользователя, от которого будет запускаться процесс. В нашем случае — root, но вы можете указать другого пользователя.

WorkingDirectory — рабочая директория, в которой будет запускаться сервер. Это путь к папке с сервером CS 1.6.

ExecStart — команда для запуска сервера. Здесь указывается путь к скрипту запуска hlds_run с необходимыми параметрами:

  • game cstrike — указывает игру CS 1.6;
  • console — запускает сервер в консольном режиме;
  • -port 27015 — указывает порт для подключения;
  • +map de_dust2 — устанавливает карту по умолчанию;
  • +maxplayers 16 — ограничивает количество игроков на сервере до 16;
  • Restart=always — гарантирует, что сервер будет автоматически перезапущен в случае остановки (например, если он аварийно завершится).

Install

WantedBy=multi-user.target — указывает, что сервис должен запускаться при многопользовательском режиме (для серверов это параметр по умолчанию).

Активация сервиса


Активируем сервис, чтобы он запускался при старте системы, а также запустим его вручную для тестирования.

1. Перезагрузим конфигурацию systemd, чтобы она узнала о новом сервисе:

sudo systemctl daemon-reload

2. Включим сервис, чтобы он запускался при каждой загрузке:

sudo systemctl enable cs16

3. Запустим сервер:

sudo systemctl start cs16

4. Убедимся, что сервис работает. Проверим его статус:

sudo systemctl status cs16

Если все настроено правильно, вы увидите сообщение, что сервер запущен и работает. Теперь сервер будет автоматически запускаться при перезагрузке.

Windows Server 2019


Установка и настройка CS 1.6 для виртуальной машины с ОС Windows server 2019 по шагам аналогична настройке на ВМ с Ubuntu. Далее опишем шаги по установке без дополнительных комментариев.

Установка SteamCMD


1. Скачаем SteamCMD с официального сайта.

2. Распакуем загруженный архив в удобную папку, например C:\steamcmd.

3. Запустим steamcmd.exe. Дождемся завершения автоматической загрузки и установки необходимых файлов.


Установка файлов в консоли.

Загрузка игрового сервера CS 1.6


1. После запуска SteamCMD выполним авторизацию как анонимный пользователь:

login anonymous

2. Укажем директорию для установки сервера:

force_install_dir C:\cs_server

3. Загрузим сервер CS 1.6:

app_update 90 validate

4. Запустим команду несколько раз, пока не появится сообщение:

Success! App '90' fully installed.


5. Выйдем с помощью команды quit.

Настройка конфигурации сервера


1. Перейдем в папку C:\cs_server\cstrike и откроем файл server.cfg (если его нет — создадим).

2. Добавим основные настройки:

hostname "My CS 1.6 Server"
rcon_password "your_rcon_password"
sv_lan 0
sv_password ""  // если не нужен пароль, оставьте пустым
mp_maxplayers 16
mp_timelimit 30
mp_autokick 0
mp_freezetime 5

  • hostname — устанавливает имя сервера, отображаемое в списке серверов.
  • rcon_password — задает пароль для удаленного управления сервером через RCON.
  • sv_lan — определяет, будет ли сервер доступен только в локальной сети (1) или через интернет (0).
  • sv_password — устанавливает пароль для доступа к серверу. Оставьте пустым, если пароль не требуется.
  • mp_maxplayers — указывает максимальное количество игроков на сервере.
  • mp_timelimit — ограничивает время раунда в минутах.
  • mp_autokick — включает или отключает автоматический кик игроков за нарушение правил.
  • mp_freezetime — задает время заморозки в начале раунда, когда игроки не могут двигаться.

3. Сохраним изменения и закроем файл.

Запуск сервера


Перейдем в папку с файлом hlds.exe и выполним команду:

hlds.exe -console -game cstrike -port 27015 +map de_dust2 +maxplayers 16


Результат выполнения команды в консоли.

Карту (de_dust2), порт (27015) и количество игроков вы можете изменить по своему усмотрению. Также сервер можно запустить, открыв файл с названием hlds.exe в папке cs_server:


Скриншот с открытым файлом.

Что делать, если после запуска возникла ошибка «The code execution cannot proceed because VCRUNTIME140.dll was not found. Reinstalling the program may fix this problem.»
Чтобы ее исправить, требуется установить Microsoft Visual C++ Redistributable с официального сайта. Для 64-битной системы нужно установить два пакета X86 и X64.

Выберите необходимые параметры и нажмите Start Server. После этого сервер будет запущен:



Открытие портов


Для работы игрового сервера в Counter-Strike 1.6 нужно открыть порты на Windows Server 2019.

1. Откроем ПараметрыБезопасность WindowsБрандмауэр и защита сети.

2. Выберем Дополнительные параметры.

3. В меню слева выберем Правила для входящих подключений и нажмем Создать правило.

4. Выберем Порт и нажмем Далее.

5. Укажем TCP и введем порт 27015 (или диапазон 27015-27020 для дополнительных возможностей).

6. Выберем Разрешить подключение и нажмем Далее.

7. Укажем, для каких профилей правило должно применяться (лучше оставить все).

8. Дадим правилу понятное имя, например — CS 1.6 Server, и сохраним его.


Конфигурирование портов в Windows Server.

Установка защиты от DDoS-атак


DDoS-атаки могут привести к нестабильной работе сервера или полной недоступности. Важно придерживаться нескольких правил, чтобы защитить сервер.
  • Использовать хостинг с защитой от DDoS-атак.
  • Установить файрвол для фильтрации трафика.
  • Ограничить частоту входящих запросов к серверу.
  • Блокировать подозрительные IP-адреса.

В Selectel базовая защита от DDoS включена по умолчанию и предоставляется бесплатно. Однако для защиты игрового сервера рекомендуем дополнительно подключить защиту от атак, так как базовая покрывает лишь часть важных функций. Выбрать подходящую защиту можно с помощью сравнительной таблицы.

Как узнать IP-адрес своего сервера


Узнать IP-адрес сервера в Selectel можно в панели управления. Для этого нужно перейти в раздел Облачная платформаСерверы. В списке серверов адрес указан в колонке с названием IP-адреса. Подробнее о подключении к серверу можно узнать в документации.


?Для подключения извне нужно, чтобы у сервера был белый адрес. Рассмотрим, как узнать его в терминале.

Для Windows:

ipconfig

Для Linux:

ip a

Также можно воспользоваться онлайн-сервисами для определения IP-адреса. Например, 2ip.ru.

Как пригласить других игроков


Для подключения к серверу пользователю нужно ввести в консоли CS 1.6 (можно запустить нажатием клавиши «Ё/~») команду:

connect <ваш_ip>


Подключение к серверу в консоли.

После подключения появится окно:


Если используется локальный сервер, то нужен статический IP-адрес или виртуальная частная сеть. Важно учитывать, что при высоком пинге качество соединения может ухудшаться.


Пример проверки из Санкт-Петербурга до сервера в пуле ru-9 (СПб).

?Для проверки и выбора подходящего региона для ВМ в Selectel можно использовать сервис Looking Glass.

Заключение


Создать сервер в CS 1.6 можно двумя основными способами: через хостинг или на своем ПК. Первый вариант удобен для стабильного игрового процесса и обеспечивает бесперебойное соединение, защиту от атак, а также удобное управление сервером.

Локальный сервер требует более детальной настройки и администрирования. Вам нужно будет открыть порты, защищать IP-адрес и управлять сервером вручную. Какой способ выбрать, зависит от ваших целей, опыта и возможностей. Если вам важна стабильность с минимальными усилиями, хостинг — это оптимальный выбор. Если же нравится настраивать все параметры под себя и обладать полным контролем, то локальный сервер будет лучшим вариантом.

А какой способ выбрали вы? Делитесь опытом в комментариях!

Комментарии (11)


  1. 8street
    20.02.2025 10:13

    Статья запоздала этак лет на 20.


    1. A_L_I_E_N
      20.02.2025 10:13

      1. Orisava
        20.02.2025 10:13

        судя по билду hlds на скриншоте (19:00:16 Oct 7 2024) статья свежая


    1. Grey83
      20.02.2025 10:13

      Написать что ли как запускать сервера NMRiH?
      Ну и что, что там на 90% всё делается как и для CS:S или HLDM:S (и куче других игр на движке Source).
      Правда я первый сервак этой игры запустил около 11 лет назад (я и другие игры хостил позже у себя, и даже не только на этом движке). Ну и прикрыл примерно с год назад. И написал под неё с пяток публичных плагинов (и примерно столько же приватных для себя).
      А ведь всё началось с того, что я захотел получить ачивки. =)


  1. AdVv
    20.02.2025 10:13

    Такое уже давно никто не носит, где ReHLDS, metamod, amxmod ?


    1. Grey83
      20.02.2025 10:13

      В 1.6 до сих пор играют (и много кто, ращве что в основном на серверах сообщества).


  1. sberoneshot
    20.02.2025 10:13

    А зачем такие охренительные сложности, если есть Hamachi/Radmin, который ставится одним кликом и "игра по сети"?


    1. PriFak
      20.02.2025 10:13

      я сначала хотел написать почему а потом понял что писать незачем


  1. 13werwolf13
    20.02.2025 10:13

    не cs а другая игра, но по такому принципу можно оформить любой дедик распространяемый через steam
    https://build.opensuse.org/package/show/home:Werwolf2517/valheim-server
    удобно, быстро, минимум ручных действий


  1. hitmany
    20.02.2025 10:13

    Ваша antiddos защита не справится. Годами игровые хостинги свою защиту сделали. Протокол игры используются UDP, а у вас он если начнется атака просто будет выключен, его затратно фильтровать

    Уже есть игровые хостинги, которые работают как managed game hosting, по модели SaaS

    Один из главных плюсов, что такие хостинги разработали свою antiddos защиту. Обычно берут все легитимные UDP пакеты игры и вносят их в белый список, а все что отклонение, при превышении лимита фильтруют. Для каждой игры свои списки,современные игры обновляются, то есть список придется доработать, поэтому такие компании работают над antiddos постоянно

    Уже была попытка у компании многобайт взять эту нишу, сделали защиту для нескольких игр, но один раз и дальше не развивали. В итоге нишу не удалось занять)


  1. Vasjen
    20.02.2025 10:13

    Олдскулы свело!

    Когда-то давно все это делал на домашнем компьютере, как и многие другие энтузиасты. Проброс портов на чем-то типа Dlink DIR-100, ну и конечно сервис homeip.net, наверное 80% всех севаков в нашей локалке так заканчивалось.

    По факту в статье хороший гайд, но с практической точки зрения смысла 0. Если для себя и друзей - то проще это сделать на своем компьютере, чтобы чисто с друзьями поиграть. Если для всех-всех желающих. то безопасность такого сервера сомнительна. А самое главное, он абсолютно пустой. Для паблика нужны всякие плагины - для скинов. звуков, каких-то других приколов, которые заходят многим игрокам.

    Если для проведения матчей, то тоже нужно настраивать для бекапов, ведения счета, раундов за выбор стороны и т.д.

    Но как отправную точку вполне себе можно использовать.