منصوبے کے بارے میں
GoWorld ایک قابل توسیع تقسیم شدہ گیم سرور انجن ہے جو Golang میں لکھا گیا ہے، اور یہ ملٹی پلیئر آن لائن گیمز بنانے کے لیے ڈیزائن کیا گیا ہے۔ اس میں ایک انٹیٹی فریم ورک شامل ہے جہاں کھلاڑی، مونسٹرز، اور NPCs کو انٹیٹیز کے طور پر پیش کیا جاتا ہے۔ ایک ہی اسپیس کے اندر موجود انٹیٹیز براہ راست طریقہ کالز یا ایٹریبیٹ تک رسائی کے ذریعے تعامل کر سکتی ہیں، جبکہ مختلف اسپیسز میں موجود انٹیٹیز RPC کے ذریعے بات چیت کرتی ہیں۔
سرور کا فن تعمیر ایک ڈسپیچر، ایک یا زیادہ گیم پروسیسز، اور ایک یا زیادہ گیٹ پروسیسز پر مشتمل ہے۔ گیٹس کلائنٹ کنکشنز اور پیکٹ کی ترسیل کو سنبھالتے ہیں، گیمز انٹیٹیز کا انتظام کرتے ہیں اور گیم لاجک چلاتے ہیں، اور ڈسپیچر گیمز اور گیٹس کے درمیان پیکٹوں کو روٹ کرتا ہے۔ ایک اہم خصوصیت ہاٹ سویپنگ ہے: گیم پروسیسز کو SIGHUP بھیج کر اور -restore پیرامیٹر کے ساتھ دوبارہ شروع کر کے دوبارہ لوڈ کیا جا سکتا ہے، جس سے سرور سائیڈ لاجک میں اپ ڈیٹس کھلاڑیوں کی نمایاں رکاوٹ کے بغیر ممکن ہوتی ہیں۔
GoWorld متعدد کمیونیکیشن پروٹوکولز کو سپورٹ کرتا ہے جن میں TCP، KCP، اور WebSocket شامل ہیں، اور یہ کلائنٹ اور سرور کے درمیان ٹریفک کمپریشن اور انکرپشن پیش کرتا ہے۔ اس میں ایک کمانڈ لائن ٹول 'goworld' شامل ہے جو سرورز کو بنانے، شروع کرنے، روکنے، اور دوبارہ لوڈ کرنے کے لیے استعمال ہوتا ہے۔ ریپوزٹری میں ڈیمو شامل ہیں جیسے چیٹ روم اور Unity پر مبنی ملٹی پلیئر شوٹنگ گیم، جس کے کلائنٹ JavaScript (Cocos Creator) اور C# (Unity) میں ہیں۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.