Project Darkstar
پروجیکٹ ڈارک اسٹار جاوا میں لکھا گیا ایک اوپن سورس ایم ایم او جی مڈل ویئر حل تھا۔ پروجیکٹ ڈارک اسٹار کا آغاز 1999 میں جیف کیسلمین کے ذاتی پروجیکٹ کے طور پر ہوا۔ یہ بعد میں سن مائیکرو سسٹمز میں ایک تحقیقی منصوبہ بن گیا، اور اس کا مقصد "ڈویلپرز اور آپریٹرز کو بڑے پیمانے پر آن لائن گیمز، ورچوئل ورلڈز، اور سوشل نیٹ ورکنگ ایپلی کیشنز سے وابستہ سنگین، لیکن عام مسائل سے بچنے میں مدد کرنا ہے، جن میں زون اوور لوڈنگ، ڈیٹا کرپشن، اور سرور کا کم استعمال شامل ہے۔" ہسٹری پروجیکٹ ڈارک اسٹار کا آغاز 1999 میں جیف کیسلمین کے ذاتی پروجیکٹ کے طور پر ہوا جب وہ ٹوٹل انٹرٹینمنٹ نیٹ ورک میں سینئر گیم انٹیگریشن انجینئر تھے۔ 2004 میں، سن کا گیم ٹیکنالوجی گروپ تشکیل دیا گیا، اور اس وقت مسٹر کیسلمین نے اس منصوبے کی تیسری تکرار کو سن میں لایا جہاں اسے سن گیم سرور کا نام دیا گیا۔ (پروجیکٹ ڈارک اسٹار سرور کے پیکیج کے ناموں میں ایس جی ایس مانیکر آج تک موجود ہے۔) مسٹر کیسلمین نے سن میں ایک سولو پروجیکٹ کے طور پر ایک سال کے لیے تیسرے ورژن پر کام کیا، اس سال گیم ڈویلپرز کانفرنس میں ابتدائی ورژن کا آغاز کیا۔ 2005 میں سافٹ ویئر سی ٹی او کے دفتر کی تنظیم نو کے بعد، اس منصوبے کو سن لیبز کے ڈائریکٹر کارل ہیبرل کے تحت سن لیبز میں منتقل کر دیا گیا۔ کارل نے افرادی قوت میں اضافہ کیا، سیٹھ پراکٹر اور ڈین ایلارڈ کو شریک محققین کے ساتھ ساتھ ٹھیکیدار جیمز میگکائر اور اسٹین اینڈرسن کو بھی شامل کیا۔ اس ٹیم نے جی ڈی سی 2005 کے لیے وہ فراہم کیا جو اب ارلی ایکسیس ورژن کے نام سے جانا جاتا ہے، جو پہلا کام کرنے والا سرور ہے۔ 2 فروری 2010 کو، اوریکل کے ذریعہ سن کی خریداری کے تناظر میں، جم والڈو نے "پروجیکٹ اعلان" فورم پر پوسٹ کیا کہ "سن لیبز کی انجینئرنگ کی کوشش اب ڈارک اسٹار کی ترقی پر لاگو نہیں ہو رہی ہے"۔ سن لیبز ٹیم کے متعدد ارکان اور ڈارک اسٹار کمیونٹی کے متعدد ارکان نے ڈارک اسٹار کے جانشین کے طور پر ریڈ ڈوارف سرور پر کچھ وقت کے لیے کام کیا۔ خصوصیات جب پروجیکٹ ڈارک اسٹار سرور کا نفاذ چلایا جاتا ہے، تو یہ یا تو ایک نیا نیٹ ورک شروع کرتا ہے یا اس میں شامل ہو جاتا ہے جو اس وقت چل رہا ہے۔ تمام نیٹ ورکس میں کلائنٹ، سرور کا نفاذ، ایک پروجیکٹ ڈارک اسٹار اسٹیک ہوتا ہے جس پر سرور کا نفاذ چلتا ہے، اور کئی میٹا سروس نوڈس ہوتے ہیں جو سرور اسٹیک میں ہر نوڈ کے درمیان ٹریفک کو سنبھالتے ہیں۔ سرور کا نفاذ ایک صارف کا بنایا ہوا پروگرام ہے جو پروجیکٹ ڈارک اسٹار API کے ساتھ لکھا جاتا ہے۔ کلائنٹس میں تمام کلائنٹ سائیڈ ایپلی کیشنز اور گیمز شامل ہیں جو نیٹ ورک میں گیم سرور سے منسلک ہوتے ہیں۔ پروجیکٹ ڈارک اسٹار کو بڑے پیمانے پر ملٹی پلیئر گیم کے لیے اہم تمام خصوصیات کی حمایت کرنے کے لیے تیار کیا جا رہا ہے، اور ایک ہی وقت میں غیر بڑے پیمانے پر ملٹی پلیئر آن لائن گیمز کی حمایت کرنے کے لیے کافی توسیع پذیر ہے۔ اس طرح، بہت سی خصوصیات ہیں جن کی یہ حمایت کرتا ہے، اور بہت سی خصوصیات ہیں جن پر عمل درآمد کیا جا رہا ہے اور فعال طور پر اس میں ضم کیا جا رہا ہے۔ سی پی یو لوڈ بیلنسنگ میٹا سروسز برکلے ڈی بی ٹرانزیکشنز کا استعمال کرتے ہوئے مستقل ڈیٹا اسٹوریج ڈوپنگ پریوینشن چینل کمیونیکیشن اسکیل ایبل ڈیٹا اسٹرکچرز پلگ ایبل پروٹوکولز ایڈمنسٹریٹو ٹولز پروجیکٹ ڈارک اسٹار کا اے پی آئی ان ڈویلپرز کے لیے کلیدی جزو ہے جو ٹیکنالوجی استعمال کرتے ہیں۔ اس کے ساتھ، وہ اپنی کلائنٹ ٹیکنالوجی کے ساتھ صحیح طریقے سے بات چیت کرنے کے لیے گیم سرور تیار کر سکتے ہیں اور ایک سرور بنا سکتے ہیں جو پروجیکٹ ڈارک اسٹار گیم اسٹیک کے اوپر چلتا ہے۔ اے پی آئی بنیادی نظام کی ہم آہنگی کو چھپانے کے لیے لکھا گیا ہے جو پروجیکٹ ڈارک اسٹار اسٹیک ڈویلپر کے لیے انجام دیتا ہے، تاکہ پروگرام کو اس وہم کے ساتھ لکھا جا سکے کہ یہ سنگل تھریڈڈ ہے، حالانکہ اسٹیک مکمل طور پر متوازی ہے۔ اے پی آئی کے اہم حصوں میں ٹاسک مینجمنٹ، ڈیٹا کی استقامت، اور چینل مواصلات شامل ہیں۔ پروجیکٹ ڈارک اسٹار سرور میں معلومات کا کنٹرول عام طور پر کاموں کے ذریعے سنبھالا جاتا ہے، حالانکہ کچھ خاص معاملات میں وہ ضروری نہیں ہوتے ہیں۔ ان کا استعمال ان مثالوں میں کیا جاتا ہے جہاں ڈیٹا کو ذخیرہ کرنے یا دوبارہ حاصل کرنے کو سرور کریش یا شٹ ڈاؤن سے محفوظ رکھنا ضروری ہے، کیونکہ کاموں کو محفوظ کیا جاتا ہے اور جب وہ چلائے جاتے ہیں تو انہیں یاد رکھا جاتا ہے، اور جب سرور کو اسی حالت میں دوبارہ شروع کیا جاتا ہے جس میں وہ کریش سے پہلے تھے تو انہیں ریسپون کیا جا سکتا ہے۔ مثال کے طور پر، کردار کی معلومات کو اپ ڈیٹ کرتے وقت یہ مفید ہے۔ اگر سرور کے ساتھ اندرونی طور پر کچھ غلط ہو جاتا ہے، تو کردار کی معلومات برقرار رہتی ہے اور سرور کو دوبارہ شروع کرنے پر کردار کی معلومات کو کریش سے پہلے کی آخری حالت سے بحال کر دیا جائے گا۔ پروجیکٹ ڈارک اسٹار کے ذریعہ استعمال ہونے والا برکلے ڈی بی ان تمام اعداد و شمار کو محفوظ کرتا ہے جنہیں برقرار رکھا جانا ہے۔ ڈیٹا بیس میں جو کچھ بھی ذخیرہ کیا جانا ہے وہ بھی سیریلائز ہونا چاہیے، کیونکہ ڈیٹا بیس بائنری معلومات کو ذخیرہ کرنے کے لیے پروگرام کیا گیا ہے۔ ایک منظم آبجیکٹ پلیئر ڈیٹا سے کچھ بھی ہو سکتا ہے (یعنی۔ پوزیشن، آلات) سے اندرونی سرور ڈیٹا اور کنٹرول منطق (یعنی۔ اسکیل ایبل ڈیٹا ڈھانچہ، کام)۔ منظم اشیاء کی افادیت سرور کی ناکامی کی صورت میں دیکھی جاتی ہے۔ چونکہ منظم اشیاء کو ٹرانزیکشن کے ذریعے اپ ڈیٹ کیا جاتا ہے، اس لیے سرور کے دوبارہ شروع ہونے پر کوئی بھی خراب ڈیٹا خارج کر دیا جاتا ہے اور منظم آبجیکٹ کو اس کی آخری کام کرنے والی حالت میں واپس لایا جاتا ہے۔ چینل ڈویلپرز کو بہت سے کلائنٹس کے ساتھ بات چیت کرنے کا ایک آسان طریقہ فراہم کرتے ہیں۔ چینل جس طرح کام کرتے ہیں وہ کلائنٹس کو چینلز کو سبسکرائب کرنے کا ایک طریقہ دینا ہے تاکہ وہ چینل پر پیغامات بھیج سکیں اور چینل سے پیغامات وصول کر سکیں۔ جب کسی کلائنٹ یا سرور کی طرف سے چینل پر کوئی پیغام بھیجا جاتا ہے، تو پیغام ان تمام کلائنٹس کے لیے ملٹی کاسٹ ہوتا ہے جو اس کے سبسکرائب ہوتے ہیں۔ یہ بہت سے کلائنٹس اور سرور کے درمیان آسان اور توسیع پذیر مواصلات کی ترقی میں مدد کے لیے مواصلاتی پرت کے اوپر بنایا گیا ایک خلاصہ ہے۔ قابل ذکر استعمال اوپن ونڈر لینڈ-ایک 100% جاوا اوپن سورس ٹول کٹ باہمی تعاون پر مبنی 3D ورچوئل ورلڈ استقبالیہ بنانے کے لیے کچھ مصنفین نے تجویز کیا ہے کہ سینٹرل آبجیکٹ اسٹور اور ڈسٹری بیوٹڈ رینڈم ایکسیس کا انتظام انتہائی انٹرایکٹو گیم ماحول میں حقیقت پسندانہ طور پر ممکن نہیں ہو سکتا ہے۔ ریڈ ڈوارف ریڈ ڈوارف سرور بڑے پیمانے پر ملٹی پلیئر آن لائن گیمز کے سرور سائیڈ کو تیار کرنے کے لیے ایک اوپن سورس مڈل ویئر حل تھا۔ یہ پروجیکٹ ڈارک اسٹار کا باضابطہ کمیونٹی فورک تھا۔ ایک بار جب اوریکل نے اس پروجیکٹ کے لیے سپورٹ بند کر دی تو کمیونٹی نے پروجیکٹ ڈارک اسٹار کے ذخائر کے تازہ ترین کوڈ بیس کو دوبارہ برانڈ کیا اور اسے ریڈ ڈوارف سرور کے طور پر جاری کیا۔ ریڈ ڈوارف کو پروجیکٹ ڈارک اسٹار لائسنسنگ اسکیم وراثت میں ملی، جس میں ریڈ ڈوارف سرور کو جی پی ایل وی 2 کے تحت تقسیم کیا گیا اور سرور اے پی آئی کو کلاس پاتھ کے استثناء کے ساتھ جی این یو جنرل پبلک لائسنس (جی پی ایل) کے تحت دستیاب کرایا گیا۔ جاوا اور سی کلائنٹ اے پی آئی-جو ریڈ ڈوارف پروجیکٹ کے حصے کے طور پر دستیاب ہیں-کو بی ایس ڈی لائسنس کے تحت تقسیم کیا گیا تھا۔ کلائنٹ جاوا یا سی اے پی آئی کا استعمال کرتے ہوئے سرور کے ساتھ بات چیت کر سکتے ہیں۔ کمیونٹی نے اضافی پلیٹ فارمز کے لیے کلائنٹ API بھی جاری کیے جن میں C #، ازگر، مقصد-C، اور ایکشن اسکرپٹ شامل ہیں۔ ریڈ ڈوارف سرور نیٹ ورک مواصلات کے لیے بلٹ ان پروٹوکول کا استعمال کرتا ہے۔ حوالہ جات بیرونی روابط پروجیکٹ ڈارک اسٹار بڑے پیمانے پر ملٹی پلیئر آن لائن گیمز غیر فعال بڑے پیمانے پر ملٹی پلیئر آن لائن گیمز سن مائیکرو سسٹمز سافٹ ویئر