Аналоги HLTV DEMO RECORDER (PHP) для NodeJS?

Сообщения
2,491
Реакции
2,790
Помог
61 раз(а)
wopox1337, имхо фигня это все. Для меня лучшый вариант это система состоящая из 5 частей
1. плагин
2. веб на ноде
3. сам хлтв
4. база
5. фронт

Суть простая.
1. Каждый коннект дисконнект игрока отправляем ХТТП запрос на вебсервер с количеством актуальных игроков на нем (зачем писать демку если серв пустой).
2. Веб принимая запрос на коннект смотрит не идет ли уже запись (рконом проверить например)
3. Если запись не идет, генерим уникальное имя демо, ложим его в базу и отправляемркон командуна запись
4. Нужно модифицировать хлтв таким образом, дабы не добавляло карту и дату. Также добавить команду на проверку идет запись или нет.
5. Запрос на дисконект апускает таймер, после которого веб на ноде долженотправить ркон на остановку записи.
6. Также каждый коннект игрока должен останавливать таймер.
7. Каждая смена карты также должна обрабатываться.
8. После завершения записи демо, веб должен сходить по ХТТП/File протоколу на хлтв и забрать демку по заранее извесному имени сгенерированому заранее и сохраненному в базе
9. Если хлтв и веб находяться на разных физических устройствах поднять нгинкс или любой другой легкий веб сервер. В конфиге указать белый список ИП шников.
10. После закачки вытащить с бинарника всю необходимую инфу и заархивировать зипом например.
11. Обновить запись в базе.
12. Удалить закачаный демо файл с хлтв (если локально нет проблем, если удаленно, можно еще один веб на ноде поднять).

Тонкости:
1. Шшаред хостинги сразу же идут лесом
2. Если разные физ устройства или пользователи, нужно дать возможность закачать и удалить файл (в жопу ФТП) при этом запретив удаление любого файла, для предотвращения взлома
3. Нужна дополнительная обработка падений как хлтв, так и сервера, так и веба.

П.С. Делать конешно подобное я не стану. Другие дела не закончены. Это чисто мое видение как должна работать система, которое у меня в голове года 2 примерно
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу