Мусобиқа ва модули миссия: чорабиниҳо, рейтингҳо, ҷоизаҳо
1) Ҳадафҳои корӣ ва намудҳои фаъолият
Ҳадафҳо: Афзоиши афзоиш (D1/D7), ARPPU, зиёд кардани умқи ҷаласа, мусоидат ба бозиҳои нав ва бозорҳо.
Форматҳо:- Мусобиқаҳо: аз рӯи миқдори холҳо/бурдҳо/мултипликаторҳо, спринтҳо (30-60 дақиқа), рӯзона, мавсимӣ.
- Миссияҳо/супоришҳо: пайдарпаии вазифаҳо (бозӣ N spins, ғолиб X, провайдери Y), бо пешрафт ва саҳнаҳо.
- Пешсафон: глобалӣ, аз рӯи бозорҳо/бозиҳо/гаравҳо, хусусӣ (дӯстон/VIP).
- Рейтингҳои Jackpots/студия: "провайдерҳои беҳтарини ҳафта", "шикори мултипликатори".
KPI: иштирок ≥ 12-25% шунавандагони фаъол, ҳиссаи даромад аз promo 10-20%, шикоятҳо <0. 5% иштирокчиён, фонди мукофотӣ ≤ нақшаи баровардашуда.
2) Меъморӣ ва ҷараёни маълумот
Компонентҳо
1. Чорабиниҳо Gateway → қабули чорабиниҳои бозӣ (чарх, бет, бурд, round_end) аз дарвозаи бозӣ/провайдерҳо.
2. Қоидаҳои Engine → ба чорабиниҳо аз рӯи қоидаҳои мусобиқаҳо/миссияҳо, нуқтаҳои мукофотӣ (idempotent) мувофиқат мекунанд.
3. Leaderboard Service → нуқтаҳои ҷамъшуда, бомҳо/иловаро нигоҳ медорад, навъбандӣ ва танаффусро дастгирӣ мекунад.
4. Хадамоти пешрафт (миссияҳо) → вазъи вазифаҳо/марҳилаҳо, додани мукофотҳои муваққатӣ.
5. Хадамоти мукофотпулӣ → ҳисоббаробаркунӣ ва пардохти бехатар (тавассути ҳамён: пули нақд/бонус/фс/нуқта).
6. Admin/Studio UI → эҷод, банақшагирӣ, пешнамоиши иқтисодиёт, моделсозӣ.
7. Realtime/WS → нашри навсозиҳои Шӯрои роҳбарӣ, пешрафт, огоҳиҳо.
8. Анти-сӯиистифода → маҳдудиятҳо, сигналҳои хатар, ҳамгироӣ бо менеҷери зидди қаллобӣ/бот.
9. Нигоҳдорӣ/кэш → KV/Redis барои бомҳои гарм, OLTP барои далелҳо, DWH барои таҳлил.
Ҷараён (e2e)
'game _ event → gateway → rules_match → points → leaderboard_update → (progress_update) → огоҳ кардан → rewards_at_close → wallet_postings'
3) Модели ҳодиса (майдонҳои ҳадди аққал)
json
{
"event_id":" e_9f2, "" ts ":" 2025-10-23T17:41:26Z, "" user_id": "u_123," бозор ":" DE "," бренди ":" X "," бозӣ ": {" id ":" g _ 77 "," провайдер ":" Pragmatic "" Play "," type ":" slot "}," bet ": {" sate _ minor ": 100" асъор ":" EUR "}," win ": {" minor _ minor ": 250," мултипликатори ": 2. 5}, "мудаввар": {"id ": "r _ abc ", "status":" хотима"}, "дастгоҳ": {"платформа ": "мобилӣ"," asn":" mno"}, "trace_id": "t_.."
}Нақлиёт - Кафка/HTTP, коркарди idempotent (dedupe by 'event _ id'), имзои провайдер/дарвозаи бозӣ (HMAC).
4) Қоидаҳои мусобиқа ва тарроҳони вазифа
Нақшаи декларативӣ (мисоли YAML):yaml id: t_october_sprint тиреза: {оғоз: 2025-10-25T18:00Z, охир: 2025-10-25T19:00Z, tz: Аврупо/Киев}
доираи:
бозорҳо: [DE, SE]
провайдерон: [PragmatIC Play, Hacksaw]
баҳодиҳӣ:
формула: "нуқтаҳо = мин (бурд. маблағ/бет. маблағ, 50) 100" # зарб ба min_bet_minor: 50 eligible_games: ["g _"]
пешсафи:
навъи: "best_n_rounds" # ҷамъбасти беҳтарин N давраҳои n: 20 tiebreaker: ["баландтарин _ ягона _ мултипликатори"," аввали _ finish _ ts"]
мукофотҳо:
ҳавз: {асъор: EUR, total_minor: 1000000}
тақсимот: "зинапоя" # ladder, боло 100 anti_abuse:
min_round_duration_ms: 800 max_rps_per_user: 0. 5 exclude_asn_categories: ["хостинг", "прокси"]yaml mission_id: m_halloween қадамҳо:
- id: s1 goal: {type: "spin_count," game_type: "слот", ҳисоб: 50}
мукофот: {намуди: "freespins", арзиш: 10, бозӣ: "g_66"}
- id: s2 goal: {type: "win_multiplier," min: 10}
мукофот: {намуди: "бонус", amount_minor: 500}
completion_reward: {намуди: "нуқтаҳо", маблағ: 1000}5) Алгоритмҳои рейтингӣ ва ҳисобкунӣ
Моделҳои асосӣ
Нуқтаҳои умумӣ: хатӣ/логарифмӣ/бо ҳадди ақалли як давр.
Беҳтарин даврҳои N: музди меҳнатро кам мекунад, суръати спринтро нигоҳ медорад.
Максималии мултипликатори (XWin): асъор ва қурбҳоро ба эътидол меорад.
Системаи рейтинги MMR/: монанди ELO барои ҷадвалҳои рақобати дӯстона.
Галстук-танаффус
1. 'highest _ single _ multiplier' → 2) 'minest _ rounds' → 3) 'early _ finish _ ts' → 4) 'user _ id' лексикографӣ (дар қоидаҳо собит шудааст).
Иҷро
Беҳтарин K (масалан, 10k) -ро дар Redis Sorted Set 'узви холҳои калиди ZADD' нигоҳ доред.
Барои "беҳтарин даврҳои N": миқдори навтарини N-ро барои як корбар ва миқдор, навсозиро дар парвоз нигоҳ доред.
Давра ба давра (ҳар 30-60 с) дар OLTP/объект.
6) Мукофотҳо ва пардохтҳо
Намудҳои мукофот: пули нақд/бонус/чархҳои ройгон/нуқтаҳо/ашё/чиптаҳо.
Қоидаҳо:- Масъала танҳо пас аз ба итмом расидан (равзанаи шикоят 5-10 дақиқа).
- Ҳама пардохтҳо тавассути Rewards Service → Ҳамён (дафтар): вуруди дукарата, аблаҳӣ аз ҷониби 'reward _ id'.
- Барои марҳилаҳои фосилавии миссияҳо - додани мукофотҳои "мулоим" (FS/нуқтаҳо), пули нақд - дар охири занҷир.
- CCM/бозии масъул: ҳангоми бастани ҳисоб, мукофотро то санҷиш нигоҳ доред/ях кунед.
- Нардбони собит: қадамҳои пешакӣ муайяншуда (ҷои 1-ум 30%, 2-юм 20%,...).
- Мутаносиб: ҳиссаи ҳавз дар нуқтаҳо, аммо бо ҳадди аққал дар ҷои.
- Дар асоси чипта: Миссияҳо "чиптаҳо" медиҳанд, бо чиптаҳо (RNG шаффоф).
7) Анти-сӯиистифода, ростқавлӣ ва риояи
Филтрҳои мутобиқат: давомнокии Бет/мудаввар, истисно кардани "0-бет", тарқишҳои такрорӣ, "гаравҳои хурд" дар лӯла.
Сигналҳои бот: бефосила-UA, басомади ғайримуқаррарӣ, RPS-и ғайримуқаррарӣ устувор, прокси ASN → мушкилоти пинҳоншуда/айнакҳои яхкунӣ.
Dedup/idempotency: ҳодисаҳо аз ҷониби 'event _ id', ҳисобҳо аз рӯи 'score _ id'.
Роҳи аудит: аксҳои пешсаф, тухми RNG (барои кашидани чипта), нусхаи қоида, ҳаши ҳисоб.
Ҳуқуқӣ: қоидаҳо/маҳдудиятҳо дар бозорҳо, синну сол, худдорӣ.
8) Иқтисодиёти мусобиқа
Сарпӯшҳои буҷавӣ: ҳадди болоии ҳавз + "клапани бехатарӣ" (кам кардани мукофотҳои фосилавӣ ҳангоми гармӣ).
Тағйирпазирӣ: Гузаронидани мукофотҳо ба нуқтаҳо/FS ба ҷои пули нақд барои нигоҳ доштани маржа.
Таносуби баргардонидан: фонди мукофотӣ/квитансия аз сегменти бозиҳои мусобиқа; ҳадаф 8-15%.
Симулятор дар панели администратор: ҷараёни рӯйдодҳои таърихӣ → пешгӯии пардохт/иштирок.
9) Шартномаҳои API (соддакардашуда)
Мусобиқаҳо/миссияҳои фаъол гиред
http
GET/v1/озмунҳо? бозор = DE & бренди = X
→ 200 [{"id": "t _ october _ sprint", "оғоз":... "," end ":...", "type": "xwin", "status": "live"}]Чорабинии бозӣ (ворид кардан)
http
POST/v1/чорабиниҳо
{"event _ id":" e _ 9f2", "... ":... ""}
→ 202 {"қабулшуда": ҳақиқӣ}Пешсаф (боло K ва мавқеи корбар)
http
GET/ v1/leaderboards/t_october_sprint? боло = 100 & ман = u _ 123
§ 200 {"боло ": [{"pos ": 1, "корбар ":" u _ 9"," хол": 18400},...], "ман ": {"pos ": 342, "хол": 5600," delta": + 200}}Пешрафт ва мукофоти миссия
http
GET/ v1/missions/m_halloween/progress? корбар = u _ 123
→ 200 {"қадамҳо ": [{"id ": "s1 ", "иҷро шуд ": ҳақиқӣ}, {"id ":" s2"," иҷро": дурӯғ}]," мукофот _ тайёр": ҳақиқӣ}
POST/v1/подош/даъво
{"контекст ": "миссия ", "id ":" m _ halloween"," қадам":" s1"}
→ 201 {"статус ": "додашуда ", "мукофот _ ид":" rw _ 77"}10) Нигоҳдорӣ ва миқёс
Роҳи гарм: Редис (Маҷмӯаҳои ҷудошуда/Ҳаш) барои қуллаҳо ва пешрафт; TTL барои калидҳои "ғавғо", ки аз ҷониби 'contest _ id' садо медиҳад.
Дуруст аст: OLTP (Postgres/My
Навбатҳо: Кафка - ҷараёни ҳодиса; Гурӯҳҳои истеъмолкунандагон аз рӯи минтақа/бренд.
Кэшҳо: кӯтоҳ TTL 1-5 s; кӯҳна-ҳангоми азнавсозӣ барои бомҳои ҷамъиятӣ (тавассути CDN).
Вебсокет: кластер/ҳавзи алоҳида барои вақти воқеӣ, фиристодани бастаҳо ва паёмҳои маҳдудкунанда.
11) Назорат ва назорати сифат
SLI/SLO:- 'leaderboard _ update _ latency _ p95 ≤ 250ms'
- 'events _ inest _ муваффақият ≥ 99. 9%`
- 'мукофотҳо _ грант _ муваффақият ≥ 99. 9%`
- 'ws _ push _ rtt _ p95 ≤ 120ms'
- шикоятҳо аз беадолатӣ <0. 5% иштирокчиён.
- сатҳи чорабиниҳо/иштирокчиён, бозигарони беназир, тақсимот аз рӯи Бет/бозиҳо, мултипликатори миёна; 'grant _ хатогиҳо', 'dedupe _ hits'.
- Роҳчаҳо: instest → қоидаҳо → хол → LB update мукофот; 'contest _ id', 'rule _ id' барчаспҳо.
- Гузоришҳо: JSON бо 'trace _ id', манъи PII; WORM барои аудит.
12) Ҳодисаҳо ва дафтарчаи корӣ 'ва (ихтисоршуда)
Ақибмонии Шӯрои пешво (ақибмонӣ> 2s)
Амалҳо: истеъмолкунандагони Кафкаро зиёд кунед, ҳизбро "калиди гарм" (репартитсия) кам кунед, навсозиро фаъол созед.
Муваққатӣ: аниматсияҳои вақти воқеиро ях кунед, "~ таъхири 1-2" -ро нишон диҳед.
Хатогиҳои B. Awards
Амалҳо: "грант" -и навро боздоред, бо лаҳзаи кӯтоҳ санҷед, "грант" -ро бемаънӣ такрор кунед; навсозии вазъ дар даромадгоҳ.
C. хӯшае сӯиистифода (прокси ASN)
Амалҳо: таҳкими мутобиқат, имкон додани мушкилоти ноаён, муваққатан нодида гирифтани нуқтаҳо ба ҷаласаҳои шубҳанок, пас аз санҷиш.
13) UX ва маҳаллисозӣ
Вақти воқеӣ: нишондиҳандаи "зинда", дельтҳои ҳамвор нуқтаҳо, мавқеъ ва масофа ба ҷои дигар.
Қоидаҳои шаффоф: дастрасӣ ба формула/tiebreakers/маҳдудиятҳо.
Огоҳиҳо: "5 дақиқа мондааст", "шумо дар қатори 50 беҳтарин ҳастед", "мукофот дастрас аст".
Маҳаллисозӣ/матнҳои ҳуқуқӣ: аз рӯи бозор, минтақаҳои вақт (Аврупо/Киев ва маҳалҳои иштирокчиён).
14) Амният ва махфият
Тахаллуси бозингар дар болои бомҳои ҷамъиятӣ; PII-ро бо нобаёнӣ пинҳон кунед.
Имзои webhooks/events, MTLS; муҳофизат аз "заҳри кэш" дар канор.
Меъёри лимити API, муҳофизати таҳкурсии кэш, 'idempotency _ key' назорат.
GDPR: нигоҳдории ҳодисаҳо, ҳуқуқи нест кардан (беном) бидуни вайрон кардани аудит.
15) Озмоиш ва моделсозӣ
Такрори рӯйдодҳои таърихӣ барои тасдиқи қоидаҳо ва иқтисодиёт.
Сарборӣ: 30-120 с пеш аз оғози кор; 2-4 соат тар кунад.
Ба амвол асос ёфтааст: инвариантҳо ("миқдори мукофотҳои ≤ буҷа додашуда", "танаффуси муайяншуда").
A/B: формулаҳои гуногуни баҳодиҳӣ, умқи зинапоя, формати миссия.
16) Рӯйхати санҷиши омодагии истеҳсолӣ
- Қоидаҳои декларативӣ (версияҳо, имзоҳо), тренажерҳои иқтисодӣ.
- Идентификатсия: 'event _ id', 'score _ id', 'revard _ id'; Паёмдони/Outbox.
- Танаффусҳо дар қоидаҳо муқаррар карда мешаванд, детерминизмро ҷудо мекунанд.
- Пешсафон: боло K дар Редис + лаҳзаҳо; зидди тӯфон (jitter, coalescing).
- Анти сӯиистифода: мутобиқат, ботҳо/ASN, маҳдудиятҳои суръат.
- Мукофотҳо → Ҳамён тавассути вуруди дукарата; KYC пеш аз пули нақд санҷед.
- Мушоҳида: SLI/SLO, панели панелҳо, огоҳиҳо; Аудити WORM.
- DR/Failover: multi-AZ, нусхабардорӣ/барқарорсозӣ, скрипти "ях кардан ва ба итмом расонидан".
- Маҳаллисозӣ, литсензия, қоидаҳои ҷамъиятӣ ва розигӣ.
- Дафтарчаи корӣ ва дар бораи ақибмонӣ/хатогиҳо ботҳо/буришҳо, шакли иртибот.
Хулосаи дубора
Модули бомуваффақияти мусобиқаҳо ва миссияҳо ин чорабиниҳои автобус + қоидаҳои детерминистӣ + лидерҳои зуд + пардохтҳои бехатар мебошанд. Илова кардани задухӯрдҳои қатъӣ, зидди сӯиистифода, симуляторҳои иқтисодӣ ва мушоҳидаҳои SLO, ҳама амалиётро бефоида ва аудиторӣ нигоҳ доред - ва шумо асбоберо пайдо мекунед, ки ҷалб ва даромадро бидуни баҳс бо бозингарон, танзимгарон ва дастаи дастгирӣ афзоиш медиҳад.
