বিজোড় এমএমও সার্ভার আর্কিটেকচার সম্পর্কিত তথ্য


9

আমি নির্বিঘ্ন এমএমও সার্ভারগুলিতে কোনও সামগ্রী খুঁজছি! আমার কাছে "ম্যাসিভলি মাল্টিপ্লেয়ার গেম ডেভলপমেন্ট" বই এবং "গেম প্রোগ্রামিং রত্ন 5" তে কয়েকটি নিবন্ধ রয়েছে " এই বিষয়ে কেউ অভিজ্ঞতা আছে বা সে সম্পর্কে নিবন্ধগুলি জানেন?

আমি বাস্তবায়নের পাশাপাশি "উচ্চ-স্তরের মতামত" এ আগ্রহী। এটি আমার মাস্টার থিসিসের বিষয় হয়ে উঠতে পারে এবং প্রকৃতপক্ষে থিসিসটি শুরু করার আগে আমি এই জাতীয় সিস্টেমটি লিখতে কতটা কঠিন তা জানতে চাই। এখনই আমি কোন ভাষাটি ব্যবহার করব তা ঠিক করি নি, আমি জাভা বা স্কালা সম্পর্কে ভাবছি। এরলংয়ের পছন্দ হতে পারে তবে আমি এর সাথে কখনও কাজ করি নি।

দ্রষ্টব্য: বেসিক প্রয়োজনীয়তা হবে চলাচল। অন্য কোনও গেম সিস্টেমগুলি alচ্ছিক এবং "বোনাস ক্রেডিট" দেয়।

এখন "বিরামবিহীন সার্ভার" বলতে আমি যা বোঝাতে চাইছি তার জন্য: আমি এমন একটি সার্ভার ক্লাস্টার স্থাপন করতে চাই যেখানে প্রতিটি নোড স্থির সীমানা সহ গেম জগতের কিছু অংশ নিয়ন্ত্রণ করে। খেলোয়াড়েরা এখন বিশ্বের কোনও প্রান্ত থেকে অন্য প্রান্তে চলে যেতে পারে কোনও উদাহরণ স্যুইচ না করে বা কিছু "টেলিপোর্টার" না দিয়ে। আমি মনে করি বাহ এটা করে। আমার ব্যাক-এন্ডে তবে প্লেয়ারটি একটি সার্ভার থেকে অন্য সার্ভারে স্থানান্তর করে।


কিছুক্ষণ আগেই আমি পড়লাম যে প্রতিটি ওয়ার্ল্ড সার্ভারে প্রতিটি মহাদেশ এবং ডাটাবেসগুলির জন্য 5+ ব্লেড রয়েছে - 1। এছাড়াও অন্ধকূপ এবং যুদ্ধক্ষেত্র হিসাবে ব্যবহৃত হত যদিও আমি ধরে নিচ্ছি যে এখন যারা ক্রস-রিয়েল সংযোগের অনুমতি দেওয়ার জন্য তাদের নিজস্ব ক্লাস্টারে রয়েছেন। সংক্ষেপে যদিও, মহাদেশগুলি একটি সার্ভারে রাখা হয় - এমন কোনও বিন্দু নেই যেখানে আপনি মহাদেশ পরিবর্তন না করে আপনি অন্য সার্ভারে স্থানান্তরিত হন।
দৈর্ঘ্য

মজার, আপনি কোথায় পড়েছেন মনে আছে? যেমনটি আমি বলেছিলাম, আমি কখনই ওয়াও খেলি না এবং মহাদেশগুলি কত বড় তা জানি না, তবে আমি ধারণাও করতে পারি না যে প্রতিটি মহাদেশ একটি পৃথক সার্ভারে হোস্ট করা আছে।
লুরকা

3
বাহ সার্ভারের পরিসংখ্যান: 13,250 মোট সার্ভার ব্লেড, 75,000 মোট সিপিইউ কোর, 112.5 টেরাবাইট র‌্যাম (জিডিসি অস্টিন 09 হিসাবে)। এখানে দেখুন ; অগত্যা সমস্ত ওয়াউ নিবেদিত, কিন্তু যথেষ্ট যুক্তিসঙ্গত।

@ জোশ পেট্রি: আপনাকে ধন্যবাদ, এই দিনের প্রথম দিকে এই নিবন্ধটি পাওয়া গেছে। তবে আমি এখনও নিরবিচ্ছিন্ন বা অবিচ্ছিন্ন সার্ভার আর্কিটেকচার সম্পর্কে স্টাফ খুঁজছি।
লুরকা

উত্তর:


5

এই জাতীয় ব্যবস্থাপনার মূল জটিলতাটি আপনার একেবারে নির্বিঘ্ন হওয়া দরকার need জোশ যেমন বলেছেন, সমস্যাটি সমাধান করা একটি সত্ত্বাকে অন্য সার্ভার থেকে অন্য সার্ভারে হস্তান্তর করা প্যাকেজের মূল অংশ।

যদিও এটি একমাত্র সমস্যা নয় - যদি একাধিক সার্ভার জুড়ে সত্তাগুলি যদি কোনও ক্রিয়াকলাপের অংশ হিসাবে ইন্টারঅ্যাক্ট করতে হয় তবে আপনার এখন একটি সিঙ্ক্রোনাইজেশন সমস্যা রয়েছে যেখানে প্রতিটি সিস্টেমে এগিয়ে যাওয়ার জন্য অপর পক্ষ থেকে ডেটার প্রয়োজন হয়, তবে সেই সময়টি এসে ডেটা উপস্থিত হতে পারে ইতিমধ্যে অবৈধ। আপনি যদি একটি পক্ষ পিছনে থেকে সরে যায় তবে রোলব্যাক সক্ষমতার সাথে একাধিক বার্তায় অপারেশনটি ভেঙে সমাধান করার চেষ্টা করতে পারেন, তবে আপনি "ম্যাসিভেলি মাল্টিপ্লেয়ার গেম ডেভেলপমেন্ট" এর অধ্যায় 3.1 থেকে দেখেছেন যে এটি আপনাকে যে কোনও গেম যুক্তি উল্লেখযোগ্যভাবে জটিল করে তুলেছে এটি দিয়ে। স্ক্যাসা এবং এরলং আপনাকে মেসেজিং সিস্টেমটি সঠিকভাবে পেতে সহায়তা করে - বিভিন্ন ধরণের বার্তায় 10 লাইন ফাংশন হিসাবে কী ব্যবহৃত হত তা ক্ষয় করতে তারা আপনাকে সহায়তা করে না এবং আপনাকে এখন ট্র্যাক করতে হবে বলে জানিয়েছে।

স্পষ্টতই, এই সমস্যাটি সম্পূর্ণ নতুন নয়, এবং সম্পর্কিত ডেটাবেসগুলি সমস্ত ডেটা কেন্দ্রীয়ভাবে সংরক্ষণ করে এবং একাধিক ক্লায়েন্টকে জিজ্ঞাসা করে এবং যেখানে প্রয়োজন সেখানে লেনদেনগুলি ফিরিয়ে দেয়, এই জাতীয় সমস্যাটিকে সমর্থন করে। এটি আপনাকে আপনার বেশিরভাগ নির্ভুলতার প্রয়োজনীয়তা দেয় তবে দুর্ভাগ্যক্রমে গেম লজিক বাস্তবায়নকে বিশ্রী করে তোলার পাশাপাশি অবৈজ্ঞানিক কর্মক্ষমতা সমস্যাগুলি চাপিয়ে দেয় (যেহেতু আপনার লজিকের বেশিরভাগ অংশ এখন ডাটাবেস সঞ্চিত পদ্ধতিতে লিখিত হয়েছে)। বিভিন্ন ধরণের ডাটাবেস এখানে একটি ভাল সমাধান সরবরাহ করতে পারে, বিশেষত যদি আপনি বেশিরভাগ আরডিবিএমএস সরবরাহ করেনি এমন নির্ভরযোগ্যতা প্রয়োজনীয়তাগুলি বাণিজ্য করতে আগ্রহী।

বেশিরভাগ পেশাদার গেমস এটিকে চেষ্টা না করেও এই সমস্যাটি ঘটাতে পারে, সমস্ত খেলোয়াড়কে একটি সার্ভারে রাখার মতো যথেষ্ট ক্ষুদ্র আকার রেখে, বিশ্বকে এমন অংশে ভাগ করে দেয় যা সত্যিকার অর্থে ইন্টারেক্ট হয় না (উপরের মন্তব্যে ওউ উদাহরণ দেখুন) , বা ভূগোলের পরিবর্তে ফাংশনের ভিত্তিতে সার্ভারগুলিতে গেমটি বিতরণ করে (উদাহরণস্বরূপ, সমস্ত যুদ্ধ একটি সার্ভারে ঘটে, সমস্ত অন্যের সাথে চ্যাট হয়) যাতে কোনও লড়াইয়ের জন্য 'সেম' না থাকে।


3

আমি বাস্তবায়নের পাশাপাশি "উচ্চ-স্তরের মতামত" এ আগ্রহী।

বাস্তবায়নগুলি সাধারণত যুক্তিসঙ্গতভাবে গভীরভাবে জড়িত থাকে এবং আপনি সম্ভবত তাদের সম্পর্কে এখানে খুব বেশি আলোচনা দেখতে পাবেন না। স্ট্যাকএক্সচেঞ্জ সফ্টওয়্যারটি এই ধরণের জড়িত আলোচনার পক্ষে খুব উপযুক্ত নয়, এটি কারও সময়ের গুরুত্বপূর্ণ উল্লেখযোগ্য বিনিয়োগের সাথে জড়িত তা উল্লেখ না করে।

আমি এই ধরনের সিস্টেম লিখতে এটি কতটা কঠিন তা জানতে চাই would

অন্য যে কোনও সিস্টেমের চেয়ে কম বা বেশি শক্ত নয়: এটি আপনার প্রয়োজনীয়তা এবং আপনি যে ড্রাইভিং করতে চান সেই বৈশিষ্ট্যগুলির উপর নির্ভর করবে। তুচ্ছভাবে আপনি তুচ্ছ বাস্তবায়ন লিখতে পারেন, তবে নন-তুচ্ছ জিনিস অবশ্যই আরও শক্ত হবে। আরও একটি বড় সমস্যা হ'ল সম্ভবত আপনার ওয়াহ এবং অন্যান্য গেমগুলি যে " গেমস" পরিচালিত করে সেই "বিশাল" স্তরে আসলে আপনার সিস্টেম স্কেল করে কিনা তা বলার মতো যথেষ্ট সত্যিকারের ক্লায়েন্ট নেই won't

এমএমওগুলি যাদু নয় are বিচ্ছিন্ন হয়ে ওঠার সময় তাদের বেশিরভাগ প্রযুক্তি বিশেষ কিছু নয়, এটি কেবল সহজ যে প্রযুক্তিটির কয়েকটি ছোট, সরল বিট বৃহত্তর স্কেল, কিছু অংশীদারি বিশ্ব রাষ্ট্রের সংযুক্ত সমান্তরাল সিমুলেশনগুলির জন্য মঞ্জুরি দেওয়ার জন্য খুব বুদ্ধিমানভাবে একত্রিত হয়।

আমি এমন একটি সার্ভার ক্লাস্টার স্থাপন করতে চাই যেখানে প্রতিটি নোড স্থির সীমানা সহ গেম বিশ্বের কিছু অংশ নিয়ন্ত্রণ করে। খেলোয়াড়েরা এখন বিশ্বের কোনও প্রান্ত থেকে অন্য প্রান্তে চলে যেতে পারে কোনও উদাহরণ স্যুইচ না করে বা কিছু "টেলিপোর্টার" না দিয়ে।

মূলত আপনি যে বিষয়ে কথা বলছেন তা হ্যান্ড-অফ সিমুলেশন। এটি বেশ সহজভাবে করা যেতে পারে এবং অগত্যা কোনও এমএমও-নির্দিষ্ট প্রযুক্তি নয় (পিয়ার-টু-পিয়ার গেমস হোস্ট মাইগ্রেশন বাস্তবায়নের জন্য একই ধরণের অন্তর্নিহিত সমস্ত ব্যবস্থাকে সমর্থন করে)। প্রতিটি ভিত্তিতে সার্ভারের টপোলজিটি "আশেপাশে" বোঝা (বিশেষত ওয়ার্ল্ড নোডের জন্য একটি সার্ভার অবশ্যই সিমুলেশন-সংলগ্ন ওয়ার্ল্ড নোডের জন্য সার্ভারগুলি সম্পর্কে জানতে হবে) পাশাপাশি আপনি যে বাফারটি বিবেচনা করছেন তার সংজ্ঞা দিতে হবে একটি নির্দিষ্ট সিমুলেটেড সত্তা একটি সংলগ্ন সার্ভারের "ক্লোজ"।

যখন কোনও সত্ত্বা "ক্লোজ" বাফারে প্রবেশ করে আপনি পাশের সার্ভারেও এটি রিপোর্ট করা শুরু করেন। সত্তাটি প্রকৃত প্রান্তিক প্রান্তটি অতিক্রম করার পরে, আপনি সত্তার পুরো অবস্থার সাথে সংলগ্ন সার্ভারে একটি বার্তা এবং একটি বার্তা প্রেরণ করুন যেটি সংলগ্ন সার্ভারটি সত্তাটি গ্রহণ করবে। অবশ্যই আপনি এটি যথাসম্ভব নির্ভরযোগ্য হতে চান reliable

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.