DKP Auctioneer

Raid-focused DKP auction system to manage points and run fair, transparent loot auctions.

File Details

DKPAuctioneer_V1.4.8

  • R
  • Mar 17, 2026
  • 48.99 KB
  • 35
  • 12.0.1
  • Retail

File Name

DKPAuctioneer_V1.4.8.zip

Supported Versions

  • 12.0.1

# DKP Auctioneer - Changelog Version 1.4.8

**Release Datum:** 17. März 2026

---

##  KRITISCHER BUGFIX

### Race Condition Fix in EndAuction()

**Problem:** Bei gleichzeitigen Geboten mehrerer Spieler konnte `EndAuction()` mehrfach parallel ausgeführt werden, was zu doppelten DKP-Abzügen und inkonsistenten Zuständen führte.

**Lösung:** Implementierung eines MUTEX-Pattern mit `auctionEnding` Flag:

#### Änderungen in `DKPAuctioneer_Auction.lua`:

1. **Neues Flag hinzugefügt:**
   ```lua
   self.auctionEnding = false  -- MUTEX: Verhindert doppelte EndAuction() Aufrufe
   ```

2. **MUTEX CHECK am Anfang von EndAuction():**
   ```lua
   if self.auctionEnding then
       DKP:Debug("EndAuction: Bereits in Ausführung (MUTEX), überspringe")
       return false
   end
   ```

3. **MUTEX LOCK wird gesetzt:**
   ```lua
   self.auctionEnding = true
   ```

4. **MUTEX UNLOCK an kritischen Stellen:**
   - Bei "Keine Gebote" Szenario
   - Nach erfolgreicher Winner-Verarbeitung in `ProcessWinner()`
   - Bei Fehler in `ResolveRollWinner()`

#### Geschützte Szenarien:

- ✅ Alle Spieler bieten gleichzeitig → EndAuction() wird nur 1x ausgeführt
- ✅ Tie-Breaker mit parallelen Rolls → Keine doppelte Verarbeitung
- ✅ Fehlerfall → MUTEX wird trotzdem freigegeben
- ✅ Netzwerk-Lag mit verzögerten Geboten → Schutz durch Flag

#### Technische Details:

Das MUTEX-Flag verhindert dass `EndAuction()` während einer laufenden Ausführung erneut aufgerufen werden kann. Dies ist besonders wichtig bei:
- Gleichzeitigen Geboten aller Spieler (CheckAllPlayersBid triggers)
- Tie-Breaker Roll-Phase (Flag bleibt aktiv)
- Fehlerszenarien (Flag wird trotzdem zurückgesetzt)

**Risiko vorher:** Hoch - Datenverlust, doppelte DKP-Abzüge  
**Risiko nachher:** Minimal - Vollständiger Schutz implementiert

---

## Kompatibilität

- **WoW Version:** 12.0.0.1 (The War Within)
- **Abhängigkeiten:** Keine
- **Rückwärtskompatibel:** Ja (mit Version 1.4.7)

---

## Installation

Ersetze die alte Version durch die neuen Dateien oder nutze den Addon-Manager.

---

**Vorherige Version:** [1.4.7](Changelog1.4.7.md)