Turnuva ve Görev Modülü: Etkinlikler, Derecelendirmeler, Ödüller
1) İş hedefleri ve faaliyet türleri
Hedefler: Büyümeyi (D1/D7), ARPPU'yu tutun, oturum derinliğini artırın, yeni oyunları ve pazarları teşvik edin.
Formatlar:- Turnuvalar: Puan/galibiyet/çarpan sayısına göre, sprintler (30-60 dakika), gündüz, mevsimsel.
- Görevler/görevler: görev dizileri (N dönüşleri oyna, X kazan, Y sağlayıcısını dene), ilerleme ve aşama ödülleri.
- Liderlik tabloları: global, piyasalara/oyunlara/bahislere göre, özel (arkadaşlar/VIP).
- Jackpotlar/stüdyo derecelendirmeleri: "Haftanın en iyi sağlayıcıları",'bir çarpan için avla ".
KPI: Aktif kitlenin %12-25 ≥ katılımı, %10-20 promosyon gelirinden pay, şikayetler <0. Katılımcıların %5'i, ödül havuzu ≤ planı yayınladı.
2) Mimari ve veri akışları
Bileşenler
1. Events Gateway - Oyun ağ geçidi/sağlayıcılarından oyun etkinliklerinin (spin, bahis, kazan, round_end) alınması.
2. Rules Engine: Turnuvaların/görevlerin kurallarındaki olayları, ödül puanlarını (idempotent) eşleştirir.
3. Leaderboard Service - puanları toplar, üstleri/dilimleri depolar, sıralama ve tie-breakleri destekler.
4. İlerleme Hizmeti (görevler) - görevlerin/aşamaların durumu, ara ödüllerin verilmesi.
5. Ödül Hizmeti - uzlaşma ve güvenli ödeme (cüzdan yoluyla: nakit/bonus/fs/puan).
6. Admin/Studio UI - oluşturma, planlama, ekonomi önizlemesi, simülasyonlar.
7. Realtime/WS - Liderlik kurulu güncellemelerinin, ilerlemenin, bildirimlerin yayınlanması.
8. Anti-Abuse - limitler, risk sinyalleri, anti-dolandırıcılık/bot yöneticisi ile entegrasyon.
9. Depolama/Önbellek - Sıcak üstler için KV/Redis, gerçekler için OLTP, analitik için DWH.
Akış (e2e)
'game _ event> gateway -- rules_match -- puan -- leaderboard_update (progress_update) -- bildir -- rewards_at_close wallet_postings'
3) Olay modeli (minimum alanlar)
Json
{
" :"  "" ts ":"  "" : "" pazar ":" DE "," marka ":" X "," oyun ": {'id": "g _ 77", "sağlayıcı": "PragmaticPlay", "tür": "slot"}, "bahis": {"miktar _ minör": 100, "para birimi": "EUR"}, "win": {"amount _ minor": 250, "multiplier": 2. 5}, "round": {'id ":'r _ abc", "status": "ended"}, "device": {"platform": "mobile", "asn": "mno"}, trace_id": "t_.."
}Taşıma - Kafka/HTTP, idempotent işleme ('event _ id'ile tekilleştirme), sağlayıcı/oyun ağ geçidi imzası (HMAC).
4) Turnuva kuralları ve görev tasarımcısı
Bildirimsel şema (YAML örneği):yaml id: t_october_sprint penceresi: {start: 2025-10-25T18:00Z, end: 2025-10-25T19:00Z, tz: Europe/Kyiv}
kapsam:
Marketler: [DE, SE]
Sağlayıcılar: [PragmaticPlay, Hacksaw]
puanlama:
formül: "puan = min (kazan. miktar/bahis. Miktar, 50) 100" # çarpı min_bet_minor: 50 eligible_games: ["g _"]
Liderlik tablosu:
type: "best_n_rounds" # en iyi N turlarını özetlemek n: 20 tiebreaker: ['en yüksek _ tek _ çarpan ",'en erken _ bitiş _ ts"]
Ödüller:
Havuz: {para birimi: EUR, total_minor: 1000000}
dağıtım: "merdiven" # merdiven, ilk 100 anti_abuse:
min_round_duration_ms: 800 max_rps_per_user: 0. 5 exclude_asn_categories: ["hosting", "proxy"]yaml mission_id: m_halloween adım:
- id: s1 goal: {type: "spin_count," game_type: "slot", count: 50}
ödül: {tür: "freespins", değer: 10, oyun: "g_66"}
- id: s2 goal: {type: "win_multiplier," min: 10}
ödül: {tür: "bonus", amount_minor: 500}
completion_reward: {tür: "noktalar", miktar: 1000}5) Derecelendirme ve hesaplama algoritmaları
Ana modeller
Toplam puan: doğrusal/logaritmik/tur başına bir kapakla.
En iyi N turları: pay-to-grind'i düşürür, sprint momentumunu korur.
Maksimum çarpan (xWin): Para birimlerini ve oranları normalleştirir.
MMR/derecelendirme sistemi: PvP/dostu rekabet tabloları için ELO benzeri.
Tie-breaks
1. 'highest _ single _ multiplier' - 2) 'few _ rounds' - 3) 'earliest _ finish _ ts' - 4) 'user _ id' sözlükbilimsel olarak (kurallarda sabittir).
Performans
En üstteki K'yi (örneğin 10k) Redis Sorted Set 'ZADD key score member' içinde saklayın.
"En iyi N turları" için: kullanıcı ve miktar başına en son en iyi N'nin min-yığını tutun, anında güncelleyin.
OLTP/nesnede periyodik olarak anlık görüntü (her 30-60 saniyede bir).
6) Ödüller ve ödemeler
Ödül türleri: nakit/bonus/bedava dönüşler/puanlar/eşyalar/biletler.
Kurallar:- Sadece kesinleştikten sonra sorun (itiraz penceresi 5-10 dakika).
- Tüm ödemeler Rewards Service - Wallet (defter) üzerinden yapılır: çift giriş, 'reward _ id'ile idempotence.
- Görevlerin ara aşamaları için - "yumuşak" ödüllerin verilmesi (FS/puan), nakit - zincirin sonunda.
- CCM/sorumlu oyun: Bir hesabı engellerken, doğrulanana kadar ödülü tutun/dondurun.
- Sabit merdiven: önceden tanımlanmış adımlar (1. sıra %30, 2. sıra %20,...).
- Orantılı: Havuzun noktalardaki payı, ancak yerinde bir kapak ile.
- Bilet tabanlı: Görevler, biletlere (şeffaf RNG) çizim yaparak "bilet" verir.
7) Kötüye kullanım, dürüstlük ve uyum
Uygunluk filtreleri: min bahis/tur süresi, "0 bahis'in hariç tutulması, tekrarlanan yeniden çatlaklar, boru hattında" mikro bahisler ".
Bot sinyalleri: başsız-UA, anormal frekans, anormal kararlı RPS, proxy ASN - gizli zorluklar/dondurma gözlükleri.
Dedup/idempotency: 'event _ id'ile olaylar,' score _ id'ile tahakkuklar.
Denetim izi: leaderboard çekimleri, tohum RNG (bilet çekilişi için), kural sürümü, hesaplama karması.
Yasal: pazarlar, yaş, kendini dışlama ile ilgili kurallar/kısıtlamalar.
8) Turnuva ekonomisi
Bütçe korkulukları: havuzun üst sınırı + dinamik "emniyet vanası" (aşırı ısınırken ara bonusların azaltılması).
Esneklik: Ödülleri marj tutmak için nakit yerine puan/FS'ye kaydırmak.
Geri ödeme oranları: turnuva oyunları segmentinden ödül havuzu/makbuzlar; Hedef %8-15.
Yönetici panelinde simülatör: tarihsel olayların çalıştırılması - ödemelerin/katılımın tahmini.
9) API sözleşmeleri (basitleştirilmiş)
Aktif turnuvalar/görevler alın
http
GET/v1/yarışmaları? Market = DE & marka = X
^ 200 [{'id ":'t _ october _ sprint", "start": "...," end ":"..., "type": "xwin", "status": "live"}]Oyun Etkinliği (yutmak)
http
POST/v1/olaylar
{"event _ id":'e _ 9f2 ","... ":"... "}
^ 202 {'kabul edildi ": true}Leadboard (üst K ve kullanıcı konumu)
http
GET/ v1/leaderboards/t_october_sprint? üst = 100 & me = u _ 123
^ 200 {"top": [{"pos": 1, "user":'u _ 9 "," score ": 18400},...],'ben": {"pos": 342, "score": 5600, "delta": + 200}}Misyon ilerleme ve ödül
http
GET/ v1/missions/m_halloween/progress? kullanıcı = u _ 123
^ 200 {"steps": [{'id ":" s1 "," done ": true}, {'id": "s2", "done": false}], "reward _ ready": true}
POST/v1/ödüller/talep
{"bağlam": "görev",'id ":'m _ halloween", "adım": "s1"}
^ 201 {"durum ": "verilen ", "ödül _ id":" rw _ 77"}10) Depolama ve ölçekleme
Sıcak yol: Üstler ve ilerleme için Redis (Sıralanmış Kümeler/Hash); 'Contest _ id'tarafından sharding "gürültülü" tuşlar için TTL.
Doğru: OLTP (Postgres/MySQL) - puan/ilerleme/ödeme gerçekleri (WORM anlık görüntüleri).
Kuyruklar: Kafka - olay akışı; Bölgeye/markaya göre tüketici grupları.
Önbellekler: kısa TTL 1-5 s; Kamu üstleri için bayat-while-revalidate (CDN aracılığıyla).
WebSocket: Gerçek zamanlı, toplu posta ve hız sınırı mesajları için ayrı bir küme/havuz.
11) Gözlemlenebilirlik ve kalite kontrolü
SLI/SLO:- 'leaderboard _ update _ latency _ p95 ≤ 250мс'
- 'events _ ingest _ success ≥ 99. 9%`
- 'rewards _ grant _ success ≥ 99. 9%`
- 'aws _ push _ rtt _ p95 ≤ 120мс'
- Adaletsizlik şikayetleri <0. Katılımcıların %5'i.
- Etkinlik/katılımcı oranı, benzersiz oyuncular, bahis/oyunlara göre dağılım, ortalama çarpan; 'grant _ errors', 'dedupe _ hits'.
- Trails: Ingest - rules - score - LB güncellemesi - ödül; 'contest _ id', 'rule _ id' etiketleri.
- Günlükler: 'Trace _ id'ile JSON, PII yasağı; Denetim için WORM.
12) Olaylar ve runbook've (kısaltılmış)
A. Lider kurulu gecikmesi (lag> 2s)
Eylemler: Kafka tüketicilerini artırmak, "hot key" (repartition) partisini azaltmak, toplu güncellemeyi etkinleştirmek.
Geçici: Gerçek zamanlı animasyonları dondur, "~ 1-2 s gecikme" göster.
B. Ödül hataları
Eylemler: yeni 'grant'i durdurun, anlık görüntüyle kontrol edin,' grant'i idempotently olarak tekrarlayın; Lobideki durum güncellemesi.
C. Abuse spike (vekil ASN)
Eylemler: uygunluğu güçlendirmek, görünmez meydan okumayı etkinleştirmek, şüpheli oturumlara geçici olarak göz ardı etmek, doğrulama sonrası.
13) UX ve yerelleştirme
Gerçek zamanlı: "Canlı" gösterge, noktaların düzgün deltaları, bir sonraki yere konum ve mesafe.
Saydam kurallar: formül/eşitlik bozucular/kısıtlamalara erişim.
Bildirimler: "5 dakika kaldı",'ilk 50'desiniz "," ödül hazır ".
Yerelleştirme/yasal metinler: pazara göre, zaman dilimleri (Avrupa/Kiev ve katılımcıların yerelleri).
14) Güvenlik ve gizlilik
Ortak üstlerde oyuncu takma adları; Varsayılan olarak PII'yi gizle.
Webhook/etkinlik imzaları, mTLS; Kenardaki "önbellek zehirine" karşı koruma.
Rate-limit API, cache basting koruması, 'idempotency _ key' kontrolü.
GDPR: olay saklama, denetime zarar vermeden silme (anonimleştirme) hakkı.
15) Test ve simülasyonlar
Kuralların ve ekonominin geçerliliği için tarihsel olayların tekrarı.
Yük: Başlangıçtan önce 30-120 s patlar; 2-4 saat bekletin.
Mülkiyet temelli: değişmezler ("bütçe ≤ verilen ödül miktarı", "tie-break belirlendi").
A/B: farklı puanlama formülleri, merdiven derinliği, görev formatı.
16) Üretime hazırlık kontrol listesi
- Bildirimsel kurallar (sürümler, imzalar), ekonomi simülatörü.
- Idempotency: 'event _ id', 'score _ id', 'reward _ id'; Gelen Kutusu/Giden Kutusu.
- Tie-breakler, determinizmi sıralayan kurallarda sabittir.
- Liderlik tabloları: Redis + anlık görüntülerinde en iyi K; Anti-fırtına (jitter, coalescing).
- Anti-kötüye kullanım: uygunluk, botlar/ASN, hız sınırları.
- Ödüller - Çift giriş yoluyla Cüzdan; Nakit önce KYC çek.
- Gözlemlenebilirlik: SLI/SLO, panolar, uyarılar; WORM denetimi.
- DR/Failover: Çok AZ, yedeklemeler/geri yükleme, "dondur ve sonlandır" komut dosyası.
- Yerelleştirme, lisanslar, kamu kuralları ve onay.
- Runbook've lag/errors grant/burst botlar, iletişim kalıpları.
Özgeçmiş Özeti
Turnuvaların ve görevlerin başarılı modülü etkinlik otobüsü + deterministik kurallar + hızlı liderlik tabloları + güvenli ödemelerdir. Sıkı tiebreaks, kötüye kullanım karşıtı, ekonomi simülatörü ve SLO gözlemlenebilirliği ekleyin, tüm işlemleri idempotent ve denetlenebilir tutun - ve oyuncularla, düzenleyicilerle ve destek ekibiyle tartışmadan katılımı ve geliri artıran bir araç elde edersiniz.
