-
Notifications
You must be signed in to change notification settings - Fork 0
CS HL Dedicated Server
Language / Язык: English | Русский
Counter-Strike 1.6 Dedicated Server for https://dos.zone/mp/?lobby=cs16
Docker image containing all the necessary software to publish a xash3d Counter-Strike 1.6 dedicated server on https://dos.zone/mp/?lobby=cs16.
The image is based on Linux Debian and a deeply modified Counter-Strike 1.6 Web Server by yohimik.
- Minimum requirements for stable operation of 2-3 servers on a single VPS: 2 CPU, 2(4) GB RAM, 10 GB HDD(SSD).
- The game server operates over HTTPS protocol using a special browser game client on the dos.zone project.
- The server does not automatically generate SSL files; it takes them from the host machine directory. It is implied that along with this server, another FastDL server will be launched, which provides SSL file generation and fast game resource delivery to the CS16/HLDM client.
Base Parameters
| Variable | Value | Description |
|---|---|---|
| image | anfit5/cs16-dedicated:release_1 | Image name on GitHub / Docker Hub |
| container_name | cs16-dedicated | Arbitrary custom container name |
| /cs16dedicated/SSL_certificates | /srv/FastDL/SSL | Required directory containing SSL certificates for your domain on the host machine: fullchain.pem, privkey.pem |
| /cs16dedicated/cstrike | dedicated_cstrike | Named volume that stores your server's cstrike folder and won't be modified or deleted when recreating the image; located at /var/lib/docker/volumes/ on the host machine |
CS1.6 Dedicated Variable Values
| Variable | Example Value | Description |
|---|---|---|
ROOT_PASSWORD |
mypass | Password for SSH connection to configure and restart services |
GAME_DIR |
cstrike | Game type: cstrike or valve
|
SERVER_NAME |
My CS16 Server | Name of your server displayed on the dos.zone MP portal |
MAP |
de_dust2 | Default map loaded upon image startup |
MAXPLAYERS |
24 | Maximum number of players upon startup |
IP |
188.72.103.3 | External IP address of the VPS server |
DOMAIN_NAME |
mydomain.com | Domain name of the VPS server |
FASTDL_PORT |
4433 | Port used in the sv_downloadurl variable inside server.cfg for fast file delivery |
FASTDL_DIRECTORY |
cstrike | Path set in the sv_downloadurl variable inside server.cfg for fast file delivery |
GAME_SIGNAL_TCP_PORT |
27020 | Main TCP signaling port for initial game client connection |
GAME_DATA_UDP_PORT |
27030 | UDP port for transmitting game data between server and client |
ADMIN_PANEL_USER |
admin | Admin panel login via https://<DOMAIN_NAME>:<GAME_SIGNAL_TCP_PORT>/admin
|
ADMIN_PANEL_PASSWORD |
mypass | Admin panel password (for security reasons, should not match the SSH password) |
ADMIN_LOG_LEVEL |
info | Console log verbosity level; available options: TRACE, DEBUG, INFO, WARN, ERROR |
Port Mapping Description
| Ports | Description |
|---|---|
921:22 |
SSH port (external 921 -> internal 22); you can specify your own external port |
27020:27020/tcp |
TCP signaling port for Web Xash3D CS 1.6; can be customized, preferably matching GAME_SIGNAL_TCP_PORT
|
27030:27030/udp |
UDP gaming port for Web Xash3D CS 1.6; can be customized, preferably matching GAME_DATA_UDP_PORT
|
version: '3.8'
services:
cs16-server:
image: anfit5/cs16-dedicated:release_1
container_name: cs16-dedicated
restart: unless-stopped
environment:
ROOT_PASSWORD: "<your_password>"
SERVER_NAME: "dos.zone CS1.6 Server"
MAP: "de_dust2"
MAXPLAYERS: "24"
GAME_DIR: "cstrike"
IP: "38.45.18.103"
DOMAIN_NAME: "anfit.pp.ua"
FASTDL_PORT: "4433"
FASTDL_DIRECTORY: "cstrike"
GAME_SIGNAL_TCP_PORT: "27020"
GAME_DATA_UDP_PORT: "27030"
ADMIN_PANEL_USER: "admin"
ADMIN_PANEL_PASSWORD: "<your_password>"
ADMIN_LOG_LEVEL: "info"
volumes:
# Directory storing domain SSL certificates
- /srv/FastDL/SSL:/cs16dedicated/SSL_certificates
# Named volume for persistent CS 1.6 server data
- dedicated_cstrike:/cs16dedicated/cstrike
ports:
- "921:22" # SSH port
- "27020:27020/tcp" # WebXash3D Signal TCP port
- "27030:27030/udp" # Game Data UDP port
volumes:
dedicated_cstrike:A dedicated FastDL Server handles automatic SSL certificate generation.
- Create a separate directory on the host machine where the Docker container will be deployed (e.g.,
CS16Dedicated). - Save the
docker-compose.ymlfile in UTF-8 encoding. Make sure to specify the correct path to the host directory containing pre-generated SSL certificates from the FastDL server. - Run
docker-compose up -d.
- To manage the game server, open
https://<DOMAIN_NAME>:<GAME_SIGNAL_TCP_PORT>/admin. - For a full server restart, you can simply restart the Docker container.
- To restart the game process via SSH, run
supervisorctl restart CS16_dedicated. Usesupervisorctl stop CS16_dedicatedto stop andsupervisorctl start CS16_dedicatedto start. - If using custom maps, place their preview images (
320x320x24b) into/cs16dedicated/public/levelshotsso map images display correctly on the https://dos.zone/mp/?lobby=cs16 portal. - For proper FastDL file delivery, create a symlink to your host volume directory:
cd /srv/FastDL/public
ln -s /var/lib/docker/volumes/dedicated_cstrike/_data ./cstrikeHere cstrike corresponds to the value configured in FASTDL_DIRECTORY inside docker-compose.yml.
- For kicking or banning players via console, use
amx_kickandamx_ban. - If a player's ISP blocks access to your domain, advise them to connect via VPN for now.
- TURN/STUN integration enabling player connection even under restrictive ISP blocks (similar to dos.zone/mp P2P mode).
- Admin Web Panel functionality expansion.
- Fixes for rare server crashes.
Telegram support channel: https://t.me/doszonemp/14247
Counter-Strike 1.6 Dedicated Server для проекта https://dos.zone/mp/?lobby=cs16
Docker-образ, который содержит весь необходимый набор программ для публикации выделенного сервера xash3d Counter-Strike 1.6 на проекте https://dos.zone/mp/?lobby=cs16
Образ базируется на Linux Debian и глубоко модифицированном Counter-Strike 1.6 Web Server от yohimik.
- Для стабильной работы 2-3 серверов на одном VPS-сервере минимально необходимо: 2 CPU, 2(4) GB ОЗУ, 10 GB HDD(SSD).
- Игровой сервер работает по HTTPS-протоколу со специальным игровым клиентом в браузере проекта dos.zone.
- Сервер не генерирует автоматически SSL-файлы, а берёт их из директории хост-машины. Подразумевается, что вместе с этим сервером будет запущен еще один FastDL сервер, который обеспечивает генерацию SSL-файлов и быструю раздачу ресурсов игры CS16/HLDM клиенту.
Базовые значения
| Переменная | Значение | Описание |
|---|---|---|
| image | anfit5/cs16-dedicated:release_1 | Имя образа с GitHub |
| container_name | cs16-dedicated | Произвольное личное наименование контейнера |
| /cs16dedicated/SSL_certificates | /srv/FastDL/SSL | Обязательная папка, содержащая SSL-сертификаты Вашего домена на хост-машине: fullchain.pem, privkey.pem |
| /cs16dedicated/cstrike | dedicated_cstrike | Именованный том, который будет хранить вашу папку сервера cstrike и не будет изменяться и удаляться при пересоздании образа; находится по пути /var/lib/docker/volumes/ на хост-машине |
Значения переменных СS1.6 Dedicated
| Переменная | Пример значения | Описание |
|---|---|---|
ROOT_PASSWORD |
mypass | Пароль для подключения к образу по SSH для конфигурации и перезапуска сервисов |
GAME_DIR |
cstrike | Тип игры: cstrike или valve
|
SERVER_NAME |
My CS16 Server | Имя вашего сервера, которое будет отображаться на MP-портале dos.zone |
MAP |
de_dust2 | Карта по умолчанию при запуске образа |
MAXPLAYERS |
24 | Максимальное количество игроков при запуске |
IP |
188.72.103.3 | Внешний IP-адрес VPS-сервера |
DOMAIN_NAME |
mydomain.com | Доменное имя VPS-сервера |
FASTDL_PORT |
4433 | Этот порт будет использоваться в переменной sv_downloadurl в файле server.cfg для быстрой отдачи файлов |
FASTDL_DIRECTORY |
cstrike | Этот путь будет вписан в переменную sv_downloadurl в файле server.cfg для быстрой отдачи файлов |
GAME_SIGNAL_TCP_PORT |
27020 | Основной TCP-порт для начального подключения игрового клиента |
GAME_DATA_UDP_PORT |
27030 | UDP-порт для передачи игровых данных между сервером и клиентом |
ADMIN_PANEL_USER |
admin | Логин в админку сервера по пути https://<DOMAIN_NAME>:<GAME_SIGNAL_TCP_PORT>/admin
|
ADMIN_PANEL_PASSWORD |
mypass | Пароль в админку сервера (не должен совпадать с SSH-паролем в целях безопасности) |
ADMIN_LOG_LEVEL |
info | Уровень детализации логов в консоль сервера; доступны TRACE, DEBUG, INFO, WARN, ERROR |
Описание портов
| Порты | Описание |
|---|---|
921:22 |
SSH-порт (внешний 921 -> внутренний 22), внешний можете указать свой |
27020:27020/tcp |
Сигнальный TCP-порт для подключения Web xash3d CS 1.6; можно указать свой, желательно чтобы совпадал с переменной GAME_SIGNAL_TCP_PORT |
27030:27030/udp |
Игровой UDP-порт для подключения Web xash3d CS 1.6; можно указать свой, желательно чтобы совпадал с переменной GAME_DATA_UDP_PORT |
version: '3.8'
services:
cs16-server:
image: anfit5/cs16-dedicated:release_1
container_name: cs16-dedicated
restart: unless-stopped
environment:
ROOT_PASSWORD: "<your_password>"
SERVER_NAME: "dos.zone CS1.6 Server"
MAP: "de_dust"
MAXPLAYERS: "24"
GAME_DIR: "cstrike"
IP: "38.45.18.103"
DOMAIN_NAME: "anfit.pp.ua"
FASTDL_PORT: "4433"
FASTDL_DIRECTORY: "cstrike"
GAME_SIGNAL_TCP_PORT: "27020"
GAME_DATA_UDP_PORT: "27030"
ADMIN_PANEL_USER: "admin"
ADMIN_PANEL_PASSWORD: "<your_password>"
ADMIN_LOG_LEVEL: "info"
volumes:
# Папка, хранящая SSL-сертификаты вашего домена
- /srv/FastDL/SSL:/cs16dedicated/SSL_certificates
# Именованный том для сохранения данных CS 1.6 сервера
- dedicated_cstrike:/cs16dedicated/cstrike
ports:
- "921:22" # SSH-порт (внешний 921 -> внутренний 22)
- "27020:27020/tcp" # Сигнальный TCP-порт
- "27030:27030/udp" # Игровой UDP-порт
volumes:
dedicated_cstrike:За генерацию SSL-сертификатов отвечает специальный FastDL сервер.
- Создаём отдельную папку на хост-машине, где будет разворачиваться Docker-контейнер, и называем её, например,
CS16Dedicated. - Сохраняем файл
docker-compose.ymlв кодировке UTF-8. Обязательно нужно правильно указать путь к директории на хост-машине, где лежат уже сгенерированные SSL-сертификаты FastDL-сервером. - Выполняем команду
docker-compose up -d.
- Для управления игровым сервером переходим по пути
https://<DOMAIN_NAME>:<GAME_SIGNAL_TCP_PORT>/admin. - Для полного перезапуска сервера можно просто перезапустить Docker-образ.
- Для перезапуска сервера из SSH-консоли выполняем команду
supervisorctl restart CS16_dedicated. Для остановки:supervisorctl stop CS16_dedicated, для старта:supervisorctl start CS16_dedicated. - Если используете кастомные карты, то их превью нужно положить в папку
/cs16dedicated/public/levelshotsразмером320х320х24b— тогда на портале https://dos.zone/mp/?lobby=cs16 изображения ваших карт будут отображаться корректно. - Для правильной отдачи файлов через FastDL-сервер необходимо правильно создать симлинк вашего volume с хост-машины, пример:
cd /srv/FastDL/public
ln -s /var/lib/docker/volumes/dedicated_cstrike/_data ./cstrikeЗдесь cstrike — это значение, которое Вы вписали ранее в docker-compose.yml в переменную FASTDL_DIRECTORY.
- Для кика или бана из консоли используйте команды
amx_kick,amx_ban. - Если у игрока заблокирован доступ к вашему домену политиками провайдера, предлагайте пока что подключаться через VPN.
- Добавление TURN/STUN-логики, чтобы игроки могли подключаться к вашему серверу, даже если доступ блокирует провайдер (как это сейчас реализовано для P2P-режима на dos.zone/mp).
- Расширение функционала админской WEB-части.
- Исправление редких падений.
Телеграм-канал поддержки проекта: https://t.me/doszonemp/14247