Dokumentation API
RESTful-API-Schnittstelle für Serverstatus und Strafendaten
Anmeldung erforderlich
Um ein API-Token zu generieren, müssen Sie angemeldet sein.
Über Steam anmeldenErste Schritte
Die UtopiaFPS-API bietet programmatischen Zugriff auf Serverstatusinformationen und Strafendatensätze. Alle Antworten sind im JSON-Format und enthalten Cache-Header für optimale Leistung.
Basis-URL
https://utopiafps.pl/api/v1
Ratenlimits
- Öffentliche Endpunkte: 30 Anfragen pro Minute
- Geschützte Endpunkte: 60 Anfragen pro Minute (API-Token erforderlich)
Authentifizierung
Geschützte Endpunkte erfordern ein API-Token. Fügen Sie Ihr Token in den Authorization-Header ein:
Authorization: Bearer YOUR_API_TOKEN
Alternativ können Sie das Token als Abfrageparameter übergeben:
?api_token=YOUR_API_TOKEN
ÖFFENTLICH Server-Endpunkte
/servers
Rufen Sie eine Liste aller Server mit ihrem aktuellen Status ab.
Beispielantwort:
{
"success": true,
"data": [
{
"id": 1,
"name": "Server #1",
"slug": "server-1",
"hostname": "UtopiaFPS Server #1",
"ip": "51.75.59.212:27015",
"map": "de_dust2",
"mode": "casual",
"region": "pl",
"players_count": 12,
"max_players": 32,
"is_online": true,
"ping_ms": 25,
"updated_at": "2025-01-23T12:34:56+00:00"
}
],
"meta": {
"total": 5,
"online": 3,
"cached_at": "2025-01-23T12:34:56+00:00"
}
}
/servers/{slug}
Erhalten Sie detaillierte Informationen über einen bestimmten Server anhand seines Slugs.
Beispielantwort:
{
"success": true,
"data": {
"id": 1,
"name": "Server #1",
"slug": "server-1",
"hostname": "UtopiaFPS Server #1",
"ip": "51.75.59.212:27015",
"map": "de_dust2",
"mode": "casual",
"region": "pl",
"players_count": 12,
"max_players": 32,
"is_online": true,
"ping_ms": 25,
"updated_at": "2025-01-23T12:34:56+00:00",
"players": [
{
"name": "PlayerName1",
"score": 150
},
{
"name": "PlayerName2",
"score": 120
}
]
},
"meta": {
"cached_at": "2025-01-23T12:34:56+00:00"
}
}
GESCHÜTZT Strafen-Endpunkte
/penalties
Rufen Sie alle Strafen (Verbannungen, Stummschaltungen, Gags, Silences, Warnungen) mit optionalen Filtern ab.
Abfrageparameter:
type- Nach Strafentyp filtern (ban, mute, gag, silence, warn oder leer für alle)status- Nach Status filtern (ACTIVE, EXPIRED, UNBANNED)server_id- Nach Server-ID filternsteamid- Nach Spieler-SteamID64 filternadmin_steamid- Nach Admin-SteamID64 filternper_page- Ergebnisse pro Seite (Standard: 50, max: 100)page- Seitennummer
Beispielantwort:
{
"success": true,
"data": [
{
"penalty_type": "ban",
"id": 123,
"player_name": "PlayerName",
"player_steamid": "76561198012345678",
"admin_name": "AdminName",
"admin_steamid": "76561198087654321",
"reason": "Cheating",
"duration": 0,
"status": "ACTIVE",
"server_id": 1,
"created": "2025-01-23T12:00:00+00:00",
"ends": null
},
{
"penalty_type": "gag",
"id": 456,
"player_name": "AnotherPlayer",
"player_steamid": "76561198099999999",
"admin_name": "AdminName",
"admin_steamid": "76561198087654321",
"reason": "Spam",
"duration": 3600,
"status": "ACTIVE",
"server_id": 1,
"created": "2025-01-23T11:00:00+00:00",
"ends": "2025-01-23T12:00:00+00:00"
}
],
"meta": {
"current_page": 1,
"total": 250,
"per_page": 50,
"last_page": 5,
"counts": {
"ban": 100,
"gag": 50,
"mute": 40,
"silence": 30,
"warn": 30
},
"cached_at": "2025-01-23T12:34:56+00:00"
}
}
/bans
Rufen Sie eine paginierte Liste von Verbannungen mit optionalen Filtern ab.
Abfrageparameter:
status- Nach Status filtern (ACTIVE, EXPIRED, UNBANNED)server_id- Nach Server-ID filternsteamid- Nach Spieler-SteamID64 filternper_page- Ergebnisse pro Seite (Standard: 50, max: 100)page- Seitennummer
Beispielantwort:
{
"success": true,
"data": [
{
"id": 123,
"player_name": "PlayerName",
"player_steamid": "76561198012345678",
"admin_name": "AdminName",
"admin_steamid": "76561198087654321",
"reason": "Cheating",
"duration": 0,
"status": "ACTIVE",
"server_id": 1,
"created": "2025-01-23T12:00:00+00:00",
"ends": null
}
],
"meta": {
"current_page": 1,
"total": 150,
"per_page": 50,
"last_page": 3,
"cached_at": "2025-01-23T12:34:56+00:00"
}
}
/mutes
Rufen Sie eine paginierte Liste von Stummschaltungen mit optionalen Filtern ab.
Abfrageparameter:
status- Nach Status filternserver_id- Nach Server-ID filternsteamid- Nach Spieler-SteamID64 filterntype- Nach Typ filtern (GAG, MUTE, SILENCE)per_page- Ergebnisse pro Seite (Standard: 50, max: 100)page- Seitennummer
Antwortstruktur ähnlich wie beim Bans-Endpunkt
/warns
Rufen Sie eine paginierte Liste von Warnungen mit optionalen Filtern ab.
Abfrageparameter:
status- Nach Status filternserver_id- Nach Server-ID filternsteamid- Nach Spieler-SteamID64 filternper_page- Ergebnisse pro Seite (Standard: 50, max: 100)page- Seitennummer
Fehlerantworten
401 Unauthorized
{
"success": false,
"message": "API token is required"
}
404 Not Found
{
"success": false,
"message": "Server not found"
}
429 Too Many Requests
Wenn das Ratenlimit überschritten wird, erhalten Sie einen 429-Statuscode mit Wiederholungsinformationen in den Headern.