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

Lightyear ایک نیٹ ورکنگ لائبریری ہے جو Bevy گیم انجن کے ساتھ سرور-مستند ملٹی پلیئر گیمز لکھنے کے لیے ہے۔ یہ WebTransport کے ذریعے WebAssembly کے ساتھ مطابقت رکھتی ہے اور Rust crate کے طور پر تقسیم کی جاتی ہے (Bevy 0.19 کے لیے lightyear = "0.30")۔ شروع کرنا: ریپوزٹری میں مثالیں، ایک ٹیوٹوریل جو simple_box مثال کو دوبارہ تخلیق کرتا ہے، اور مزید دستاویزات کے لیے ایک جاری کتاب شامل ہے۔ ریپوزٹری کی ترتیب: ورک اسپیس کے crates crates/ کے تحت رہتے ہیں، کردار کے لحاظ سے گروپ کیے گئے ہیں، جہاں ڈائریکٹری کے نام lightyear_ کا سابقہ چھوڑ دیتے ہیں جبکہ Cargo پیکیج کے نام اسے برقرار رکھتے ہیں۔ گروپس میں io (کم سطح کے لنکس اور بیک اینڈز جیسے aeronet، link، udp، crossbeam، websocket، webtransport)، connection (connection، raw_connection، netcode، steam)، core (اعلیٰ سطح کا lightyear crate نیز core، sync، utils، frame interpolation)، inputs (inputs، inputs_native، input_bei، inputs_leafwing)، replication (replication، prediction، interpolation)، transport (serialization، transport، message)، integration (Bevy ایکو سسٹم کے انضمام جیسے Avian)، اور platform، deterministic، tools اور tests crates شامل ہیں۔ README میں بیان کردہ خصوصیات: - ٹرانسپورٹ-ایگنوسٹک IO: UDP ساکٹ، نیز WebSocket، Steam اور WebTransport سپورٹ کے لیے aeronet۔ - سیریلائزیشن: postcard ڈیفالٹ سیریلائزر ہے، جس میں کسٹم سیریلائزیشن فنکشن فراہم کرنے کی حمایت ہے۔ - پیغام رسانی: مختلف آرڈرنگ اور بھروسے کی ضمانتوں کے ساتھ چینلز، اور تقریباً 1200 بائٹس سے بڑے پیغامات کے لیے پیکٹ فریگمنٹیشن۔ - ان پٹ ہینڈلنگ: کھلاڑی کے ان پٹ ہر ٹک پر کلائنٹ پر بفر کیے جاتے ہیں، اور ٹک N کے لیے کلائنٹ ان پٹ سرور پر ٹک N پر پروسیس ہوتا ہے؛ ان پٹ پیکٹ نقصان سے محفوظ رہتے ہیں کیونکہ ہر پیکٹ میں حالیہ فریم شامل ہوتے ہیں۔ leafwing-input-manager اور bevy-enhanced-input کے لیے اختیاری انضمام موجود ہیں۔ - ڈیٹرمنسٹک ریپلیکیشن: اس وقت سپورٹ شدہ جب صرف ان پٹ ریپلیکیٹ ہوں اور سمیولیشن ڈیٹرمنسٹک ہو؛ lockstep اور prediction/rollback کے ساتھ مطابقت رکھتا ہے۔ - ورلڈ ریپلیکیشن: ریپلیکیشن، دلچسپی کے انتظام، پری اسپوننگ اور متعلقہ خصوصیات کے لیے bevy_replicon استعمال کرتا ہے۔ - اعلیٰ درجے کی ریپلیکیشن: rollback کے ساتھ کلائنٹ سائیڈ پیشن گوئی، سنیپ شاٹ انٹرپولیشن، قابل ترتیب ان پٹ تاخیر، ترجیحی بھیجنے کے ساتھ بینڈوتھ مینجمنٹ، اور پیشن گوئی شدہ اور انٹرپولیٹڈ ہستیوں کے درمیان تعاملات کے لیے lag معاوضہ۔ - ٹوپولاجیز: کلائنٹ-سرور، P2P، اور ہوسٹ-کلائنٹ موڈ جہاں ایک کلائنٹ سرور کا کام کرتا ہے۔ - مثالیں: متعدد مثالیں جو خصوصیات اور دیگر Bevy crates جیسے avian کے ساتھ انضمام کو کور کرتی ہیں۔ README متعلقہ پروجیکٹس بھی درج کرتا ہے، بشمول lightyear-template اسٹارٹر پروجیکٹ اور Lumina اور cycles.io جیسے گیمز، اور ایک مطابقت کی جدول جو Lightyear ورژنز کو Bevy ورژنز سے ملاتی ہے (0.28-0.30 سے Bevy 0.19، 0.26-0.27 سے 0.18، 0.25 سے 0.17، 0.20-0.24 سے 0.16، 0.18-0.19 سے 0.15، 0.16-0.17 سے 0.14، 0.10-0.15 سے 0.13، اور 0.1-0.9 سے 0.12)۔