Scoreboards Documentation
Everything you need to create and manage Discord leaderboards
- Bot hinzufügen — Lade Scoreboards über den Invite-Link auf der Startseite auf deinen Discord-Server ein.
- Setup-Assistent starten — Mit
/get startedwählst du einen Leaderboard-Typ, gibst ihm einen Namen und postest ihn in einen Kanal. Point-, Highscore- und Time-Boards starten mit ein paar Beispieleinträgen, damit du das Board in Aktion siehst; sie verschwinden in dem Moment, in dem der erste echte Score landet. - Rollen festlegen — Öffne das Dashboard und setze die Rolle <arg>bot permission</arg> (wer Leaderboards verwalten darf) und die Rolle <arg>validator</arg> (wer Einreichungen freigeben darf).
- Erstes Leaderboard erstellen — Mit
/scoreboard createlegst du ein Leaderboard an: Name, Typ und Sortierung. - Zeig es her —
/scoreboard showpostet das interaktive Leaderboard in den Kanal, samt Buttons zum Einreichen und Blättern.
Wenn du mit /scoreboard create ein Leaderboard anlegst, wählst du einen von sechs Typen:
Classic
Rechnet Punkte auf einen laufenden Gesamtstand drauf oder zieht sie ab. Ideal für Spiele, bei denen sich Punkte über die Zeit ansammeln.
Highscore
Speichert nur die persönliche Bestleistung. Niedrigere Scores von früher werden automatisch ersetzt.
Time (Speedrun)
Zeiten reichst du als 00:00:00 (Hundertstel) oder 00:00:000 (Millisekunden) ein — welches Format das Board anzeigt, stellst du im Dashboard ein, neue Boards stehen auf Millisekunden. Aufsteigend sortieren, wenn die schnellste Zeit gewinnt, absteigend, wenn die längste gewinnt.
ELO - Ranked
Kompetitives ELO-Rating, 1v1 oder in Teams von 2v2 bis 8v8. Du reichst ein Matchergebnis ein, und das Rating aller Beteiligten passt sich automatisch an.
Rating
Bilder einreichen und von der Community mit Sternen bewerten lassen (1–10). Aus den Stimmen wird ein Durchschnitt. Perfekt für Art-Contests und kreative Challenges.
League
Punkte pro Match — für Fußball, Basketball, FIFA und alles dazwischen. Die Punkte für Sieg, Unentschieden und Niederlage stellst du selbst ein (Standard 3/1/0), dazu kommt das Matchergebnis (z. B. 3-1).
Leaderboards verwalten
| Befehl | Beschreibung | Berechtigung |
|---|---|---|
/scoreboard create | Legt ein neues Leaderboard an — Name, Typ, Sortierung und optionale Einstellungen | Admin / bot permission |
/scoreboard show | Postet das Leaderboard mit interaktiven Buttons in den aktuellen Kanal | Admin / bot permission |
/scoreboard settings | Öffnet das Dashboard mit den Einstellungen dieses Scoreboards (Sortierung, Sichtbarkeit, Spaltenüberschriften, Ansicht, ELO-Konfiguration und mehr) | Admin / bot permission |
/scoreboard delete | Löscht ein Leaderboard und alle zugehörigen Daten endgültig (mit Bestätigung) | Admin / bot permission |
/scoreboard season end | Archiviert die Abschlusstabelle, postet ein Podium und setzt das Board für die nächste Season zurück (mit Bestätigung) | Admin / bot permission |
/import | Holt Scores aus einer CSV-Datei in ein Leaderboard (Umzug von einem anderen Bot oder aus einer Tabelle) | Admin / bot permission |
Scores & Matchergebnisse
| Befehl | Beschreibung | Berechtigung |
|---|---|---|
/submit | Reicht auf jedem beliebigen Leaderboard ein. Der Bot öffnet den nächsten Schritt, der zum Typ passt — ein Score-Feld (Classic/Highscore/Time), Spieler- und Siegerauswahl (ELO), Spieler- und Score-Auswahl (League) oder ein Namensfeld (Rating, mit dem Bild am Slash-Befehl). Auf einem Team-Board fragt die Auswahl nach der kompletten Aufstellung pro Seite. | Alle |
/set | Setzt den Score oder das ELO-Rating eines Spielers auf einen genauen Wert | Admin / bot permission |
/adjust | Rechnet einen Wert auf den Score eines Spielers drauf oder zieht ihn ab (negative Werte zum Abziehen) | Admin / bot permission |
/player remove | Nimmt einen Spieler vom Leaderboard | Admin / bot permission |
Konfiguration
| Befehl | Beschreibung | Berechtigung |
|---|---|---|
/get started | Startet den Setup-Assistenten für die allererste Einrichtung | Admin |
/help | Öffnet die interaktive Hilfe mit allen Themen | Alle |
Es gibt zwei Wege:
- Führ
/submitaus und wähl ein Leaderboard. Der Bot öffnet den Ablauf, der zum Typ passt — ein Score-Feld für Classic/Highscore/Time, Spieler- und Siegerauswahl für ELO, Spieler- und Score-Auswahl für League oder ein Namensfeld für Rating (mit dem Bild am Slash-Befehl). Auf einem Team-Leaderboard wählst du statt eines einzelnen Spielers eine komplette Aufstellung für jede Seite. - Oder klick am geposteten Leaderboard auf Submit — das öffnet genau denselben Ablauf.
Der Weg durch die Prüfung
- Die Einreichung wird im eingestellten Log-Kanal gepostet (sofern einer gesetzt ist).
- Ein Validator oder Admin klickt auf Approve oder Reject.
- Bei einer Ablehnung bekommt die einreichende Person eine DM mit der Begründung.
- Bei einer Freigabe aktualisiert sich das Leaderboard sofort.
Automatische Freigabe
Jedes Leaderboard kann Einreichungen nach einer eingestellten Wartezeit von selbst freigeben: Off, Instant, 1 hour, 3 hours, 24 hours, 3 days oder 7 days. Bei ELO-Leaderboards sind 24 Stunden voreingestellt.
Einen Score zurücknehmen
Admins und Validatoren können einen bereits freigegebenen Score rückgängig machen: Rechtsklick auf die Nachricht mit der Einreichung, dann "Cancel Score/Match" wählen. Damit wird die Score-Änderung zurückgedreht, und du musst eine Begründung angeben.
Der Leaderboard-Typ ELO - Ranked sortiert die Spieler nach einem ELO-Rating — entweder 1v1 oder in Teams mit bis zu acht Spielern pro Seite.
So funktioniert's
- Alle starten mit demselben Start-ELO, das du selbst festlegst (Standard: 1200).
- Ein Match endet mit Sieg, Niederlage oder Unentschieden.
- Die Ratings werden mit einem K-Faktor von 32 berechnet.
- Nach der Freigabe ändert sich das Rating aller Beteiligten gleichzeitig.
Team-Matches (2v2 – 8v8)
ELO- und League-Leaderboards lassen sich auf eine feste Teamgröße festlegen — such sie beim Erstellen aus oder änder sie später unter Match format im Dashboard. Auf einem 3v3-Leaderboard stehen dann in jedem Match drei Spieler pro Seite, und das Leaderboard wertet die Spieler trotzdem einzeln.
Bei ELO ergibt sich das erwartete Ergebnis eines Teams aus dessen durchschnittlichem Rating, und die daraus folgende Änderung bekommt jedes Mitglied dieses Teams — schlagt ihr ein stärkeres Team, kassiert jeder auf der Siegerseite denselben Zuwachs. Bei League bekommt jeder im Siegerteam die Siegpunkte, und das ganze Verliererteam bekommt die Niederlagenpunkte.
Matchmaking-Queue (Beta)
Ist der Queue-Button am Leaderboard aktiviert, klicken sich Spieler damit in die Matchmaking-Queue. Das System bringt Spieler mit ähnlichem ELO zusammen und weitet das Suchfenster dabei Schritt für Schritt aus. Kommt ein Match zustande, entsteht dafür ein Thread mit Abstimmungsbuttons für die Community. Findet sich innerhalb von 5 Minuten kein Match, verfällt der Platz in der Queue.
Auf einem Team-Leaderboard wartet die Queue, bis genug Spieler für beide Seiten da sind — sechs für ein 3v3 — und teilt sie dann in zwei Teams mit möglichst gleichem Durchschnitts-Rating, sodass die Stärksten und die Schwächsten auf verschiedenen Seiten landen. Alle müssen auf Ready klicken; wer das nicht tut, fliegt raus, und alle anderen kommen mit ihrem Platz zurück in die Queue.
Jedes Team bekommt seinen eigenen Sprachkanal, damit ihr Taktik besprechen könnt, ohne dass die Gegenseite mithört — du siehst nur den Kanal deines eigenen Teams und kommst auch nur da rein. Beide Kanäle verschwinden, sobald das Match abgeschlossen ist. Ein Ergebnis steht erst fest, wenn in beiden Teams eine Mehrheit dafür stimmt (zwei von drei bei 3v3) — ein Team kann sich also nie selbst zum Sieger erklären. Alles andere wird zum Streitfall, den ein Validator entscheidet.
Feste Teams
Ein ELO- oder League-Leaderboard mit fester Teamgröße kann auch im Modus fixed teams laufen (im Dashboard direkt neben Match format). Feste Teams mit Namen melden sich einmalig über den Team sign-up-Button am Leaderboard an — Namen wählen, dann den Kader aufstellen, der bis zu zwei Reservisten über die Teamgröße hinaus fassen darf. Danach werden die Teams selbst gewertet: Auf einem ELO-Board hat jedes Team sein eigenes Rating, und ein stärkeres Team zu schlagen zahlt sich mehr aus; auf einem League-Board sortiert die Tabelle die Teams nach Punkten, genau wie in einer echten Sportliga. Feste Teams in League tragen ihre Matches mit /submit ein — die Matchmaking-Queue weiter unten gibt es nur bei ELO.
Klickt ein einziges Mitglied auf Queue, steht das ganze Team in der Warteschlange, und alle bekommen eine DM. Gematcht wird Team gegen Team nach Team-Rating, und der Ready-Check ist gleichzeitig die Aufstellung: Es spielen die Mitglieder jedes Kaders, die zuerst auf Ready klicken — so viele, wie die Teamgröße vorgibt; der Rest sitzt dieses Match aus. Über das Ergebnis stimmen die ab, die gespielt haben, nach derselben Mehrheitsregel auf beiden Seiten.
Der Leaderboard-Typ League sortiert die Spieler nach Punkten, die sie über mehrere Matches sammeln. Das ist das Format für Fußball, Basketball, Futsal, Hockey und jeden 1v1- oder Team-Wettbewerb, bei dem am Ende die Tabelle zählt.
So funktioniert's
- Reich ein Match mit
/submitein — der Bot fragt nach beiden Seiten und je einem Ergebnis (z. B. 3 und 1). - Die höhere Zahl gewinnt; bei Gleichstand ist es ein Unentschieden.
- Die Siegerseite bekommt points_win, die Verliererseite points_loss, bei einem Unentschieden bekommen alle points_draw. In einer Team-League bekommt jeder Spieler die Punkte seiner Seite.
- Das Leaderboard sortiert nach Gesamtpunkten; Siege, Unentschieden und Niederlagen werden getrennt mitgezählt.
Standardpunkte
Neue Ligen starten mit 3 / 1 / 0 (FIFA-Standard seit 1994). Alle drei Werte lassen sich pro Leaderboard im Dashboard ändern. Nimm 2 / 1 / 0 für Hockey, 4 / 2 / 0 für Rugby — oder ein eigenes System, das zu deinem Sport passt.
Ein Match eintragen
Öffne auf der Website das Leaderboard und klick auf Submit — beide Seiten eintragen, Ergebnis dazu. /submit öffnet in Discord genau dasselbe. Matches, bei denen derselbe Spieler auf beiden Seiten steht, und negative Ergebnisse werden schon beim Einreichen abgelehnt.
Team-Ligen
Ein League-Leaderboard lässt sich auf eine feste Teamgröße von 2v2 bis 8v8 festlegen — beim Erstellen oder später unter Match format im Dashboard. Die Tabelle wertet trotzdem die Spieler einzeln: Jeder auf der Siegerseite bekommt die Siegpunkte, die ganze Verliererseite bekommt die Niederlagenpunkte, und das Matchergebnis zählt für jeden von ihnen als erzielte und kassierte Tore.
Lieber eine klassische Ligatabelle, in der die Teams die Zeilen sind? Schalt Fixed teams neben Match format ein: Feste Teams mit Namen melden sich über den Team sign-up-Button am Leaderboard an (die Kader dürfen bis zu zwei Reservisten haben), Matches werden Team gegen Team mit Ergebnis eingetragen, und die Tabelle sortiert die Teams nach Punkten.
Prüfen & zurücknehmen
League-Matches laufen durch dieselbe Prüfung wie ELO-Matches: Ein Validator gibt jede Einreichung frei oder lehnt sie ab, die Punkte greifen mit der Freigabe, und ein freigegebenes Match lässt sich später zurücknehmen — dann verschwinden genau die Punkte wieder, die vergeben wurden.
Beim Leaderboard-Typ Rating reichen die Mitglieder deiner Community Bilder ein und geben den Beiträgen der anderen Sterne.
So funktioniert's
- Bilder werden mit
/submiteingereicht — häng das Bild an den Slash-Befehl und trag im Feld danach einen Namen ein. - Die Einreichungen landen mit einem Rating-Dropdown im Log-Kanal.
- Jeder kann 1 bis 10 Sterne vergeben. Aus den Stimmen wird ein Durchschnitt.
- Die eigene Stimme lässt sich jederzeit ändern — aber es bleibt bei einer Stimme pro Person und Einreichung.
- Das Leaderboard sortiert die Einreichungen nach durchschnittlichem Rating.
Bewerten auf der Website
Auf der Website liegen die Einreichungen im Tab Entries. Klick eine an, um das Bild in voller Größe zu sehen und es direkt mit den Stern-Buttons zu bewerten. Deine Stimmen bleiben auch beim nächsten Besuch gespeichert.
Du bestimmst, wer deine Leaderboards auf der Scoreboards-Website sehen kann:
Für alle auf der Website sichtbar.
Nur für Mitglieder deines Discord-Servers sichtbar (Login nötig).
Nur für Mitglieder mit einer bestimmten Discord-Rolle sichtbar.
Taucht auf der Website gar nicht auf.
Vergib Discord-Rollen automatisch nach der Platzierung auf dem Leaderboard. Die Top 3 bekommen zum Beispiel die Rolle "Champion", die Plätze 4–10 die Rolle "Veteran" und so weiter.
- Tiers richtest du im Web-Dashboard in den Einstellungen des jeweiligen Leaderboards ein.
- Leg fest, wie ein Tier abgegrenzt wird: nach Rank (Plätze 1–3), nach Perzentil (die besten 10 % der Spieler) oder nach Score (alle mit 2000+ Punkten). Alle Tiers eines Leaderboards nutzen dieselbe Methode.
- Häng an jeden Tier eine beliebige vorhandene Discord-Rolle.
- Die Rollen werden automatisch vergeben und wieder entzogen, sobald sich die Platzierungen ändern.
- Die Scoreboards-Rolle muss in Server Settings → Roles über jeder Rolle stehen, die sie vergeben soll. Discord lässt Bots keine Rollen auf oder über ihrer eigenen Ebene anfassen — stößt der Bot darauf, schreibt er eine Warnung in den Kanal des Leaderboards.
Läuft euer Wettbewerb schon woanders? /import nimmt eine CSV-Datei und füllt damit ein Leaderboard, sodass du nichts abtippen musst.
Es gibt zwei Wege: In Discord führst du /import aus, wählst das Leaderboard und hängst die Datei an — oder du öffnest auf der Website das Dashboard, wählst ein Leaderboard und nutzt Import from CSV. Persönliche Leaderboards gehören zu keinem Discord-Server, für die ist das Dashboard der Weg hinein. Die Datei ist in beiden Fällen dieselbe — ein <arg>name,score</arg> pro Zeile:
name,score Alex,120 "Cooney, EM",95 Sam,88
- Eine Kopfzeile wird erkannt und automatisch übersprungen.
- Komma, Semikolon und Tabulator funktionieren alle als Trennzeichen — nimm einfach das, was deine Tabelle ausspuckt.
- Namen mit Komma funktionieren, wenn sie in Anführungszeichen stehen, etwa <arg>"Cooney, EM"</arg>.
- Ist der Name eine Discord-User-ID, wird der Eintrag mit dem Mitglied verknüpft und zeigt dessen Anzeigenamen. Alles andere wird ein normaler Texteintrag.
- Steht derselbe Name zweimal drin, zählt der letzte Wert — so kannst du eine korrigierte Datei einfach nochmal einlesen.
- Zeilen, die sich nicht lesen lassen, werden übersprungen und mit Zeilennummer aufgelistet — der Rest kommt trotzdem rein, du korrigierst also ein paar Zeilen und lädst die Datei erneut hoch.
Zeiten versteht er als <arg>mm:ss</arg>, <arg>hh:mm:ss</arg> und optional mit Nachkommastellen: <arg>1:30</arg>, <arg>1:12:44.081</arg>. Eine reine Zahl liest er als Millisekunden. Achtung: Drei durch Doppelpunkt getrennte Zahlen bedeuten <arg>Stunden:Minuten:Sekunden</arg> — was unter einer Sekunde liegt, schreibst du hinter einen Punkt.
Grenzen: 500 Zeilen und 100 KB pro Datei — größere Exporte teilst du auf und importierst sie in Etappen. Leaderboards vom Typ Image Rating lassen sich nicht importieren, weil ihre Einträge hochgeladene Bilder sind und keine Scores.
Seasons ziehen einen Schlussstrich unter einen Wettbewerb, ohne dass verloren geht, was passiert ist. Führ /scoreboard season end aus und bestätige — dann wird die Abschlusstabelle archiviert, ein Podium landet im Kanal des Leaderboards, und das Board startet frisch in die nächste Season.
- ELO-Boards behalten ihre Spieler und setzen jedes Rating auf den Startwert zurück — eine Ladder ohne Leute ist keine Ladder.
- Classic-, Highscore-, Time- und League-Boards werden geleert, denn ein Score von null ist kein echter Eintrag.
- Image Rating-Boards haben keine Seasons — ein Reset würde die eingereichten Bilder löschen.
- Archivierte Abschlusstabellen bleiben für immer erhalten, auch wenn das Board später erneut zurückgesetzt wird.
Wochenrückblicke posten jeden Montag eine kurze Zusammenfassung in den Kanal des Leaderboards: die Top drei, den größten Aufsteiger der Woche und wie viel gespielt wurde. Nur Boards mit mindestens drei Scores in der vergangenen Woche bekommen einen — ein ruhiges Leaderboard bleibt also ruhig. Abschalten kannst du sie pro Leaderboard in /scoreboard settings oder im Dashboard auf der Website.