संभावित बॉट से अपने वास्तविक समय के ऑनलाइन शूटर की रक्षा कैसे करें


14

मैं एक मल्टीप्लेयर ऊपर नीचे शूटर बनाने के लिए देख रहा हूँ। जब मैंने विभिन्न विषयों के बारे में पढ़ा है, तो मैं उन्हें देख सकता हूँ कि मुझे कुछ वास्तविक चुनौतियाँ मिली हैं, लेकिन मैं इसके लिए तैयार हूँ।

एक बात जो मैं समझ नहीं पा रहा हूं वह यह है कि मैं कैसे उन लोगों से खेल की रक्षा करने वाला हूं जो बॉट बनाने की कोशिश करते हैं?

मेरा क्या मतलब है, जहां तक ​​मैं समझता हूं, नेटवर्क ट्रैफिक को इस तरह से संरक्षित करना असंभव है कि खिलाड़ी उन कार्यक्रमों को बनाने में सक्षम नहीं होंगे जो सुन रहे हैं और इसे समझ रहे हैं।

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

तो ऐसे बॉट्स से रियल टाइम गेम्स को बचाने के लिए किस तरह की तकनीकों का इस्तेमाल किया जाता है?

इसके अलावा मैं उल्लेख करना चाहूंगा कि मैंने चर्चाओं की खोज की है (जैसा कि ऐसा लगता है कि कुछ लोग बहुत संघर्ष करते हैं), लेकिन विशेष रूप से इसके बारे में कुछ भी नहीं पा सके, केवल वास्तविक समय के खेल में नेटवर्किंग के बारे में व्यापक सवालों के एक हिस्से के रूप में। । अगर मुझे अपनी जगह पर रखने के लिए स्वतंत्र महसूस करना चाहिए


पंकबस्टर, हेहे .. एक कारण है कि एक थर्ड पार्टी ऐप है जो थर्ड पार्टी ऐप और बदलाव का पता लगाता है :)
जेम्स

अगर लोग बॉट्स बनाते हैं तो आप क्यों चिंतित हैं? शायद आप इसके आसपास काम कर सकते हैं, इसलिए यह सिर्फ एक समस्या नहीं है।
बेस्का मार्का

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

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

@AttackingHobo सभी का मतलब है कि पूरी कंपनियां हैं जो इस समस्या का समाधान निकालने की कोशिश के अलावा कुछ नहीं करतीं। पंकबस्टर सॉफ्टवेयर के उन अधिक ज्ञात टुकड़ों में से एक है जो ऐसा करने का प्रयास करता है, अच्छा या बुरा :)
जेम्स

जवाबों:


8

काउंटर बॉट करने के लिए दो दृष्टिकोण हैं। वे क्लाइंट-साइड सुरक्षा और सर्वर-साइड विश्लेषण हैं।

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

कम से कम 100% प्रभावी होने के अलावा, क्लाइंट-साइड सुरक्षा में आपके खिलाड़ियों के लिए बेहद कष्टप्रद होने का दोष है। आमतौर पर इसका मतलब होता है ऑल-टैब टास्क स्विचिंग, एंटीवायरस प्रोग्राम आदि को डिसेबल करना।

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

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

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


1
मुझे शक है कि आपको एक मैकेनिकल बॉट वाला लड़का मिला। यह एक सॉफ्टवेयर बॉट की अधिक संभावना थी जिसने इनपुट के लिए एक हार्डवेयर कीबोर्ड का अनुकरण किया।
AttackingHobo

2
नहीं, वास्तविक मैकेनिकल बॉट। लेखक ने हमें चित्र भेजे। दुर्भाग्य से, वे पहले ही सर्वर से हटा दिए गए हैं (यह 2007 में वापस आ गया था!), इसलिए आपको इसके लिए मेरा शब्द लेना होगा।
नेवरमाइंड

जवाब के लिए धन्यवाद। मुझे लगता है कि एन्क्रिप्शन हैकर बार को थोड़ा बढ़ा सकता है और बहुत से हैकर्स से बच सकता है। लेकिन क्या कोई वास्तविक संचार एन्क्रिप्शन शूटरों, या यहां तक ​​कि MMO के रूप में समय-महत्वपूर्ण खेलों में व्यावहारिक होगा?
ज़ाकी जर्मन

मैंने जो भी गेम इस्तेमाल किया, उनमें से कोई भी लॉगिन सिक्वेंस को छोड़कर कहीं भी एनक्रिप्शन पर काम नहीं करता था, इसलिए मुझे नहीं पता कि यह कितना प्रभावित करता है। एन्क्रिप्शन एल्गोरिथ्म पर निर्भर करता है, मुझे लगता है।
नेवरमाइंड

2

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

व्यक्तिगत रूप से मैं कोशिश करूंगा और एन्क्रिप्ट और संचार मशीनों के बीच जितना संभव हो सके संचार को बाधित कर सकता हूं, यह कुछ विचारों को प्राप्त करने के लिए https / ssl के काम करने के तरीके पर पढ़ने लायक हो सकता है। यदि मेजबानों को एक यादृच्छिक सार्वजनिक / निजी कुंजी उत्पन्न करनी थी और केवल सार्वजनिक भाग को अन्य ग्राहकों के लिए भेजना था, तो कुछ आसानी से अवरोधन और भेजे जा रहे पैकेजों की सामग्री को बदलने में सक्षम नहीं होगा, हालांकि यदि आपके पास क्लाइंट तक पहुंच है मशीन तो कुछ भी पूरी तरह से सुरक्षित नहीं है।

आपको यह भी सुनिश्चित करना होगा कि ग्राहक के साथ छेड़छाड़ न की जाए।


1

अपने खेल को डिज़ाइन करें ताकि टीम के काम और वास्तविक बुद्धिमान निर्णय पूरी तरह से लक्ष्य करने में सक्षम होने से अधिक महत्वपूर्ण हों। सभ्य बॉट बनाने के लिए यह तेजी से कठिन हो जाता है।


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

@Zaky: मैंने एक बार एक कृमि-शैली के खेल का प्रदर्शन किया, जहां अचानक मृत्यु के दौरान स्क्रीन धीरे-धीरे एक SPH द्रव से भर जाएगी। यह वास्तव में अच्छा लग रहा था जब तक कि खेल मौत की ओर नहीं बढ़ गया। मुझे लगता है कि कई गेम डिज़ाइन निर्णय तकनीकी बाधाओं से प्रभावित होते हैं।
deft_code

@deft_code का मतलब था गेम डिजाइन जैसा कि गेमप्ले मैकेनिक्स में है, कलात्मक या चित्रमय डिज़ाइन नहीं
ज़ाकी जर्मन

एसपीएच का मेरा उपयोग एक खेल मैकेनिक के रूप में है, जो कीड़ों में पानी की मौत है। मैं सिर्फ खेल के साथ पानी की बातचीत के तरीके को बदलता हूं।
deft_code

0

और अपने आप से सभी महत्वपूर्ण प्रश्न पूछें कि क्या यह परेशानी के लायक है। थिएटर और बोतल 2 काम कर सकते हैं:

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

दोनों परस्पर अनन्य नहीं हैं।

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.