Ýaryşlaryň we missiýalaryň moduly: wakalar, reýtingler, baýraklar
1) Işewürlik maksatlary we işjeňligiň görnüşleri
Maksatlar: saklamagyň ösüşi (D1/D7), ARPPU, sessiýalaryň çuňlugyny ýokarlandyrmak, täze oýunlary we bazarlary öňe sürmek.
Formatlar:- Ýaryşlar: ballaryň/ýeňişleriň/multiplikatorlaryň jemi boýunça, sprintlar (30-60 minut), gündizki, möwsümleýin.
- Missiýalar/gözlegler: wezipeleriň yzygiderliligi (N spin oýnaň, X ýeňiň, Y üpjün edijini synap görüň), tapgyrlar boýunça ösüş we baýraklar bilen.
- Liderbordlar: global, bazarlar/oýunlar/nyrhlar boýunça, hususy (dostlar/VIP).
- Jekpotlar/studiýalaryň reýtingleri: "hepdäniň iň ýokary üpjün edijileri", "köpeldijini awlamak".
KPI: işjeň tomaşaçylaryň 12-25% ≥ gatnaşmagy, mahabatdan gelýän girdejiniň paýy 10-20%, şikaýatlar <0. Gatnaşyjylaryň 5% -i, berlen baýrak gaznasy ≤ meýilnama.
2) Arhitektura we maglumat akymlary
Komponentler
1. Wakalar Gateway → game-gateway/üpjün edijilerden oýun wakalaryny (spin, bet, win, round_end) kabul etmek.
2. Rules Engine → ýaryşlaryň/missiýalaryň düzgünlerine gabat gelýär, bal (idempotent) hasaplaýar.
3. Leaderboard Service → äýnekleri jemleýär, toplary/bölekleri saklaýar, sortlamagy we taý-arakesmeleri goldaýar.
4. Progress Service (missiýalar) → wezipeleriň/tapgyrlaryň ýagdaýy, aralyk baýraklaryň berilmegi.
5. Rewards Service → hasaplaşyk we ygtybarly töleg (gapjyk arkaly: cash/bonus/fs/points).
6. Admin/Studio UI → döretmek, meýilleşdirmek, ykdysadyýeti, simulýasiýalary öňe sürmek.
7. Realtime/WS → Liderbordyň täzelenmelerini, ösüşi, habarnamalary çap etmek.
8. Anti-Abuse → çäklendirmeler, töwekgelçilik signallary, antifrod/bot dolandyryjy bilen integrasiýa.
9. Storage/Cache → KV/Redis gyzgyn toplar üçin, OLTP faktlar üçin, DWH analitikler üçin.
Akym (e2e)
`game_event → gateway → rules_match → points → leaderboard_update → (progress_update) → notify → rewards_at_close → wallet_postings`
3) Waka modeli (iň az meýdan)
json
{
"event_id": "e_9f2",  "ts": "2025-10-23T17:41:26Z",  "user_id": "u_123",  "market": "DE",  "brand": "X",  "game": {"id":"g_77", "provider":"PragmaticPlay", "type":"slot"},  "bet": {"amount_minor": 100, "currency":"EUR"},  "win": {"amount_minor": 250, "multiplier":2. 5},  "round": {"id":"r_abc","status":"ended"},  "device": {"platform":"mobile","asn":"mno"},  "trace_id": "t_…"
}Ulag - Kafka/HTTP, idempotent gaýtadan işlemek (dedupe 'event _ id'), üpjün edijiniň/oýun şlýuzynyň (HMAC) goly.
4) Ýaryşlaryň düzgünleri we wezipeleriň dizaýneri
Deklaratiw shema (YAML mysaly):yaml id: t_october_sprint window: {start: 2025-10-25T18:00Z, end: 2025-10-25T19:00Z, tz: Europe/Kyiv}
scope:
markets: [DE, SE]
providers: [PragmaticPlay, Hacksaw]
scoring:
formula: "points = min(win. amount/bet. amount, 50) 100" # köpeldiji boýunça min_bet_minor: 50 eligible_games: ["g _"]
leaderboard:
type: "best_n_rounds" # iň gowy N tapgyrlaryny jemleýäris n: 20 tiebreaker: ["highest _ single _ multiplier"", earliest _ finish _ ts"]
rewards:
pool: {currency: EUR, total_minor: 1000000}
distribution: "ladder" # basgançak, top 100 anti_abuse:
min_round_duration_ms: 800 max_rps_per_user: 0. 5 exclude_asn_categories: ["hosting", "proxy"]yaml mission_id: m_halloween steps:
- id: s1 goal: {type: "spin_count", game_type: "slot", count: 50}
reward: {type: "freespins", value: 10, game: "g_66"}
- id: s2 goal: {type: "win_multiplier", min: 10}
reward: {type:"bonus", amount_minor: 500}
completion_reward: {type: "points", amount: 1000}5) Hasaplamagyň reýtingleri we algoritmleri
Esasy modeller
Ballaryň jemi: çyzykly/logarifmiki/her tapgyra kapa bilen.
Iň oňat N tapgyrlary: "pay-to-grind" peseldýär, "sprint" dinamikasyny saklaýar.
Iň ýokary köpeldiji (xWin): walýutalary we nyrhlary kadalaşdyrýar.
MMR/reýting ulgamy: PvP/dostlukly bäsdeşlik tablisalary üçin meňzeş ELO.
Tai arakesmeleri
1. 'highest _ single _ multiplier' → 2) 'fewest _ rounds' → 3) 'earliest _ finish _ ts' → 4) 'user _ id' leksikografiki taýdan (düzgünlerde kesgitlenendir).
Öndürijilik
Redis Sorted Set 'ZADD key score member' -de top-K (mysal üçin 10k) saklaň.
"Iň oňat N tapgyrlar" üçin: ulanyjy üçin iň soňky N iň gowy min-heap we mukdary saklaň, "uçuş wagtynda" täzeleniň.
Wagtal-wagtal snapshot (her 30-60 s) ALTP/obýekt.
6) Sylaglar we tölegler
Baýraklaryň görnüşleri: cash/bonus/free spins/points/predmetler/biletler.
Düzgünler:- Diňe gutarandan soň bermek (şikaýat penjiresi 5-10 minut).
- Ähli tölegler - Rewards Service → Wallet (ledger): double-entry, idempotentlik 'reward _ id' arkaly.
- Missiýalaryň aralyk tapgyrlary üçin - "ýumşak" baýraklaryň berilmegi (FS/points), nagt pul - zynjyr tamamlanandan soň.
- KUS/jogapkär oýun: hasap petiklenende - barlaga çenli baýragy saklamak/doňdurmak.
- Fixed ladder: öňünden kesgitlenen basgançaklar (1-nji ýer 30%, 2-nji 20%,...).
- Proportional: basseýniň äýnek boýunça paýy, ýöne ýerden-ýere.
- Ticket-based: missiýalar "biletleri", bilet çyzgysyny (aç-açan RNG) berýär.
7) Hyýanatçylyga garşy, dogruçyllyk we laýyklyk
Eligibility süzgüçleri: min stawka/tapgyryň dowamlylygy, konweýerdäki "0-bet", gaýtalanýan "mikro-stawkalar" -dan başga.
Bot signallary: headless-UA, anomal ýygylyk, anomal durnukly RPS, proxy-ASN → gizlin kynçylyklar/aýna doňdurma.
Dedup/idempotentlik: 'event _ id' boýunça wakalar, 'score _ id' boýunça hasaplamalar.
Audit trail: Liderbordyň suratlary, seed RNG (ticket-oýnamak üçin), düzgünleriň görnüşi, heş hasaplamalar.
Hukuk: bazarlar boýunça düzgünler/çäklendirmeler, ýaş, öz-özüni aýyrmak.
8) Ýaryşlaryň ykdysadyýeti
Budget guardrails: howuzyň ýokarky serhedi + dinamiki "safety valve" (aşa gyzanda aralyk bonuslaryň azalmagy).
Elastiklik: baýraklaryň marjany saklamak üçin nagt puluň ýerine points/FS-e göçürilmegi.
Öwezini dolmak koeffisiýentleri: ýaryş oýunlarynyň segmentinden baýrak gaznasy/girdejiler; maksat 8-15%.
Dolandyryşdaky simulýator: taryhy wakalaryň geçmegi → tölegleriň/gatnaşmagyň çaklamasy.
9) API-şertnamalar (ýönekeýleşdirilen)
Işjeň ýaryşlary/missiýalary al
http
GET /v1/contests? market=DE&brand=X
→ 200 [{"id":"t_october_sprint","start":"…","end":"…","type":"xwin","status":"live"}]Oýun wakasy (ingest)
http
POST /v1/events
{"event_id":"e_9f2", "...": "..."}
→ 202 {"accepted":true}Liderbord (Top-K we ulanyjynyň pozisiýasy)
http
GET /v1/leaderboards/t_october_sprint? top=100&me=u_123
→ 200 {"top":[{"pos":1,"user":"u_9","score":18400},...],    "me":{"pos":342,"score":5600,"delta":+200}}Missiýanyň ösüşi we sylag
http
GET /v1/missions/m_halloween/progress? user=u_123
→ 200 {"steps":[{"id":"s1","done":true},{"id":"s2","done":false}],"reward_ready":true}
POST /v1/rewards/claim
{"context":"mission","id":"m_halloween","step":"s1"}
→ 201 {"status":"granted","reward_id":"rw_77"}10) Ammar we masştab
Gyzgyn ýol: Toplar we ösüş üçin Redis (Sorted Sets/Hash); "contest _ id" boýunça "şowhunly" açarlar üçin TTL.
Hakykat: OLTP (Postgres/MySQL) - äýnek/ösüş/töleg faktlary (WORM-suratlar).
Nobatlar: Kafka - wakalaryň akymy; Sebitler/markalar boýunça ulanyjy toparlary.
Keshler: gysga TTL 1-5 s; jemgyýetçilik toplary üçin stale-while-revalidate (CDN arkaly).
WebSocket: realtime, batch-poçta we rate-limit habarlary üçin aýratyn klaster/howuz.
11) Gözegçilik etmek we hil gözegçiligi
SLI/SLO:- `leaderboard_update_latency_p95 ≤ 250мс`
- `events_ingest_success ≥ 99. 9%`
- `rewards_grant_success ≥ 99. 9%`
- `ws_push_rtt_p95 ≤ 120мс`
- adalatsyzlyk baradaky şikaýatlar <0. Gatnaşyjylaryň 5% -i.
- rate wakalar/gatnaşyjylar, özboluşly oýunçylar, stawka/oýunlar boýunça paýlanyş, orta köpeldiji; 'grant _ errors', 'dedupe _ hits'.
- Söwda: ingest → rules → score → LB update → reward; tags 'contest _ id', 'rule _ id'.
- Logy: JSON c 'trace _ id', PII gadaganlygy; Audit üçin WORM.
12) Wakalar we runbook 'i (gysgaça)
A. Liderbordyň yza galmagy (lag> 2s)
Hereketler: Kafka sarp edijilerini köpeltmek, partiýa "gyzgyn açary" (repartition) azaltmak, batching update-i açmak.
Wagtlaýyn: realtime-animasiýalary doňduryň, "~ 1-2s gijä galmagy" görkeziň.
B. Sylaglary bermegiň ýalňyşlyklary
Hereketler: täze 'grant' -y duruzmak, snapshot bilen barlamak, 'grant' -y idempotent bilen ýeňmek; lobbide status-täzelenme.
C. Öpüşmek (proxy ASN)
Hereketler: eligibility güýçlendirmek, görünmeýän kynçylygy açmak, şübheli sessiýalarda ballary wagtlaýyn göz öňünde tutmazlyk, post-tassyklama.
13) UX we lokalizasiýa
Hakyky wagt: "live" görkezijisi, äýnek deltalary, pozisiýa we indiki ýere çenli aralyk.
Aç-açan düzgünler: formula/tai-breýklere/çäklendirmelere girmek.
Bellikler: "5 minut galdy", "sen ilkinji 50-lige girýärsiň", "baýrak elýeterlidir".
Lokalizasiýa/hukuk tekstleri: bazarlar boýunça, wagt zolaklary (Europeewropa/Kyiv we gatnaşyjylaryň lokallary).
14) Howpsuzlyk we gizlinlik
Köpçülikleýin toplarda oýunçylaryň lakamlary; PII-ni gizlemek.
Webhuk/wakalaryň gollary, mTLS; edge.
Rate-limit API, keş-bastingden gorag, gözegçilik 'idempotency _ key'.
GDPR: wakalaryň saklanyş möhletleri, auditi bozmazdan aýyrmak (anonimleşdirmek) hukugy.
15) Synag we simulýasiýa
Düzgünleri we ykdysadyýeti tassyklamak üçin taryhy wakalaryň sözleri.
Ýüklemek: bursts 30-120 s başlamazdan ozal; soak 2-4 sagat.
Property-based: invariantlar ("berlen baýraklaryň mukdary ≤ býudjet", "taý-breýk kesgitlendi").
A/B: dürli äýnek formulalary, basgançaklaryň çuňlugy, missiýalaryň formaty.
16) Önümçilik taýýarlygynyň çek-sanawy
- Deklaratiw düzgünler (wersiýalar, gollar), ykdysadyýetiň simulýatory.
- Idempotentlik: 'event _ id', 'score _ id', 'reward _ id'; Inbox/Outbox.
- Taý-arakesmeler düzgünlerde kesgitlenýär, sortlamagyň determinizmi.
- Liderbordlar: Redis-de top-K + snapshotlar; anti-tupan (jitter, coalescing).
- Anti-abuse: eligibility, botlar/ASN, velocity-çäkleri.
- Double-entry arkaly Rewards → Wallet; Nagt puldan öň KYC-çek.
- Syn edilişi: SLI/SLO, daşbordlar, aladalar; WORM-audit.
- DR/Failover: multi-AZ, bekaplar/restore, "freeze & finalize" ssenarisi.
- Lokalizasiýa, ygtyýarnamalar, jemgyýetçilik düzgünleri we consent.
- Runbook 'we lag/grant ýalňyşlyklary/botlar, aragatnaşyk şablonlary.
Jemleme
Ýaryşlaryň we missiýalaryň üstünlikli moduly - bu waka tekeri + kesgitlenen düzgünler + çalt liderbordlar + howpsuz tölegler. Gaty taý arakesmeleri, anti-hyýanatçylyk, ykdysady simulýator we SLO-nyň syn edilişini goşuň, ähli amallary idempotent we audit geçiriň - we oýunçylar, düzgünleşdirijiler we goldaw topary bilen jedelsiz gatnaşygy we girdejini ösdürýän gural alarsyňyz.
