MMOs मुद्दों और समाधान के लिए विरोधी धोखा? [बन्द है]


14

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

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

इस तरह के कृत्यों को रोकने के लिए आप लोग किस प्रकार की सुरक्षा का उपयोग करते हैं (प्रयास करने)

  1. एंटी-धोखा सॉफ्टवेयर? (कृपया बताएं कि आपको किन और क्यों और संभावित समस्याओं का सामना करना पड़ा है, उदाहरण के लिए, आयनों ने गेमगार्ड का उपयोग बीटा स्टेज पर संगतता समस्याओं की एक बड़ी मात्रा के कारण बंद कर दिया और अपने उपयोगकर्ताओं से शिकायत करता है)
  2. आपका अपना कोड? (आप किस प्रकार के सत्यापन आमतौर पर खराब विश्वास वाले खिलाड़ियों को सुनिश्चित करने के लिए चलाते हैं, उदाहरण के लिए स्पीडकॉक, गति + अंतिम स्थान आदि के खिलाफ नए स्थान को सत्यापित करें ...)
  3. कोई नहीं, मुझे परवाह नहीं है? (कोई व्यक्तिगत कारण या इनपुट जिसे आप साझा करना चाहते हैं?)

आप जिस मुद्दे को पोस्ट करना चाहते हैं, उससे संबंधित कोई भी दिलचस्प कोड?

मेरे पाठ मेरे अंग्रेजी उदाहरण को पुनः प्राप्त करने के लिए स्वतंत्र महसूस करें?


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

1
यह कैसे फायदेमंद हो सकता है, इसके एक उदाहरण के लिए। : इस की जाँच करें gamedev.stackexchange.com/questions/480/...
जेसी दोर्से

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

जवाबों:


22

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

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

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

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


आपके योगदान के लिए धन्यवाद, मुझे उम्मीद है कि अधिक लोग अपने इनपुट कर रहे हैं; वास्तव में यह मुकाबला करने के लिए एक बहुत ही कठिन मुद्दा है ... एंटी-चीट इंजन को निष्क्रिय करने के लिए गेम को क्रैक करने वाले लोग भी हैं और इसे कॉल किया जाता है ... जो चीजों को और भी कठिन बना देता है ... जब तक कि आपके पास ऑनलाइन न हो जीएम उस दिए गए व्यक्ति या अन्य सत्यापन को सत्यापित करने के लिए, जैसे आपने कहा था। समुदाय विकि के लिए इस प्रश्न के रूप में आप क्या सोचेंगे? क्या मुझे उसके अनुरूप रहने के लिए कुछ बदलना या बदलना चाहिए;
प्रिक्स

संभवतः समुदाय विकि जब तक आप एक विशिष्ट उत्तर की तलाश में नहीं हैं।
सीन जेम्स

पूर्ण विवरण के लिए पंकबस्टर कैसे काम करता है, इस पर कोई अधिक जानकारी?
क्रिस लॉयड

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

मेरा मानना ​​है कि हैकिंग अपरिहार्य है, यहां तक ​​कि सबसे मजबूत एनिट-चीट कार्यक्रम भी है। अगर तकनीकी रूप से ऑनलाइन नहीं तो ऑफलाइन ही धोखा है। ऑनलाइन खेलना निष्पक्षता पर अधिक है। ऐसा क्या?
डेविड दिमलता

8

लॉगिंग। सर्वर पर होने वाली हर चीज को लॉग इन किया जाना चाहिए, और आदर्श रूप से क्लाइंट से आने वाली हर चीज को। क्लाइंट स्वाभाविक रूप से अविश्वसनीय है, लेकिन यहां तक ​​कि अविश्वसनीय डेटा लॉग करना भी रोशन कर सकता है।

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

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

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


2

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


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

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

1
मुझे यह पसंद है कि but also send timestamps, and if you get too much drift, you'll know they are using one. Mark their account, but don't kick them immediately -- immediate feedback is a great way for someone to know what your software detects.मैं हाल ही में चिह्नित उपयोगकर्ताओं से टाइमस्टैम्प और चेतावनी प्रणाली को लागू करने में लग रहा था, वर्तमान में मैंने खिलाड़ी को एक सूची में रखा है जो मैं अभी काम कर रहा हूं वह यह है कि यदि कुछ का दुरुपयोग करने का उपयोग होता है तो यह एक अलर्ट भेजेगा सत्यापन के लिए एक ऑनलाइन जीएम ...
प्रिक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.