P2p मल्टीप्लेयर गेम की सीमाएं बनाम क्लाइंट-सर्वर [बंद]


12

मैं मल्टीप्लेयर गेम आर्किटेक्चर पर पढ़ रहा हूं।

अब तक अधिकांश लेख मैंने क्लाइंट-सर्वर मॉडल के साथ डील किए हैं।

मैं जानना चाहूंगा कि पी 2 पी वास्तुकला का उपयोग करने के लिए क्या सीमाएँ हैं? खेलों का कौन सा "वर्ग" संभव है (या अधिक सामान्य) इसे उपयोग करने के लिए लागू करना? जो नहीं हैं? और सामान्य तौर पर, क्लाइंट-सर्वर मॉडल के खिलाफ इसके मुख्य अंतर और सीमाएं क्या हैं।



एक सच्चे पी 2 पी गेम के उदाहरण के लिए, आप गनज़: द ड्युएल को देख सकते हैं, जिसमें मल्टीप्लेयर में भारी समस्याएं हैं और इसके कारण हैकिंग के साथ है।
fhyve

जवाबों:


11

यहाँ मेरे दो सेंट हैं:

P2P :

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

सर्वर-क्लाइंट :

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

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

कुछ आर्किटेक्चर भी हैं जो सर्वर-क्लाइंट के साथ पी 2 पी को जोड़ते हैं।


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

2

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

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


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

1

पीयर टू पीयर मल्टीप्लेयर गेम्स को लागू करना आसान नहीं है और फिलहाल लागू नहीं है।

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

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

अन्य खेल जो सहकर्मी से सहकर्मी का उपयोग करते हैं, खेल को होस्ट करने के लिए गतिशील रूप से साथियों में से एक का चयन करते हैं (यानी सीओडी MW2), जिसके परिणामस्वरूप होस्ट-डिस्कनेक्ट जैसी समस्याएँ होस्ट डिस्कनेक्ट हो जाती हैं।


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

@ टैपियो बेशक गेम के लिए पी 2 पी-नेटवर्क बनाना संभव है, लेकिन यह विलंबता, उपयोगकर्ताओं की संख्या या उस वातावरण में सीमित होगा जिसमें इसका उपयोग किया जाता है। उस कारण से अधिकांश गेम एक पी 2 पी दृष्टिकोण का उपयोग नहीं करते हैं।
होर्स्टिनेटर

@Horstinator मुझे एक ऐसे खेल के बारे में पता है जो एक एफपीएस गेम के लिए पी 2 पी का उपयोग करता है, यह 50-100 खिलाड़ियों को बिना किसी विलंब के समस्याओं का समर्थन करता है। (इसकी परवाह किए बगैर किसी भी व्यक्ति के लिए
स्टिकमैन

@ दलित क्या यह खुला स्रोत है? मुझे यह देखना पसंद है कि वे इसे कैसे करते हैं।
होर्स्टिनटेटर

@Horstinator बहुत बुरा है, लेकिन जहाँ तक मुझे पता है कि यह नहीं है। आप मंच पर निर्माता से पूछ सकते हैं (इसकी बहुत छोटी परियोजना है, इसलिए किसी को जवाब देना चाहिए)।
एकाल्टर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.