20eSportsGamingcommunity since 2010

03

October

2026

Organisation

Unser neues Eventsystem

News created by: STEVEE STEVEE - Status: 03.10.2026 06:17

🏆 20ESPORTS Turniersystem – Changelog v1–v8.61

Hier ist eine zusammenhängende Fassung für eine News / Changelog-Ankündigung. Ich habe die vielen einzelnen Entwicklungsschritte zu sinnvollen Versionsthemen gebündelt, damit es für Nutzer verständlich bleibt und nicht wie ein internes Entwicklerprotokoll wirkt.


🚀 Das 20ESPORTS Turniersystem – von v1 bis v8.61

Aus einer einfachen Turnieranzeige ist Schritt für Schritt ein umfangreiches 20ESPORTS Event- und Turniersystem geworden.

Über die Versionen v1 bis v8.61 wurden Turnierverwaltung, Challonge-Anbindung, eigene lokale Turniere, Registrierung, Spielerprofile, Teams, Check-in, Matchverwaltung, Administration und die Integration in Nexpell aufgebaut und immer weiter verbessert.


🔹 v1 – Der Start

Die erste Version legte die Grundlage für das neue Turniersystem.

  • Grundlegende Turnieranzeige
  • Anbindung an Challonge
  • Anzeige von Turnierinformationen
  • erste öffentliche Turnieransicht
  • Grundstruktur für die spätere Erweiterung des Systems

Damit war die Basis für die weiteren Entwicklungsschritte geschaffen.


🔹 v2–v3 – Turnieranzeige und Datenstruktur

In den folgenden Versionen wurde die Turnieranzeige deutlich erweitert.

  • bessere Darstellung von Turnierdaten
  • Teilnehmer- und Matchinformationen
  • strukturiertere Turnierseiten
  • Vorbereitung auf unterschiedliche Turnierformate
  • Datenbankbasierte Speicherung der Turnierinformationen
  • erste Schritte zur Trennung zwischen Datenhaltung und öffentlicher Anzeige

Die Anzeige entwickelte sich damit von einer einfachen Übersicht zu einer echten Turnierplattform.


🔹 v4–v5 – Mehr Turnierformate und Brackets

Die Unterstützung verschiedener Turnierarten wurde ausgebaut.

Unter anderem kamen Strukturen für:

  • Single Elimination
  • Double Elimination
  • Round Robin
  • Swiss
  • Gruppen-/mehrstufige Turnierformate

hinzu.

Die Turnierdarstellung wurde außerdem stärker an das jeweilige Format angepasst.

Bei Eliminationsformaten können Turniere als Bracket dargestellt werden, während andere Formate entsprechend als Teilnehmer-, Match- oder Gruppenübersichten dargestellt werden.


🔹 v6 – Challonge-Synchronisierung

Die Challonge-Anbindung wurde weiter professionalisiert.

  • Nutzung der Challonge API v2.1
  • Synchronisierung von Challonge-Turnieren
  • Speicherung der Daten lokal in der 20ESPORTS-Datenbank
  • Anzeige der gespeicherten Daten auf der Website
  • Vorbereitung eines separaten Synchronisierungsprozesses
  • Berücksichtigung des API-Limits
  • Sicherheitslimit von maximal 450 API-Aufrufen innerhalb des monatlichen 500er-Limits

Ein wichtiger Grundsatz wurde dabei etabliert:

Die öffentliche Seite liest primär aus der lokalen Datenbank. Die Challonge-Synchronisierung erfolgt separat.


🔸 v7 – Vom Challonge-Viewer zum kompletten Turniersystem

Mit v7 wurde das Projekt deutlich umfangreicher.

🏆 Eigene lokale Turniere

Neben Challonge-Turnieren können nun auch eigene lokale Turniere angelegt und verwaltet werden.

Damit ist das System nicht mehr ausschließlich von Challonge abhängig.

Lokale Turniere können unter anderem:

  • eigene Teilnehmer haben
  • eigene Matches besitzen
  • eigene Ergebnisse speichern
  • unterschiedliche Phasen besitzen
  • einen eigenen Status haben
  • Registrierung und Check-in verwenden
  • direkt über 20ESPORTS verwaltet werden

📋 Turnier-Lebenszyklus

Für lokale Turniere wurden verschiedene Zustände eingeführt bzw. berücksichtigt:

  • pending – geplant / noch nicht gestartet
  • underway – Turnier läuft
  • complete – abgeschlossen
  • ended – beendet/geschlossen

Dadurch lässt sich beispielsweise automatisch verhindern, dass während eines laufenden Turniers neue Anmeldungen erfolgen.


🕐 Start und Check-in

Turniere können Start- und Check-in-Zeiten besitzen.

Auf der öffentlichen Turnierseite werden diese Informationen angezeigt:

  • 🕐 Turnierstart
  • ✅ Check-in

Damit ist für Teilnehmer direkt ersichtlich, wann ein Event beginnt und wann ein Check-in erforderlich ist.


👥 Registrierung

Die Registrierung wurde zu einem eigenen System ausgebaut.

Unterstützt werden unter anderem:

  • Einzelspieler
  • Teams
  • bestätigte Registrierungen
  • Wartelisten
  • Teilnehmerlimits
  • Registrierungszeitraum
  • Check-in
  • Registrierungsstatus

Bei lokalen Turnieren erfolgt die Registrierung direkt über 20ESPORTS.

Bei importierten Challonge-Turnieren führt „Jetzt anmelden“ weiterhin direkt zur entsprechenden Challonge-Anmeldung.


🔸 v8 – Die große Erweiterungsphase

Mit v8 wurde aus dem Turniersystem zunehmend eine komplette Esports-Plattform.


👤 Spielerprofile

Spieler erhalten eigene 20ESPORTS-Profile.

Dabei können unter anderem hinterlegt werden:

  • Spielername
  • Steam
  • Riot ID
  • Epic Games
  • Battle.net
  • EA
  • Ubisoft
  • Xbox
  • PlayStation
  • Nintendo
  • sonstige Gameaccounts
  • Discord
  • Plattform
  • Land

Das Alter kann für die Registrierung erfasst werden, wird aber nicht öffentlich angezeigt.

Bestehende ältere game_account-Daten wurden dabei nicht verworfen, sondern in das neue System übernommen.


🔐 Nexpell-Integration

Ein großer Entwicklungsschritt war die Verbindung mit dem bestehenden Nexpell-Login.

Das Turniersystem verwendet dabei die bereits bestehende Nexpell-Anmeldung.

Es gibt kein zweites Passwortsystem für 20ESPORTS.

Stattdessen wird die bestehende Nexpell-Session verwendet:

  • Nexpell authentifiziert den Benutzer
  • 20ESPORTS liest die angemeldete User-ID
  • Spielerprofile werden mit dem Nexpell-Benutzer verknüpft
  • Passwörter und 2FA bleiben vollständig bei Nexpell
  • die beiden Datenbanken bleiben technisch getrennt

Die Verknüpfung erfolgt über die Nexpell-User-ID.


👥 Teams

Ein vollständiges Teamsystem wurde aufgebaut.

Spieler können:

  • eigene Teams erstellen
  • Teams verwalten
  • Teammitglieder verwalten
  • andere Nexpell-Benutzer einladen
  • Einladungen annehmen oder ablehnen

Team-Einladungen besitzen außerdem eine begrenzte Gültigkeit.


🏅 Teamprofile

Teams erhalten eigene öffentliche Profile.

Dort können unter anderem angezeigt werden:

  • Teamname
  • Teammitglieder
  • Rollen
  • Captain
  • Teamstruktur

Private Daten wie Gameaccounts oder Discord-Kontaktdaten werden auf dem öffentlichen Teamprofil nicht angezeigt.


🎮 Teamregistrierung

Für lokale Teamturniere wurde die Registrierung entsprechend erweitert.

Bei beispielsweise:

  • 2v2
  • 3v3
  • 4v4
  • 5v5
  • 6v6

kann der eingeloggte Captain eines seiner eigenen Teams auswählen.

Das System überprüft dabei unter anderem:

  • ob der Benutzer Captain des Teams ist
  • ob die erforderliche Teamgröße vorhanden ist
  • ob die Spielerprofile vollständig sind
  • ob notwendige Gameaccounts vorhanden sind
  • ob das Team bereits registriert wurde
  • ob Spieler doppelt registriert werden

Zusätzliche Teammitglieder können als Ersatzspieler/Substitutes gespeichert werden.

1v1-Turniere bleiben dagegen auf Einzelspielerregistrierung ausgelegt.


🏆 Matchverwaltung

Die lokale Matchverwaltung wurde erheblich erweitert.

Matches können unter anderem verwaltet werden mit:

  • Teilnehmern
  • Runden
  • Phasen
  • Gruppen
  • Matchstatus
  • Ergebnissen
  • Best-of-Formaten

Unterstützt werden:

  • BO1
  • BO3
  • BO5

Bei BO3 werden zwei gewonnene Maps benötigt, bei BO5 drei.

Die Anzeige der Ergebnisse wurde ebenfalls angepasst, beispielsweise:

TWENTY1 13
TWENTY2 9

statt einer getrennten Score-Darstellung.


🗺️ Map-by-Map-Ergebnisse

Für längere Matchserien können einzelne Map-Ergebnisse gespeichert werden.

Damit lassen sich beispielsweise BO3- oder BO5-Matches detaillierter abbilden.

Die Gewinnerberechnung erfolgt anhand der erforderlichen Map-Siege.


🔄 Automatische Teilnehmerweitergabe

Ein wichtiger Bestandteil der Matchlogik ist die Weitergabe von Gewinnern in die nächste Runde.

Dabei wurde insbesondere darauf geachtet, dass:

  • Teilnehmer erst nach abgeschlossenen vorherigen Matches weitergereicht werden
  • die nächste KO-Runde nicht vorzeitig mit falschen Teilnehmern gefüllt wird
  • Match-Ergebnisse korrekt für die Folgerunde verwendet werden

Dabei wurde außerdem ein Fehler in der Reihenfolge der BO3/BO5-Berechnung behoben.


📚 Archiv / Past Events

Abgeschlossene Turniere wurden in ein eigenes Archiv überführt.

Der Menüpunkt wurde später bewusst umbenannt zu:

Abgeschlossene Events

Damit lassen sich vergangene Turniere weiterhin aufrufen und anzeigen.

Die Darstellung des Archivs orientiert sich dabei an der normalen Turnieransicht.


🏆 Mehrere aktive Events

Mit der Erweiterung auf mehrere aktive Turniere wurde die Startseite entsprechend angepasst.

Statt nur eines Events kann das System mehrere gleichzeitig aktive Turniere anzeigen.

Die Überschrift lautet:

Aktuelle Events

Jedes Event wird separat dargestellt und kann direkt geöffnet werden.


🍔 Neue Navigation

Die Navigation wurde vollständig überarbeitet und auf ein kompakteres Burger-Menü umgestellt.

Aktuelle Einträge sind unter anderem:

  • 🏆 Aktuelle Events
  • 👥 Jetzt anmelden
  • 👤 Mein Spielerprofil
  • 👥 Meine Teams
  • 📚 Abgeschlossene Events
  • ⚙️ Admin Dashboard

Nicht relevante Punkte werden abhängig vom Loginstatus bzw. Kontext ausgeblendet.


⚙️ Admin Dashboard

Für die Verwaltung wurde ein eigenes Admin Dashboard aufgebaut.

Dort können Administratoren unter anderem:

  • Turniere verwalten
  • Challonge-Turnier-IDs hinterlegen
  • lokale Turniere verwalten
  • Teilnehmer verwalten
  • Matches verwalten
  • Ergebnisse eintragen
  • Phasen und Gruppen verwalten
  • Registrierungen bearbeiten
  • Turnierstatus kontrollieren

Die Administration wurde außerdem auf eine volle Breite umgestellt, während die öffentliche Ansicht weiterhin kompakt bleibt.


🔎 Verbesserte Administration

Die Admin-Oberfläche wurde im Verlauf weiter optimiert.

Dazu gehören unter anderem:

  • Dashboard-Statistiken
  • Suche
  • Filter
  • klarere Navigation
  • besserer Kontext innerhalb der Adminseiten
  • strukturierte Matchverwaltung
  • Phasen-/Gruppenbereiche als aufklappbare Abschnitte

Match- und Ergebnisverwaltung wurde dadurch insbesondere bei größeren Turnieren übersichtlicher.


🧩 Phasen und Gruppen

Die Matchverwaltung wurde zusätzlich nach:

  • Phasen
  • Gruppen
  • KO-Runden

strukturiert.

Dadurch lassen sich komplexere Turnierabläufe wesentlich übersichtlicher verwalten.


🛡️ Öffentlicher Zugriff

Da das Turniersystem in Nexpell eingebettet ist, wurde der öffentliche Bereich zusätzlich abgesichert.

Das Ziel:

Das öffentliche 20ESPORTS-Turniersystem soll regulär über die Nexpell-Eventseite eingebettet aufgerufen werden.

Der Adminbereich bleibt davon getrennt.

Die Zugriffskontrolle wurde anschließend mehrfach verbessert, um normale iframe-Aufrufe nicht zu blockieren.


🖼️ Nexpell iframe-Integration

Das gesamte Eventsystem wurde für die Darstellung innerhalb der Nexpell-Seite optimiert.

Dabei wurde unter anderem berücksichtigt:

  • iframe-Darstellung
  • passende Hintergrundfarbe
  • nur die Hauptseite soll scrollbar sein
  • dynamische Höhenanpassung
  • kompakte Navigation
  • saubere Einbettung in /de/page/eventsystem/1

Der Hintergrund wurde an Nexpell angepasst:

#101317


🔄 Seitenstatus und Navigation

Ein besonders kniffliger Teil war die Navigation innerhalb des iframes.

Ziel war:

Innerhalb des Eventsystems

Wenn ein Benutzer beispielsweise ein Event oder das Archiv geöffnet hat und die Seite neu lädt:

Die aktuelle Seite bleibt erhalten.

Beim kompletten F5 der Nexpell-Seite

Auch hier soll der aktuell geöffnete Bereich erhalten bleiben.

Beim echten neuen Einstieg über die Nexpell-Navigation

Wenn der Benutzer erneut über die Nexpell-Navigation auf das Eventsystem geht:

Aktuelle Events wird geöffnet.

Diese Logik wurde über mehrere Versionen korrigiert und ist seit v8.61 entsprechend umgesetzt.

Dabei wurde zunächst ein Redirect-Loop entdeckt und anschließend behoben.


🐛 Wichtige Fehlerbehebungen

Im Laufe der Entwicklung wurden zahlreiche Fehler beseitigt.

Dazu gehörten unter anderem:

  • falsche Registrierungsmöglichkeiten bei laufenden Turnieren
  • fehlerhafte BO3-/BO5-Gewinnerberechnung
  • falsche Teilnehmerzuweisung in späteren KO-Runden
  • Probleme beim Speichern von Matchteilnehmern
  • fehlerhafte Demo-Matchdaten
  • Navigation innerhalb des iframes
  • Redirect-Schleifen
  • falsche Wiederherstellung der letzten Seite
  • falsches Verhalten bei F5 der Nexpell-Seite
  • falsches Verhalten beim erneuten Einstieg über die Nexpell-Navigation

Einige scheinbare Matchfehler stellten sich dabei letztlich als bereits vorausgefüllte Demo-Daten heraus und nicht als Fehler in der eigentlichen Matchlogik.


📊 Datenbankentwicklung

Parallel zur Oberfläche wurde die Datenbank Schritt für Schritt erweitert.

Heute umfasst das System unter anderem Strukturen für:

  • Turniere
  • Phasen
  • Gruppen
  • Matches
  • Spieler
  • Spielerprofile
  • Teams
  • Teammitglieder
  • Teameinladungen
  • Registrierungen
  • Check-in
  • Wartelisten
  • Match-Ergebnisse
  • lokale Turnierdaten

Dabei wurde darauf geachtet, bestehende Daten möglichst weiterzuverwenden und Erweiterungen kompatibel einzubauen.


🧱 Architektur

Ein wichtiges Ergebnis der Entwicklung ist die klare Trennung verschiedener Bereiche:

Nexpell

Login & Benutzerverwaltung

20ESPORTS

Spieler, Teams & Turniersystem

Challonge

Externe Turnierquelle

Lokale Datenbank

Cache und eigene Turnierdaten

Dadurch kann 20ESPORTS sowohl mit Challonge als auch vollständig mit eigenen lokalen Turnieren arbeiten.


🚀 Stand v8.61

Mit v8.61 ist das System mittlerweile deutlich mehr als eine einfache Challonge-Anzeige.

Es bietet:

✅ Challonge-Anbindung
✅ lokale Turniere
✅ verschiedene Turnierformate
✅ Brackets
✅ Gruppen und Phasen
✅ Matchverwaltung
✅ BO1 / BO3 / BO5
✅ Map-Ergebnisse
✅ Spielerprofile
✅ Nexpell-Login-Integration
✅ Teams
✅ Teameinladungen
✅ Teamregistrierung
✅ Einzelspielerregistrierung
✅ Wartelisten
✅ Check-in
✅ Startzeiten
✅ Archiv
✅ mehrere aktive Events
✅ Admin Dashboard
✅ Such- und Filterfunktionen
✅ iframe-Integration in Nexpell
✅ geschützten öffentlichen Bereich
✅ persistente Navigation
✅ sauberes Verhalten bei F5 und erneutem Einstieg


(21 Views)
Comments
    You must be logged in to write comments.

    Match Center

    Der nächste Termin im Rampenlicht.

    Platzhalter / Platzhalter

    Nächster Showdown

    20eSports CS2
    VS
    Platzhalter
    Thu · 23:59 Uhr Platzhalter Platzhalter
    Match ansehen