انتقل إلى المحتوى الرئيسي

Server Scripts

ما هي سكربتات الخادم ولماذا نحتاج إليها؟

الفرق الرئيسي بين Server scripts وClient scripts هو أنها تعمل على الخادم.

بالنسبة إلى Client scripts، يشغّل كل لاعب نسخته المحلية الخاصة من السكربت، بينما في Server scripts يشغّل كل اللاعبين النسخة نفسها من السكربت. كذلك، لا تشترك سكربتات الخادم وسكربتات العميل في API نفسها.

في معظم الأحيان ينبغي أن نتمكن من إنجاز مهمتنا باستخدام Client scripts، خصوصًا مع توفر فئات مثل SNetwork أو SPersistence، التي تسمح للسكربتات بالتواصل فيما بينها ومشاركة البيانات.

لكن قد نواجه أحيانًا مهام أكثر تعقيدًا وتتطلب سكربتًا مستقلًا (سكربت خادم) يكون محورًا مركزيًا للتواصل وتخزين البيانات ومعالجة المعلومات والمزامنة وما إلى ذلك... ومن الأمثلة الجيدة على كائن تفاعلي يُنفّذ باستخدام سكربت خادم لعبة لوحية متعددة اللاعبين.

إنشاء سكربت خادم:

  • أنشئ GameObject.
  • أضف مكوّن server script إلى GameObject. (Add Component -> Server Script)
  • املأ حقل Class ID بمعرّف فريد لسكربت الخادم الخاص بك. (مثال: com.example.theserverscript)
  • اسحب ملف .lua الخاص بك إلى حقل Script.
  • أضف مكوّن Virtual Good. (Add Component -> Virtual Good)
  • أهم جزء في مكوّن Virtual Good الخاص بـ Server Script هو أن Type يجب أن يُضبط على Server Script.
  • ارفع GameObject .

استخدام سكربت خادم:

  • أنشئ GameObject.
  • أضف مكوّن Require Server Script.
  • اضبط حقل Virtual Good ID على معرّف virtual good نفسه لسكربت الخادم الذي أنشأته أعلاه.
  • اضبط حقل Class ID على معرّف class نفسه لسكربت الخادم الذي أنشأته أعلاه.
  • أضف مكوّن Room Furniture (Add Component -> Room Furniture)
  • سيحمّل هذا الكائن الآن سكربت الخادم الذي أنشأته أعلاه في المنطقة التي يوضع فيها.
  • يمكنك أيضًا إضافة مكوّن Scripting Runtime إلى GameObject هذا. (Add Component -> Scripting Runtime).

الأحداث

على عكس برمجة العميل النصية حيث يجب عليك إنشاء hooks/bindings للأحداث، لا تحتاج Server scripts إلا إلى إعلان تلك الدالة دون إنشاء أي hooks/bindings.

على سبيل المثال:

function OnAvatarJoin(id)
Space.Log(id .. " joined the scene.")
end

يمكنك العثور على أحداث Server script هنا.

مشروع نموذجي

مشروع Trivia Box النموذجي عرض جيد لكيفية استخدام سكربتات الخادم.

يمكنك الوصول إليه هنا وتنزيل ملفاته المفتوحة المصدر.

شكرًا لك

[هذا الدليل لا يزال قيد العمل. يُرجى الإبلاغ عن المشكلات هنا]