20eSportsGamingcommunity since 2010

03

October

2026

Organisation

Eventsystem v38-v42.1

News created by: STEVEE STEVEE - Status: 03.10.2026 22:54

📋 20ESPORTS Eventsystem – Changelog

🟣 v38 – Private Match-Chat

💬 Neuer Match-Chat

  • Privater Chat direkt auf der jeweiligen Matchseite.
  • Zugriff ausschließlich für:
    • 👑 Admins
    • 👑 Captains der beteiligten Teams
    • 👤 Mitglieder von Team 1 oder Team 2
  • Unbeteiligte Spieler/Gäste können den Chat nicht sehen.
  • Berechtigungen werden serverseitig geprüft.

⚡ Live-Aktualisierung

  • Chat aktualisiert sich automatisch per AJAX.
  • Aktualisierungsintervall: 5 Sekunden.
  • Kein kompletter Reload der Matchseite notwendig.

🛡️ Chat-Sicherheit

  • Unberechtigte Benutzer können weder Nachrichten lesen noch senden.
  • Nach Beendigung eines Matches bleibt der Chat lesbar.
  • Nach BEENDET können keine neuen Nachrichten mehr geschrieben werden.

🗑️ Admin-Funktion

  • Admins können Chatnachrichten löschen.

🔵 v39 – Chat UX

👑 Admin-Kennzeichnung

  • Nachrichten von Administratoren erhalten eine deutlich sichtbare:

ADMIN

Kennzeichnung.

⌨️ Enter zum Senden

  • Enter → Nachricht senden
  • Shift + Enter → Zeilenumbruch
  • Send-Button bleibt weiterhin verfügbar.

🔴 v40 – Iframe-/Zugriffsschutz

🔐 Eventsystem auf Nexpell-Integration ausgerichtet

Die öffentlichen Eventsystem-Seiten wurden stärker gegen direkten Zugriff geschützt.

Geschützt wurden unter anderem:

  • Matchseiten
  • Teamseiten
  • Turnierseiten
  • Archiv
  • Profile
  • Registrierungen
  • Match-Chat/API-Endpunkte
  • weitere öffentliche Eventsystem-Routen

🖼️ Nexpell-iframe

  • Eventsystem soll regulär innerhalb der Nexpell-Eventsystem-Seite geladen werden.
  • Direkte Aufrufe einzelner Eventsystem-PHP-Dateien werden entsprechend blockiert.

🛡️ CSP

  • frame-ancestors wurde zur zusätzlichen Kontrolle der erlaubten Einbettung verwendet.

⚠️ v40-Nebenwirkung

Dabei wurde zunächst auch open-team.php vom Schutz erfasst.

Dadurch funktionierten die Teamlinks aus den Nexpell-Profilen nicht mehr korrekt.


🟢 v41 – Team-Link Gateway Fix

🔗 Nexpell-Profil → Team

Der Fehler aus v40 wurde behoben.

open-team.php fungiert wieder als reines Gateway:

Nexpell Profil
      ↓
open-team.php
      ↓
Nexpell Eventsystem-Seite
      ↓
Eventsystem iframe
      ↓
gewünschtes Team

🔒 Wichtig

  • open-team.php rendert nicht selbst die geschützte Teamseite.
  • Die eigentliche team.php bleibt geschützt.
  • Der gewünschte Teampfad wird zwischengespeichert und nach dem Laden des Eventsystems wiederhergestellt.

Damit funktionieren die Teamlinks aus den Nexpell-Profilen wieder.


🟠 v42 – Neuer Team-Check-in

✅ Check-in direkt auf der Turnierseite

Der bisherige separate Check-in-Link wurde durch einen direkten Check-in auf der jeweiligen Turnierseite ersetzt.

Statt:

Check-in-Link
      ↓
separate Check-in-Seite

jetzt:

Turnierseite
      ↓
Team-Check-in
      ↓
Captain
      ↓
Team einchecken

👑 Captain-basierter Check-in

Nur der Captain des jeweiligen Teams kann den Check-in durchführen.

Normale Teammitglieder können den Check-in nicht auslösen.

🕐 Check-in-Zeitfenster

Der Check-in berücksichtigt das für das Turnier konfigurierte Zeitfenster.

Je nach Zustand wird angezeigt:

  • 🕐 Check-in noch nicht geöffnet
  • 🟢 Team kann eingecheckt werden
  • ✅ Team ist eingecheckt
  • 🔒 Check-in geschlossen

📊 Check-in-Status

Nach erfolgreichem Check-in wird beispielsweise angezeigt:

✓ Eingecheckt · 03.10.2026 · 19:20 Uhr

Der Status bleibt gespeichert und ist auch nach einem Reload vorhanden.

🗃️ Bestehende Datenstruktur

Die vorhandene Team-/Captain-/Registrierungsstruktur wird verwendet.

Die alte checkin_token-Spalte wurde nicht entfernt, um unnötige Datenbankmigrationen zu vermeiden.

Für den neuen normalen Check-in wird sie jedoch nicht mehr benötigt.


🟢 v42.1 – Check-in Bugfix

🐛 localSave() Fehler behoben

Beim ersten Check-in in v42 wurde der Check-in zwar korrekt gespeichert, anschließend fehlte aber der benötigte localSave()-Include.

Dadurch erschien:

Call to undefined function localSave()

Obwohl der Check-in bereits gespeichert worden war.

🔧 Fix

Der benötigte local.php-Include wurde ergänzt.

Damit funktioniert jetzt der komplette Ablauf:

Captain klickt
      ↓
Check-in wird gespeichert
      ↓
localSave()
      ↓
Erfolgsmeldung
      ↓
Team = Eingecheckt

✅ Ergebnis

Der erste Klick funktioniert jetzt direkt ohne Fehler.


🏆 v42.1-Stable

Aktueller stabiler Stand

Enthalten:

  • 💬 Privater Match-Chat
  • 👑 Admin-Kennzeichnung
  • ⌨️ Enter zum Senden
  • 🔐 Iframe-/Zugriffsschutz
  • 🔗 funktionierende Nexpell-Teamlinks
  • ✅ Captain-basierter Team-Check-in
  • 🕐 Check-in-Zeitfenster
  • 📊 persistenter Check-in-Status
  • 🐛 localSave()-Fix
  • 🛡️ bestehende Team-/Captain-Berechtigungen

(9 Views)

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