🏰 Clans

Turnier Lesen

Der Serverkrieg: das laufende Turnier oder das zuletzt beendete.

tournament: null, wenn hier noch nie eines lief.

─── Warum hier validate_server_access steht ─────────────────────────

Hier stand die Begruendung, warum es NICHT noetig sei: "die Rangliste steht ohnehin jedem offen, der auf dem Server ist". Der Satz stimmt - nur wurde die Voraussetzung darin ("wer auf dem Server ist") nirgends geprueft. Ein Discord-Login ist keine Serverzugehoerigkeit, und dieser Endpunkt war der einzige /servers/{id}/... dieser Datei ohne die Pruefung.

Herausgefallen ist dabei mehr als eine Rangliste: gestartet_von ist die Discord-Id des Menschen, der das Turnier gestartet hat. Server-Ids sind ueber die oeffentlichen Bestenlisten frei zu haben, das Limit liegt bei 80 Anfragen je Minute - ein Verzeichnis "Server -> Discord-Id eines Admins" waere ein Nachmittag Arbeit gewesen. Die oeffentliche Clan-Seite laesst genau diese Id weg (clans_public.py).

Wer den Stand wirklich ohne Anmeldung zeigen will, braucht dafuer eine Route in clans_public.py - und dort ohne gestartet_von.

get/api/v1/servers/{server_id}/tournament

Request

  • Base URL: https://api.notoq.xyz (the document declares no server; this is the origin it was published from)
  • URL: https://api.notoq.xyz/api/v1/servers/{server_id}/tournament
  • Auth: HTTP bearer

Path parameters

server_idstring required

Discord Server ID

Response

Successful Response

successboolean required
dataobject required
messagestring nullable

Changes

No recorded changes to this operation across all 1 revision of this API.