Project Darkstar
প্রজেক্ট ডার্কস্টার জাভাতে লেখা একটি ওপেন সোর্স এম. এম. ও. জি মিডলওয়্যার সমাধান ছিল। প্রজেক্ট ডার্কস্টার 1999 সালে জেফ কেসেলম্যানের ব্যক্তিগত প্রকল্প হিসাবে শুরু হয়েছিল। এটি পরে সান মাইক্রোসিস্টেমের একটি গবেষণা প্রকল্পে পরিণত হয় এবং এর লক্ষ্য ছিল "ডেভেলপার এবং অপারেটরদের বিশাল আকারের অনলাইন গেম, ভার্চুয়াল ওয়ার্ল্ড এবং সোশ্যাল নেটওয়ার্কিং অ্যাপ্লিকেশনগুলির সাথে সম্পর্কিত গুরুতর, তবে সাধারণ, সমস্যাগুলি এড়াতে সহায়তা করা, যার মধ্যে রয়েছে জোন ওভারলোডিং, ডেটা দুর্নীতি এবং সার্ভারের স্বল্প ব্যবহার।" 1999 সালে টোটাল এন্টারটেইনমেন্ট নেটওয়ার্কের সিনিয়র গেম ইন্টিগ্রেশন ইঞ্জিনিয়ার থাকাকালীন জেফ কেসেলম্যানের ব্যক্তিগত প্রকল্প হিসাবে ডার্কস্টার শুরু হয়েছিল। 2004 সালে সান 'স গেম টেকনোলজি গ্রুপ গঠিত হয় এবং সেই সময়ে মিঃ কেসেলম্যান এই প্রকল্পের তৃতীয় পুনরাবৃত্তি সান-এ নিয়ে আসেন যেখানে এটিকে সান গেম সার্ভার নামে অভিহিত করা হয়। (প্রজেক্ট ডার্কস্টার সার্ভারের প্যাকেজের নামে এসজিএস মনিকার আজও টিকে আছে।) মিঃ কেসেলম্যান সান-এ একক প্রকল্প হিসাবে এক বছরের জন্য তৃতীয় সংস্করণে কাজ করেছিলেন, সেই বছর গেম ডেভেলপারস কনফারেন্সে একটি প্রাথমিক সংস্করণে আত্মপ্রকাশ করেছিলেন। 2005 সালে সফ্টওয়্যার সিটিও-র কার্যালয়ের পুনর্গঠনের পর, প্রকল্পটি সান ল্যাবসের পরিচালক কার্ল হ্যাবারলের অধীনে সান ল্যাবে স্থানান্তরিত হয়। কার্ল সহ-গবেষক হিসাবে শেঠ প্রক্টর এবং ড্যান এলার্ড, পাশাপাশি ঠিকাদার জেমস মেগকুইয়ার এবং স্টেন অ্যান্ডারসনকে যুক্ত করে জনবল বৃদ্ধি করেন। এই দলটি জিডিসি 2005-এর জন্য প্রথম কার্যকরী সার্ভার, যা এখন আর্লি অ্যাক্সেস সংস্করণ হিসাবে পরিচিত, তা সরবরাহ করেছে। 2রা ফেব্রুয়ারী, 2010-এ, ওরাকল দ্বারা সান কেনার প্রেক্ষাপটে, জিম ওয়াল্ডো "প্রকল্প ঘোষণা" ফোরামে পোস্ট করেছিলেন যে "ডার্কস্টার উন্নয়নে সান ল্যাবস ইঞ্জিনিয়ারিংয়ের প্রচেষ্টা আর প্রয়োগ করা হচ্ছে না"। সান ল্যাবস দলের বেশ কয়েকজন সদস্য এবং ডার্কস্টার সম্প্রদায়ের বেশ কয়েকজন সদস্য ডার্কস্টারের উত্তরসূরি হিসাবে রেডডার্ফ সার্ভারে কিছু সময়ের জন্য কাজ করেছিলেন। বৈশিষ্ট্য যখন একটি প্রজেক্ট ডার্কস্টার সার্ভার বাস্তবায়ন চালানো হয়, এটি হয় একটি নতুন নেটওয়ার্ক শুরু করে বা বর্তমানে চলমান একটিতে যোগ দেয়। সমস্ত নেটওয়ার্কে ক্লায়েন্ট, সার্ভার বাস্তবায়ন, একটি প্রজেক্ট ডার্কস্টার স্ট্যাক থাকে যার উপর সার্ভার বাস্তবায়ন চলে এবং বেশ কয়েকটি মেটা-সার্ভিস নোড থাকে যা সার্ভার স্ট্যাকের প্রতিটি নোডের মধ্যে ট্রাফিক পরিচালনা করে। সার্ভার বাস্তবায়ন হল প্রজেক্ট ডার্কস্টার এপিআই দিয়ে লেখা একটি ব্যবহারকারী তৈরি প্রোগ্রাম। ক্লায়েন্টদের মধ্যে সমস্ত ক্লায়েন্ট-সাইড অ্যাপ্লিকেশন এবং গেম রয়েছে যা নেটওয়ার্কে একটি গেম সার্ভারের সাথে সংযুক্ত। প্রজেক্ট ডার্কস্টার একটি বিশাল মাল্টিপ্লেয়ার গেমের জন্য অত্যাবশ্যক সমস্ত বৈশিষ্ট্যকে সমর্থন করার জন্য তৈরি করা হচ্ছে এবং একই সাথে অ-বিশাল মাল্টিপ্লেয়ার অনলাইন গেমগুলিকে সমর্থন করার জন্য যথেষ্ট পরিমাপযোগ্য। যেমন, এটি সমর্থন করে এমন অনেকগুলি বৈশিষ্ট্য রয়েছে এবং অনেকগুলি বৈশিষ্ট্য রয়েছে যা সক্রিয়ভাবে প্রয়োগ ও সংহত করা হচ্ছে। সিপিইউ লোড ব্যালেন্সিং মেটা-সার্ভিসেস পার্সিস্ট্যান্ট ডেটা স্টোরেজ ইউজিং বার্কলে ডিবি লেনদেন ডুপিং প্রিভেনশন চ্যানেল কমিউনিকেশন স্কেলেবল ডেটা স্ট্রাকচার প্লাগেবল প্রোটোকল প্রশাসনিক সরঞ্জাম প্রজেক্ট ডার্কস্টারের এপিআই হল ডেভেলপারদের জন্য মূল উপাদান যারা প্রযুক্তি ব্যবহার করে। এর সাহায্যে, তারা তাদের ক্লায়েন্ট প্রযুক্তির সাথে সঠিকভাবে যোগাযোগ করার জন্য গেম সার্ভারগুলি তৈরি করতে পারে এবং একটি সার্ভার চালু করতে পারে যা প্রজেক্ট ডার্কস্টার গেম স্ট্যাকের উপরে চলে। এপিআই অন্তর্নিহিত সিস্টেমের সমান্তরালতা লুকানোর জন্য লেখা হয় যা প্রজেক্ট ডার্কস্টার স্ট্যাক ডেভেলপারের জন্য সম্পাদন করে, যাতে প্রোগ্রামটি এই বিভ্রমের সাথে লেখা যায় যে এটি একক থ্রেডেড, যদিও স্ট্যাকটি সম্পূর্ণ সমান্তরাল। এপিআই-এর প্রধান অংশগুলির মধ্যে রয়েছে টাস্ক ম্যানেজমেন্ট, ডেটা অধ্যবসায় এবং চ্যানেল যোগাযোগ। প্রজেক্ট ডার্কস্টার সার্ভারে তথ্যের নিয়ন্ত্রণ সাধারণত কাজ দ্বারা পরিচালিত হয়, যদিও কিছু বিশেষ ক্ষেত্রে এগুলির প্রয়োজন হয় না। এগুলি এমন পরিস্থিতিতে ব্যবহার করা হয় যেখানে ডেটা সঞ্চয় বা পুনরুদ্ধার অবশ্যই সার্ভার ক্র্যাশ বা শাটডাউন থেকে সুরক্ষিত থাকতে হবে, কারণ কাজগুলি সংরক্ষণ করা হয় এবং যখন সেগুলি চালানো হয় তখন মনে রাখা হয় এবং যখন সার্ভারটি ক্র্যাশের আগে একই অবস্থায় পুনরায় চালু করা হয় তখন পুনরায় চালু করা যেতে পারে। উদাহরণস্বরূপ, চরিত্রের তথ্য আপডেট করার সময় এটি কার্যকর। যদি সার্ভারের অভ্যন্তরে কিছু ভুল হয়ে যায়, তবে চরিত্রের তথ্য বজায় থাকে এবং সার্ভার পুনরায় চালু করলে চরিত্রের তথ্য ক্র্যাশের আগে যে শেষ অবস্থায় ছিল তা থেকে পুনরুদ্ধার করা হবে। প্রজেক্ট ডার্কস্টার দ্বারা ব্যবহৃত বার্কলে ডিবি সমস্ত তথ্য সংরক্ষণ করে যা বজায় রাখতে হবে। ডাটাবেসে যা কিছু সংরক্ষণ করতে হবে তা অবশ্যই সিরিয়ালাইজেবল হতে হবে, কারণ ডাটাবেসটি বাইনারি তথ্য সংরক্ষণের জন্য প্রোগ্রাম করা হয়েছে। একটি পরিচালিত বস্তু খেলোয়াড়ের ডেটা থেকে যে কোনও কিছু হতে পারে (অর্থাৎ। অবস্থান, সরঞ্জাম) থেকে অভ্যন্তরীণ সার্ভার ডেটা এবং নিয়ন্ত্রণ যুক্তি (অর্থাৎ। স্কেলযোগ্য তথ্য কাঠামো, কাজ)। পরিচালিত বস্তুর উপযোগিতা সার্ভারের ব্যর্থতার ক্ষেত্রে দেখা যায়। যেহেতু পরিচালিত বস্তুগুলি লেনদেনের মাধ্যমে আপডেট করা হয়, তাই সার্ভার পুনরায় চালু করার সময় যে কোনও দূষিত ডেটা ফেলে দেওয়া হয় এবং পরিচালিত বস্তুটি তার শেষ কার্যকরী অবস্থায় ফিরিয়ে আনা হয়। চ্যানেলগুলি ডেভেলপারদের অনেক ক্লায়েন্টের সাথে যোগাযোগের একটি সহজ উপায় দেয়। চ্যানেলগুলি যেভাবে কাজ করে তা হল ক্লায়েন্টদের চ্যানেলগুলিতে সাবস্ক্রাইব করার একটি উপায় দেওয়া যাতে তারা চ্যানেলে বার্তা পাঠাতে পারে এবং চ্যানেল থেকে বার্তা গ্রহণ করতে পারে। যখন কোনও ক্লায়েন্ট বা সার্ভারের কাছ থেকে চ্যানেলে কোনও বার্তা পাঠানো হয়, তখন বার্তাটি সাবস্ক্রাইব করা সমস্ত ক্লায়েন্টের কাছে মাল্টিকাস্ট হয়। এটি অনেক ক্লায়েন্ট এবং সার্ভারের মধ্যে সহজ এবং সম্প্রসারণযোগ্য যোগাযোগের বিকাশে সহায়তা করার জন্য যোগাযোগ স্তরের উপরে নির্মিত একটি বিমূর্ততা। উল্লেখযোগ্য ব্যবহার ওপেন ওয়ান্ডারল্যান্ড-একটি 100% সহযোগিতামূলক থ্রিডি ভার্চ্যুয়াল ওয়ার্ল্ড রিসেপশন তৈরির জন্য জাভা ওপেন সোর্স টুলকিট কিছু লেখক পরামর্শ দিয়েছেন যে সেন্ট্রাল অবজেক্ট স্টোর এবং ডিস্ট্রিবিউটেড র্যান্ডম অ্যাক্সেসের পরিচালনা অত্যন্ত ইন্টারেক্টিভ গেম পরিবেশে বাস্তবসম্মতভাবে সম্ভব নাও হতে পারে। রেডডার্ফ রেডডার্ফ সার্ভার ব্যাপকভাবে মাল্টিপ্লেয়ার অনলাইন গেমের সার্ভার-সাইড বিকাশের জন্য একটি ওপেন সোর্স মিডলওয়্যার সমাধান ছিল। এটি ছিল প্রজেক্ট ডার্কস্টারের আনুষ্ঠানিক কমিউনিটি কাঁটাচামচ। একবার ওরাকল এই প্রকল্পের জন্য সমর্থন বন্ধ করে দিলে, সম্প্রদায়টি প্রজেক্ট ডার্কস্টারের সংগ্রহস্থলগুলির সর্বশেষ কোডবেসকে পুনরায় ব্র্যান্ড করে এবং এটিকে রেডডার্ফ সার্ভার হিসাবে প্রকাশ করে। রেডডার্ফ প্রজেক্ট ডার্কস্টার লাইসেন্সিং স্কিম উত্তরাধিকার সূত্রে পেয়েছিল, যেখানে রেডডার্ফ সার্ভার জিপিএলভি2-এর অধীনে বিতরণ করা হয়েছিল এবং সার্ভার এপিআইগুলি ক্লাসপথ ব্যতীত জিএনইউ জেনারেল পাবলিক লাইসেন্সের (জিপিএল) অধীনে উপলব্ধ করা হয়েছিল। জাভা এবং সি ক্লায়েন্ট এপিআই-রেডডার্ফ প্রকল্পের অংশ হিসাবে উপলব্ধ-একটি বিএসডি লাইসেন্সের অধীনে বিতরণ করা হয়েছিল। ক্লায়েন্টরা জাভা বা সি এপিআই ব্যবহার করে সার্ভারের সাথে যোগাযোগ করতে পারে। সম্প্রদায়টি সি #, পাইথন, অবজেক্টিভ-সি এবং অ্যাকশনস্ক্রিপ্ট সহ অতিরিক্ত প্ল্যাটফর্মের জন্য ক্লায়েন্ট এপিআই প্রকাশ করেছে। রেডডার্ফ সার্ভার নেটওয়ার্ক যোগাযোগের জন্য একটি অন্তর্নির্মিত প্রোটোকল ব্যবহার করে। তথ্যসূত্র বহিরাগত লিঙ্ক প্রজেক্ট ডার্কস্টার ব্যাপকভাবে মাল্টিপ্লেয়ার অনলাইন গেম নিষ্ক্রিয় ব্যাপকভাবে মাল্টিপ্লেয়ার অনলাইন গেম সান মাইক্রোসিস্টেমস সফ্টওয়্যার