टूर्नामेंट और मिशन मॉड्यूल: इवेंट, रेटिंग, अवार्ड्स
1) व्यावसायिक उद्देश्य और गतिविधि प्रकार
लक्ष्य: ग्रोथ (D1/D7), ARPPU, सत्र की गहराई बढ़ाएं, नए गेम और बाजारों को बढ़ावा दें।
प्रारूप:- टूर्नामेंट: अंक/जीत/गुणक की मात्रा से, स्प्रिंट (30-60 मिनट), दिन का समय, मौसमी।
- मिशन/quests: कार्य अनुक्रम (प्ले एन स्पिन्स, एक्स जीतें, वाई प्रदाता की कोशिश करें), प्रगति और मंच पुरस्कारों के साथ।
- लीडरबोर्ड: वैश्विक, बाजारों/खेलों/दांव, निजी (दोस्तों/वीआईपी) द्वारा।
- जैकपॉट्स/स्टूडियो रेटिंग: "सप्ताह के शीर्ष प्रदाता", "एक गुणक के लिए शिकार।"
केपीआई: सक्रिय दर्शकों की भागीदारी ≥ 12-25%, प्रोमो 10-20% से आय का हिस्सा, शिकायतें <0। 5% प्रतिभागियों, पुरस्कार पूल ≤ योजना जारी की गई।
2) वास्तुकला और डेटा प्रवाह
घटक
1. गेम-गेटवे/प्रदाताओं से गेम इवेंट्स (स्पिन, शर्त, जीत, ) का रिसेप्शन गेटवे।
2. नियम इंजन - टूर्नामेंट/मिशन, पुरस्कार अंक (पहचान) के नियमों पर घटनाओं से मेल खाता है।
3. लीडरबोर्ड सर्विस - अंक, स्टोर टॉप/स्लाइस, सॉर्टिंग और टाई-ब्रेक का समर्थन करता है।
4. प्रगति सेवा (मिशन) → कार्यों/चरणों की स्थिति, अंतरिम पुरस्कार जारी करना।
5. पुरस्कार सेवा - निपटान और सुरक्षित भुगतान (बटुए के माध्यम से: नकद/बोनस/एफएस/अंक)।
6. व्यवस्थापक/स्टूडियो यूआई - निर्माण, योजना, अर्थव्यवस्था पूर्वावलोकन, सिमुलेशन।
7. Realtime/WS → लीडरशिप बोर्ड अपडेट, प्रगति, सूचनाओं का प्रकाशन।
8. एंटी-एब्यूज - सीमा, जोखिम संकेत, एंटी-फ्रॉड/बॉट मैनेजर के साथ एकीकरण।
9. हॉट टॉप के लिए स्टोरेज/कैश → केवी/रेडिस, तथ्यों के लिए ओएलटीपी, एनालिटिक्स के लिए डीडब्ल्यूएच।
स्ट्रीम (e2e)
'गेम _ इवेंट गेटवे अंक ( ) सूचित करें
3) इवेंट मॉडल (न्यूनतम क्षेत्र)
json
{
"": "" "ts": " " ":" "": "" "बाजार": "डीई": "डीई", "ब्रांड": "एक्स", "गेम": {"आईडी": "जी _ 77", "प्रदाता": "प्रैगमैटिक प्ले": "प्रकार": "स्लॉट", ":" {"राशि _ माइमर": 100, ":" EUR "}," जीत ": {" राशि _ माइनर ": 250," गुणक ": 2। 5}, "राउंड": {"id": "r _ abc", "स्थिति": "समाप्त"} ", डिवाइस": {"प्लेटफ़ॉर्म": "मोबाइल", "asn": "mno"} "," trace_id": "t_.."
}परिवहन - काफ्का/HTTP, पहचान प्रसंस्करण ('ईवेंट _ id' द्वारा dedupe), प्रदाता/गेम गेटवे हस्ताक्षर (HMAC)।
4) टूर्नामेंट के नियम और कार्य डिजाइनर
घोषणात्मक योजना (YAML उदाहरण):yaml id: t_october_sprint विंडो: {start: 2025-10-25T18:00Z, अंत: 2025-10-25T19:00Z, tz: यूरोप/कीव}
क्षेत्र:
बाजार: [डीई, एसई]
प्रदाता: [व्यावहारिक खेल, हैकसॉ]
स्कोरिंग:
सूत्र: "अंक = मिनट (जीत)। राशि/शर्त। राशि, 50) 100" # min_bet_minor: 50 eligible_games से गुणा किया गया: ["g _"]]
लीडरबोर्ड:
प्रकार: "" # संक्षेप में सबसे अच्छा एन राउंड एन: 20 टाईब्रेकर: ["उच्चतम _ एकल _ गुणक"," जल्द से जल्द _ फिनिश _ ts"]
पुरस्कार:
पूल: {मुद्रा: EUR, total_minor: 1000000}
वितरण: "सीढ़ी" # सीढ़ी, शीर्ष 100 anti_abuse:
min_round_duration_ms: 800 max_rps_per_user: 0। 5 exclude_asn_categories: ["होस्टिंग", "प्रॉक्सी"]yaml mission_id: m_halloween कदम:
- आईडी: एस 1 लक्ष्य: {प्रकार: " ": "स्लॉट", गिनती: 50}
इनाम: {प्रकार: "फ्रीस्पिन्स", मूल्य: 10, खेल: "g_66"}
- आईडी: एस 2 लक्ष्य: {प्रकार: "win_multiplier," न्यूनतम: 10}
इनाम: {प्रकार: "बोनस", amount_minor: 500}
completion_reward: {प्रकार: "अंक", राशि: 1000}5) रेटिंग और गणना एल्गोरिदम
मुख्य मॉडल
कुल बिंदु: रैखिक/लघुगणक/प्रति राउंड एक टोपी के साथ।
बेस्ट एन राउंड: पे-टू-पीस, स्प्रिंट गति बनाए रखता है।
अधिकतम गुणक (xWin): मुद्राओं और दरों को सामान्य करता है।
एमएमआर/रेटिंग प्रणाली: पीवीपी/अनुकूल प्रतियोगिता तालिकाओं के लिए ईएलओ जैसा।
टाई-ब्रेक
1. 'Highest _ sing _ multiplier' → 2) 'सबसे कम _ rounds' → 3) 'जल्द से जल्द _ find _ ts' → 4) 'user _ id' लेक्सिकोग्राफिक (नियमों में तय)।
निष्पादन
Redis Sorted ZADD कुंजी स्कोर सदस्य 'में शीर्ष K (उदाहरण के लिए, 10k) को संग्रहीत करें।
"सर्वश्रेष्ठ एन राउंड" के लिए: प्रति उपयोगकर्ता नवीनतम सर्वश्रेष्ठ एन का मिनट-ढेर रखें और राशि, मक्खी पर अपडेट करें।
OLTP/ऑब्जेक्ट में समय-समय पर स्नैपशॉट (हर 30-60 एस)।
6) पुरस्कार और भुगतान
पुरस्कार प्रकार: नकद/बोनस/मुफ्त स्पिन/अंक/आइटम/टिकट।
नियम:- अंतिम रूप देने के बाद ही जारी करें (अपील विंडो 5-10 मिनट)।
- सभी भुगतान रिवार्ड्स सर्विस → वॉलेट (बही) के माध्यम से होते हैं: डबल-एंट्री, 'इनाम _ आईडी' द्वारा पहचान।
- मिशनों के मध्यवर्ती चरणों के लिए - श्रृंखला के अंत में "सॉफ्ट" पुरस्कार (एफएस/अंक), नकद जारी करना।
- CCM/जिम्मेदार खेल: किसी खाते को अवरुद्ध करते समय, सत्यापित होने तक पुरस्कार को पकड़ो/फ्रीज करें।
- निश्चित सीढ़ी: पूर्वनिर्धारित चरण (पहला स्थान 30%, 2nd 20%,...)।
- आनुपातिक: बिंदुओं में पूल का एक हिस्सा, लेकिन मौके पर एक टोपी के साथ।
- टिकट-आधारित: मिशन टिकट (पारदर्शी आरएनजी) पर ड्राइंग "टिकट" देते हैं।
7) दुरुपयोग, ईमानदारी और अनुपालन
पात्रता फिल्टर: न्यूनतम शर्त/गोल अवधि, "0-शर्त" का बहिष्करण, पाइपलाइन में दोहराया री-क्रैक, "माइक्रो दांव"।
बॉट सिग्नल: हेडलेस-यूए, असामान्य आवृत्ति, असामान्य रूप से स्थिर आरपीएस, प्रॉक्सी एएसएन → छिपी हुई चुनौतियां/ठंड चश्मा।
Dedup/idempotency: 'event _ id' द्वारा घटनाएँ, 'score _ id' द्वारा अर्जित।
ऑडिट ट्रेल: लीडरबोर्ड शॉट्स, सीड आरएनजी (टिकट ड्रॉ के लिए), नियम संस्करण, गणना हैश।
कानूनी: बाजारों, आयु, आत्म-बहिष्करण पर नियम/प्रतिबंध।
8) टूर्नामेंट अर्थशास्त्
बजट रेल: पूल + गतिशील "सुरक्षा वाल्व" की ऊपरी सीमा (ओवरहीटिंग करते समय मध्यवर्ती बोनस में कमी)।
लोच: मार्जिन रखने के लिए नकद के बजाय अंक/एफएस में पुरस्कार स्थानांतरित करना।
पेबैक अनुपात: टूर्नामेंट खेल खंड से पुरस्कार पूल/प्राप्तियां; लक्ष्य 8-15%।
व्यवस्थापक पैनल में सिम्युलेटर: ऐतिहासिक घटनाओं का संचालन - भुगतान/भागीदारी का पूर्वानुमान।
9) एपीआई अनुबंध (सरलीकृत)
सक्रिय टूर्नामेंट/मिशन प्राप्त करें
http
GET/v1/प्रतियोगिता? बाजार = डीई और ब्रांड = एक्स
→ 200 [{"आईडी": "टी _ अक्टूबर _ स्प्रिंट", "प्रारंभ": "...", "अंत":... "," प्रकार ":" xwin "," स्थिति ":" लाइव "}]खेल घटना (ingest)
http
POST/v1/घटनाएं
{"ईवेंट _ आईडी":" ई _ 9f2", "... ": "... "..}
→ 202 {"स्वीकृत": सही}लीडबोर्ड (शीर्ष K और उपयोगकर्ता स्थिति)
http
GET/ v1/leaderboards/t_october_sprint? शीर्ष = 100 और मी = यू _ 123
→ 200 {"शीर्ष ": [{"पॉस ": 1, "उपयोगकर्ता ":" यू _ 9"," स्कोर": 18400},...], "मी ": {"पॉस ": 342, "स्कोर": 5600," डेल्टा": + 200}मिशन की प्रगति और इनाम
http
GET/ v1/missions/m_halloween/progress? उपयोगकर्ता = u _ 123
→ 200 {"चरण ": [{"आईडी ": "एस 1 ", "किया ": सही}, {"आईडी ":" एस 2"," किया": गलत}]," इनाम _ तैयार": सही}
POST/v1/पुरस्कार/दावा
{"संदर्भ ": "मिशन ", "आईडी ":" एम _ हैलोवीन"," चरण":" एस 1"}
→ 201 {"स्थिति ": "दी गई ", "इनाम _ आईडी":" rw _ 77"}10) भंडारण और स्केलिंग
गर्म तरीका: शीर्ष और प्रगति के लिए रेडिस (सॉर्टेड सेट/हैश); "शोर" कुंजियों के लिए टीटीएल, 'प्रतियोगिता _ आईडी' द्वारा शार्टिंग।
सही: OLTP (Postgres/MySQL) - बिंदु/प्रगति/भुगतान तथ्य (WORM स्नैपशॉट)।
कतारें: काफ्का - घटना प्रवाह; क्षेत्र/ब्रांड द्वारा उपभोक्ता समूह।
कैश: छोटा टीटीएल 1-5 एस; सार्वजनिक शीर्ष (सीडीएन के माध्यम से) के लिए बासी-जबकि-पुनर्नवीनीकरण।
वेबसॉकेट: रियलटाइम के लिए एक अलग क्लस्टर/पूल, बैच मेलिंग और दर-सीमा संदेश।
11) अवलोकन और गुणवत्ता नियंत्रण
SLI/SLO:- 'लीडरबोर्ड _ अपडेट _ लेटेंसी _ p95 ≤ 250мс'
- 'events _ ingest _ सफलता ≥ 99। 9%`
- 'पुरस्कार _ अनुदान _ सफलता ≥ 99। 9%`
- 'ws _ push _ rtt _ p95 ≤ 120мс'
- अन्याय की शिकायतें <0। प्रतिभागियों का 5%।
- घटनाओं/प्रतिभागियों की दर, अद्वितीय खिलाड़ी, शर्त/खेल द्वारा वितरण, औसत गुणक; 'grant _ errors', 'dedupe _ hits'।
- ट्रेल्स: इनगेस्ट → नियम → स्कोर → एलबी अपडेट → इनाम; 'contest _ id', 'rule _ id' टैग।
- लॉग: JSON 'trace _ id' के साथ, PII प्रतिबंध; ऑडिट के लिए WORM।
12) घटनाएं और रनबुक 'और (संक्षिप्त)
ए। लीडर बोर्ड लैग (लैग> 2 एस)
कार्रवाई: काफ्का उपभोक्ताओं को बढ़ाएं, पार्टी को "हॉट की" (पुनर्मूल्यांकन) कम करें, बैचिंग अपडेट सक्षम करें।
अस्थायी: रियलटाइम एनिमेशन फ्रीज करें, "~ 1-2s देरी" दिखाएं।
बी। पुरस्कार त्रुटियां
क्रियाएं: नए 'अनुदान' को रोकें, स्नैपशॉट के साथ जांचें, बेवजह 'अनुदान' फिर से करें; लॉबी में स्थिति अद्यतन।
सी। दुर्व्यवहार स्पाइक (प्रॉक्सी एएसएन)
कार्रवाई: पात्रता को मजबूत करना, अदृश्य चुनौती को सक्षम करना, अस्थायी रूप से संदिग्ध सत्रों, सत्यापन के बाद के बिंदुओं की अनदेखी करना।
13) यूएक्स और स्थानीयकरण
वास्तविक समय: "लाइव" संकेतक, बिंदुओं के चिकने डेल्टा, स्थिति और अगली जगह की दूरी।
पारदर्शी नियम: सूत्र/टाईब्रेकर/प्रतिबंध तक पहुंच।
सूचनाएं: "5 मिनट बचे हैं", "आप शीर्ष 50 में हैं", "इनाम उपलब्ध है।"
स्थानीयकरण/कानूनी ग्रंथ: बाजार, समय क्षेत्र (यूरोप/कीव और प्रतिभागियों के स्थान) द्वारा।
14) सुरक्षा और गोपनीयता
सार्वजनिक शीर्ष पर खिलाड़ी उपनाम; पीआईआई को डिफ़ॉल्ट रूप से छुपाएँ।
वेबहुक/घटनाओं, एमटीएलएस के हस्ताक्षर; किनारे पर "कैश जहर" के खिलाफ सुरक्षा।
दर-सीमा एपीआई, कैश बस्टिंग सुरक्षा, 'idempotency _ key' नियंत्रण।
GDPR: घटना प्रतिधारण, ऑडिट को नुकसान पहुंचाए बिना हटाने (गुमनाम) का अधिकार।
15) परीक्षण और सिमुलेशन
नियमों और अर्थशास्त्र के सत्यापन के लिए ऐतिहासिक घटनाओं की पुनरावृत्ति।
लोड: शुरुआत से पहले 30-120 सेकंड फटता है; 2-4 घंटे भिगोएं।
संपत्ति-आधारित: आक्रमणकारी ("जारी किए गए पुरस्कारों की मात्रा - बजट", "टाई-ब्रेक निर्धारित")।
A/B: विभिन्न स्कोरिंग सूत्र, सीढ़ी गहराई, मिशन प्रारूप।
16) उत्पादन तत्परता चेकलिस्ट
- घोषणात्मक नियम (संस्करण, हस्ताक्षर), अर्थव्यवस्था सिम्युलेटर।
- आइडेम्पोटेंसी: 'इवेंट _ आईडी', 'स्कोर _ आईडी', 'रिवार्ड _ आईडी'; इनबॉक्स/आउटबॉक्स।
- टाई-ब्रेक नियमों में तय किए जाते हैं, नियमवाद को छांटते हैं।
- लीडरबोर्ड: रेडिस + स्नैपशॉट्स में शीर्ष K; एंटी-स्टॉर्म (जिटर, कोलसिंग)।
- एंटी-एब्यूज: पात्रता, बॉट्स/एएसएन, वेग सीमा।
- पुरस्कार → दोहरी प्रविष्टि के माध्यम से बटुआ; नकदी से पहले KYC की जाँच करें।
- अवलोकन: SLI/SLO, डैशबोर्ड, अलर्ट; WORM ऑडिट।
- DR/Felover: मल्टी-AZ, बैकअप/रिस्टोर, "फ्रीज एंड फाइनलाइज़" स्क्रिप्ट।
- स्थानीयकरण, लाइसेंस, सार्वजनिक नियम और सहमति।
- रनबुक 'और लैग/त्रुटियों पर अनुदान/फट बॉट, संचार पैटर्न।
सारांश फिर से शुरू करें
टूर्नामेंट और मिशन का सफल मॉड्यूल इवेंट बस + नियतात्मक नियम + फास्ट लीडरबोर्ड + सुरक्षित भुगतान है। सख्त टाईब्रेक, एंटी-एब्यूज, इकोनॉमिक्स सिम्युलेटर और एसएलओ ऑब्जर्वेबिलिटी जोड़ें, सभी ऑपरेशन मूर्तिपूजक और श्रव्य रखें - और आपको एक उपकरण मिलता है जो खिलाड़ियों, नियामकों और समर्थन टीम के साथ बहस करता है।
