API IgroServ
Публичные данные мониторинга в JSON. Ограничение: 120 запросов в минуту на IP.
Методы
GET /api/v1/games — активные игры и количество серверов.
GET /api/v1/servers — параметры game, online=1, country, q, per_page.
GET /api/v1/servers/{id} — карточка сервера.
curl "https://igroserv.ru/api/v1/servers?game=rust&online=1&country=RU"
Webhook владельца сервера
После подтверждения сервера в кабинете можно указать публичный HTTPS URL. IgroServ отправляет события server.online и server.offline методом POST.
{
"event": "server.online",
"occurred_at": "2026-08-24T15:30:00Z",
"server": {
"id": 123,
"game": "rust",
"address": "203.0.113.10:28015",
"status": "online",
"players": 42,
"max_players": 100
}
}
Подпись находится в заголовке X-IgroServ-Signature в виде sha256=<hex>. Вычислите HMAC-SHA256 от исходного тела запроса с секретом webhook и сравнивайте подписи через constant-time функцию.
$expected = 'sha256='.hash_hmac('sha256', $rawBody, $secret);
$valid = hash_equals($expected, $_SERVER['HTTP_X_IGROSERV_SIGNATURE'] ?? '');