unzip HLTV-Manager.zip -d /home/hltv/
cd /home/hltv/
cp hltv-runners.example.json hltv-runners.json
nano hltv-runners.json
nano .env
htpasswd -bnBC 10 "" ваш_пароль | tr -d ':\n'
./menu.sh
./menu.sh
# ============================================================
# ОСНОВНЫЕ НАСТРОЙКИ
# ============================================================
# Порт, на котором будет доступен веб-интерфейс (снаружи)
PORT=8888
# Версия образа HLTV-сервера (тег на GitHub Container Registry)
HLTV_VERSION=v1.3
# Имя файла конфигурации HLTV-серверов (лежит в корне проекта)
RUNNER_FILE=hltv-runners.json
# Абсолютный путь на хосте, где будут храниться демо-файлы
HLT_DEMOS_DIR=/media/hltv-manager
# Часовой пояс для контейнеров
TZ=Europe/Moscow
# ============================================================
# БЕЗОПАСНОСТЬ (ОБЯЗАТЕЛЬНО ЗАПОЛНИТЬ)
# ============================================================
# Логин администратора по умолчанию (можно не менять)
ADMIN_USER=admin
# bcrypt-хеш пароля администратора.
# Сгенерировать: htpasswd -bnBC 10 "" ваш_пароль | tr -d ':\n'
# Пример для пароля "admin":
# ADMIN_PASS_HASH=$2a$10$4crUav9GXkYZXW7YSWotbO1dyUS0p6CircRkX.iUarzk0TaL3Rsvm
ADMIN_PASS_HASH=$2a$10$4crUav9GXkYZXW7YSWotbO1dyUS0p6CircRkX.iUarzk0TaL3Rsvm
# Токен для доступа к REST API
# Генерируется: openssl rand -hex 16
API_TOKEN=a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6
# ============================================================
# REDIS (ОПЦИОНАЛЬНО)
# ============================================================
# Использовать ли Redis для кеширования статусов и координации воркеров
USE_REDIS=true
# Адрес Redis-сервера (обычно redis:6379, если запускается в Docker Compose)
REDIS_ADDR=redis:6379
# ============================================================
# HTTPS (ОПЦИОНАЛЬНО)
# Если переменные заданы, сервер будет работать по HTTPS.
# Сертификаты должны быть примонтированы в контейнер.
# ============================================================
# TLS_CERT=/app/certs/fullchain.pem
# TLS_KEY=/app/certs/privkey.pem
{
"HLTV": [
{
// ========== ОСНОВНЫЕ НАСТРОЙКИ ==========
// Название HLTV (отображается в интерфейсе)
"Name": "YOUR SERVER",
// Адрес, который будет показываться пользователям для подключения
"ShowIP": "HLTV_IP:HLTV_PORT",
// Адрес игрового сервера, к которому подключается HLTV
"Connect": "SERVER_IP:SERVER_PORT",
// Порт, на котором HLTV будет принимать зрителей
"HltvPort": "HLTV_PORT",
// Game ID (10 = Counter-Strike, 70 = Half-Life, и т.д.)
"GameID": "10",
// Префикс названий демо-файлов (одно слово)
"DemoName": "odd2",
// Сколько дней хранить демо (старые будут автоматически удалены)
"MaxDemoDay": "2",
// Включить отладку терминала (все строки лога HLTV попадают в INFO)
"DebugTerminalLog": true,
// ========== CVARS (ПЕРЕМЕННЫЕ КОНФИГУРАЦИИ HLTV) ==========
// Каждая строка — отдельная команда, выполняемая при запуске
"Cvars": [
"hostname \"BROWSER NAME\"",
"name \"TAB NAME\"",
"maxclients \"2\"",
"nomaster \"1\"",
"publicgame \"1\"",
"autoretry \"1\"",
"rate \"100000\"",
"updaterate \"102\"",
"maxrate \"10000\"",
"delay \"0\"",
"blockvoice \"0\"",
"signoncommands \"voice_scale 2; voice_overdrive 16; volume 0.5\"",
"chatmode \"1\"",
"logfile \"0\""
],
// Записывать ли демо автоматически при подключении
"RecordDemo": true,
// ========== ИНДИВИДУАЛЬНОЕ ОБЛАЧНОЕ ХРАНИЛИЩЕ (ОПЦИОНАЛЬНО) ==========
// Тип: "none" (не загружать), "default" (использовать глобальное), "s3", "ftp", "gdrive", "yadisk"
// "StorageType": "none",
// "Bucket": "my-bucket",
// "Region": "us-east-1",
// "Endpoint": "https://s3.custom.com",
// "FTPAddr": "ftp.server.com:21",
// "FTPUser": "user",
// "FTPPass": "password",
// "FTPBase": "/demos",
// "GDKeyFile": "/app/gdrive-key.json",
// "GDFolder": "folder_id",
// "YaToken": "yandex_oauth_token",
// "YaFolder": "/HLTV"
}
]
}