[Решение] Создание публичного сервера Counter-Strike 1.6
Этап 1: Выбор способа размещения
Вариант А: Аренда VDS/VPS (Рекомендуется для публичного сервера)
- Это наиболее стабильный и профессиональный подход
ОС: Linux (Ubuntu/Debian) или Windows Server Минимальные характеристики: 1 ядро 2+ ГГц, 1–2 ГБ RAM, 10+ ГБ SSD Сеть: 100+ Мбит/с, обязательно с белым (публичным) IP-адресом Преимущества: стабильный аптайм, низкий пинг, защита от DDoS (опционально), полный контроль
Вариант Б: Домашний компьютер
Возможен, но имеет серьёзные ограничения:
- Требуется статический внешний IP от провайдера или настройка DDNS
- Необходимо открыть порты в роутере и брандмауэре
- Ваш домашний интернет и ПК будут под нагрузкой
- Риск для безопасности домашней сети
Этап 2: Установка сервера (через SteamCMD)
- SteamCMD — официальный инструмент Valve для установки игровых серверов
Для Linux (Ubuntu/Debian):
bash
# Обновление системы
sudo apt update && sudo apt upgrade -y
# Установка зависимостей (32-битные библиотеки для HLDS)
sudo apt install lib32stdc++6 curl wget screen -y
# Создание директорий
mkdir ~/steamcmd ~/cs16_server
cd ~/steamcmd
# Скачивание и распаковка SteamCMD
wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
# Запуск установки сервера
./steamcmd.sh
В консоли SteamCMD выполните:
login anonymous
force_install_dir /root/cs16_server
app_update 90 validate
quit
Команду app_update 90 validate может потребоваться запустить несколько раз до сообщения Success! App '90' fully installed.
Для Windows:
- Скачайте SteamCMD с официального сайта
- Распакуйте в папку, например C:\steamcmd
- Запустите steamcmd.exe и выполните те же команды, что и для Linux, заменив путь: force_install_dir C:\cs16_server
Этап 3: Настройка server.cfg
Файл конфигурации находится в cstrike/server.cfg. Пример базовых настроек
cfg
hostname "Мой публичный сервер CS 1.6" // Имя в списке серверов
sv_lan 0 // 0 = интернет, 1 = только локальная сеть
rcon_password "ваш_сложный_пароль" // Пароль для удалённого управления
sv_password "" // Пусто = сервер без пароля
mp_maxplayers 24 // Количество слотов
mp_timelimit 30 // Длительность карты в минутах
mp_autoteambalance 1 // Автобаланс команд
mp_limitteams 2 // Макс. разница в количестве игроков
mp_freezetime 5 // Заморозка в начале раунда
mp_startmoney 800 // Стартовые деньги
sv_region 3 // Регион: 0=Вост. США, 1=Зап. США, 2=Юж. Америка, 3=Европа, 4=Азия, 5=Австралия, 6=Ближний Восток, 7=СНГ
Параметр sv_region помогает серверу корректно отображаться в фильтре по регионам в списке серверов.
Этап 4: Открытие портов
Для доступа из интернета необходимо открыть порты:
[Решение] Создание публичного сервера Counter-Strike 1.6
На роутере (если сервер дома):
- Зайдите в панель роутера (192.168.1.1 или 0.1)
- Найдите Port Forwarding / Виртуальные серверы
- Создайте правило: внешний порт 27015 → внутренний IP вашего ПК:27015 (UDP+TCP)
На Linux (брандмауэр):
bash
# Для ufw
sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp
# Для iptables
sudo iptables -A INPUT -p udp --dport 27015 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 27015 -j ACCEPT
На Windows:
- Панель управления → Брандмауэр → Правила для входящих подключений → Создать правило → Порт → 27015 (TCP/UDP) → Разрешить.
Этап 5: Запуск сервера
Команда запуска (пример):
bash
# Linux
screen -S cs16 ./hlds_run -game cstrike -console -ip ваш_внешний_IP -port 27015 +map de_dust2 +maxplayers 24
# Windows
hlds.exe -console -game cstrike -ip ваш_внешний_IP -port 27015 +map de_dust2 +maxplayers 24
Используйте screen (Linux) или NSSM (Windows), чтобы сервер работал в фоне и не закрывался при отключении терминала.
Проверка:
- Запустите CS 1.6 на своём ПК
- Откройте консоль (~) и введите: connect ваш_внешний_IP:27015
- Если подключение успешно — сервер работает
Этап 6: Публикация в списке серверов
Чтобы сервер появился в Интернет-списке мастер-серверов Steam:
Убедитесь, что:
- sv_lan 0 в server.cfg
- Порт 27015 открыт и доступен извне
- Сервер имеет публичный (белый) IP
- Вы не используете устаревшие или модифицированные файлы, блокируемые VAC
Проверьте видимость:
- Зайдите в игру → Интернет-серверы → Обновить
- Или используйте вкладку «Избранное» → Добавить по IP: ваш_IP:27015
Если сервер не отображается, проверьте: не блокирует ли провайдер исходящие UDP-пакеты, не включён ли sv_lan 1, не перегружен ли мастер-сервер (иногда помогает перезапуск).
Дополнительные рекомендации
- Установите Metamod + AMX Mod X — это основа для плагинов: админки, античита, статистики
- Настройте автозапуск через systemd (Linux) или Task Scheduler (Windows), чтобы сервер перезапускался после перезагрузки
- Включите защиту от ботов: плагины типа Rechecker, WHBlocker, настройка sv_allow_upload 0.
- Регулярно обновляйте сервер через SteamCMD: app_update 90 validate.
- Рассмотрите хостинг с DDoS-защитой, если планируете публичный проект — атаки на популярные серверы не редкость