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

GameNetworkingSockets ایک کراس پلیٹ فارم ٹرانسپورٹ پرت ہے جو گیمز کے لیے ڈیزائن کی گئی ہے۔ یہ ایک کنکشن پر مبنی API فراہم کرتا ہے جو اسٹریم پر مبنی کے بجائے پیغام پر مبنی ہے۔ لائبریری قابل اعتماد اور غیر قابل اعتماد پیغام کی اقسام کو سپورٹ کرتی ہے، جس میں بنیادی MTU سے بڑے پیغامات کے لیے خودکار ٹکڑے کرنا، دوبارہ جوڑنا، اور دوبارہ ترسیل شامل ہے۔ ایک قابل اعتماد پرت DCCP (RFC 4340) اور QUIC سے متاثر ایک ack-vector ماڈل استعمال کرتی ہے، جو موثر وصول کنندہ رپورٹ شدہ پیکٹ کی حیثیت اور بھیجنے والے کی طرف سے دوبارہ ترسیل کے فیصلوں کو قابل بناتی ہے۔ فی پیکٹ انکرپشن AES-256-GCM استعمال کرتی ہے، جس میں Curve2559 کلیدی تبادلہ اور سرٹیفکیٹ دستخط Google QUIC ڈیزائن کے اصولوں پر عمل کرتے ہیں۔ اضافی خصوصیات میں پیکٹ میں تاخیر اور نقصان کی نقل کرنے کے لیے ٹولز، تفصیلی اعداد و شمار کی پیمائش، اور ہیڈ آف لائن بلاکنگ کنٹرول شامل ہے جس میں متعدد پیغام اسٹریمز (لینز) میں بینڈوتھ شیئرنگ ترجیح یا وزنی فیئر کیوئنگ کے ذریعے ہوتی ہے۔ پیر ٹو پیر کنیکٹیویٹی Google WebRTC ICE کا استعمال کرتے ہوئے NAT ٹریورسل کے ذریعے سہولت فراہم کی جاتی ہے، جس میں پلگ ان سگنلنگ سپورٹ اور ایک ہم آہنگ کنیکٹ موڈ شامل ہے۔ SteamNetworkingMessages نامی ایک انٹرفیس UDP پر مبنی کوڈ کو P2P منظرناموں میں پورٹ کرنے میں مدد کرتا ہے جو ہر بھیجے پر وصول کنندہ کے پتے بتاتا ہے۔ IPv6 سپورٹ ہے۔ لائبریری کراس پلیٹ فارم استعمال کے لیے کنسولز، موبائل پلیٹ فارمز، اور غیر Steam اسٹورز پر بھیجی گئی ہے۔ اس میں اعلیٰ سطحی انٹیٹی سیریلائزیشن، ڈیلٹا انکوڈنگ، یا کمپریشن شامل نہیں ہے۔ عوامی ہیڈر include/steam میں ہیں، جو ISteamNetworkingSockets انٹرفیس پر مرکوز ہیں۔ ایک سادہ C انٹرفیس زبان کی بائنڈنگز کو قابل بناتا ہے، جس میں C#، Go، اور Rust کے لیے تیسری پارٹی کی بائنڈنگز دستیاب ہیں۔ 'Steam' کا نام Steamworks SDK API کے ایک ذیلی سیٹ کی عکاسی کرتا ہے اور استعمال کے لیے ضروری نہیں ہے؛ کوڈ آزادانہ طور پر استعمال کیا جا سکتا ہے۔ سیکیورٹی کے مسائل شائع شدہ سیکیورٹی پالیسی کے ذریعے ذمہ داری سے رپورٹ کیے جا سکتے ہیں۔ تعمیراتی ہدایات BUILDING.md میں ہیں۔