منصوبے کے بارے میں
Gamend ملٹی پلیئر گیمز کے لیے ایک اوپن سورس بیک اینڈ ہے، جو Elixir میں لکھا گیا ہے۔ اس کا مقصد سیلف ہوسٹنگ ہے: خریدنے کے لیے کوئی ہوسٹڈ سروس نہیں ہے، اور یہ پروجیکٹ خود کو گیم کے گرد سرور سائیڈ لیئر کے طور پر پیش کرتا ہے، نہ کہ خود گیم کے طور پر۔ گیم اب بھی مقامی طور پر رینڈر اور سمولیٹ ہوتی ہے، جبکہ سرور سائیڈ اسکرپٹنگ اصل لاجک کو سرور پر چلانے دیتی ہے، لہٰذا اسکورنگ، انعامات، میچ میکنگ کے قواعد اور تصدیق وہاں طے ہوتی ہے جہاں کھلاڑی انہیں تبدیل نہیں کر سکتے۔ بیک گراؤنڈ اور شیڈولڈ جابز بھی وہیں چلتی ہیں۔
README میں بیان کردہ خصوصیات:
- Auth: ای میل/پاس ورڈ، میجک لنک، OAuth (Discord، Google، Apple، Facebook، GitHub، Steam) اور JWT API ٹوکنز۔
- Users: پروفائلز، میٹا ڈیٹا، ڈیوائس ٹوکنز اور اکاؤنٹ لائف سائیکل۔
- Lobbies: میزبان کے زیر انتظام، زیادہ سے زیادہ صارفین، مخفی/مقفل حالتیں، پاس ورڈز اور ریئل ٹائم اپ ڈیٹس۔
- Groups: عوامی، نجی یا مخفی کمیونٹیز بشمول رولز، جوائن ریکویسٹس اور دعوتیں۔
- Parties: عارضی دعوت پر مبنی گروپس، بطور ڈیفالٹ 2–32 کھلاڑی، لابی کے ساتھ مربوط۔
- Friends: درخواستیں، قبول/مسترد اور بلاکنگ۔
- Chat: لابی، گروپ، پارٹی اور دوستوں کے ڈائریکٹ میسجز بشمول ریڈ کرسرز اور ان ریڈ کاؤنٹس۔
- Notifications: سوشل ایونٹس کے لیے ٹائپ شدہ اطلاعات، ریڈ/ان ریڈ حالت اور ریئل ٹائم ڈیلیوری، نیز FCM اور APNs-ڈائریکٹ موبائل پش جو فی ڈیوائس ٹوکن روٹ ہوتی ہے۔
- Quests and progression: ایک ایونٹ ڈریون انجن جو اچیومنٹس، روزانہ/ہفتہ وار کوئسٹس، ایونٹ ونڈوز اور چینز کا احاطہ کرتا ہے، معیشت میں exactly-once انعامات کے ساتھ۔
- Leaderboards: عالمی اور فی صارف رینکنگز۔
- Payments: Stripe Checkout، Google Play، App Store اور Steam پرووائیڈر فلو بشمول رسید کی تصدیق، ویب ہکس، انٹائٹلمنٹس، ریفنڈز اور ایڈمن ٹولز۔
- Key-value store: سرور سائیڈ اسٹوریج بشمول ایکسیس کنٹرول ہکس۔
- Server scripting: سرور ایونٹس پر ہکس جیسے لاگ ان، لابی بنی یا کوئسٹ مکمل ہوئی، Elixir، GDScript (interpreted کے بجائے compiled) یا کسی بھی BEAM زبان میں لکھی گئی۔
- Background jobs: سرور ہکس سے پائیدار، دوبارہ قابل کوشش بیک گراؤنڈ اور کرون جابز، Postgres یا SQLite پر۔
- Economy and inventory: ورچوئل کرنسی والٹس بشمول ایٹامک، قابل آڈٹ لیجر، نیز آئٹم اسٹیکس؛ سرور اتھارٹی کے ساتھ گرانٹ/اسپینڈ/کنسوم اور لائیو بیلنس اپ ڈیٹس۔
- Object storage: ایواٹار اور UGC اپ لوڈز بشمول پلگ ایبل بیک اینڈ، یا تو لوکل ڈسک یا کوئی بھی S3-کمپیٹیبل سروس جیسے AWS S3، Cloudflare R2 یا MinIO۔
- Admin portal: وسائل کے انتظام کے لیے ایک بلٹ اِن ویب ڈیش بورڈ۔
کلائنٹ SDKs فراہم کیے گئے ہیں: Godot (Godot Asset Library پر بھی درج)، Rune بذریعہ Balaur ایڈونز، C++17 بشمول پلگ ایبل ٹرانسپورٹس، JavaScript npm پر، اور Elixir SDK جو کسٹم ہکس میں IDE آٹو کمپلیٹ کے لیے اسٹب ماڈیولز پر مشتمل ہے۔ Godot، Balaur اور C++ SDKs ہر بار main میں تبدیلی پر دوبارہ بنائے جاتے ہیں اور تازہ ترین ریلیز کے ساتھ منسلک کیے جاتے ہیں۔
مقامی طور پر چلانے کے لیے Elixir 1.20 اور Erlang/OTP 29، WebRTC نیٹو ڈیپنڈنسی (ex_sctp) کے لیے Rust، اور اختیاری طور پر PostgreSQL درکار ہے — ڈیولپمنٹ بطور ڈیفالٹ SQLite استعمال کرتی ہے، ڈیٹا بیس اڈاپٹر کمپائل ٹائم پر منتخب ہوتا ہے۔ پہلا رن `cp .env.example .env`، `mix setup`، `mix dev.start` ہے، پھر localhost:4000 پر جائیں۔ Docker Compose فائلیں ایک سنگل انسٹینس اور nginx، PostgreSQL اور Redis کے ساتھ ملٹی انسٹینس سیٹ اپ کا احاطہ کرتی ہیں۔ ڈیپلائمنٹ گائیڈنس اور ایک اسٹارٹر ٹیمپلیٹ fly.io پر پروڈکشن ڈیپلائمنٹ کو ہدف بناتے ہیں۔
README میں مشین سائز، میموری اور ماہانہ قیمت کے لحاظ سے کنکرنٹ آئیڈل کھلاڑیوں کا موازنہ کرنے والا ایک پرفارمنس چارٹ بھی شامل ہے، جس میں ایک کور اور 3 GB کے ساتھ 37,854 کنکرنٹ آئیڈل کھلاڑیوں کی ماپا گئی تعداد کا حوالہ دیا گیا ہے، ایک شائع شدہ موازنے کے اعداد و شمار کے مقابلے میں، بشمول پرفارمنس اور لوڈ ٹیسٹنگ ڈاکیومنٹیشن کے لنکس تاکہ تفصیلات دوبارہ حاصل کی جا سکیں۔ AI ٹولنگ کے لیے ایک AGENTS.md فائل فراہم کی گئی ہے۔
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.