كيف تعمل أوامر السيرفرات الخاصة
كل محرّك سيرفر اخترع لغة أوامر خاصة به. ومتى رأيتَ الشكل المشترك بينها، كفّ الأمر غير المألوف عن أن يكون تخمينًا.
الشكل المشترك بينها جميعًا
كل أمر تقريبًا يتبع الهيكل نفسه: فعل، ثم هدف، ثم معاملات. والمختلف هو علامات الترقيم، وهل الهدف مضمر، وبماذا تُسمّى المعاملات.
اقرأ أمرًا لا تعرفه بإيجاد هذه الأجزاء الثلاثة أولًا. الفعل هو الكلمة الأولى دائمًا تقريبًا. والهدف، إن كُتب أصلًا، مُعرِّف لاعب — رقم UID أو اسم أو رمز يعني «أنا».
أين تفترق المحرّكات
- البادئة. بعضها يريد شرطة مائلة في البداية، وبعضها نقطة، وبعضها لا شيء في طرفية السيرفر لكن بادئة في محادثة اللعبة.
- الهدف. بعضها يطلبه دائمًا؛ وبعضها يفترض أنك أنت ولا يقبل هدفًا إلا من حساب مشرف.
- الأرقام مقابل الأسماء. بعضها يقبل اسم الغرض، وأغلبها يريد الرقم، والأرقام غير متّسقة بين المحرّكات.
- موضع الكمية. كون العدد يأتي قبل الغرض أو بعده أمر اعتباطي فعلًا ويختلف بين التطبيقات.
مستويات الصلاحية
الأوامر محكومة بمستوى صلاحية الحساب، والأمر الذي لا يفعل شيئًا بصمت هو مشكلة صلاحية عادةً لا مشكلة صياغة. وأغلب المحرّكات لها ثلاث أو أربع درجات: لاعب عادي، ولاعب موثوق، ومشرف، والطرفية نفسها.
فإن نجح الأمر حين يشغّله مالك السيرفر ولم يفعل شيئًا حين تشغّله أنت، توقّف عن تعديل الصياغة. هي سليمة؛ أنت غير مسموح لك بتشغيله.
لماذا الأرقام هي الجزء الصعب
اللعبة تعرّف كل شيء برقم — كل غرض وسلاح وشخصية ووحش ومشهد. وهذه الأرقام تأتي من ملفات اللعبة نفسها فهي متّسقة بين السيرفرات، لكنها غير قابلة للحفظ وتتغيّر بين إصدارات اللعبة حين يُضاف محتوى.
وهذا أكبر مصدر منفرد لـ«الأمر لم يفعل شيئًا»: أمر صحيح برقم لا وجود له في الإصدار الذي يشغّله السيرفر. فالأمر يُحلَّل، والبحث يفشل، وأغلب المحرّكات لا تبلّغ بالفرق.