প্রকল্প সম্পর্কে

Nakama হল একটি ওপেন-সোর্স গেম ব্যাকএন্ড সার্ভার, যা সামাজিক এবং রিয়েলটাইম গেম ও অ্যাপ্লিকেশনের জন্য ডিজাইন করা হয়েছে। এর README অনুযায়ী, এটি বিল্ট-ইন ব্যবহারকারী (সামাজিক নেটওয়ার্ক, ইমেল, বা ডিভাইস ID-এর মাধ্যমে নিবন্ধন/লগইন), ব্যবহারকারীর রেকর্ড এবং সেটিংয়ের জন্য স্টোরেজ, বন্ধু এবং গ্রুপ সহ একটি সামাজিক গ্রাফ, 1-on-1/গ্রুপ/গ্লোবাল চ্যাট পার্সিস্টেড হিস্টরি সহ, রিয়েলটাইম এবং টার্ন-ভিত্তিক মাল্টিপ্লেয়ার, লিডারবোর্ড, টুর্নামেন্ট, পার্টি, ক্রয় যাচাইকরণ, এবং ইন-অ্যাপ নোটিফিকেশন প্রদান করে। সার্ভারটি Lua, TypeScript/JavaScript, অথবা নেটিভ Go-তে লেখা কাস্টম রানটাইম কোড দিয়ে প্রসারিত করা যায়। এটি একটি ম্যাচমেকার, ড্যাশবোর্ড, মেট্রিক্স, এবং অন্যান্য বৈশিষ্ট্যও অন্তর্ভুক্ত করে, যা অফিসিয়াল ডকুমেন্টেশনে বর্ণিত হয়েছে। Nakama gRPC অথবা HTTP/JSON REST ফলব্যাক-এর মাধ্যমে request/response-এর জন্য, এবং WebSockets অথবা rUDP-এর মাধ্যমে রিয়েলটাইম ট্রাফিকের জন্য যোগাযোগ করে। এটি CockroachDB অথবা অন্য কোনো Postgres ওয়্যার-কম্প্যাটিবল ডাটাবেস প্রয়োজন। স্থানীয় ডেভেলপমেন্ট দ্রুত Docker Compose-এর মাধ্যমে, অথবা নেটিভ বাইনারি চালিয়ে শুরু করা যায়। বাইনারি সেটআপে ডাটাবেস শুরু করা, nakama migrate up --database.address ... চালানো, তারপর nakama --database.address ... চালু করা জড়িত। সার্ভারটি তার কনফিগারেশন বর্ণনা করে JSON লগ আউটপুট দেয়। একটি ওয়েব-ভিত্তিক Nakama Console একক সার্ভার বাইনারিতে এমবেড করা আছে। এটি সার্ভার API-এর মাধ্যমে সংরক্ষিত ডেটা পরিদর্শন করতে, সার্ভিস মেট্রিক্স দেখতে, প্লেয়ার ডেটা পরিচালনা করতে, স্টোরেজ অবজেক্ট আপডেট করতে, পারমিশন প্রোফাইল দিয়ে অ্যাক্সেস সীমাবদ্ধ করতে, এবং সক্রিয় মাল্টিপ্লেয়ার ম্যাচ-এর মতো রিয়েলটাইম বৈশিষ্ট্য দেখতে ব্যবহার করা যায়। কনসোলটি ডিফল্টরূপে 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 লাইসেন্সের অধীনে।