Przejdź do treści
API

Dane twojego serweraw twoich narzędziach.

API tylko do odczytu dla serwerów Premium: kto gra, mecz, gracze, kille i historia. Klucze tworzysz w WARPANEL → Ustawienia → API.

Endpointy · warpanel.gg/api/v1Tylko odczyt
GET/v1/serversTwoje serwery teraz (przeglądarka serwerów)
GET/v1/serverSerwer teraz
GET/v1/playersGracze i ich statystyki (rankingi)
GET/v1/players/{steamId}Jeden gracz
GET/v1/matchesOstatnie mecze
GET/v1/eventsStrumień zdarzeń (kille i wyniki meczów)
GET/v1/weaponsBronie
GET/v1/mapsMapy
GET/v1/totalsSumy (dziś, sezon, od początku)
GET/v1/historyHistoria i najbardziej ruchliwe godziny
curl · /v1/server
~❯curl -H "Authorization: Bearer $WARPANEL_API_KEY" https://warpanel.gg/api/v1/server
{
"server": {
"id": "x7k2p9",
"name": "[DOGS] Dog House EU | KOTK",
"joinCode": "ABCD1234",
"region": "eu-central",
"source": "rcon"
},
"online": true,
"players": {
"current": 58,
"max": 100
},
"match": {
"map": "Bakurani",
"lighting": "Day",
~❯
Pełna dokumentacja (Markdown) →OpenAPI 3.1 →
Jak to działa
  • 01JSON tylko do odczytu przez HTTPS. Bazowy URL: https://warpanel.gg/api/v1
  • 02Autoryzacja: wyślij klucz jako Authorization: Bearer wpk_… (lub X-API-Key: wpk_…). Klucze tworzy właściciel serwera w WARPANEL → Ustawienia → API. Klucz serwera czyta jeden serwer; klucz sieci (tylko właściciel) czyta każdy serwer, który właściciel ma w WARPANEL.
  • 03Klucze sieci wybierają serwer przez ?server=<id> (id z GET /servers; slug albo kod dołączenia też działa) lub ?server=all, żeby połączyć serwery (gracze są łączeni po Steam ID). Bez ?server endpointy, które potrafią łączyć, robią to (all), a /server prosi o jeden. Klucz serwera może pominąć ?server.
  • 04Tylko serwery Premium. Klucz przestaje odpowiadać (403 premium_required), gdy serwer, na którym go utworzono, jest na planie Free.
  • 0560 zapytań na minutę na klucz. Nagłówki: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset (sekundy). Ponad limit: 429 z Retry-After.
  • 06U nas dane na żywo są cache'owane 10 sekund, strumień zdarzeń 5 sekund, statystyki 1–2 minuty, a historia 10 minut, więc częstsze odpytywanie nic nie daje. Cache'uj też u siebie (30–60 s w zupełności wystarczy dla strony).
  • 07Czasy są w ISO 8601 w UTC. /totals i /history przyjmują ?tz= (strefa IANA, np. Europe/Berlin) dla „dziś” i najbardziej ruchliwych godzin. Steam ID to 17-cyfrowe ciągi SteamID64. Drużyny to Valkyra (czerwona), Lonestar (niebieska) i Manticore (zielona); serwer mieści do 100 graczy.
  • 08Gracze, którzy ukryli się w rankingach, są pomijani na listach graczy; gdzie indziej (lista na żywo, mecze, zdarzenia) pojawiają się jako „Ukryty gracz” ze steamId null.
  • 09CORS jest otwarty dla GET, ale trzymaj klucz na serwerze (trasa backendu, funkcja serverless albo Cloudflare Worker) — wszystko w JavaScripcie w przeglądarce może przeczytać każdy odwiedzający.