2012-10-13 13 views
5

पर HTTPS मैं cocos2d-x पर आधारित गेम एप लागू कर रहा हूं। तकनीकी रूप से धोखाधड़ी को रोकने के लिए, विचार करने में से एक विचार सभी क्लाइंट-सर्वर संचार के लिए HTTPS का उपयोग कर रहा है, जिससे डेटा प्रारूप/गेम तर्क प्राप्त करना मुश्किल हो जाता है और धोखा देने के लिए संशोधित अनुरोध भेजना पड़ता है। (मुझे पता है कि "रोकें" वास्तव में असंभव है लेकिन गेम धोखा देने की लागत में वृद्धि के लिए यह ठीक है:)। मेरा सवाल है,Cocos2d-x

  1. कोकोस 2 डी-एक्स में, HTTPS अनुरोध कैसे करें? मुमकिन?
  2. अधिक सामान्य मामले में, तकनीकी रूप से ऐसे गेम हैकिंग को कम करने के लिए क्या करना है? क्या रणनीति पकड़ने के लिए?

उत्तर

0

कर्ल पुस्तकालय का उपयोग करके आप https कनेक्शन बना सकते हैं। यदि आप तकनीकी रूप से अपने गेम के उपयोग की रक्षा करना चाहते हैं तो आपके पास मजबूत एन्क्रिप्शन तकनीक है।

धन्यवाद

2

देशी क्रॉस प्लेटफॉर्म सी ++ नेटवर्किंग आप बूस्ट सी ++ लाइब्रेरी का उपयोग कर विचार कर सकते हैं के लिए। Boost.Asio नेटवर्किंग के लिए इस्तेमाल किया जाता है।

Boost.Asio लिंक: http://www.boost.org/doc/libs/1_53_0/doc/html/boost_asio.html

Boost.Asio ट्यूटोरियल लिंक: http://www.boost.org/doc/libs/1_53_0/doc/html/boost_asio/tutorial.html

हालांकि आधिकारिक तौर पर (केवल iOS और Android पर प्रतिगमन परीक्षण की कमी के कारण) समर्थित नहीं, बूस्ट पर बिना किसी समस्या के चलाता है आईओएस और एंड्रॉइड (और शायद अन्य सी ++ आधारित मोबाइल प्लेटफार्म भी)।

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

+0

बहुत धन्यवाद हालांकि यह एक ताजा पोस्ट नहीं है। :) –

+1

हां मुझे एहसास है कि यह एक नई पोस्ट नहीं है, फिर भी मुझे इस प्रश्न का उत्तर देने की आवश्यकता महसूस हुई क्योंकि लोगों को आमतौर पर सी ++ में क्रॉस प्लेटफार्म नेटवर्किंग के साथ समस्याएं होती हैं। –

0

हाय यह एक समस्या है कि हम सब समय का सामना करना पड़ता है। यदि धोखाधड़ी धोखाधड़ी के उदाहरण तक सीमित है तो प्रश्न अकादमिक हैं और आपके खाली समय पर अध्ययन किया जाना चाहिए।

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

सी ++ https कार्यान्वयन कर्ल और बढ़ावा साथ उपलब्ध हैं।

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

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

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

माइक्रो लेनदेन का उपयोग करते समय खिलाड़ी के खाते में पूरी तरह प्रतिबद्ध होने से पहले प्रत्येक माइक्रो लेनदेन विक्रेता सर्वर के साथ सत्यापित किया जाना चाहिए।

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