Авторы:
Мультиязычность:
Мультиязычность:
- EN
- RU
- UA
HLTV‑Manager - это полнофункциональная система для автоматической записи, архивирования и мониторинга HLTV‑серверов на движке GoldSource (Counter‑Strike 1.6, Condition Zero и др.). Проект позволяет запускать HLTV в изолированных Docker‑контейнерах, централизованно управлять ими через веб‑интерфейс, следить за состоянием в реальном времени и загружать записанные демо в облачные хранилища.
Основные возможности
Управление HLTV‑серверами- Создание, редактирование, удаление HLTV через веб‑интерфейс.
- Запуск, остановка и перезапуск контейнеров HLTV с помощью Docker API.
- Поддержка отправки произвольных команд через встроенный WebSocket‑терминал.
- Переименование сервера без перезапуска (мгновенное применение нового hostname).
- Карточки состояния всех HLTV: статус, текущая карта, количество зрителей и игроков, запись демо.
- WebSocket‑соединение для мгновенного обновления данных без опроса сервера.
- Кэширование статусов в Redis (опционально) для снижения нагрузки.
- Автоматическая запись демо‑файлов, их архивация в ZIP по завершении.
- Просмотр списка демо с сортировкой по карте, дате, времени и названию.
- Поиск демо по карте, дате, времени.
- Скачивание как отдельных демо, так и нескольких выбранных.
- Автоматическая очистка старых демо по заданному количеству дней хранения.
- Удаление пустых (нулевого размера) демо при архивировании.
- График количества демо за последние 30 дней (столбчатая диаграмма).
- График изменения числа зрителей для выбранного HLTV за 24 часа (линейный график).
- Ежедневная сводка: перезапуски, подключения, отключения, завершённые демо.
- Использование дискового пространства по каждому HLTV (размер и количество демо).
- Отображение общего свободного места на диске.
- Глобальное облачное хранилище (S3, FTP, Google Drive, Яндекс.Диск) для всех серверов.
- Индивидуальное облачное хранилище для каждого HLTV (можно задать отдельный бэкенд).
- Автоматическая загрузка ZIP‑архивов демо после завершения записи.
- Возможность вынести управление HLTV‑контейнерами на отдельные серверы‑воркеры.
- Координация через Redis Pub/Sub: менеджер отправляет команды, воркер исполняет.
- Автоматическое определение доступности воркеров и переключение на прямое управление Docker.
- Две роли: администратор (полный доступ) и оператор (просмотр и управление только своими HLTV).
- Администратор может создавать, удалять пользователей, изменять глобальные настройки.
- Защита паролей с помощью bcrypt.
- Rate limiting для API и страницы входа для предотвращения брутфорса.
- Middleware авторизации с сессионными cookie.
- Ограничение доступа к чувствительным маршрутам (JSON‑редактор, воркеры, пользователи) только для администраторов.
- Поддержка HTTPS из коробки (достаточно указать пути к сертификатам в переменных окружения).
- Структурированное логирование (slog) с записью в файлы и выводом в stdout.
- Веб‑просмотр логов менеджера за любую дату с цветовой подсветкой уровня (ERROR/WARN/INFO/DEBUG) и фильтрацией.
- Режим отладки терминала для просмотра всех сообщений от HLTV.
- Полная мультиязычность: русский, английский, украинский, китайский.
- Автоматическое определение языка браузера, ручное переключение с сохранением выбора.
- Все надписи интерфейса (включая сообщения об ошибках) переведены.
- Эндпоинты для внешней автоматизации: получение списка HLTV, статуса, списка демо, запуск/остановка, начало/остановка записи.
- Аутентификация по API‑токену.
- Rate limiting на API для защиты от перегрузок.
- Встроенный watchdog отслеживает живость HLTV и при зависании автоматически перезапускает контейнер.
- Парсер логов HLTV анализирует состояние подключения, ошибки и управляет жизненным циклом демо.