عن المشروع

ioGame هو إطار عمل شبكي بلغة جافا مصمم للألعاب عبر الإنترنت وإنترنت الأشياء والأنظمة الداخلية التي تتطلب اتصالات مستمرة. يركز على بنية خالية من الأقفال وغير متزامنة وقائمة على الأحداث تدعم العنقودية والتوزيع بشكل جاهز، دون الحاجة إلى برمجيات وسيطة أو قواعد بيانات خارجية—فقط جهاز افتراضي جافا (JVM). تشمل الميزات الرئيسية: - **خفيف الوزن**: ملف صغير (~15 ميجابايت)، بدء تشغيل سريع (<1 ثانية)، واستهلاك منخفض للذاكرة. - **بنية مرنة**: تصميم من ثلاثة أجزاء (الخادم الخارجي، الوسيط/البوابة، خادم منطق اللعبة) يمكن تشغيلها بشكل مستقل أو مدمج معًا، متكيفًا مع أي نوع من الألعاب. - **توسع ديناميكي**: إضافة أو إزالة الخوادم أثناء التشغيل، مما يتيح تحديثات دون توقف. - **عنقودية لامركزية**: مجموعة وسيطة ذاتية التنظيم بدون رئيس، ولا توجد نقطة فشل واحدة. - **دعم بروتوكولات متعددة**: قاعدة بيانات واحدة تدعم TCP وWebSocket وUDP في وقت واحد؛ قابلة للتوسيع إلى KCP وQUIC وغيرها. بروتوكولات البيانات (Protobuf وJSON) قابلة للتبديل بسطر واحد. - **تتبع موزع للمسار الكامل**: معرفات تتبع فريدة عبر الأجهزة والعمليات. - **نماذج اتصال غنية**: طلب/استجابة، بث، ناقل أحداث، والمزيد، جميعها قادرة على العمل عبر العمليات. - **سلامة الخيوط لكل لاعب**: يضمن الإطار التزامن الخالي من الأقفال للاعبين الأفراد. - **توليد الكود**: اكتب جافا مرة واحدة، وقم بتوليد حزم تطوير العملاء (SDKs) لـ Godot وUE وUnity وCocos Creator وReact وVue وAngular وغيرها. - **ودود للمطورين**: برمجة بنمط MVC، والتحقق من صحة JSR380، والتأكيدات، وبروتوكولات التبديل السريع، وتقارب نفس العملية، وتصحيح أخطاء متعدد الخوادم في عملية واحدة. - **آمن بالتصميم**: لا تكشف خوادم المنطق عن منافذها أبدًا، مما يجعلها محصنة ضد هجمات فحص المنافذ. - **جافا حديثة**: يتطلب JDK 21+، ويستفيد من ZGC للأجيال لتوقف أقل من مللي ثانية. يتم إصدار ioGame بموجب AGPL 3.0، مع التزام بصيانة نشطة لمدة عشر سنوات على الأقل بدءًا من 2022-03-01. إنه مناسب لكل من خوادم الألعاب وتطبيقات إنترنت الأشياء، ويتعامل مع ملايين الاتصالات.