HLTV-Manager (beta)

HLTV-Manager (beta)

Нет прав для скачивания

WessTorn

Скриптер
Участник
Сообщения
11
Реакции
10
Баллы
3
WessTorn добавил(а) новый ресурс:

HLTV-Manager (beta) - Half-Life TV Manager - Позволяет запускать неограниченное количество hltv серверов. Предоставляет са

Half-Life TV Manager​

  • Сервис запускается в docekr контейнере.
  • Сервис запускает hltv сервера в контейнерах.
  • Сервис позволяет скачивать демки, также автоматически контролирует и удаляет старые демки.

Характеристики

  • Сервис устанавливается и запускается с помощью docker.
  • Все настраивается через yaml конфигурации. (Временно)
  • Поддержка запуска несколько HLTV серверов.
  • Сайт для скачивания демок...

Узнать больше об этом ресурсе...
 
Хорошая вещь, надеюсь, что не будет заброшено
Да сам пользуюсь, все руки не доходят апдейты сделать :)
Бекенд логику буду скоро дорабатывать, обновлять.
Мне намного легче будет сделать возможность жонглировать хлтвшками по апи, а то фронт мне тяжело дается :(
 
Да сам пользуюсь, все руки не доходят апдейты сделать :)
Бекенд логику буду скоро дорабатывать, обновлять.
Мне намного легче будет сделать возможность жонглировать хлтвшками по апи, а то фронт мне тяжело дается :(
Это отлично. У самого времени мало, а планы Наполеоновские.
Ну а так добавить минимальное количество игроков для начала записи, отключение учёта ботов, архивация демок. Ну и в последний версии проблема с загрузкой демок на сайт.
 
WIP
Screenshot_2026-05-28-11-48-24-20_21da60175e70af211acc4f26191b7a77.jpg
Screenshot_2026-05-28-11-48-11-75_21da60175e70af211acc4f26191b7a77.jpg
Screenshot_2026-05-28-11-47-20-69_21da60175e70af211acc4f26191b7a77.jpg
Screenshot_2026-05-28-11-47-06-17_21da60175e70af211acc4f26191b7a77.jpg
Screenshot_2026-05-28-11-47-42-60_21da60175e70af211acc4f26191b7a77.jpg
Screenshot_2026-05-28-11-49-15-11_21da60175e70af211acc4f26191b7a77.jpg
Screenshot_2026-05-28-11-46-38-82_21da60175e70af211acc4f26191b7a77.jpg
 
Да емае сори
Там надо переосмыслить бекенд
И сделать проект именно как бекенд весь проект
А фронт уже можно вшивать в разные движки сайтов и тд

У меня все пока руки не дошли :(
Сообщение автоматически объединено:

А вот с облаком идея супер, даже очень
 
Да емае сори
Там надо переосмыслить бекенд
И сделать проект именно как бекенд весь проект
А фронт уже можно вшивать в разные движки сайтов и тд

У меня все пока руки не дошли :(
Сообщение автоматически объединено:

А вот с облаком идея супер, даже очень
Я пока такую версию сделаю, а потом всё в твоих руках)
Ну или сначала сделаю как вижу, а потом уже подумаю под вышивание)))
Сообщение автоматически объединено:

вот с облаком идея супер, даже очен
А тут только ftp проверил.и оно глобально, планирую для каждого сделать указ хранилища + удалять демки, если в облаке через N дней
 
Сперва использовал данный HLTV сервис но было очень неудобно и ресурсозатратно всё.
Переделал под такую логику и запилил всё в LXC контейнер на proxmox:
1. Запись управляется двумя systemd-сервисами:
hltv-monitor.service - hltv-monitor.py каждые 15 секунд делает RCON status, считает реальных игроков и игнорирует BOT, HLTV, LAN/PENDING и SteamID из /opt/hltv-agent/excluded_steamids.txt. Если реальных игроков больше 0, он запускает HLTV.
Когда игроков нет 4 проверки подряд, то есть примерно 60 секунд, monitor отправляет HLTV команды stop и quit, чтобы демка закрылась корректно. Если HLTV-процесс жив, но сервер больше не видит HLTV в status, monitor перезапускает запись.
Демки пишутся в tmp раздел в ОЗУ - дабы не убивать SSD (15 минут в среднем ~115МБ)

hltv-archiver.service - hltv-archiver.py сканирует workdir каждые 30 секунд. Если .dem не менялся 120 секунд, он считается закрытым и архивируется в .7z уже на SSD раздел. Сжатие идёт через 7z с низким приоритетом (nice, ionice), после успешного архива исходный .dem удаляется. Retention сейчас 2 дня: старые .7z удаляются archiver’ом.

2. Frontend (Nginx) рекурсивно читает JSON, находит .7z, парсит карту/дату из имени файла и строит ссылки на скачивание.
1779995561306.png


Сайт простенький, делал ещё с помощью ChatGPT старой версии. Главное что функциональный.

Итого: При таком подходе в 10 раз меньше занимают демки из-за сжатия, а так же минимизируем размеры файлов, износ SSD, трафик для клиентов - за счёт того что не записываем когда на сервере никого из игроков.

П.С. Видно что за 2 суток имеем архивов на 7.4ГБ, раньше приходилось 100ГБ раздел выделять только под 1 сервер.
 
Сперва использовал данный HLTV сервис но было очень неудобно и ресурсозатратно всё.
Переделал под такую логику и запилил всё в LXC контейнер на proxmox:
1. Запись управляется двумя systemd-сервисами:
hltv-monitor.service - hltv-monitor.py каждые 15 секунд делает RCON status, считает реальных игроков и игнорирует BOT, HLTV, LAN/PENDING и SteamID из /opt/hltv-agent/excluded_steamids.txt. Если реальных игроков больше 0, он запускает HLTV.
Когда игроков нет 4 проверки подряд, то есть примерно 60 секунд, monitor отправляет HLTV команды stop и quit, чтобы демка закрылась корректно. Если HLTV-процесс жив, но сервер больше не видит HLTV в status, monitor перезапускает запись.
Демки пишутся в tmp раздел в ОЗУ - дабы не убивать SSD (15 минут в среднем ~115МБ)

hltv-archiver.service - hltv-archiver.py сканирует workdir каждые 30 секунд. Если .dem не менялся 120 секунд, он считается закрытым и архивируется в .7z уже на SSD раздел. Сжатие идёт через 7z с низким приоритетом (nice, ionice), после успешного архива исходный .dem удаляется. Retention сейчас 2 дня: старые .7z удаляются archiver’ом.

2. Frontend (Nginx) рекурсивно читает JSON, находит .7z, парсит карту/дату из имени файла и строит ссылки на скачивание.
Посмотреть вложение 1588

Сайт простенький, делал ещё с помощью ChatGPT старой версии. Главное что функциональный.

Итого: При таком подходе в 10 раз меньше занимают демки из-за сжатия, а так же минимизируем размеры файлов, износ SSD, трафик для клиентов - за счёт того что не записываем когда на сервере никого из игроков.

П.С. Видно что за 2 суток имеем архивов на 7.4ГБ, раньше приходилось 100ГБ раздел выделять только под 1 сервер.
реализован api, который можно использовать в amxx, для контроля старта/стопа. Будет потом использоваться для получения кол-ва игроков. архивация в zip сразу после смены карты/остановки докера/старта докера и т.п. Можно запустить как и в монолите т.е. всё в одном, так и воркеры т.к. отдельные докеры для каждого хлтв. Докеры не ubuntu, а
distroless/base-debian12. Постепенно всё улучшаю. Добавляю аналитику памяти под демо, кол-во демок за день. Облачное хранилище для каждого хлтв, иначе глобал, иначе локал и м.д. Много чего делается. Ну как лайт версия, очень неплохо сделали.



1779996503461.png
1779996514168.png

1779996792280.png
 

Кто просматривает тему

Назад
Верх