API

Lies öffentliche Gameserver-Daten aus oder verwalte deine eigenen Gameserver sicher über eine vertrauenswürdige serverseitige Anwendung.

Öffentlicher Zugriff

Nicht authentifizierte GET-Anfragen geben öffentliche Daten aus und können direkt im Browser verwendet werden.

Authentifizierte Verwaltung

API-Schlüssel identifizieren einen authentifizierten Benutzer.

Anfragelimits

Nicht authentifiziert: bis zu 60 Anfragen pro Minute und 5.000 pro Tag je IP-Adresse.

Authentifiziert: bis zu 300 Anfragen pro Minute und 25.000 pro Tag. Alle API-Schlüssel eines Benutzers teilen sich dieses Limit.

Schnellstart

Basis-URL
https://dayz-community.eu/api/rpc/game-server-viewer/v1

Öffentlicher Zugriff

Öffentliche GET-Antworten erlauben den browserübergreifenden Zugriff und enthalten niemals Zugangsdaten, rohe Abfragedaten oder private Konfiguration. Öffentliche Lesezugriffe lösen keine Live-Abfrage aus.

curl --request GET \
	--header "Accept: application/json" \
	'https://dayz-community.eu/api/rpc/game-server-viewer/v1/servers?status=online&limit=10'

Antworten und Caching

Antworten verwenden JSON und enthalten kurze Cache-Zeiten, ETags und gegebenenfalls Last-Modified. Bedingte Anfragen können 304 Not Modified zurückgeben. Überschrittene Anfragelimits führen zu HTTP 429 mit Retry-After.

Dokumentation v1

Basis-URL
https://dayz-community.eu/api/rpc/game-server-viewer/v1
Methode Endpunkt Zweck
GET/API-Version und Verweise auf alle Ressourcen.
GET/gamesListe aller aktivierten Spiele.
GET/categoriesListe aller öffentlich sichtbaren Kategorien.
GET/serversSeitenweise und filterbare Liste öffentlicher Gameserver.
GET/servers/{id}Öffentliche Details eines einzelnen Gameservers.
GET/servers/{id}/statusAktuell gespeicherter Status eines einzelnen Gameservers.
GET/servers/{id}/statisticsZusammengefasste Statistiken für bis zu 30 Tage, sofern aktiviert.

Abfrageparameter

Es werden nur die dokumentierten Parameter akzeptiert. Nicht unterstützte Parameter führen zu einem Validierungsfehler, statt stillschweigend ignoriert zu werden.

Alle öffentlichen GET-Endpunkte unterstützen den optionalen Parameter fields, zum Beispiel fields=status,statistics.periods.72h bei einer Server-Detailabfrage. Kommagetrennte Pfade wählen ganze Bereiche oder verschachtelte Felder innerhalb von data; bei Listen gilt die Auswahl für jeden Eintrag. Beim API-Index beziehen sich die Pfade direkt auf documentation oder resources. Ohne fields wird die vollständige Antwort zurückgegeben. Metadaten und Seitennavigation bleiben erhalten. Ungültige Pfade werden abgelehnt; erlaubt sind höchstens 64 Pfade und 2048 Zeichen. Die Auswahl umgeht keine Berechtigungen oder Sichtbarkeitseinstellungen.

GET /games, /categories, /servers/{id}, /status

Wählt eine unterstützte Antwortsprache aus, beispielsweise de oder en.

language=de

GET /servers

Filtert die Gameserver-Liste nach Spielkennung, Kategorie-ID, Status oder frühestem Aktualisierungszeitpunkt.

  • game=identifier
  • category=integer > 0
  • status=online|offline|maintenance
  • updatedSince=Unix timestamp

Steuert Seite, Seitengröße und Sortierung. Die Seitengröße ist auf 100 Einträge begrenzt.

  • page=1..1000 (1)
  • limit=1..100 (20)
  • sort=id|name|players|updated|created (id)
  • order=asc|desc (desc)

GET /servers/{id}/statistics

Wählt Zeitraum, Gruppierung und Zustand der Statistiken aus. Der maximale Zeitraum beträgt 30 Tage.

  • days=1..30 (1)
  • from=Unix timestamp + to=Unix timestamp
  • interval=auto|hour|day (auto)
  • state=all|online|offline|maintenance (all)

Antworten

Serverdaten

Bestehende Felder bleiben unverändert. name ist der eingetragene Name; query.name ist der abgefragte Servername. query.parameters enthält ausgewählte zusätzliche Spielinformationen mit Bezeichnung und typisiertem Wert (auch Zahlen und Wahrheitswerte). Nicht verfügbare Werte sind null. status.connection ergänzt die Verbindungsdaten; bei einer Adress-Aliasangabe bleiben der tatsächliche Host und Port verborgen. Die Detailantwort enthält außerdem statistics.periods für 72h, 7d und 30d, sofern API-Statistiken erlaubt sind. availabilityPercent beschreibt den Online-Anteil der aufgezeichneten Messungen, nicht lückenlos überwachte Zeit. averagePlayers verwendet Messungen mit bekannten Spielerzahlen. Messanzahl, erster und letzter Messzeitpunkt zeigen die Datengrundlage. Fehlende Messungen ergeben null statt 0; die Zusammenfassung wird fünf Minuten zwischengespeichert. Die Abfragedaten folgen der Auswahl für die Gameserver-Seite; offline sind ihre Werte null.

In detaillierten Serverantworten enthält status.players.average die durchschnittliche Spielerzahl aus allen noch gespeicherten Messungen mit bekannter Spielerzahl. statistics.overall zeigt den Zeitraum und die Anzahl der Messungen. Unbekannte Spielerzahlen werden nicht berücksichtigt, bekannte Werte von 0 dagegen schon. Ohne verfügbare Statistiken oder bei ausgeblendeten Spielerinformationen ist der Durchschnitt null. Listen- und reine Statusantworten bleiben unverändert.

  • 200 OK / 201 Created
  • 304 Not Modified
  • 400 Bad Request
  • 401 Unauthorized / 403 Forbidden
  • 404 Not Found
  • 429 Too Many Requests + Retry-After

Fehler

Fehlerantworten verwenden eine einheitliche JSON-Struktur mit Typ, Code, Meldung und betroffenem Parameter.

{
	"type": "invalid_request_error",
	"code": "invalid",
	"message": "...",
	"param": "..."
}

Anfrage-Tester

Wähle einen Endpunkt aus, ergänze optionale Abfrageparameter und führe eine GET-Anfrage auf derselben Website aus.

Parameter ohne einleitendes Fragezeichen und durch & getrennt eingeben.
Anfrage-URL
https://dayz-community.eu/api/rpc/game-server-viewer/v1?language=de