HeadlinesBriefing favicon HeadlinesBriefing.com

تشغيل RuneScape على خط 56k في 2004

Hacker News •
×

في عام 2004، لعبت RuneScape على جهاز اقتران 56k كان يتعطل كلما ارتقت أمي للهاتف. كان عالم ثلاثي الأبعاد يمكنه مع حتى عدة آلاف من اللاعبين يعمل بالكامل في المتصفح. كان يعمل بفضل تمرين مستمر لعدم إضاعة البايتات. عند النقر على بلسة شمالية، يسافر كل بايت من النقرة إلى الخادم ثم إلى شاشة لاعب آخر. النافذة المركزية، فاروك سكوار. تأتي التفاصيل من عميل RuneScape 2 الذي تم تفكيكه في عام 2004. كانت القيود صارمة: جهاز الاقتران 56k يتمتع بسرعة تنزيل 56 كيلوبتا في الثانية، وفقًا على 5 كيلوبايت في الثانية، مع أقل من رفع. كان اتصال النطاق الباست راقي متاحًا بحلول عام 2000، لكن معظم المستكشفات في المملكة المتحدة ظللت على الاقتران حتى أواخر الألفينات. كانت تطبيقات جافا تعمل في ساحة أمان، وتمنع الأطباق الأصلية غير المنصوصة وUDP. يسافر كل بايت عبر اتصال TCP واحد، بالترتيب، مع عبء كل فاصل. يتقدم خادم اللعبة في دورات منفصلة تقريبًا كل 600 مللي ثانية. بعد يد الصمام لتسجيل الدخول، يتم إعداد طبقة تشفير صغيرة. يبدأ كل حزمة ببايت من رمز التعمية، المشفر باستخدام تشفير تدفق يُسمى ISAAC. هناك تياران - واحد من العميل إلى الخادم، وآخر عكسي. يحتاج الطرفان إلى الاثنين. يولد العميل رقمين بذر؛ يوفر الخادم الرقمين الآخرين كجزء من اليد. يضيف تيار الخادم إلى العميل 50 إلى كل كلمة للحفاظ على الاتجاهات منفصلة. في الاتجاه الخارجي، تقوم سطر واحد بتشفير رمز التعمية: putOpcode(int opcode) { this.putByte(opcode + this.outboundCipher.value()); } في الاتجاه الداخلي، يسترجع المرآة ذلك: currentOpcode = (currentOpcode - this.inboundCipher.value()) & 0xFF; تم تشفير رمز التعمية فقط، مما يحمي ضد محللي الطرف الثالث. عند إرسال طلب المشي، يتم تشغيل بحث عرضي قبل أي شيء من الأنواع المنزلجة.