Создание публичного сервера для Counter-Strike: Condition Zero (CS:CZ)
Создание публичного сервера для Counter-Strike: Condition Zero (CS:CZ) — задача технически интересная, учитывая возраст игры. Чтобы сервер был виден в глобальном списке Steam (Интернет-серверы) и доступен игрокам извне, недостаточно просто запустить игру. Необходимо правильно настроить сетевые порты и конфигурацию.
Ниже представлен подробный пошаговый гайд.
Шаг 1: Подготовка и требования
Перед началом убедитесь, что у вас есть следующее:
- ПК или VPS-сервер:
- Если хостите дома: нужен статический IP-адрес (или настроенный DDNS) и доступ к настройкам роутера.
- Если арендуете VPS: убедитесь, что провайдер разрешает игровые серверы и у вас есть доступ к брандмауэру.
- Аккаунт Steam: Любой аккаунт (для скачивания файлов через SteamCMD).
- Свободное место: Около 5–10 ГБ на диске.
- Операционная система: Windows (для простоты гайда) или Linux.
Шаг 2: Установка SteamCMD
SteamCMD — это консольная версия Steam для загрузки серверных файлов.
- Скачайте SteamCMD с официального сайта: https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
- Создайте папку, например
C:\CZ_Server, и распакуйте туда архив. - Запустите файл
steamcmd.exe. - В консоли введите команду для входа (анонимно для бесплатных серверов можно, но надежнее под своим логином):
login anonymous(Если потребует вход под аккаунтом, введитеlogin ВАШ_НИК_СТими пароль).
Шаг 3: Загрузка файлов сервера
У Counter-Strike: Condition Zero Dedicated Server есть свой отдельный AppID в Steam.
- В консоли SteamCMD введите команду установки:
app_update 232330 validate232330— это идентификатор сервера CS:CZ.validate— проверит целостность файлов (рекомендуется). - Дождитесь окончания загрузки (может занять время в зависимости от скорости интернета).
- После завершения введите
quitдля выхода из SteamCMD.
Шаг 4: Настройка конфигурации (server.cfg)
Теперь нужно настроить параметры сервера, чтобы он был публичным.
- Перейдите в папку с сервером:
C:\CZ_Server\czero. - Найдите папку
cfg. Внутри создайте или отредактируйте файлserver.cfg(открывать через Блокнот). Добавьте следующие обязательные строки:
// Название сервера (видят игроки в списке) hostname "Denis CZ Server | Public" // Пароль сервера (оставьте пустым, если пароль не нужен) sv_password "" // КРИТИЧЕСКИ ВАЖНО: 0 = Интернет, 1 = Локальная сеть // Если стоит 1, сервер не будет виден в глобальном списке sv_lan 0 // Регион (0 = США, 1 = Юж. Америка, 2 = Европа, 3 = Азия, 4 = Австралия, 5 = Ближний Восток, 6 = Африка) // Для России обычно ставят 2 (Европа) или 0 sv_region 2 // Максимальное количество игроков maxplayers 32 // Карта по умолчанию map cz_assault // RCON пароль (для администрирования удаленно) rcon_password "VAsh_Slojny_Parol123" // Логирование log on- Сохраните файл в кодировке ANSI или UTF-8 без BOM.
Шаг 5: Настройка сети (Порты и Брандмауэр)
Это самый важный этап для доступности из интернета.
1. Проброс портов (Port Forwarding)
Если вы запускаете сервер дома за роутером:
- Зайдите в настройки роутера (обычно
192.168.0.1или192.168.1.1). - Найдите раздел Port Forwarding (Виртуальные серверы / Проброс портов).
- Добавьте новые правила для локального IP-адреса вашего ПК (например,
192.168.1.50). - Необходимо открыть следующие порты (протокол UDP, иногда требуется и TCP):
- 27015 (Основной порт игры)
- 27005 (Порт для клиентов)
- 26900 (Порт для связи со Steam Master Server — критично для появления в списке)
- Диапазон 27000–27015 (Рекомендуется открыть диапазон для стабильности).
Если вы используете VPS:
- Зайдите в панель управления хостингом и откройте эти же порты в сетевом экране (Security Group / Firewall).
- В самом Windows (если VPS на Windows) откройте «Брандмауэр Защитника Windows» -> «Дополнительные параметры» -> «Правила для входящих подключений» -> «Создать правило» -> «Для порта» -> Укажите порты выше -> «Разрешить подключение».
2. Статический IP
Для домашнего сервера убедитесь, что у вашего ПК внутри сети закреплен статический локальный IP, чтобы настройки роутера не сбились после перезагрузки. Для доступа из интернета вам понадобится ваш Внешний IP (можно узнать на сайте 2ip.ru). Если IP динамический (меняется после перезагрузки роутера), зарегистрируйтесь на сервисе DDNS (например, No-IP) и настройте его на роутере.
Шаг 6: Запуск сервера
- В папке
C:\CZ_Serverсоздайте текстовый файл и назовите егоstart_server.bat. - Откройте его через Блокнот и вставьте следующую строку:
@echo off start cmd /k hlds.exe -game czero -port 27015 +ip 0.0.0.0 +maxplayers 32 +map cz_assault -nomaster
Важное примечание по параметру -nomaster:
- Если вы хотите, чтобы сервер был виден в списке, уберите параметр
-nomaster.
Команда должна выглядеть так:
hlds.exe -game czero -port 27015 +ip 0.0.0.0 +maxplayers 32 +map cz_assault
- Параметр
+ip 0.0.0.0заставляет сервер слушать все доступные сетевые интерфейсы.
- Сохраните файл и запустите
start_server.batот имени администратора. - В открывшемся окне консоли вы должны увидеть сообщения о загрузке. В конце должно быть написано
Server is secureиConnection to Steam servers successful.
Шаг 7: Проверка видимости в Steam
- Запустите игру Counter-Strike: Condition Zero на любом клиенте.
- Нажмите «Поиск серверов» -> «Интернет».
- В фильтре введите название вашего сервера (
Denis CZ Server). - Внимание: Сервер может появиться в списке не сразу. Старым играм на движке Source иногда требуется от 15 минут до часа для обновления мастер-списка Steam.
- Если сервер не появляется, попробуйте подключиться напрямую через консоль игры (~):
connect ВАШ_ВНЕШНИЙ_IP:27015Если подключение проходит, значит сеть настроена верно, и вопрос только в обновлении списка Steam.
Возможные проблемы и решения
| Проблема | Решение |
|---|---|
| Сервер не виден в списке | 1. Проверьте sv_lan 0 в server.cfg. 2. Убедитесь, что порт 26900 (UDP) открыт для исходящих и входящих соединений (через него идет связь со списком серверов). 3. Подождите 30–60 минут. |
| Игроки не могут подключиться | 1. Проверьте Брандмауэр Windows (разрешите hlds.exe). 2. Проверьте проброс портов на роутере. 3. Убедитесь, что антивирус не блокирует соединение. |
| Ошибка "Validation rejected" | Переустановите файлы через SteamCMD с параметром validate. Возможно, файлы повреждены. |
| Сервер вылетает | Проверьте консоль на ошибки. Часто проблема в неправильных плагинах или битых картах. Попробуйте запустить с чистой картой cz_assault. |
Рекомендации по безопасности
- RCON пароль: Обязательно установите сложный пароль в
server.cfg, иначе злоумышленники могут получить права администратора и удалить файлы сервера. - Обновления: Раз в месяц запускайте SteamCMD и команду
app_update 232330 validate, чтобы скачать критические патчи. - DDoS: Публичный сервер может стать целью атак. Никогда не светите свой личный домашний IP-адрес в широком доступе (например, на форумах), если не готовы к возможным атакам на домашнюю сеть. Для публичных проектов лучше арендовать игровой VPS с защитой от DDoS.
Удачи в запуске сервера!