# 20ESPORTS – Beispielablauf: Valorant 1v1 Single Elimination BO3 mit Spiel um Platz 3

## Szenario

- **Spiel:** Valorant
- **Format:** 1v1 Skirmish
- **Turnierformat:** Single Elimination
- **Teilnehmer:** 8 Spieler
- **Best of:** BO3
- **Spiel um Platz 3:** aktiviert
- **Teilnahme:** Einzelspieler
- **Spiel:** Custom Game / Lobby

Beispielspieler:

- STEVEE
- Alex
- Ben
- Chris
- David
- Kevin
- Mike
- Tom

> **Wichtig:** Das Spiel um Platz 3 ist bei einem reinen Single-Elimination-Bracket technisch eine zusätzliche Platzierungspartie. Die beiden Halbfinalverlierer spielen dafür noch einmal gegeneinander.

> **Valorant-spezifisch:** Valorant wird in diesem Ablauf über eine Lobby bzw. ein Custom Game gespielt. Es gibt daher keine serverseitige Match-Zuweisung wie bei klassischen dedizierten Gameservern. Die Matchseite konzentriert sich auf Gegner, Ready-Status, Lobby/Custom-Game-Informationen, Map-Veto, Maps, Ergebnisse und den Turnierfortschritt.

---

# 1. Turnier im Adminbereich anlegen

Der Admin erstellt das Turnier beispielsweise mit:

```text
Name:
20ESPORTS Valorant 1v1 Skirmish #1

Game:
Valorant

Spielmodus:
1v1 Skirmish

Turnierformat:
Single Elimination

Best Of:
BO3

Teilnehmerlimit:
8

Spielerregistrierung:
aktiv

Check-in:
aktiv

Spiel um Platz 3:
aktiv
```

Nach dem Speichern befindet sich das Turnier zunächst in der Registrierungsphase.

---

# 2. Öffentliche Turnierseite

Auf der öffentlichen Turnierseite sehen Besucher unter anderem:

- Turniername
- Valorant
- 1v1 Skirmish
- Single Elimination
- BO3
- Teilnehmerzahl
- Registrierungsstatus
- Anmeldebutton
- später den Check-in-Status

Beispiel:

```text
Valorant 1v1 Skirmish #1
Single Elimination · BO3

Teilnehmer: 0 / 8

[ ANMELDEN ]
```

---

# 3. Spieler melden sich an

Die acht Spieler registrieren sich einzeln:

```text
1. STEVEE
2. Alex
3. Ben
4. Chris
5. David
6. Kevin
7. Mike
8. Tom
```

Bei einem 1v1-Turnier wird dabei kein Team benötigt.

Der Spieler wird als Turnierteilnehmer gespeichert. Je nach Registrierung werden beispielsweise Gameaccount, Discord und optional das Alter erfasst.

Nach jeder Registrierung erhöht sich die Teilnehmerzahl:

```text
Teilnehmer: 8 / 8
```

---

# 4. Registrierung wird geschlossen

Sobald die maximale Teilnehmerzahl erreicht wurde oder der Admin die Registrierung schließt, können keine weiteren Spieler teilnehmen.

```text
Registrierung geschlossen

8 / 8 Teilnehmer
```

Danach folgt die Check-in-Phase.

---

# 5. Check-in

Da es sich um ein Solo-Turnier handelt, muss **jeder Spieler selbst einchecken**:

```text
STEVEE    ✓
Alex      ✓
Ben       ✓
Chris     ✓
David     ✓
Kevin     ✓
Mike      ✓
Tom       ✓
```

Nach erfolgreichem Check-in sieht der Spieler beispielsweise:

```text
✓ Eingecheckt
```

Wichtig für den 1v1-Soloablauf: Der Check-in darf nicht ausschließlich über einen Team-Captain funktionieren.

---

# 6. Turnier wird gestartet

Nachdem die Check-in-Phase beendet ist, startet der Admin das Turnier.

Bei 8 Teilnehmern entsteht:

```text
Viertelfinale
├── Match 1
├── Match 2
├── Match 3
└── Match 4

Halbfinale
├── Match 5
└── Match 6

Finale
└── Match 7

Spiel um Platz 3
└── Match 8
```

Das Spiel um Platz 3 wird aus den beiden Halbfinalverlierern gebildet.

---

# 7. Bracket nach Turnierstart

Beispielhafte Auslosung:

```text
QF1
STEVEE  vs  Alex

QF2
Ben     vs  Chris

QF3
David   vs  Kevin

QF4
Mike    vs  Tom
```

Beispielsweise gewinnen:

```text
QF1 → STEVEE
QF2 → Ben
QF3 → Kevin
QF4 → Tom
```

Damit entstehen:

```text
SF1
STEVEE  vs  Ben

SF2
Kevin   vs  Tom
```

Die beiden Halbfinalverlierer gehen zusätzlich in das Spiel um Platz 3.

---

# 8. Öffentliche Matchseite eines Viertelfinales

Ein Match ist zunächst eventuell noch nicht spielbereit:

```text
Viertelfinale

STEVEE
vs
Alex

BO3

Status:
Warten auf Matchstart
```

Ein Match mit `TBD`-Teilnehmern darf dagegen noch keinen Server reservieren:

```text
Halbfinale

TBD
vs
TBD

→ kein Server reservieren
```

Erst wenn beide Teilnehmer feststehen, ist das Match tatsächlich spielbar.

---

# 11. Spieler sind bereit

Die beiden Spieler bestätigen ihre Bereitschaft:

```text
STEVEE     ✓ Bereit
Alex       ✓ Bereit
```

Die Matchseite kann den Status per AJAX/SSE aktualisieren.

Wenn beide bereit sind:

```text
STEVEE     ✓
Alex       ✓

Beide Spieler bereit.
Match kann gestartet werden.
```

---

# 12. Map-Veto / Map-Auswahl

Bei einem BO3 werden bis zu drei Maps gespielt.

Ein typischer BO3-Ablauf:

```text
1. Spieler A bannt eine Map
2. Spieler B bannt eine Map
3. Spieler A pickt Map 1
4. Spieler B bestimmt die Seite für Map 1
5. Spieler B pickt Map 2
6. Spieler A bestimmt die Seite für Map 2
7. Spieler A bannt eine Map
8. Spieler B bannt eine Map
9. Die verbleibende Map wird Map 3
10. Spieler A bestimmt die Seite für Map 3
```

Beispiel:

```text
Map 1:
Ascent
Pick: STEVEE
Startseite: Alex

Map 2:
Haven
Pick: Alex
Startseite: STEVEE

Map 3:
Bind
Decider
Startseite: STEVEE
```

Die konkrete Veto-Reihenfolge sollte durch die im System konfigurierte Map-/BO-Logik bestimmt werden.

---

# 13. Map 1

```text
MAP 1 / 3

Ascent

STEVEE
vs
Alex

Server:
185.xxx.xxx.xxx:27015

Status:
Live
```

Beispiel:

```text
Ascent

STEVEE  13
Alex     8
```

Serienstand:

```text
STEVEE 1 : 0 Alex
```

---

# 14. Map 2

```text
MAP 2 / 3

Haven

STEVEE
vs
Alex
```

Beispiel:

```text
Alex    13
STEVEE  10
```

Serienstand:

```text
STEVEE 1 : 1 Alex
```

Damit ist eine dritte Map notwendig.

---

# 15. Map 3

```text
MAP 3 / 3

Bind

STEVEE
vs
Alex
```

Beispiel:

```text
STEVEE 13
Alex     9
```

Endstand:

```text
STEVEE 2 : 1 Alex
```

Damit gewinnt STEVEE das Viertelfinale.

---

# 16. Match wird abgeschlossen

Nach Bestätigung:

```text
Matchstatus:
Completed

Sieger:
STEVEE

Verlierer:
Alex

Serie:
2 : 1
```

Der Matchserver kann anschließend wieder freigegeben werden.

Die Turnierdaten werden aktualisiert.

---

# 17. Bracket wird aktualisiert

Nach dem abgeschlossenen Match wird der Sieger in die nächste Runde übernommen:

```text
QF1

STEVEE 2 : 1 Alex

→ STEVEE zieht ins Halbfinale ein
```

Das nächste Match kann dadurch beispielsweise von

```text
TBD vs Ben
```

zu

```text
STEVEE vs Ben
```

werden.

Erst jetzt steht fest, wer Teilnehmer dieses nächsten Matches ist.

---

# 18. Viertelfinale 2–4

Die restlichen Viertelfinals laufen nach demselben Schema:

```text
Server vorbereiten
↓
Spieler sehen Matchseite
↓
Ready
↓
Map-Veto
↓
Map 1
↓
Map 2
↓
ggf. Map 3
↓
Ergebnis
↓
Match abschließen
↓
Server freigeben
↓
Sieger ins nächste Match
```

Beispielhafte Ergebnisse:

```text
QF1
STEVEE 2 : 1 Alex

QF2
Ben    2 : 0 Chris

QF3
Kevin  2 : 1 David

QF4
Tom    2 : 0 Mike
```

---

# 19. Halbfinale

Damit steht:

```text
SF1
STEVEE vs Ben

SF2
Kevin  vs Tom
```

## Halbfinale 1

```text
STEVEE 2 : 0 Ben
```

→ STEVEE zieht ins Finale ein.

→ Ben verliert das Halbfinale und wird für das Spiel um Platz 3 vorgemerkt.

## Halbfinale 2

```text
Tom 2 : 1 Kevin
```

→ Tom zieht ins Finale ein.

→ Kevin verliert das Halbfinale und wird für das Spiel um Platz 3 vorgemerkt.

---

# 20. Spiel um Platz 3

Jetzt stehen die beiden Teilnehmer fest:

```text
Spiel um Platz 3

Ben
vs
Kevin
```

Das Match durchläuft ebenfalls den grundlegenden Match-Lifecycle:

```text
Server
↓
Ready
↓
Map-Veto
↓
Map 1
↓
Map 2
↓
ggf. Map 3
↓
Ergebnis
↓
Abschluss
```

Beispiel:

```text
Ben 2 : 1 Kevin
```

Damit:

```text
Platz 3: Ben
Platz 4: Kevin
```

---

# 21. Finale

Das Finale lautet:

```text
Finale

STEVEE
vs
Tom
```

Beispiel:

```text
Map 1
STEVEE gewinnt

Map 2
Tom gewinnt

Map 3
STEVEE gewinnt
```

Endstand:

```text
STEVEE 2 : 1 Tom
```

Damit:

```text
1. Platz: STEVEE
2. Platz: Tom
```

---

# 22. Komplettes Endergebnis

```text
🏆 Valorant 1v1 Skirmish #1

1. STEVEE
2. Tom
3. Ben
4. Kevin
5.–8. Alex / Chris / David / Mike
```

Die Plätze 5–8 ergeben sich aus den vier Viertelfinalverlierern.

---

# 23. Matchhistorie

Nach Abschluss des Turniers bleiben die einzelnen Matches nachvollziehbar:

```text
Viertelfinale

STEVEE 2 : 1 Alex
Ben    2 : 0 Chris
Kevin  2 : 1 David
Tom    2 : 0 Mike

Halbfinale

STEVEE 2 : 0 Ben
Tom    2 : 1 Kevin

Spiel um Platz 3

Ben 2 : 1 Kevin

Finale

STEVEE 2 : 1 Tom
```

Jede Matchseite kann damit weiterhin als historische Matchseite aufgerufen werden.

---

# 24. Rating / Elo

Wenn Turniermatches für das Rating aktiviert sind, kann nach Abschluss eines gültigen Matches die Ratingwertung erfolgen.

Beispielsweise:

```text
STEVEE gewinnt
→ Ratingänderung

Alex verliert
→ Ratingänderung
```

Das kann für jedes abgeschlossene Turniermatch separat erfolgen.

---

# 25. Server-Lifecycle

Für jedes tatsächlich gespielte Match gilt grundsätzlich:

```text
Match noch TBD
    ↓
kein Server

Beide Spieler festgelegt
    ↓
Server reservieren

Server starting
    ↓
GameAP startet Server

Server ready
    ↓
Serverdaten auf Matchseite

Spieler Ready
    ↓
Match live

Match beendet
    ↓
Ergebnis bestätigen

Server freigeben
    ↓
Server wieder verfügbar
```

Wichtig:

Ein Match, das noch

```text
TBD vs TBD
```

lautet, darf nicht bereits einen Server blockieren.

---

# 26. Was der Spieler auf der Matchseite erlebt

Aus Sicht eines Spielers:

```text
1. Match wird angekündigt
        ↓
2. Matchseite öffnen
        ↓
3. Gegner sehen
        ↓
4. Custom Game / Lobby organisieren
        ↓
5. Bereit klicken
        ↓
6. Warten bis beide bereit
        ↓
7. Map-Veto
        ↓
8. Map 1 spielen
        ↓
9. Ergebnis
        ↓
10. Map 2 spielen
        ↓
11. ggf. Map 3 spielen
        ↓
12. Serienergebnis
        ↓
13. Match abgeschlossen
        ↓
14. Bracket aktualisiert
        ↓
15. nächstes Match / nächste Runde
```

---

# 27. Sonderfälle

## Ein Spieler erscheint nicht

Wenn ein Spieler nicht erscheint, greift der konfigurierte Match-/No-Show-Lifecycle.

Beispielsweise:

```text
Spieler A bereit
Spieler B nicht bereit

→ Timeout
→ No-Show / Adminentscheidung
→ Match wird entsprechend abgeschlossen
```

Der genaue Ablauf hängt von den für Turniermatches aktivierten Regeln ab.

## Ein Match wird disputed

Wenn ein Ergebnis angefochten wird:

```text
Match
↓
Ergebnis eingereicht
↓
Dispute
↓
Admin prüft
↓
Admin entscheidet
↓
gültiges Ergebnis
↓
Bracket wird aktualisiert
↓
Server wird freigegeben
```

Ein Match sollte nicht einfach als endgültig abgeschlossen gelten, solange der Dispute offen ist.

---

# 28. Gesamtübersicht

```text
TURNIER ERSTELLEN
        ↓
REGISTRIERUNG ÖFFNEN
        ↓
8 SPIELER MELDEN SICH AN
        ↓
REGISTRIERUNG SCHLIESSEN
        ↓
CHECK-IN
        ↓
TURNIER STARTEN
        ↓
BRACKET GENERIEREN
        ↓
┌───────────────────────────────┐
│        VIERTELFINALE          │
│                               │
│ Match → Server → Ready →      │
│ Veto → Maps → Ergebnis        │
└───────────────┬───────────────┘
                ↓
┌───────────────────────────────┐
│         HALBFINALE            │
│                               │
│ Sieger QF → Match → Ergebnis  │
└───────────────┬───────────────┘
                ↓
       ┌────────┴────────┐
       ↓                 ↓
   FINALE           PLATZ 3
       ↓                 ↓
   Ergebnis          Ergebnis
       └────────┬────────┘
                ↓
       TURNIER ABSCHLIESSEN
                ↓
       PLATZIERUNGEN
                ↓
       MATCHHISTORIE
                ↓
       RATING / ELO
```

---

# 29. Wichtig für die Umsetzung im Eventsystem

Für den aktuellen Stand des 20ESPORTS-Systems sind insbesondere diese Punkte relevant:

1. **Solo-Spieler müssen wie eigenständige Teilnehmer behandelt werden.**
2. **Check-in muss für 1v1-Solo-Spieler funktionieren.**
3. **TBD-Matches dürfen keinen Server reservieren.**
4. **Sobald beide Teilnehmer feststehen, kann das Match einen Server erhalten.**
5. **Serverzuweisungen müssen eindeutig dem jeweiligen Turniermatch zugeordnet werden.**
6. **Quickplay/Gather dürfen einen für ein Turnier reservierten Server nicht übernehmen.**
7. **Der Server muss nach Matchabschluss wieder freigegeben werden.**
8. **Map-Veto muss sich automatisch aus Mapanzahl und BO ableiten.**
9. **BO1, BO3 und BO5 müssen jeweils korrekt unterschiedliche Veto-/Mapabläufe ermöglichen.**
10. **Das Spiel um Platz 3 muss die beiden Halbfinalverlierer automatisch zusammenführen.**
11. **Nach Abschluss eines Matches muss der Gewinner automatisch in die nächste Runde gelangen.**
12. **Bei Disputes darf das Match nicht vorzeitig als endgültig abgeschlossen behandelt werden.**
13. **Matchseiten sollen den Lifecycle sichtbar machen: Waiting → Server → Ready → Veto → Live → Ergebnis → Completed.**
14. **Turniermatches können – sofern aktiviert – ebenfalls Rating/Elo beeinflussen.**