REST-API
Verbinde deinen eigenen Bot, deine Website oder Tools mit deinen Servern. JSON über HTTPS mit einem Bearer-Token; Spieler-IPs und BattlEye-GUIDs sind nie enthalten.
Endpunkte
Basis-URL https://dayzhub.cloud/api/v1/console · 120 Anfragen pro Minute.
| Methode | Pfad | Was er tut | Umfang |
|---|---|---|---|
| GET | /openapi.json | Diese API als OpenAPI-3.1-Datei (öffentlich, kein Token nötig). | öffentlich |
| GET | /servers | Deine Server mit Status, Spielern, echten FPS und Laufzeit. | lesen |
| GET | /servers/:serverId | Ein Server plus alle, die online sind. | lesen |
| GET | /servers/:serverId/players | Spieler mit Spielzeit, Sitzungen, Kills und Toden. | lesen |
| GET | /servers/:serverId/events | Das Log: join, leave, kill, death, hit, aikill, placement, build, dismantle, destroy, base_hit, chat, admin, system. | lesen |
| GET | /servers/:serverId/bans | Aktive Bans auf jeder Liste, die der Server nutzt. | lesen |
| GET | /servers/:serverId/bans/:ban | Ein Bann per ID: Grund, Beweise und ob er aktiv, abgelaufen oder aufgehoben ist. | lesen |
| POST | /servers/:serverId/bans | Bannen: {"steamId":"7656…","minutes":0,"reason":"…"} (0 = permanent). | schreiben |
| DELETE | /servers/:serverId/bans/:ban | Einen Bann von der eigenen Liste des Servers aufheben. | schreiben |
| POST | /servers/:serverId/actions | Jede Operations-Aktion: {"action":"heal","steamId":"7656…"}, "message", "teleport", "give", "kick", "say", "restart"… | schreiben |
| POST | /servers/:serverId/kick | Einen Spieler mit einem für ihn sichtbaren Grund kicken. | schreiben |
| POST | /servers/:serverId/message | Eine Nachricht an einen Spieler senden oder an alle verteilen. | schreiben |
| GET | /servers/:serverId/whitelist | Die Whitelist: ob sie aktiv ist und wer darauf steht. | lesen |
| POST | /servers/:serverId/whitelist | Spieler zur Whitelist hinzufügen (bis zu 5000). | schreiben |
| DELETE | /servers/:serverId/whitelist/:steamId | Einen Spieler von der Whitelist entfernen (der letzte kann nicht gehen, solange sie aktiv ist). | schreiben |
| GET | /servers/:serverId/priority | Die Prioritätsspieler, die die Warteschlange überspringen. | lesen |
| POST | /servers/:serverId/priority | Spieler zur Prioritätsliste hinzufügen (bis zu 1000). | schreiben |
| DELETE | /servers/:serverId/priority/:steamId | Einen Spieler von der Prioritätsliste entfernen. | schreiben |
| GET | /servers/:serverId/sessions | Spielsitzungen vom Beitritt bis zum Verlassen, neueste zuerst. | lesen |
| GET | /servers/:serverId/stats | Verlauf von Spielerzahl und FPS, ein Punkt alle 5 Minuten. | lesen |
| GET | /servers/:serverId/leaderboard | Bestenliste: Kills, Tode, Spielzeit, weitester Kill, K/D, PvE-K/D oder Infizierten-Kills. | lesen |
| GET | /servers/:serverId/hud | Rangliste im Spiel: die besten Spieler von sieben Ranglisten und die Plätze der angefragten Spieler. | lesen |
| POST | /servers/:serverId/hud | Wie der HUD-Aufruf, als POST (für DayZ-Spielserver). | lesen |
| GET | /players/lookup | Einen Spieler auf allen deinen Servern per SteamID64 oder Name finden. | lesen |
Aktionen für Geld, Bank, Geldautomaten, Garagen und Basis-Wipes gehen nur im Dashboard, nie mit einem Token.
Jedes Token darf 300 Anfragen pro Minute und 150000 pro Tag senden (Suchen und Logs zählen mehr als einfaches Lesen).
curl -H "Authorization: Bearer dhca_…" \ https://dayzhub.cloud/api/v1/console/servers/dhc_demo_survive/events?type=kill&limit=20
openapi.json · Die vollständige Dokumentation und Client-Beispiele stehen in docs/API.md und docs/sdk.
Tokens
2 Tokens, kein festes Limit.
Signierte Webhooks
Sende Ereignisse deiner Server als signiertes JSON an deine eigene Website oder deinen Bot: Beitritte, Abgänge, Kills, Banns, Serverstatus, Meldungen und Alarme.
Jede Zustellung ist JSON mit einer Ereignis-ID, mit der du Wiederholungen ignorierst. Fehlgeschlagene Zustellungen werden nach 30 Sekunden, 2 Minuten, 10 Minuten, 1 Stunde und 6 Stunden wiederholt; nach 20 Fehlschlägen in Folge wird der Webhook abgeschaltet. Replay-Fenster: 300 Sekunden.
X-DHC-Signature: t=1760000000,v1=<hex> v1 = HMAC_SHA256(secret, t + "." + rawBody)