Иконка ресурса

[fork] HLTV-Manager

Нет прав для скачивания
Аутентификация
Запросы должны содержать заголовок X-Api-Token со значением, указанным в переменной окружения API_TOKEN.
Пример:
HTML:
GET /api/hltv
X-Api-Token: a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6

Rate Limiting​

Все API‑маршруты ограничены по частоте: 5 запросов в секунду с возможностью кратковременного всплеска до 10. При превышении возвращается 429 Too Many Requests.


Список эндпоинтов​

1. Получить список всех HLTV​

GET /api/hltv
Ответ (200):
JSON:
[
  {
    "id": 1,
    "name": "You server #1",
    "show_ip": "HLTV_IP:HLTV_PORT",
    "connect": "SERVER_IP:SERVER_PORT",
    "port": "HLTV_PORT",
    "is_running": true
  }
]

2. Получить информацию об одном HLTV​

GET /api/hltv/{id}
Ответ (200):
JSON:
{
  "id": 1,
  "name": "You server #1",
  "show_ip": "HLTV_IP:HLTV_PORT",
  "connect": "SERVER_IP:SERVER_PORT",
  "port": "HLTV_PORT",
  "is_running": true,
  "max_demo_day": "2"
}

3. Запустить HLTV​

POST /api/hltv/{id}/start
Ответ (200):
JSON:
{ "status": "ok" }

Если HLTV уже запущен: { "status": "already running" }

4. Остановить HLTV​

POST /api/hltv/{id}/stop
Ответ (200):
JSON:
{ "status": "ok" }

Если HLTV уже остановлен: { "status": "already stopped" }

5. Получить список демо​

GET /api/hltv/{id}/demos
Ответ (200):
JSON:
[
  {
    "id": 1,
    "name": "server-2605282037-de_dust2.zip",
    "date": "2026.05.28",
    "time": "20:37",
    "map": "de_dust2"
  }
]

6. Получить логи терминала​

GET /api/hltv/{id}/log
Ответ (200):
JSON:
[
  "Console initialized.",
  "FileSystem initialized.",
  "Network initialized."
]

7. Начать запись демо​

POST /api/hltv/{id}/record/start
Параметры (form): demo_name (необязательно, по умолчанию используется префикс из настроек HLTV)
Ответ (200):
JSON:
{ "status": "ok", "demo_name": "mydemo" }

8. Остановить запись демо​

POST /api/hltv/{id}/record/stop
Ответ (200):
JSON:
{ "status": "ok" }
Назад
Верх