## ARENA BATTLE — ODA KONTROLÜ VE PERSONEL / v15 R27

## Oyuncu akışı
Oda oyuncusu, Oda kontrolü > Kontrol talebi gönder üzerinden görüntü donması, ilerlemeyen oyun veya ses/görüntü sorununu bildirir. İzleyici bildirim açamaz. Aynı oda için yalnız bir açık talep bulunur; ikinci oyuncunun bildirimi aynı talep kimliğini döndürür, yeni bir kayıt açmaz. İnceleme kapandığında yeniden talep için sunucu saatine göre 5 dakika beklenir. Bitmiş/iptal edilmiş savaş için yeni talep açılamaz.

Oda talebi tek başına oyunu durdurmaz, ödeme veya iade yapmaz. Bildirim bütün oda oyuncularının bildirim merkezine düşer. Ana admin ve ilgili sitelerin yetkili personeli Kontrol talepleri menüsünde açık talep sayısını görür; panel sayacı 15 saniyede, oyuncu durumu 3 saniyede güncellenir.

## Personel kararları
Personel önce İncelemeye al seçeneğiyle kaydı sahiplenir. Başka personel 10 dakika boyunca karar veremez; sağlayıcı genel admini bir site personelinden ortak oda incelemesini hemen devralabilir. Kararlar en az 10 karakter açıklama gerektirir ve denetim günlüğüne kaydedilir:
- Hata tespit edilmedi: oyuncuya sonucu bildirir; oyun/bakiye değişmez.
- Odayı kapat ve iade et: doğrulanmış hata için savaş durdurulur ve her oyuncunun katılım bedeli özgün site/cüzdanına döner. Kısmi bonus kazancı ayrıca dağıtılmaz. Kesinleşmiş sonuç yeniden iadeye çevrilemez.

Siteler arası ortak odanın nihai kararı sağlayıcı personeline aittir. Site personeli kaydı görüp sahiplenebilir; diğer sitenin üyelerini, talep ayrıntılarını veya site personelinin özel notunu göremez. Site yalnız kendi normal odasının kararını verebilir.

## İade kurtarma akışı
Onay kalıcı kaydedilir; iade mevcut defter/outbox işlemleriyle yürür. Aynı kararın tekrarı ikinci iade üretmez. Yanıtı kaybolmuş, geciken veya servis yeniden başlatıldığında kalan iadeler aynı işlem kimliğiyle izlenir. Yeni katılımın henüz yanıtlanmamış rezervasyonu ve daha önce ayrılmış koltuğun bekleyen iadesi de hesaba katılır. Para dönse bile oyun işçisinin kapanışı onaylanmadıysa talep beklemede kalır. Normal iptal zaten olmuşsa mevcut iade takip edilir, yeni iade oluşturulmaz. Bir talep, otomatik oyun hatası teşhisi değildir; personel kayıtları ve oyun durumunu kontrol etmelidir.

## Personel erişimi
Site paneli > Ekip: isim, e-posta, ilk parola ve ayrı izinler seçilerek personel oluşturulur. Personelin tenant/site kimliği panel oturumundan gelir; formdan başka site seçilemez. Yönetici kendi sahip olmadığı izni veremez, daha güçlü hesabı değiştiremez veya son aktif ekip yöneticisini kaldıramaz. Yetki/parola/pasifleştirme değişikliği önceki oturumları kapatır. Her personel kendi 2FA kurulumunu yapar.

Ana admin > Ekip ve roller: adlandırılmış hesaplar ve özel rolün izin kutuları kullanılır. Son aktif ana yönetici korunur. İncelemeler için `reviews.read` ve `reviews.manage`; site personel yönetimi için `team.read` ve `team.manage` gerekir. Yazma izni ilgili okuma iznini de gerektirir. İnceleme karar kuyruğuna giren bir istek, işleme alınacağı anda oturum/yetkiyi yeniden doğrular. Önceden onaylanmış finans iadelerinin kurtarma işlemi sonradan yetki iptaliyle durdurulmaz.

## Uç noktalar
Oyuncu bearer oturumu (iframe/modül istemcisi otomatik kullanır):
```text Uç nokta sözleşmesi · gösterim, JSON değildir
GET  /play/:slug/api/room-review?room=:roomId
POST /play/:slug/api/room-review?room=:roomId  {reason: frozen|stuck|audio_video|other, details?: string(0..500)}
```

İlk bildirim 201, mevcut bildirim 200 `alreadyReported`:true, bekleme süresi 429 döner.

Panel oturumu; POST/PATCH için aynı origin + `X-CSRF-Token`:
```text Uç nokta sözleşmesi · gösterim, JSON değildir
GET  /control/api/reviews veya /operator-api/reviews  (?summary=1 yalnız sayaç)
POST /control/api/reviews/:id veya /operator-api/reviews/:id {action: claim|no_issue|refund, note?: string}
GET/POST /operator-api/team
PATCH /operator-api/team/:id
```

Personel oluşturma: `{name,email,password,permissions:[...]}`; güncelleme: `{name?,password?,active?,permissions?}`.

Bunlar operatörün sunucu API anahtarıyla çağrılan para gönderme uçları değildir. Sunucu entegrasyonu değişmedi; platform cüzdan callback'leriyle işlemi operatöre iletir. SECRET/API anahtarları istemciye verilmez. Tek oturum, 2FA, IP politikası ve seamless cüzdan için ACCESS-SECURITY ve SEAMLESS-WALLET belgelerini kullan.

## Güncelleme
Dosyalı istemci kurulumunda güncel client ZIP'i yeniden dağıt; iframe istemcisi sağlayıcıdan güncellenir. Sağlayıcı ve dosyalı istemci birlikte R27 sürümünü kullanmalıdır. Kontrol kayıtları ve personel izinleri SQLite'da saklanır. Kısıtlı personel veya açık inceleme varken R26'ya geri dönme; eski sürüm bu kısıtları bilmez.
