Skip to content

[Service] Fwd: Bitte schnell reagieren #14

@tickbot

Description

@tickbot

Titel: Bug: Spieler kann Kollisionen mit Gegnern umgehen – Leaderboard manipuliert

Zusammenfassung

  • Ein Nutzer hat entdeckt, dass im JavaScript-Car-Game Kollisionen mit Gegnern in bestimmten Situationen nicht erkannt werden. Dadurch lässt sich das Leaderboard manipulieren. Die Maßnahme, Nutzer aus der DB zu löschen, ist kein geeigneter Bugfix. Bitte Reproduzieren, patchen und Tests hinzufügen.

Reproduktionsschritte

  • Umgebung: aktueller Dev-Build des Spiels (Browser-basierte Implementierung).
  • Voraussetzungen: mind. ein Gegner auf dem Display, aktivierter Score/Leaderboard.
  • Schritte:
    1. Starte eine Runde mit mindestens einem Gegner.
    2. Führe eine Route durch, bei der eine Kollision normalerweise auftreten müsste (hohe Geschwindigkeit/Spitzwinkel).
    3. Beobachte, dass keine Kollision erkannt wird und der Score/Leaderboard weiter steigt.
  • Erwartetes Verhalten: bei jeder Überschneidung der Hitboxes wird eine Kollision erkannt und Score entsprechend angepasst bzw. Schaden/Nebenwirkungen angewendet.

Tatsächliches Verhalten

  • Kollisionen werden in bestimmten Szenarien nicht erkannt, was zu unverdienten Punkteständen im Leaderboard führt.

Betroffene Komponenten

  • Collision/Hitbox-Logik
  • Physics/Delta-Time-Handling
  • Score/Leaderboard-Update-Pfade

Ursachenannahmen (vorschläge zur Prüfung)

  • Fehlende oder fehlerhafte kontinuierliche Kollisionsnachverfolgung (tunneling) bei hohem Tempo.
  • Rotierte vs. achsen-ausgerichtete Bounding-Boxen (AABB) vs. kreisförmige Hitboxes inkonsistente Berechnung.
  • Broadphase/Narrowphase-Fehler oder stale Hitbox-Daten pro Frame.
  • Eventuelle Shortcut- oder Early-Return-Pfade, die Kollisionsprüfungen überspringen.

Lösungsansatz (Vorschläge)

  • CodeReview der Collision-Module: sicherstellen, dass Hitboxen von Player und Gegner pro Frame aktuell sind.
  • Implementiere oder verbessere Continuous Collision Detection (CCD) für Hochgeschwindigkeits-Szenarien.
  • Verifiziere Kollisionserkennung bei Rotationen, Skalierungen und unterschiedlichen Hitboxformen.
  • Ergänze automatisierte Tests:
    • Unit-Tests für Kollisions-Erkennung bei variierenden Geschwindigkeiten, Winkeln und Rotationen.
    • Integrations-Tests, die Score-Updates nach Kollisionen prüfen.
  • Entferne jegliche Maßnahme zur Löschung von Nutzern als Bugfix-Ansatz; nutze stattdessen angemessene Sicherheits-/Audit-Prozesse.
  • Dokumentiere Patch-Keypoints im PR (betroffene Module, relevante Checks).

Akzeptanzkriterien

  • Reproduktionsfall lässt sich nach dem Fix nicht mehr zuverlässig reproduzieren.
  • Bei allen getesteten Geschwindigkeiten/Winkeln wird eine Kollision korrekt erkannt und Score/Leaderboard aktualisiert.
  • Keine Manipulation des Leaderboards über nicht erkannte Kollisionen mehr möglich; Integrität des Leaderboards gewährleistet.
  • Neue/aktualisierte Tests existieren:
    • Unit-Tests für Collision-Detection
    • Integrationstests für Gameplay-Flow inkl. Score-Logik
  • Release-Sicherheit: Patch läuft ohne negative Nebeneffekte in vorhandene Spielmechanik.

Notizen

  • Zuweisung: Florian (Game-Security/Gameplay-Entwicklung) oder entsprechendes Teammitglied.
  • Labels: bug, security, collision-detection, leaderboard, high-priority

Anhang/Verknüpfungen

  • Link zum betroffenen Modul (Collision/Physics)
  • Referenz-PRs oder Builds, sofern vorhanden

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions