عن المشروع

GoWorld هو محرك خوادم ألعاب موزع وقابل للتوسع مكتوب بلغة Golang، مصمم لبناء ألعاب متعددة اللاعبين عبر الإنترنت. يتميز بإطار عمل للكيانات حيث يتم تمثيل اللاعبين والوحوش والشخصيات غير القابلة للعب ككيانات. يمكن للكيانات الموجودة في نفس المساحة التفاعل مباشرة عبر استدعاءات الأساليب أو الوصول إلى الخصائص، بينما تتواصل الكيانات في مساحات مختلفة عبر RPC. تتكون بنية الخادم من موزع، وعملية أو أكثر للألعاب، وعملية أو أكثر للبوابات. تتعامل البوابات مع اتصالات العملاء ونقل الحزم، وتدير الألعاب الكيانات وتنفذ منطق اللعبة، ويقوم الموزع بتوجيه الحزم بين الألعاب والبوابات. من الميزات الرئيسية التبديل السريع: يمكن إعادة تحميل عمليات الألعاب عن طريق إرسال SIGHUP وإعادة التشغيل باستخدام المعامل -restore، مما يسمح بتحديث منطق جانب الخادم دون انقطاع كبير للاعبين. يدعم GoWorld بروتوكولات اتصال متعددة بما في ذلك TCP وKCP وWebSocket، ويوفر ضغط حركة المرور والتشفير بين العملاء والخوادم. يتضمن أداة سطر أوامر 'goworld' لبناء الخوادم وبدء تشغيلها وإيقافها وإعادة تحميلها. يوفر المستودع عروضًا توضيحية مثل غرفة دردشة ولعبة إطلاق نار متعددة اللاعبين مبنية على Unity، مع عملاء بلغة JavaScript (Cocos Creator) وC# (Unity).