يتم استخدام PlanetServer لتطوير بيئات افتراضية متعددة المستخدمين من خلال توفير طبقة متوسطة بين العميل والخادم. يستخدم مآخذ حتى يمكن نقل أي رسائل يتم إرسالها من عميل واحد إلى جميع العملاء الآخرين. يدعم PlanetServer منصات Android/iOS/Windows/Max/Linux في الوقت الحالي. يستخدم بروتوكول مخصص على TCP وسنؤيد قريبًا UDP أيضًا. ## الدلائل
يحتوي Planetserver على بعض الدلائل الرئيسية التي يجب أن تعرفها
LIB - يحتوي على جميع التبعيات التي يحتاجها الخادم "
الامتداد - يحتوي على جرة تمديد اللعبة ، وأي تبعيات مخصصة أخرى تحتاجها الامتداد الخاص بك
CONF - يحتوي على ملف تكوين للخادم ، وكذلك ملف تكوين لـ LOG4J (التسجيل)
##إعدادات
يحتوي PlanetServer على ملف config.properties في المجلد Conf. يمكن تحرير هذا الملف لإعداد إعدادات محددة لخادمك.
يتم استخدام إعداد server.tcp.port لتكوين المنفذ الذي يستمع إليه الخادم
يتم استخدام إعداد Server.Threads.Executor لتكوين عدد مؤشرات الترابط في ThreadPool. سترغب في زيادة هذا المبلغ بناءً على مقدار النشاط لأسباب الأداء.
يوجد أيضًا ملف log4j.properties حيث يمكنك تكوين التسجيل لخادمك. ارجع إلى وثائق log4j لمزيد من التفاصيل حول هذا الموضوع.
داخل مجلد التمديد يوجد ملف World.Properties . يحتوي هذا الملف على خصائص خاصة بلعبتك ويمكن الوصول إليها عبر رمز اللعبة. الخاصية الوحيدة المطلوبة هنا هي extension.class.name التي تشير إلى نقطة الدخول الرئيسية لتطبيقك. المثال المقدم قد تم تكوينه ، لذا فقط لتمديد الخاص بك ، فقط قم بتغيير اسم الفصل.
## extensions عند إنشاء التطبيق الخاص بك ، يمكنك إنشاء ملحق إلى PlanetServer. الامتداد هو ببساطة ملف جرة يتم وضعه داخل مجلد الامتداد مع جميع ملفات JAR الضرورية الأخرى لتطبيقك. يجب عليك إنشاء فئة رئيسية لتمديد نقطة الدخول. يجب أن تمتد الفئة الرئيسية من Psextension وتجاوز الأساليب init وتدمير. على سبيل المثال
public class WorldExtension extends PSExtension {
@Override
public void init()
{
}
@Override
public void destroy()
{
super.destroy();
}
}
ضع أي وظيفة مخصصة في الأساليب init وتدمير. يمكن أن يحتوي هذا على أي رمز مخصص تحتاجه لتطبيقك.
## طلبات الامتداد لإرسال أوامر مخصصة إلى الخادم ، يجب عليك تسجيل فئة مخصصة لمعالج الطلب. على سبيل المثال ، دعنا نقول أن لديك لاعبًا وترغب في إرسال طلب للقيام بشيء للاعب. أضف أولاً معالج الطلب AddRequestHandler ("Player" ، playerRequest.class) ؛ ثم قم بإنشاء ملف Java اللاعب الذي يمتد من BasicClientRequestHandler. يمكنك تجاوز طريقة HandleClientRequest ومن ثم يمكنك تحليل الطلب الذي تم إرساله.
يتم إرسال جميع الأوامر باستخدام تدوين DOT. على سبيل المثال أي شيء يبدأ مع اللاعب. سيتم التعامل مع معالج الطلب الذي يتم تسجيله للسلسلة "لاعب" بعض الأوامر على سبيل المثال قد يكون لاعب. يمكنك عرض المثال في ملف Java عينة.
## الخطط المستقبلية لإصدار الإصدار 1.1 التالي ستدعم رسائل UDP. نعتقد أن هذا ضروري لبعض ألعاب معدل الرسائل الأعلى.