Studiyalar və provayderlər şəbəkəsi
1) Şəbəkənin rolları və topologiyaları
Studiyalar - oyunlar (müştəri, riyaziyyat, incəsənət, səslər) yaratmaq, canlı studiyalar və ya axın aparmaq.
RGS (Remote Game Server) - API sərgilənən riyaziyyat/raundlar/jackpot hovuzları hostedir.
Aqreqatorlar/mərkəzlər - onlarla RGS/studiya, kataloq, billing, promosyon alətlərinə vahid inteqrasiya.
Operatorlar/markalar - vitrin, ödənişlər, KYC/AML, məsul oyunlar, sapport.
Sertifikatlaşdırma laboratoriyaları - RNG/riyaziyyat testləri, bazarlara uyğunluq.
1. Studio → RGS → Operator (birbaşa inteqrasiya).
2. Studio → RGS → Aqreqator → Operator (miqyaslı və vahid müqavilə).
3. Live Studio → Media Stream → Operator (aşağı gecikmə, bir çox kamera).
4. White-label RGS (aqreqator nüvəsi + studiyaların skinləri).
2) Oyun və artefaktların həyat dövrü
1. Dizayn/riyaziyyat → simulyasiya, dəyişkənlik, RTP profilləri.
2. Implementation → müştəri (WebGL/Canvas), server (raundlar, RNG), protokol.
3. QA/sertifikatlaşdırma → raund protokolları, RNG testləri, yurisdiksiyalar, məsul oyunlar.
4. Kataloqlaşdırma → metadata (janr, xətt, fiç, dəyişkənlik, dillər, qurğular).
5. Release/distribution → rollout-regionlar, A/B, limitlər.
6. Əməliyyat → telemetriya, hesablamalar, cekpotların balansı, məzmun rotasiyası.
7. Çıxarılması/yenilənməsi → deprekeyt, RTP variantının miqrasiyası, uyğunluq düzəlişləri.
yaml game_id: "studioX:fire-temple"
version: "1.3.2"
rgs: "rgs-alpha"
genres: ["slot","bonus-buy"]
volatility: "high"
rtp_profiles:
- { market: "EU", value: 96.2 }
- { market: "DE", value: 94.0 }
localization: { languages: ["en","de","tr","es"], currencies: ["EUR","USD","TRY"] }
jurisdictions: ["MGA","UKGC","RO","ES"]
devices: ["mobile","desktop"]
promos: ["freespins","tournaments","missions"]
media: { poster: "cdn://.../poster.webp", sprites: "cdn://.../assets.bin" }
3) Məlumat müqavilələri və kataloqlar
3. 1 Provayder kataloqu (minimum sahə)
yaml catalog.item.v1:
game_id: string title: string studio: string rgs: string tags: [string] # "jackpot","crash","megaways","hold&win"
volatility: low med high extreme rtp_profiles: [{market:string, value:float}]
jurisdictions: [string]
devices: [string]
release_date: date deprecates: [game_id]
3. 2 Raund hadisələri və hesablamalar
json
{
"event_id": "uuid",
"type": "round.settled.v1",
"occurred_at_utc": "2025-10-31T12:01:02Z",
"operator_id": "op-42",
"brand_id": "brand-1",
"rgs": "rgs-alpha",
"game_id": "studioX:fire-temple",
"round_id": "r-789",
"user_pseudo_id": "u-...",
"bet": 1.00,
"win": 0.00,
"currency": "EUR",
"jackpot": {"contrib": 0.01, "payout": 0.00},
"signature": "ed25519:..."
}
3. 3 Wallet/Session API (sahə ideyaları)
`authorizeBet(round_id, amount)` / `commitRound(round_id, delta)` / `rollbackRound(round_id)`
'createSession (user_id, game_id, region, currency)' → token, limitlər, RTP profili.
İdempotentlik: 'Idempotency-Key = round_id + step'.
4) İnteqrasiya nümunələri
iFrame/Remote UI - sürətli go-live, RGS müştəri idarə; sandbox/siyasətçilər diqqət.
Native Embed/SDK - daha dərin UX nəzarəti, oflayn cache, daha ciddi uyğunluq.
Wallet API - atomik debet/kredit, ikiqat naqildən qorunma, seyf vəziyyəti.
Session API - RG (limitlər, reality check), geo/yaş geytləri, deaktivasiya.
Eventing/Webhooks — `round. started/settled ', promosyon tədbirləri, cekpotlar, turnirlər.
Promotions API - missiyalar, rəqabət cədvəlləri, frispinler, bonus-bai (limitlər və uyğunluq).
Live Casino/Streaming - WebRTC/HLS/DASH, bahis sinxronizasiyası, multikamera düzülüşləri.
python def commit_round(req):
if seen(req.round_id): return 200 # идемпотентно lock(req.user_id)
try:
wallet.apply(req.delta) # атомарно mark_seen(req.round_id)
finally: unlock(req.user_id)
5) Promosyon alətləri və metageym
Jackpotlar: yerli/şəbəkə, fiks/proqressiv, səviyyələr (mini/midi/mega), bazarda hovuzların izolyasiyası.
Turnirlər/missiyalar: oyun hadisələri → xal → liderlər cədvəlləri, anti-sui-istifadə, mükafat fondları.
Frispins/bonus kodları: büdcə, son tarix, oyun/studiya, atributlar.
Feature flags: 'bonus-buy' daxil, RTP profil bazarda avtorotasiya.
yaml promo.id: "tournament-2025w44"
games: ["studioX:","studioY:volcano-"]
budget: "€50k"
prizes: [{rank:1, amount:"€10k"}, {rank:2, amount:"€5k"}]
fairness: { anti_bot: true, per_user_cap: 1000 }
jurisdictions: ["EU","TR"]
6) Complayens, RTP və sertifikatlaşdırma
RNG/riyaziyyat: müstəqil yoxlama, test protokolları, nəzarət seed/entropy.
Bazarlarda RTP variantları: profilləri və onların tətbiq pəncərələrini qeyd edin, məcburi nümunə hesabatları.
Məsuliyyətli oyun: depozit limitləri/dərəcələri/vaxt, reality check, özünü istisna, yaş geytləri.
Yurisdiksiyalar/lisenziyalar: assetlərin/serverlərin geo-pinninqi, icazə verilən mexaniklər (məsələn, ölkələr üzrə «autoplay» qadağası).
Hesabat: raund cədvəlləri, anomaliyalar (dispersiya vs gözlənilən), log auditi.
rego package rtp.policy deny["RTP profile mismatch"] {
input.market == "DE"
input.game.rtp_profile.value > 94.0
}
7) Müşahidə və SLO məzmun
SLI: `game_start_success`, `round_settle_success`, `p95 game_load`, `client_error_rate`, `round_latency`.
SLO: per-oyun, per-provayder, per-bazar; canlı oyunlar üçün ayrı pəncərələr (daha çox gizli).
Telemetri: keçici 'trace _ id', raundlar (PD olmadan), axın metrikası (bitreyt, buferləşdirmə).
«Yavaş uğur» - ayrı bir metrika: uzun yükləmələr → ARPU düşməsi.
Kataloq dashbordları: Title, share-of-wallet, oyunçuların «yorğunluğu», mövsümilik.
yaml gate: content-release checks:
- p95_game_load < 2500ms
- round_settle_success >= 99.95% (24h)
- client_error_rate < 0.5%
on_fail: block
8) Hesablamalar və reconciliation
Hesablaşma modeli: Gross vs Net, vergilər, platforma haqları, cekpot fondları.
Gəlir atributları: per-raund, per-oyun, per-studiya, per-bazar.
Reyestrlər: dəyişməz log 'round. settled ', imzalar, hash batchey (WORM/immutability).
Müqayisə: provayder və operatorun ikitərəfli hesabatları, 'round _ id' dedupu, ε - buraxılış.
Chargeback/düzəlişlər: pəncərələr və səbəblər (frod, şəbəkə uğursuzluqları, ləğv edilmiş raundlar).
sql
SELECT a.round_id
FROM provider_rounds a
LEFT JOIN operator_rounds b ON a.round_id = b.round_id
WHERE a.ts BETWEEN:from AND:to AND b.round_id IS NULL;
9) Çatdırılma performansı
assets üçün CDN: versiyası, prefetch, sprite qablaşdırma, kompres, WebP/AVIF.
Mobil render: adaptiv doku/shaders, FPS zəmanət.
Crash Title/Live oyunlar: WebSocket/WebRTC, prioritet trafik, edge-düyünlər, jitter-buferlər.
Failover: alternativ CDN/media, şərəf ilə deqradasiya (aşağı keyfiyyətli → turniri fasilə).
10) Təhlükəsizlik və dürüstlük
Artefaktların və manifestlərin imzası (supply-chain, SLSA/SBOM), müştərinin bütövlüyünə nəzarət.
Anti-tamper: müştəri soyunma, mühit yoxlama (root/jailbreak, emulyatorlar).
Anti-bot və koluziya: device/davranış əlamətləri, şübhəli nümunələrə məhdudiyyətlər.
Secrets: KMS, dar cups ilə qısa ömürlü tokenlər, jackpot açarlarının qorunması.
Gizlilik: 'user _ pseudo _ id' təxəllüsü, PD-nin roundlarda qadağan edilməsi, TTL.
11) Portfelin idarə edilməsi: vitrinlər və tövsiyələr
Rotasiyalar/pinlər: təzə buraxılışlar, yerli dad, mövsümi mövzular.
Tövsiyəçilər: hibrid (üst × fərdi), studiyaların soyuq başlanğıcının mühafizəsi.
A/B testləri: tayl-setin mövqeyi, afişanın ölçüsü, bannerlərin «səs-küy səviyyəsi».
Məzmun keyfiyyəti: saxlama, «uzun quyruq» və şikayətlər üzrə reytinq.
python score = 0.4retention_w4 + 0.3net_rev_per_1000 + 0.2quality_reviews - 0.1error_rate
12) Playbook və təlimlər
12. 1 «Provayderin uğursuzluğu»
1. Problemli səslər üçün avtomatik trafik çıxarılması →
2. Vitrinə mesaj/dəstək →
3. Alternativlərin/klonların daxil edilməsi →
4. Post-insident: SLA krediti, versiyaların yenilənməsi.
12. 2 «RTP profilinin dəyişdirilməsi»
1. Bayraq bazara tətbiq →
2. Elan və miqrasiya pəncərəsi →
3. Hesabat və şikayətlərə nəzarət →
4. Oyun pasportlarını yeniləyin.
12. 3 «Raundların fərqi»
1. Freze settlements üçün diapazon →
2. Outbox provayderindən Re-drive →
3. Diff/patch, ümumi akt, ərimə.
13) Yetkinlik Network Metrics
Coverage: aktiv X ≥ ilə bazarların/janrların payı.
Freshness: Top N siyahılarında buraxılışdan mediana günləri.
Reliability: SLO pass-rate provayderləri (ay/rüb).
Fair-share: bərabər keyfiyyətdə studiyalar üzrə dövriyyə dispersiyası.
Promo-lift: Promo kampaniyaları üçün ARPU/retention ∆.
Recon-health: uyğunsuzluqların bağlanma sürəti, ε qalığı.
14) Anti-nümunələr
«Bütün bazarlar üçün vahid RTP/bir riyaziyyat» → tənzimləyici risklər.
PD → məxfiliyin pozulması ilə raundların qeydləri.
Qaynar yolda sinxron «uzun» RGS çağırışları → zamanın kaskadı.
İdempotentliyin olmaması - ikiqat silinmə.
Heç bir WORM-reyestr raundları - mübahisələr və bloklama ödənişlər.
Sərt satıcı-lokin aqreqatoru - exit planı və second-source yoxdur.
Kanaryalar və rollback olmadan «nəhəng buraxılış paketi».
15) Memarın yoxlama siyahısı
1. Hər oyun üçün pasport var (versiya, RTP profilləri, yurisdiksiyalar, cihazlar)?
2. Kataloq və hadisələr standartlaşdırılır, versiyalar və uyğunluq pəncərələri sabitdir?
3. Wallet/Session/API idempotent; rollback raundları və təhlükəsiz dövlət var?
4. Promosyonlar (cekpotlar/turnirlər/frispins) inteqrasiya və məhdudlaşdırılır?
5. SLI/SLO per-provayder/oyun/bazar özelleştirilmiş; xarici sintetik var?
6. Hesablamalar: round-by-round, WORM-log, imzalar, reconciliation ilə ε-buraxılış?
7. Təhlükəsizlik: obyekt imzası, anti-tamper, anti-bot, KMS/açar rotasiyası?
8. Komplayens: RTP variantları, mexaniki qadağalar, RG-fich, geo-pinning aktivləri?
9. Performans: CDN/edge, WebSocket/WebRTC, axın fallback?
10. Playbook: provayderin pozulması, RTP dəyişikliyi, turların uyğunsuzluğu - yoxlanıldı və məşq edildi?
11. Exit planı: alternativ aqreqatorlar/RGS, kataloq miqrasiyası, «quru çıxış»?
Nəticə
Studiyaların və provayderlərin şəbəkəsi yalnız inteqrasiyaların siyahısı deyil, protokolların, kataloqların və öhdəliklərin məcmusudur. Hadisələr və API standartları, hər oyunun pasportu, şəffaf hesablamalar, SLO/komplayens, güclü çatdırılma və təhlükəsizlik olduqda, məzmun proqnozlaşdırıla bilər: buraxılışlar tez çıxır, oyunçular sabit keyfiyyət əldə edirlər və ekosistem tənzimləyici və əməliyyat sürprizləri olmadan davamlı böyüməkdir.