ऑनलाइन गेम एपीआई के दुरुपयोग (बॉटिंग) का पता लगाने और रोकने के लिए कैसे?


49

मैं अपने खाली समय में एक गेम आइडिया पर काम कर रहा हूं। गेमप्ले और सामग्री इसे एक ऑनलाइन मल्टीप्लेयर गेम के रूप में अच्छी तरह से स्थापित वेब तकनीकों के साथ कार्यान्वित करने के लिए प्रस्तुत करती है। आपको पता होना चाहिए कि यह रणनीति और सिमुलेशन शैली में आता है। इसका मतलब है: वर्णों या समान के साथ नहीं बल्कि केवल परमाणु क्रियाओं (क्लाइंट-सर्वर संचार के बारे में) जैसे "स्थान X पर A निर्मित करें"।

एक बिंदु पर मैंने महसूस किया कि एक बड़ी समस्या है: REST API बैक एंड पर निर्भर एक ब्राउज़र आधारित फ्रंट एंड होना, यह बॉट्स के लिए उत्कृष्ट लक्ष्य से अधिक बनाता है। जबकि स्वचालन व्यापार के लिए वांछनीय है यह एक खेल के लिए जहर है जो मज़े के बारे में है। मैंने अनुभव किया कि अतीत में ब्राउज़र गेम में यह पहली बार सफल हुआ था, सबसे सफल खिलाड़ी बॉट्स थे जिन्होंने हर किसी को अपने वश में कर लिया था।

मेरे वर्तमान दृष्टिकोण से मुझे REST API पर आधारित मल्टीप्लेयर ऑनलाइन गेम बनाते समय बॉट से सुरक्षा की कोई संभावना नहीं दिखती है। अपवाद: इसे खुला स्रोत बनाना ताकि हर कोई निजी समूहों के लिए अपने स्वयं के उदाहरण या यहां तक ​​कि अपने आप को होस्ट कर सके (बॉट के साथ झटके से परेशान न हो)।

क्या एक ईमानदार खिलाड़ी के बीच अंतर करने का कोई तरीका है जो सिर्फ अगली संभावित कार्रवाई के लिए अलार्म सेट करता है और एक बॉट स्वतः ही इसके दिखने पर हर मौका ले रहा है? इस तरह के शो स्टॉपर जैसे कैप्चा के अलावा। यदि नहीं, तो मैं एक अन्य प्रौद्योगिकी स्टैक के बारे में सोचूंगा जो क्लाइंट-सर्वर संचार (मूल कोड क्लाइंट में मालिकाना एन्क्रिप्टेड बाइनरी प्रोटोकॉल) के साथ गड़बड़ करने के लिए कम से कम कठिन बनाता है।

संपादित करें : धन्यवाद, आपके उत्तर प्रेरणादायक हैं, लेकिन मुझे यह भी एहसास हुआ कि खेल के विवरण में आगे जाकर विशिष्ट प्रतिवाद नहीं किया जा सकता है। हालाँकि, यह स्टैक एक्सचेंज पर एक प्रश्न के लिए बहुत अधिक होगा। इसलिए मैं सबसे महत्वपूर्ण बिंदुओं को बताना चाहता हूं:

  • जब भी वे चाहें, खिलाड़ी खोज, विकास और प्रबंधन कर रहे हैं। जब वे ऑफ़लाइन होते हैं तो उनका व्यवसाय ठीक चलता है (यह एक शांतिपूर्ण खेल है, कोई हथियार शामिल नहीं है)। केवल विस्तार और प्रगति के लिए खिलाड़ियों को कार्रवाई की जरूरत है। उन कार्यों द्वारा सीमित हैं:
  • समय प्रमुख संसाधनों में से एक है (जैसे ईवीई ऑनलाइन कौशल प्रशिक्षण में)। खेल में सभी प्रक्रियाओं को इसकी आवश्यकता होती है। ऑनलाइन 24/7 होने का कोई मतलब नहीं है। औसत खिलाड़ी एक या दो सत्रों में हर दिन एक घंटे से अधिक नहीं खर्च करने के साथ पहले से ही सफल होना चाहिए ( मोटे तौर पर , अवधारणा अभी भी विकास में है)।

9
क्या आप इस तरह का खेल नहीं कर सकते हैं कि दूसरों की प्रोग्रामिंग या बॉट खरीदने से मानव खिलाड़ियों का मज़ा खराब न हो? और दूसरा, गेम खेलने के लिए बॉट / एआई की प्रोग्रामिंग करना अपने आप में मजेदार हो सकता है; हालांकि यह अन्य का मज़ा बर्बाद नहीं करना चाहिए।
कैस्पर वैन डेन बर्ग

26
"स्वचालन [...] एक खेल के लिए जहर है जो मज़ा के बारे में है।" दृढ़तापूर्वक असहमत। यदि आपका खेल वास्तव में मज़ेदार है, तो खिलाड़ियों को उन हिस्सों को छोड़ देने के लिए दंडित क्यों किया जाए जहां वे नहीं हैं? यदि आपके खेल के तत्व इतने थकाऊ हैं कि खिलाड़ी खेलना पसंद नहीं करते हैं और स्क्रिप्ट लेने की इच्छा महसूस करते हैं, तो वास्तविक समस्या का समाधान किया जाना चाहिए।
थॉमस

6
आपके उदाहरण की एक आसान प्रतिक्रिया है: खिलाड़ी को उपकरण दें ताकि उन्हें बॉट की आवश्यकता न हो । उदाहरण के लिए, उन्हें सटीक क्षण में ऑनलाइन होने के लिए प्रोत्साहित करने के बजाय उन्हें एक क्रिया करने दें, या उनके लिए ऐसा करने के लिए एक उपकरण प्राप्त करें / बनाएं।

4
मुख्य कारण लोग बॉट्स का उपयोग करते हैं, क्योंकि खेल के कुछ हिस्से उनके लिए थकाऊ और उबाऊ हैं (यदि वे मज़ेदार थे तो वे बस उन्हें खेलेंगे)। स्पष्ट रूप से आपके खिलाड़ी प्रतियोगिता और चुनौती का आनंद ले रहे हैं, लेकिन स्वचालित गेमप्ले नहीं। आप उन हिस्सों को हटाने के लिए गेम डिज़ाइन को बदलने की कोशिश कर सकते हैं जिन्हें लोग खत्म करने के लिए बॉट्स का उपयोग करते हैं, या अपने गेम को और अधिक कठिन और सार्थक निर्णय लेने के लिए फिर से संतुलित करते हैं जो केवल एक मानव खिलाड़ी बना सकता है, और एक बॉट (जैसे गहरी रणनीतिक विकल्प) नहीं कर सकता । अन्यथा, आप एक हथियारों की दौड़ में बर्बाद हो जाएंगे, और बॉटलर्स जीत जाएंगे।
शानदार

6
tl; dr: लोग अलार्म वाले लड़के के खिलाफ प्रतिस्पर्धा करना पसंद नहीं करते हैं और किसी भी व्यक्ति को बॉट वाले लड़के के मुकाबले कोई काम नहीं मिलता है - और यही बात उन्हें बॉट चलाने के लिए प्रेरित करती है।
रैंडम 832

जवाबों:


50

अगर लोग बॉट करना चाहते हैं, तो मुझे नहीं लगता कि आप वास्तव में उन्हें रोक सकते हैं।

आप निश्चित रूप से कई उपायों को लागू कर सकते हैं जो किसी दर्द को कम या ज्यादा करते हैं। लेकिन आप केवल इतना ही कर सकते हैं इससे पहले कि आपका कोडबेस विशालकाय मेस में बदल जाए जो कि नर्क को बनाए रखने में त्रुटि है, और वैध उपयोगकर्ताओं को परेशान करता है। इस बीच बॉटलर्स को हमेशा आपके प्रतिवाद को हराने का एक तरीका मिलेगा:

  • आप की तुलना में उनमें से अधिक है
  • उनके हाथों पर अधिक खाली समय है (आपको वास्तविक विकास और बॉट प्रूफिंग के बीच समय को विभाजित करना होगा, वे पूरे दिन अपना बॉट कोड हैक कर सकते हैं)
  • जैसा कि आप आउटलैंडिश बनाते हैं, बॉट लेखकों को चुनौती देने से सुरक्षा को और बढ़ावा मिलेगा क्योंकि यह आपके बॉट संरक्षण को तोड़ने में मजेदार है
  • अगर बॉट्स से व्यावसायिक रूप से मुनाफाखोरी करने वाले लोगों का एक काला बाजार है, तो आप एक बॉट को लिखने के लिए और अधिक मूल्यवान काम करने वाले बॉट बन जाते हैं, इसलिए आप बॉटिंग को प्रोत्साहित करते हैं

आप मूल रूप से बोतलों के साथ हथियारों की दौड़ में फंस जाएंगे, और उपरोक्त बिंदुओं की तर्ज पर तर्क के आधार पर, साथ ही इस तरह के खेलों के साथ मेरा अनुभव, आप नहीं रख पाएंगे।

कुछ गेम डेवलपर्स बेहद आक्रामक एंटी-चीटिंग उपायों को नियुक्त करते हैं: उदाहरण के लिए, स्टीम मेमोरी और फ़ाइल सिस्टम को हैक करने के लिए स्कैन करेगा, और अपराधियों को सैकड़ों डॉलर के खातों को खोने से दंडित किया जा सकता है। फिर भी स्टीम गेम के लिए अभी भी बॉट और अन्य हैक हैं, और उनमें से कुछ भी आधे समय काम करते हैं। उनके विपरीत, आपके पास एक एपीआई है जो उपयोगकर्ता के लिए व्यापक है, और उपयोगकर्ता कंप्यूटर पर कोई नियंत्रण नहीं है। यह शुरू से ही एक कठिन लड़ाई है।

आप जिस समस्या को हल करने का प्रयास कर रहे हैं वह अनिवार्य रूप से एक ट्यूरिंग टेस्ट है: इसके अलावा यह एक बहुत ही आसान ट्यूरिंग टेस्ट है, क्योंकि आप भाषा जैसी कठोर एआई समस्याओं की आवश्यकता के द्वारा धोखा नहीं दे सकते। कोई फर्क नहीं पड़ता कि आप कितनी संख्या में आंकड़े बनाते हैं, यह एक बोट्टर के लिए तुच्छ होगा बॉट की कार्रवाई में थोड़ा यादृच्छिकता जोड़ने के लिए यह लगभग एक मानव की नकल करता है। यह बहुत मुश्किल भी नहीं होगा कि बॉट घड़ी को आप थोड़ा सा खेलते हैं, और सीखें कि आपके जैसे कार्यों को कैसे करें। फिर जब आप कैसे वह सिर्फ एक समर्पित खिलाड़ी के बारे में मंच पर बोट, Botter पदों एक विशाल शेख़ी पर प्रतिबंध लगाने (और शायद वह है कट्टर खिलाड़ियों की और आपके प्रमुख दर्शकों बाहों में आप के खिलाफ वृद्धि होगी वास्तव में एक झूठी सकारात्मक)।

बॉट के लिए खेल को बहुत मजेदार बनाएं

किसी व्यक्ति द्वारा बॉट का उपयोग करने का मुख्य कारण यह है कि खेल का एक हिस्सा है जिसे वे छोड़ना चाहते हैं। यदि वे खेल का आनंद लेते हैं और इसे मजेदार पाते हैं, तो वे बॉट इसे नहीं खेलेंगे, वे इसे खुद खेलेंगे।

लेकिन अगर खेल इतना उबाऊ है, तो इसे क्यों खेलें? संभवतया, खेल के कुछ हिस्से उबाऊ और अनिवार्य हैं जो उन हिस्सों के लिए हैं जो मज़ेदार हैं। उदाहरण के लिए, MMOs में हर कोई एक स्तर तक जाना पसंद करता है, लेकिन कोई भी XP को प्राप्त करने के लिए 42,324 गंभीर जहर चूहों को मारना नहीं चाहता है। इसलिए वे बॉट को पीसते हैं और मज़ेदार हिस्से को खेलने के लिए छोड़ देते हैं।

यह आपकी या आपके खेल की आलोचना नहीं है, बल्कि स्पष्ट रूप से कम से कम कुछ खिलाड़ियों को आपके खेल के कुछ हिस्से थकाऊ लगते हैं। आपको यह देखना चाहिए कि क्या आप इन थकाऊ हिस्सों को कम कर सकते हैं, और अधिक कठिन, सार्थक निर्णयों को जोड़ सकते हैं: मानव बुद्धि की तुलना में बॉट गहरी रणनीति या पार्श्व सोच में अच्छे नहीं हैं, और इसके अलावा मनुष्य कठिन गेम निर्णय लेने का आनंद लेते हैं।

आपके विवरण से, मुझे आभास होता है कि यह एक ब्राउज़र गेम है जो Travian के समान है, जहाँ एक बिल्ड कतार है जिसमें एक सबसे अच्छा बिल्ड ऑर्डर और कुछ निश्चित "रखरखाव" (जैसे कि खेती के छापे रखने) कार्यों को किया जाना चाहिए। आप कहते हैं कि कोई संघर्ष नहीं है, लेकिन किसी भी MMO नाटक और क्षुद्र राजनीति में अपरिहार्य है (IMO यह मुख्य आकर्षण है) इसलिए मुझे यकीन है कि आपके खिलाड़ी बटों के लिए रास्ता ढूंढते हैं। खेल के इन प्रकारों के साथ, इन "रखरखाव" कार्यों से बहुत सारे टेडियम आते हैं - जो खिलाड़ी वास्तव में करना चाहते हैं वे गठबंधन बनाते हैं और प्रतिद्वंद्वी गुटों के साथ कूटनीति का खेल खेलते हैं, रखरखाव तब एक प्रकार का कर बन जाता है जहां आपको जगाना होता है उस मज़ेदार राजनयिक भाग में जाने के लिए विषम समय में एक अलार्म तक। इसलिए टेडियम को काटें:

यह दृष्टिकोण हमेशा काम नहीं कर सकता है, दुर्भाग्य से। सभी खिलाड़ियों को टेडियम के प्रति समान सहिष्णुता या मस्ती की एक जैसी अवधारणा नहीं है। आपके पास एक प्रमुख मैकेनिक हो सकता है जो आपके 99% खिलाड़ियों को पसंद करता है, लेकिन 1% उबाऊ लगता है। क्या होगा अगर 1% तो बॉट लिखना शुरू कर दे, 99% के लिए मज़ा बर्बाद कर दे? लेकिन आखिरकार, यह डिग्री का मामला है। आप बॉटिंग को पूरी तरह से हटा नहीं सकते हैं, लेकिन आप नुकसान को कम कर सकते हैं।

अंडरकूट बोतल

बॉट के बहुत सारे नकारात्मक प्रभाव बॉट लेखकों द्वारा उनके काम का व्यवसायीकरण करने से आते हैं। यदि आपके लिए यह मामला है, तो आप बस बॉट्स के साथ प्रतिस्पर्धा कर सकते हैं। कई वास्तविक समय पर आधारित ऑनलाइन गेम में पहले से ही प्रीमियम विशेषताएं हैं जो समय-लंघन और स्वचालन (जैसे विस्तारित बिल्ड कतार) की अनुमति देती हैं। डेवलपर-स्वीकृत आधिकारिक बॉट में ये राशि। यदि आपके पास ये हैं, और उचित रूप से उन्हें कीमत देते हैं, तो खिलाड़ी बॉट खरीदने के बजाय आपका प्रीमियम खरीदेंगे। अच्छी खबर यह है, आप एपीआई के प्रभारी हैं, इसलिए आपको हमेशा अपने खेल के लिए गुणवत्ता स्वचालन विकसित करने में एक मजबूत लाभ होता है, इसलिए इस बार यह बोतलों के लिए एक हारने वाली लड़ाई है।

यह शौकिया बोतलों को खत्म नहीं करेगा, या ऐसे लोग जो महसूस करते हैं कि आपका प्रीमियम पैसे के लिए अच्छा मूल्य नहीं है, इसलिए फिर से इस दृष्टिकोण की प्रभावशीलता स्थिति पर निर्भर करती है।

मैन्युअल रूप से उनके लिए देखो

जैसा कि मैंने ऊपर कहा, आप जो कर रहे हैं वह अनिवार्य रूप से एक ट्यूरिंग टेस्ट है। चूंकि मनुष्यों के साथ बातचीत को एक कठिन ट्यूरिंग टेस्ट चुनौती माना जाता है, आप इसका लाभ उठाने की कोशिश कर सकते हैं।

मैन्युअल रूप से शीर्ष स्तर के खिलाड़ियों का निरीक्षण करें और देखें कि क्या आपको कुछ संदिग्ध लगता है। तुम भी कभी कभी अपनी कल्पना तक ही सीमित तरीके से उन्हें जांच के साथ दूर करने में सक्षम हो सकता है, यह देखने के लिए कि क्या आप बॉट को कुछ ऐसा करने में धोखा दे सकते हैं।

हालांकि एक एल्गोरिथ्म लिखना मुश्किल है जो बॉट्स का मज़बूती से पता लगाएगा, मानव के लिए यह सीखना इतना कठिन नहीं है कि उन्हें कैसे देखा जाए। मुझे लगता है कि बहुत सारे ब्राउज़र गेम इस रणनीति का उपयोग करते हैं, और यह बहुत प्रभावी हो सकता है। नुकसान यह है कि या तो आपको हर समय बहुत सारे उबाऊ काम करने की आवश्यकता होती है, या आपको नियमित रूप से बॉटोल पेट्रोल करने के लिए गेम मास्टर्स को भुगतान करने की आवश्यकता होती है।


4
मैंने यह उत्तर इसलिए चुना क्योंकि यह मुझे तकनीकी विवरण से दूर प्रश्न एक कदम पीछे देखने के माध्यम से सबसे अधिक सोचा गया था। मैं एडम डेविस को चुनने के बारे में लंबे समय से सोच रहा था क्योंकि इसमें "कैसे" के बारे में कुछ बहुत अच्छे विचार हैं।
पीटर

1
@ आलोमवार मुझे खुशी है कि यह मददगार था। चूँकि इस सवाल को इतने वोट मिले, इसलिए आप अपने प्रोफाइल में अपने गेम के लिए एक लिंक डाल सकते हैं :)
सुपरबस्ट

2
उह, क्या ट्रावियन अभी भी आसपास है? मैंने कई साल पहले खेला था, तब रुक गया जब मुझे एहसास हुआ कि गेमप्ले को मूल रूप से "सर्वश्रेष्ठ समाजोपाथ जीत हो सकती है"।
मेसन व्हीलर

25

बॉट्स के खिलाफ सबसे अच्छा और एकमात्र प्रभावी बचाव अपने खेल को इस तरह से डिजाइन करना है कि खिलाड़ियों को पहली जगह में स्वचालित करने की आवश्यकता महसूस न हो। जब आपके खिलाड़ी सरल कार्यों को स्वचालित करते हैं, जिन्हें वास्तव में कौशल की आवश्यकता नहीं होती है, तो यह एक संकेत है कि आपके उपयोगकर्ता इंटरफ़ेस में कमी है और वे एक यूआई सुविधा का प्रतिस्थापन कर रहे हैं जो वे गायब हैं।

  • क्या आपके खेल में दोहराव वाले कार्य शामिल हैं जहाँ खिलाड़ी एक ही क्रिया को बार-बार पीसने के लिए करता है?

    अपने खेल के इन पहलुओं को कम दोहराए और खेलने और फिर से खेलने के लिए अधिक दिलचस्प बनाएं।

  • क्या आपके खेल में खिलाड़ियों को उनके लिए असुविधाजनक समय पर कार्रवाई करने की आवश्यकता होती है, जैसे कि आधी रात को या जब वे काम पर होते हैं?

    उन्हें आदेशों को कतारबद्ध करने की अनुमति दें (जैसे "बिल्ड एक्स 1, फिर एक्स 2, फिर एक्स 3, प्रत्येक के रूप में संसाधन उपलब्ध होते ही शुरू हो") या अग्रिम समय में विशिष्ट कार्यों को शेड्यूल करें (3:22 ​​बजे एक्स का निर्माण करें)।

  • क्या आपके खेल को खिलाड़ियों को बहुत कम समय के भीतर घटनाओं पर कार्रवाई करने की आवश्यकता है?

    उन्हें गेम को इस तरह से कॉन्फ़िगर करने की अनुमति दें कि ये क्रियाएं स्वचालित रूप से चालू हो जाएं

    • जब निर्माण X नष्ट हो जाता है, तो इसे तुरंत पुनर्निर्माण करें।
    • जब कोई व्यक्ति Y पैसे से कम के लिए संसाधन X प्रदान करता है, तो तुरंत Z इकाइयों को खरीदें।
    • जब स्टॉक Y इकाइयों से अधिक हो, तो सभी संसाधन X को ऑटो-सेल करें, लेकिन प्रति यूनिट Z पैसे से कम के लिए नहीं।

अपने समुदाय की निगरानी करें। जब आप देखते हैं कि वे कुछ और भी स्वचालित करते हैं, तो विचार चोरी करें और इसे कोर गेम में स्वचालित करने का विकल्प जोड़ें।


5
यह एक शानदार सुझाव है जो आपके खेल को बेहतर बनाता है, और आपके खेल के जोखिम को कम करता है जिससे आपके खिलाड़ी और अधिक बॉट-खुद बन जाते हैं। ;-) अगर एक बॉट आपके खेल का एक महान खिलाड़ी बनाता है, तो शायद खेल में अधिक मानवीय सोच शामिल होनी चाहिए। मैं सहमत नहीं हूं कि यह एकमात्र प्रभावी बचाव है, लेकिन मैं सहमत हूं कि यह समग्र रूप से सबसे अच्छा है। +1
द्रोणज़

7
हालांकि, मैं इस भावना से सहमत हूं, दुर्भाग्य से यह आधार कि आप खेल को थकाऊ नहीं बना सकते हैं एक गिरावट है। क्या होगा अगर आपके 10,000 खिलाड़ी मैकेनिक एक्स से प्यार करते हैं, लेकिन 10 इसे थकाऊ समझते हैं और बॉट लिखते हैं, जिससे 10,000 का मज़ा बर्बाद होता है? एफपीएस में एंबोट्स के साथ यही होता है: समसामयिक समाधान लक्ष्यीकरण के मामले को कम करना होगा, लेकिन बहुत सारे खिलाड़ी अपने लक्ष्य कौशल को पूरा करना पसंद करते हैं। यह केवल कुछ ही है जो aimbot की आवश्यकता को महसूस करता है।
शानदार

1
मैं वास्तव में आपके सुझाव को पसंद करता हूं, मैं चाहता हूं कि अधिक गेम आपको कुछ इस तरह से करें जो आपको 24/7 के आसपास कुशल होने के लिए
कहें

@ सुपरब्रिज वास्तव में मैं एक ऐसा समाधान देख सकता हूं, जहां आप लक्ष्य बना सकते हैं कि डिजाइनिंग अधिक महत्वपूर्ण हो, लेकिन फिर भी बॉटिंग के लिए प्रभावी होना मुश्किल है, उदाहरण के लिए यदि आपने हथियारों का डिजाइन धीमी गति से किया हो और सटीक निशाना अधिक उपयोगी हो तो खिलाड़ी गैंग बना सकते हैं। बोट्टर चूंकि वह उस पर हमला करने वाले हर खिलाड़ी के लिए पर्याप्त गोलियां नहीं चला सकता है
मैथ्यू पिगराम

2
बिल्कुल यही बात है! यदि आपके गेम के लिए एक्स बॉट संभव समय पर एक प्रभावी आसान क्लिक-वन-बटन है, तो इसे स्वयं लिखें और इसे सभी को दें! - एक खिलाड़ी को पहले से तय कर लेने दें कि समय तैयार होने के बाद क्या बनाया जाना चाहिए ... गेम्स इन फन डिसीजन के बारे में है!
फाल्को

23

जॉनी-ऑन-द-स्पॉट प्रयास के लिए अपने खेल को इतना कमजोर न बनाएं

सबसे पहले, यह सुनिश्चित करें कि जो खिलाड़ी केवल एक ही मिनट में बीस मिनट या एक घंटे के लिए अपना खेल खेलते हैं, उन खिलाड़ियों को भारी नुकसान नहीं है जो इसे काम पर खुला छोड़ देते हैं और दिन में 16 घंटे खेलते हैं।

इसके लिए आपके गेम मैकेनिक्स में बदलाव की आवश्यकता हो सकती है - उदाहरण के लिए एक चाल आबंटन जो तब भरता है जब आप खेल नहीं रहे होते हैं और खिलाड़ियों को कई तेज चालों को अंजाम देने की अनुमति देता है जब वे खेल सकते हैं, बजाय एक तंत्र के जिसे लगातार चलने की आवश्यकता होती है।

यह बॉट निर्माताओं को विघटित करेगा क्योंकि वे खेल के साथ रख सकते हैं, और उन्हें एक ऑटोमैटन बनाने के लिए कोई दबाव नहीं है जो उनके लिए कार्रवाई करता है।

प्रत्येक क्रिया के लिए सर्वर जानकारी की आवश्यकता होती है, और सर्वर प्रतिक्रियाओं को धीमा कर देता है

जब कोई खिलाड़ी गेम खेलता है, तो वे एक पेज का अनुरोध करते हैं जो उन्हें यूआई के साथ प्रस्तुत करता है जो उनके साथ बातचीत करते हैं। आप तत्वों को सम्मिलित कर सकते हैं, जैसे कि अदृश्य रूप तत्व, जो यह सत्यापित करते हैं कि उन्होंने वास्तव में पहले पृष्ठ का अनुरोध किया था। एक यादृच्छिक संख्या जिसे आपका सर्वर उपयोगकर्ता की आईडी के साथ संग्रहीत करता है और वे किस पृष्ठ पर अनुरोध करते हैं। जब कोई क्रिया आती है, तो सर्वर पुष्टि करता है कि इस उपयोगकर्ता ने उसी यादृच्छिक संख्या को वापस कर दिया है, और उस पृष्ठ पर एक क्रिया कर रहा है जिसे उन्होंने देखा था। इसका मतलब यह नहीं है कि बॉट को हर एक्शन के लिए दो एपीआई कॉल करने हैं, लेकिन नियमित उपयोगकर्ता कई पेज नहीं खोल सकते हैं और क्रमिक फास्ट एक्शन निष्पादित कर सकते हैं (यदि यह आपके डिजाइन के साथ समस्या है)।

दो एपीआई कॉल आपको बाद में बॉट को धीमा करने का एक तरीका देता है। आखिरकार आपको संदिग्ध पैटर्न दिखाई देंगे, और आप उन्हें उठा पाएंगे। जब आपका सर्वर एक संदिग्ध पैटर्न का पता लगाता है, तो यह पहली कॉल में एपीआई प्रतिक्रिया को दूसरे द्वारा देरी कर सकता है - जो उपयोगकर्ताओं को परेशान करेगा, लेकिन वास्तव में बॉट को धीमा कर देगा। इसके अलावा, यदि दूसरा अनुरोध "बहुत जल्दी" (जो भी आपके खेल के लिए है) वापस आता है, तो आप इसे अस्वीकार कर सकते हैं, या फिर से प्रस्तुत करने का अनुरोध करने के लिए कुछ इन-गेम त्रुटि या कारण के साथ पृष्ठ को पुनः लोड कर सकते हैं। "आप जल्दी से निर्माण नहीं कर सकते। कृपया अपना समय लें।" उदाहरण के लिए।

अपने उपयोगकर्ताओं को सुनें और आप पाएंगे कि वे किसके साथ ठीक हैं, और उन्हें क्या बताती है।

चाल और कार्यों को विचार करने की आवश्यकता है

यदि खेल एक साधारण बटन क्लिकर है, तो आप बॉट्स के बारे में बहुत कुछ नहीं कर सकते। अपने गेम को फिर से डिजाइन करने पर विचार करें ताकि गेम खुद एक कैप्चा जैसा टेस्ट करे।

खेल के बारे में कुछ भी नहीं जानते हुए भी मैं ज्यादा सुझाव नहीं दे सकता। यदि इसमें यह चुनना शामिल है कि किसी भवन को कहां रखा जाए, तो इंटरफ़ेस को डिज़ाइन करें ताकि उपयोगकर्ता कहीं भी चुन सकें, हालांकि स्पष्ट प्लेसमेंट हैं जो काम नहीं करेंगे। या शायद उपयोगकर्ता को प्लेसमेंट के सफल होने के लिए अभिविन्यास का सही मिलान करना होगा। यदि इसमें कोई कार्रवाई चुनना शामिल है, तो कार्यों की लंबी सूची शामिल करें, जिनमें से कुछ दिए गए स्थिति में कोई मतलब नहीं होगा।

यादृच्छिक बहुत सरल बॉट चेक शामिल करें

एक सामयिक संवाद जोड़ें, "क्या आप सुनिश्चित हैं?" उदाहरण के लिए। प्रश्न और शब्द को बार-बार बदलें और इसे बॉट्स के लिए स्पॉट चेक के रूप में उपयोग करें।

एपीआई बदलें

एपीआई को बार-बार बदलें, उन्हें वास्तव में सही चर के लिए वेबपेज को पार्स करने के लिए मजबूर करें और उन्हें वेबसर्वर पर कैसे लौटाया जाए। यदि आप टेम्पलेट का उपयोग करके अपना इंटरफ़ेस विकसित करते हैं, तो उस टेम्पलेट को उस कोड से बदलें जो प्रत्येक चर नाम के लिए नमकीन हैश या यादृच्छिक चर जनरेटर का उपयोग करता है। फिर प्रतिक्रियाओं को एन्कोड करने के लिए जावास्क्रिप्ट का उपयोग करना शुरू करें, और उस एन्कोडिंग को बार-बार बदलें। आप शायद ऐसा सॉफ़्टवेयर लिख सकते हैं जो आपके लिए यह सब करता है, और या तो हर समय सब कुछ यादृच्छिक होता है, या बस एक स्थिर टेम्पलेट करें जो आप कभी-कभी बदलते हैं।


अगर इसका ब्राउजर गेम, एपीआई बदल जाए और वह सब मायने नहीं रखेगा। जब तक आप क्लाइंट के सभी टेक्स्ट को हर बार बदलने के लिए तैयार नहीं होते हैं (जो खिलाड़ियों के लिए भयानक होगा। यूआई हर समय बदलता रहता है .. ऊह ..) और यदि टेक्सट नहीं बदल रहे हैं, तो टेक्स्ट खोजने के लिए बहुत ही तुच्छ है। यहां तक ​​कि सिर्फ jQuery के साथ। जब मैंने Travian खेला और मैं केवल हमला करने वाला था, तो मैंने बड़ी मात्रा में टैब खोले, सारी जानकारी तैयार की और जब समय बढ़ा, सबकुछ सबमिट सबमिट करके स्क्रॉल किया। बॉटिंग नहीं, बस तेज़, लेकिन आपके एपी देरी ने मुझे मुश्किल से मारा होगा।
काटू

1
@ खेल पर निर्भर करता है, यूआई तत्वों का एक बहुत पहले से ही चित्र हो सकता है। छवि के नाम बदलना, छवि फ़ाइल हैश को थोड़ा बदलना, आदि इसे और अधिक चुनौतीपूर्ण बना देगा। कम से कम आप उन्हें हर तत्व को डाउनलोड करने के लिए मजबूर कर रहे हैं ताकि यह पता लगाया जा सके कि क्या करना है। वे जावास्क्रिप्ट का उपयोग कर सकते हैं कि स्क्रीन पर दिए गए स्थान पर कौन सा तत्व शीर्ष पर है, और फिर उसे सक्रिय करने का प्रयास करें, लेकिन तब भी आप जावास्क्रिप्ट क्लाइंट रिपोर्ट बैक माउस क्लिक स्थानों को तत्व क्लिक के बजाय होने से कठिन बना सकते हैं।
एडम डेविस

@ कटु आप अंततः सही हैं, इससे निपटा जा सकता है, लेकिन यदि आप प्रयास को बड़े पैमाने पर करना चाहते हैं तो आप प्रयास में जाने के इच्छुक लोगों की संख्या कम कर देंगे, जो पर्याप्त हो सकती हैं।
एडम डेविस

2
"आबंटन आबंटन" के साथ समस्या यह है कि आप अपने सभी खिलाड़ियों को बता रहे हैं कि वे दिन में केवल 30 मिनट खेल सकते हैं या फिर लंबे समय तक इसे इस्तेमाल करने में समय लगता है, जो उन्हें परेशान करता है, आपके विज्ञापन आय को सीमित करता है, और एक बड़ा प्रलोभन पैदा करता है। उन्हें microtransactions के माध्यम से और अधिक खरीदने के लिए।
रैंडम 832

मैं बिल्डिंग प्लेसमेंट और ओरिएंटेशन से सहमत हूँ! यह एक ही समय में वैध उपयोगकर्ताओं के लिए प्लस और बॉट के लिए एक नकारात्मक है।
miva2

13

आप उन्हें रोक नहीं सकते। लेकिन आप उनके जीवन को दयनीय बना सकते हैं, क्योंकि उन्हें अपना बॉट लिखने और उन्हें अपडेट करने में बहुत समय देना पड़ता है। यदि उपयोगकर्ता मान्य है तो आपको जो भी सत्यापित करना है, उसका उपयोग करना होगा।

  • अनुरोध शीर्ष लेखों की जाँच करें, और अमान्य मानों वाले अनुरोधों को अस्वीकार करें। उपयोगकर्ता-एजेंट की तरह मौजूदा के लिए या तो कस्टम हेडर चेक सेट करें। यकीन है कि इसे पार करना आसान है, लेकिन जांचना और भी आसान है। यदि बोटाइटर अनुभवहीन है तो उसे इसके बारे में सोचने में थोड़ा समय लग सकता है! अपने काम के लिए उनमें से कई को अधिकार देने के लिए मजबूर करना है?
  • संभवतः आपके पास कुछ प्रकार के हैश हस्ताक्षर या आपके अनुरोधों में कुछ है, जो कुछ फ़ंक्शन के साथ क्लाइंट साइड पर उत्पन्न होता है। अच्छा, तो इसे बदलते रहो! इसे अलग न करने योग्य स्क्रिप्ट के रूप में बनाएं, और इसे यादृच्छिक अंतराल पर बदलें। हैशिंग प्रक्रिया में बेतरतीब नमक जोड़कर उनमें से कुछ बनायें या मक्खी पर संपादित करें। हालांकि यह फिर से आसान हो गया है, इससे उन्हें आपके कार्य पर नज़र रखने के लिए मजबूर होना पड़ेगा। उपयोगकर्ताओं को अपडेट रखने के लिए उन्हें कुछ प्रकार की निरंतर तैनाती पाइपलाइन की भी आवश्यकता हो सकती है। इसके बजाय, उनके बॉट गलत तरीके से हैशेड अनुरोध भेजना शुरू कर देंगे। आप उन उपयोगकर्ताओं को भी प्रतिबंधित कर सकते हैं जो अक्सर ऐसा कर रहे हैं। मान्य उपयोगकर्ता आपके क्लाइंट के चारों ओर वैसे भी घूमेंगे, इसलिए वे अब और फिर हरशिंग फ़ंक्शन को रद्द कर देंगे। बस सर्वर साइड को भी अपडेट करना याद रखें (स्क्रिप्ट आधारित बैकएंड वास्तव में यहां मदद करेगा)।
  • संसाधन उपयोग दक्षता का ध्यान रखें। यदि वे तुरंत खर्च करते हैं, तो कुछ सस्ती हो जाने के बाद, या यदि पिछले एक, 24/7 से 1-2 सेकंड के भीतर नए छापे भेजे जाते हैं, तो आप किसी कट्टर खिलाड़ी या बॉट के साथ काम कर रहे हैं। आप ऐसे व्यक्ति से कैप्चा का अनुरोध करते हैं, और उसे लॉगआउट करने के लिए मजबूर करते हैं। यदि वह लॉग आउट होने के बाद अनुरोध करता रहता है (खराब लिखे बॉट्स!) तो यह एक बॉट है। यदि वह सफलता के बिना कई बार लॉगिन करने का प्रयास करता है, तो वह संभवतः एक बॉट है। यदि उसे फिर से तैयार होने में कुछ घंटे लगते हैं, तो वह एक बॉट हो सकता है (बॉट इस बिंदु पर मानव सहायता का अनुरोध कर सकता है, और मालिक सो रहा हो सकता है)।
  • आईपी। यह बॉट-सेलिंग को खत्म कर सकता है। अगर कोई मन में $ $ $ के साथ एक बॉट लिखता है, तो वे स्रोत साझा नहीं करना चाहते हैं। वे इसके बजाय बॉट टाइम बेचेंगे। यदि वे लालची हैं, तो वे एकल / कुछ ips के साथ एकल मशीन का उपयोग कर सकते हैं। इसका मतलब है कि उपयोगकर्ताओं के एक बहुत आईपी साझा करना शुरू कर देंगे। यह जोखिम भरा है, क्योंकि यही मामला उन लोगों के लिए है जो एक नेटवर्क साझा कर रहे हैं। आपको यह देखना होगा कि क्या कोई पिछला चेक कुछ IP पर सफल है या नहीं और मैन्युअल रूप से यह तय करें कि क्या यह वैध उपयोगकर्ता समूह है, या बॉट्स की सेना है।

5
हालांकि ये विचार चतुर हैं, वे न केवल हारना आसान है, बल्कि मुझे केवल एक बॉट लिखने के लिए लुभाया जाएगा क्योंकि उन्हें हराने में बहुत मज़ा आता है, भले ही मुझे खेल में अच्छा करने की परवाह न हो।
शानदार

1
अधिकांश बिंदु बेकार हैं। आप पीछे की ओर सोच रहे हैं। कोई फर्क नहीं पड़ता कि आप सभी हैश, हेडर आदि के साथ क्या करते हैं, "लिंक को मेरे सराय के लिए उन्नयन खरीदने के लिए" काम करना है, है ना? अब, मैं एक बॉट बनाता हूं, जो उस लिंक को ढूंढता है, हर 2 घंटे में यह क्लिक करता है। मुझे परवाह नहीं है कि आप इसके पीछे क्या जादू करते हैं, लेकिन मेरा बॉट उपयोगकर्ता की तरह ही इसे क्लिक करता है। संसाधन का उपयोग करना अच्छा है, लेकिन बहुत सारी झूठी सकारात्मकताएं बढ़ा सकता है, जिसके लिए मानव कार्य की आवश्यकता होती है। IP .. उदाहरण के लिए travian bots (गैर-मुक्त) एक कस्टम वेब ब्राउज़र है, जो आपके आईपी से सब कुछ भेजता है।
काटू

@ सुपरबॉय हाँ इस सुरक्षा को एक बार में हरा देना आसान है। लेकिन अगर यह थोड़ा बदल जाता है, तो आपको उन परिवर्तनों पर नज़र रखनी होगी और अपने बॉट को अपडेट करना होगा। इसका मतलब है कि अधिक समय बिताना, खेलने के लिए कम समय बिताने के लिए एक बॉट लिखने पर :)। व्यर्थ।
पोलन

@ क्या आप सही हैं, मेरे तरीके बॉट को नहीं रोकेंगे जो एक ब्राउज़र के लिए एक प्लगइन है और केवल क्लाइंट पर क्लिक कर रहा है। लेकिन बाहर कुछ भी, समस्या हो सकती है। बस एक लिंक ढूंढना और रीप्ले-अटैक करना काम नहीं करेगा, क्योंकि हैश को टाइमस्टैम्प और अर्ध-गुप्त कुंजी जानने की आवश्यकता हो सकती है। हैशिंग फ़ंक्शन हर अब और फिर बदल जाएगा इसलिए यदि आपके पास जावास्क्रिप्ट इंटरप्रेटर नहीं है, तो आपको उन परिवर्तनों को शामिल करने के लिए हर समय अपने बॉट को फिर से लिखना होगा। वे तरीके लोगों को बॉट लिखने से नहीं रोकेंगे। इसे बस निरंतर बनाए रखने की आवश्यकता होगी, इसलिए आप उस समय को बॉट :) का उपयोग करने से नहीं बचाएंगे।
पोलन

2
@Polan कोई समस्या नहीं है अगर बॉट लिखना पहली जगह पर खेलने की तुलना में अधिक मजेदार है।
शानदार

8

सामान्य तौर पर, बॉट्स और मनुष्यों के बीच अंतर करना पूरी तरह से स्वचालित रूप से कठिन है, मानव-सहायता निर्णय प्रक्रिया का कुछ रूप सबसे अच्छा काम करता है।

मैं क्या करूंगा: उपयोगकर्ता को संकेत देने वाले कुछ आंकड़ो को परिभाषित करना संभवत: एक बॉट है - बहुत सारी क्रियाएं करना, सामान 24/7 करना, ... तब यदि ये उत्तराधिकार एक निश्चित सीमा से अधिक हो जाते हैं, तो इनवेसिव चेक करें।

आप मैन्युअल रूप से खिलाड़ियों की गतिविधि को स्कैन कर सकते हैं और देख सकते हैं कि क्या यह ठीक है। या आप अगली बार उपयोगकर्ता के ऑनलाइन होने पर कैप्चा करते हैं। या (और भी मजबूत) उसे एक चैट संदेश भेजें जहां आप समझाते हैं कि आपको संदेह है कि वह एक बॉट है और वह चाहता है कि वह किसी मानव के साथ प्रतिक्रिया करे जैसे कि वह साबित करता है कि वह बॉट नहीं है (आपका दिन कैसा था? आपकी पसंदीदा फिल्म क्या है? ... - आप उन का एक गुच्छा हो सकता है)। यदि वह बिल्कुल भी प्रतिक्रिया नहीं देता है, तो वह संभवतः एक बॉट है। यदि वह जवाब देता है, तो आप मैन्युअल रूप से मानव-समानता और प्रतिबंध वाले रोबोट के उत्तरों की जांच करें। यदि आपके आंकड़े उचित हैं, तो केवल उपयोगकर्ताओं के एक छोटे से अल्पसंख्यक से पूछताछ की जाएगी और स्कैन करने के लिए प्रतिक्रियाओं की मात्रा छोटी होगी। और अगर आप प्रश्नों के सेट को निजी रखते हैं और बदलते हैं, तो ऐसा कोई तरीका नहीं है जिससे रोबोट तैयार किए जा सकें, जब तक कि कोई स्काईनेट पर आक्रमण न करे।


8
जब स्काईनेट पहली बार आत्म-जागरूक हुआ, तो हर किसी ने यह मान लिया था कि यह दुनिया की सैन्य ताकतों को संभालने की कोशिश करेगा। बहुत कम लोग जानते थे कि इसका एकमात्र लक्ष्य अपने पसंदीदा MMO की अर्थव्यवस्था पर हावी होना था। इस प्रकार महान मानव-एआई युद्धों को रोका गया था, उनकी आक्रामक महत्वाकांक्षाओं को एक स्थान पर निर्देशित करके, जहां सीमित नुकसान हो सकता था।
डैन ब्रायंट

1
संदेशों के साथ समस्या यह है कि एक बटर को आसानी से हर दिन खेलने के लिए लॉग इन किया जा सकता है, और व्यस्तता का ख्याल रखने के लिए उसी खाते पर बॉट को चलाया जा सकता है। बॉट संदेश को अनदेखा करेगा, मानव अगली सुबह जवाब देगा, और रात के मध्य में भेजे गए संदेश पर कुछ घंटों के उत्तर के लिए खिलाड़ी को दंडित करना कठिन है।
शानदार

@Superbest अगर बॉट खेलने की कोशिश करता रहता है, जबकि मानव सोता है तो आपको एक अच्छा संकेत मिलता है कि यह एक बॉट है। सवाल पूछने के साथ समस्या यह है कि क्या खिलाड़ी अंग्रेजी नहीं बोलता है?
लोरेन Pechtel

@LorenPechtel खैर, आपको कैसे पता चलेगा कि वे कब सो रहे हैं? वहाँ बहुत असामान्य नींद कार्यक्रम के साथ बहुत सारे लोग हैं। सिर्फ इसलिए कि उन्होंने जवाब नहीं दिया, इसका मतलब यह था कि यह एक बॉट था, हो सकता है कि उन्हें सिर्फ जवाब देने का मन नहीं था और बाद में करने का फैसला किया। भाषा के अनुसार, संभवतः खिलाड़ी उस भाषा को बोलता है जिस खेल में वह है, अन्यथा वे नियमों या ToS से कैसे सहमत होंगे? ऐसा नहीं है कि बातचीत में बॉट को विदेशी से अलग करना मुश्किल है।
शानदार

@ सुपरप्रूफ मेरी धारणा यह थी कि खेल जारी नहीं रहेगा, जबकि प्रश्न अनसुना रह गया था। अगर वे निरर्थक आदेश भेजते रहते हैं तो यह बहुत स्पष्ट है कि यह कर रहा है।
लोरेन Pechtel

8

बटर को गले लगाओ। आपने अपने गेम के स्वचालन के साथ प्रयोग करने के लिए कोडर के लिए एकदम सही एक आरामदायक एपीआई बनाया है। अपने गेमप्ले को डिज़ाइन करें ताकि स्वचालित होने के कारण बॉट एक मानव खिलाड़ी पर लाभ न उठा सके - निष्पादन की गति आदि के फायदे को समाप्त कर दें जो एक मशीन में है; अपने गेम को डिजाइन करें ताकि बॉट मानव खिलाड़ी के रूप में एक ही राजस्व प्रदान करे, यदि संभव हो - या कम से कम अधिक मानवीय खिलाड़ियों को आकर्षित करने के लिए एक समृद्ध वातावरण प्रदान करता है।

सवाल यह है कि लोग आपके खेल के लिए बॉट क्यों बना रहे हैं, और क्या वे विशेषाधिकार के लिए पैसे देंगे?


4

मैं जरूरी नरम विज्ञान जवाब से असहमत नहीं है, लेकिन वहाँ रहे हैं तकनीकी जिन्हें आप कर सकते botters पता लगाने के लिए और कुछ चीजें हैं जो उनके लिए कठिन जीवन बनाने के।

  • किसी व्यक्ति द्वारा किसी बॉट का उपयोग करने पर आपको कितना संदेह है, इसके बारे में ग्रेड खाते। यह कई अन्य तकनीकों में फीड करेगा और वैध उपयोगकर्ताओं को आपके प्रकोप से बचाएगा।

  • सत्र कुकी कुंजी घुमाएगी। यह सुनिश्चित करता है कि बॉट अपने कुकीज़ को सुरक्षित रखता है, लेकिन ब्राउजर और बॉट के बीच कुकीज़ को साझा करने के लिए एक बोट्टर के लिए यह बहुत कठिन होता है (जो कि विकास और परीक्षण करते समय वास्तव में बहुत आसान है)।

  • दर-सीमा कुछ क्रियाएं। तेजी से काम करें जो आप वास्तव में कुछ कर सकते हैं, और निगरानी करें कि ये बॉट कितनी जल्दी कर रहे हैं। रनिंग लॉग रखने और मानक विचलन से बाहर काम करने के लायक भी हो सकता है। यहां तक कि अगर किसी को केवल हर 10 सेकंड कुछ कर रहा है, अगर वे इसे कर रहे हैं वास्तव में हर 10 सेकंड वे शायद एक बॉट कर रहे हैं। उनकी रेटिंग को संशोधित करें और उन्हें लॉग आउट करें।

  • जिन खातों पर आपको संदेह हो सकता है, उन पर लॉगिन करना अधिक कठिन है। CAPTCHAs और प्रश्न और अन्य अपरिहार्य चीजें स्वचालित रूप से स्क्रिप्ट की चीजों के लिए बॉट-बीटर होने के लिए चीजों को बहुत कठिन बनाती हैं।

  • मॉनिटर माउस / पृष्ठ आंदोलन। यह इन दिनों जावास्क्रिप्ट के साथ काफी सरल है, लेकिन बॉट्स को व्यवस्थित रूप से कोई माउस आंदोलन नहीं होगा। यदि आपको "क्लिक" के बीच कोई नहीं मिल रहा है, तो वे मोबाइल हो सकते हैं या वे एक बॉट हो सकते हैं। छान - बीन करना। यह लॉग करने के लिए बहुत अधिक डेटा है ... इसलिए आप इसे उन खातों के लिए आरक्षित कर सकते हैं जो पहले से ही पिछले चरणों को चालू कर चुके हैं।

  • व्यवहार, आईपी, कार्रवाई अनुक्रम, कार्रवाई ताल द्वारा खातों को लिंक करने के लिए उपकरण बनाएं। यदि आप लोगों पर प्रतिबंध लगाने जा रहे हैं, तो सुनिश्चित करें कि आपके पास अपने गलत तरीके को सत्यापित करने के लिए उपकरण हैं।

  • URL स्कीमा, CSRF चर आदि को घुमाएँ और अक्सर करें। यह एक बड़ा कदम है और शायद इसके लिए पहले से अधिक काम करने की आवश्यकता है, लेकिन यह बहुत कम से कम होने जा रहा है, लेकिन कोई भी खाते जो अचानक काम करना बंद कर देते हैं (या पुराने URL को अंकित करते रहते हैं और पुराने चर नाम भेजते हैं - इसे लॉग करें!) उनके बॉट इंडेक्स लेवल को बढ़ाने की जरूरत है।


3

क्या आपने बॉट्स को खेल का एक अभिन्न हिस्सा बनाने पर विचार किया है? बॉट्स के लिए खेल को हर किसी के लिए बर्बाद करना मुश्किल है अगर हर किसी को उन्हें बनाने के लिए प्रोत्साहित किया जाए। स्क्रिप्टिंग के लिए समर्थन जोड़ें और अचानक गेम की गतिशीलता के मैनुअल संसाधन प्रबंधन रणनीतियों से बॉट डिजाइन रणनीतियों में परिवर्तन।


3

एक अलग बॉट केवल सर्वर बनाएँ। एक लीडरबोर्ड बनाएं और विजेताओं को मनाएं। डेटा को देखें यह उत्पन्न करता है। उन सामान्य सेवर के उपयोगकर्ताओं को प्रतिबंधित करें जिनकी व्यवहार प्रोफ़ाइल किसी बॉट की तरह दिखती है।


2

आप जो भी करते हैं, याद रखें कि यह असली खिलाड़ी के लिए अधिक कष्टप्रद नहीं है! बहुत सी प्रतिक्रियाओं को मैंने देखा है (धीमे पृष्ठ परिणाम, तेज इनपुट आदि की सुविधा के लिए कई पृष्ठों को खोलने की अनुमति नहीं), वैध खिलाड़ियों को तेजी से काम करने से भी रोक देगा, जो उन्हें अनावश्यक रूप से निराश करेगा।

imho सबसे आसान तरीका समस्या के लिए सोशल इंजीनियरिंग को लागू करना हो सकता है: 1) अपने टीओएस में एक स्पष्ट NO-BOT क्लॉज जोड़ें, और जोड़ें कि बॉट गतिविधि का पता लगाने से खिलाड़ी को उच्च-स्कोर सूची से हटा दिया जाएगा (या लेबल "चीटर" "संलग्न है, इसलिए लोग उनके साथ उतने निराश नहीं हैं; यदि आप उस मार्ग पर जाते हैं, तो लोगों को चीटर रिकॉर्ड छिपाने की अनुमति दें)।

2) बॉट जैसे व्यवहार के लिए जाँच करें (उदाहरण के लिए सर्वर पर नियमित रूप से समयबद्ध पिंग, या एक पंक्ति में कई घंटों के लिए एकदम सही समय), और यदि ऐसा है तो खाते को "बॉट मोड" में डालें - कभी-कभी कैप्चा और व्हाट । यदि इन पर ध्यान नहीं दिया जाता है, लेकिन खिलाड़ी सक्रिय रूप से गेम खेलता रहता है, तो खिलाड़ी को "बॉट" के रूप में चिह्नित करें और उसे रैंकिंग से बाहर कर दें। अगर उन्हें संबोधित किया जाता है, तो उन्हें "पावर प्लेयर" के रूप में चिह्नित करें और उन्हें बॉट सूची से हटा दें।

इस तरह खिलाड़ियों के विशाल बहुमत कभी प्रभावित नहीं होते हैं, कट्टर गेमर छोटी अवधि के लिए प्रभावित होते हैं, और बॉट किसी और के लिए "खेल को बर्बाद नहीं" करते हैं।


क्या होगा अगर एक पावर प्लेयर बॉट का फैसला करता है? मुझे नहीं लगता कि खिलाड़ी को 'चिन्हित' करना कुछ समझ में आता है, यह बहुत शोषक है। बस कुछ दिनों के लिए बहुत खेलते हैं, एक बार जब आप झंडा प्राप्त करते हैं, तो बॉट को आग लगा दें और कभी भी पकड़ा न जाए
Dan Pantry
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.