منصوبے کے بارے میں

Nakama ایک اوپن سورس گیم بیک اینڈ سرور ہے جو سوشل اور ریئل ٹائم گیمز اور ایپس کے لیے ڈیزائن کیا گیا ہے۔ اس کے README کے مطابق، یہ بلٹ ان صارفین (سوشل نیٹ ورکس، ای میل، یا ڈیوائس ID کے ذریعے رجسٹر/لاگ ان)، صارف کے ریکارڈ اور سیٹنگز کے لیے اسٹوریج، دوستوں اور گروپس کے ساتھ سوشل گراف، 1-on-1/گروپ/گلوبل چیٹ جس میں تاریخ محفوظ رہتی ہے، ریئل ٹائم اور ٹرن بیسڈ ملٹی پلیئر، لیڈر بورڈز، ٹورنامنٹس، پارٹیز، خریداری کی تصدیق، اور ان ایپ نوٹیفیکیشنز پیش کرتا ہے۔ سرور کو Lua، TypeScript/JavaScript، یا نیٹیو Go میں لکھا گیا کسٹم رن ٹائم کوڈ کے ساتھ بڑھایا جا سکتا ہے۔ اس میں ایک میچ میکر، ڈیش بورڈ، میٹرکس، اور دیگر خصوصیات بھی شامل ہیں جو آفیشل دستاویزات میں بیان کی گئی ہیں۔ Nakama درخواست/جواب کے لیے gRPC یا HTTP/JSON REST فال بیک کے ذریعے، اور ریئل ٹائم ٹریفک کے لیے WebSockets یا rUDP کے ذریعے بات چیت کرتا ہے۔ اسے CockroachDB یا کسی دوسرے Postgres وائر کمپاتیبل ڈیٹا بیس کی ضرورت ہے۔ مقامی ترقی کو Docker Compose کے ساتھ تیزی سے شروع کیا جا سکتا ہے، یا نیٹیو بائنریز چلا کر۔ بائنری سیٹ اپ میں ڈیٹا بیس شروع کرنا، nakama migrate up --database.address ... چلانا، پھر nakama --database.address ... لانچ کرنا شامل ہے۔ سرور اپنی ترتیب کو بیان کرتے ہوئے JSON لاگز آؤٹ پٹ کرتا ہے۔ ایک ویب بیسڈ Nakama Console سنگل سرور بائنری میں ایمبیڈڈ ہے۔ اسے سرور APIs کے ذریعے محفوظ کردہ ڈیٹا کا معائنہ کرنے، سروس میٹرکس دیکھنے، پلیئر ڈیٹا کا انتظام کرنے، اسٹوریج آبجیکٹ کو اپ ڈیٹ کرنے، پرمیشن پروفائلز کے ساتھ رسائی کو محدود کرنے، اور ریئل ٹائم خصوصیات جیسے کہ فعال ملٹی پلیئر میچز کو دیکھنے کے لیے استعمال کیا جا سکتا ہے۔ Console ڈیفالٹ کے طور پر http://127.0.0.1:7351 پر دستیاب ہے۔ .NET (C#)، Unity، JavaScript، Java (Android کے ساتھ)، Unreal، Godot، Defold، اور Swift (iOS کے ساتھ) کے لیے آفیشل کلائنٹ لائبریریز موجود ہیں۔ پروجیکٹ کو Google Cloud، Azure، AWS، Digital Ocean، Heroku، یا کسی پرائیویٹ کلاؤڈ جیسے کلاؤڈ پرووائیڈرز پر ڈیپلو کیا جا سکتا ہے؛ README Nakama اور CockroachDB کے لیے الگ الگ نوڈز کی سفارش کرتا ہے۔ Heroic Cloud ایک منیجڈ ڈیپلویمنٹ آپشن کے طور پر پیش کیا جاتا ہے۔ کنٹریبیوٹرز Go کے ساتھ سورس سے بنا سکتے ہیں۔ ریپوزٹری ڈیپینڈنسیز کو وینڈر کرتی ہے اور go build -trimpath -mod=vendor کے ساتھ سادہ بلڈز کو سپورٹ کرتی ہے۔ مکمل سورس بلڈز میں Protocol Buffers، gRPC، grpc-gateway، اور buf ٹولز انسٹال کرنا، پھر ./buf.sh کے ساتھ کوڈ کو دوبارہ جنریٹ کرنا شامل ہے۔ یونٹ اور انٹیگریشن ٹیسٹ docker-compose-tests.yml کے ذریعے چلتے ہیں۔ پروجیکٹ Apache-2.0 کے تحت لائسنس یافتہ ہے۔