Mudlet: لا يتفاوض خادم IRE مع MXP

تم إنشاؤها على ٢٢ يناير ٢٠١٩  ·  26تعليقات  ·  مصدر: Mudlet/Mudlet

ملخص موجز للمشكلة / وصف العنصر المطلوب:

أبلغني @ vadi2 أن أكواد mxp في فرع التطوير لم تكن تعمل مع خوادم IRE. لذا فقد قمت من الآن فصاعدا بالتحقيق في المشكلة.

خطوات إعادة إظهار المشكلة / أسباب إضافة الميزة:

  1. كن على أحدث فرع تطوير
  2. الاتصال
  3. ؟؟
  4. لماذا mxp ليس قيد التشغيل ؟!

ناتج الخطأ / النتيجة المتوقعة للميزة

لقد قمت بإنشاء برنامج نصي للتحقق مما إذا كان قد تم التفاوض على MXP بواسطة خادم IRE. لسوء الحظ لم يحدث ذلك. تم التفاوض على GMCP فقط بواسطة الخادم.

معلومات إضافية ، مثل إصدار Mudlet ونظام التشغيل والأفكار حول كيفية الحل / التنفيذ:

  1. أحدث فرع تطوير منذ 3.16.1.
  2. لقد تحدثت مع Tecton من IRE لأرى لماذا لم يكن الخادم يتفاوض من أجل ذلك؟ اتضح أنه لم يكن في محرك نشوة. قال إنه يتم تشغيله تلقائيًا لمستخدم mudlet ، لذلك لم تكن هناك حاجة للتفاوض. ولكن قد يكون رمز التفاوض في التحديث القادم للاختطاف (ربما؟).

لذلك أفترض أنني يجب أن أقوم بحل بديل للعلاقات العامة الليلة على وجه التحديد لخادم IRE لذلك سيتم تشغيله عن طريق التحقق لمعرفة ما إذا كنا نتصل بخوادم IRE ..

bug high regression

ال 26 كومينتر

قد يفسر ذلك الكود الأصلي - لكن لا يمكن أن يكونوا الوحيدين ، ولا يمكننا كسر الأشياء افتراضيًا وإضافة الحلول لكل لعبة هناك.

حقيقي؛ ومع ذلك ، فإن المشكلة ستعود إلى Evennia وألعاب MUD الأخرى التي تتفاوض من أجلها أيضًا ، @ vadi2 : الضحك: لذلك قد تلعب بالبطاطا الساخنة. : man_shrugging:

وفقًا لإيفينيا ، يعمل المشكل من أجلهم! قد لا يكون من الضروري أن يكون اختيارًا.

مثير للإعجاب. لذلك نحن فقط MXP افتراضيًا للمضي قدمًا؟ (ولتضع تعليقًا في مكان ما هناك للإشارة إلى هذه المشكلة ...)

حسنًا ، لا ، علينا إيجاد حل يناسب كل من Evennia و IRE. لكي لا تهرب Evennia من <> قبل التفاوض بشأن MXP ولكي تعمل IRE بطريقة ما على تشغيل MXP دون التفاوض عليها.

هذا هو الشيء الصعب علينا القيام به. لا يهتم المستخدمون إذا كان يعمل على واحد أو آخر ، فهم يريدون لـ Mudlet أن يعمل فقط: man_shrugging:

ربما تقوم بإنشاء وظيفة Lua يمكنها تمكين mxp للمستخدم. لقد لاحظت أنه ليس لدينا وظيفة Lua (كسول) التي تسمح لنا بإيقاف تشغيل mxp أو تشغيله مباشرة. بهذه الفكرة ، يمكننا إقرانهما في ملف شخصي.

بينما في الوقت نفسه ، من المفيد أن يكون لديك هذه الوظيفة بحيث يمكن لمبرمج (مشفر) الطين ومستخدم (مستخدمين) mudlet إنشاء اسم مستعار لإيقاف تشغيله وتشغيله لمراقبته بسهولة.

لا يزال هذا حلًا بديلًا لمستخدمي IRE. كيف يفعل MUSHclient - وهل يعمل بالفعل لكل من Evennia / ChatMUD و IREs خارج الصندوق؟

image

يجب أن أشير إلى أنه كان "عند الأمر" افتراضيًا في عميل الهريسة.

آه حسنًا ، لقد خرجت IRE من الصندوق.

أفكر في محاولة تنفيذ شيء مشابه في عميل في شكل:

1) "نعم / لا / عند الأمر"
2) يجب أن يوفر أيضًا تلميحًا مفيدًا يوضح الخيار المناسب لأي خادم. على سبيل المثال ، لـ "نعم":
"يوصى بتحديد هذا الخيار إذا كنت تلعب ألعاب IRE (achaea ، aetolia ، starmourn ، إلخ).

3) قم بتنفيذ هذا في خيار XML (لا تتخلى عن خيار Forced_mxp_negotiation) بدلاً من استخدامه لاستيراد الخيار إلى متغير جديد. هذا هو تحويل ملف التعريف القديم إلى ملف تعريف جديد في التحديث.
4) سيكون لكل ملف تعريف افتراضي خيار XML يمكن أن يكون أيًا من هذه الخيارات ممكّنًا / معطلًا / مصممًا لكل لعبة على حدة.

هذا لن ينجح ، لا يمكن أن يكون لدينا عميل معقد يتطلب المزيد من المقابض والأجزاء لأنه ينمو فقط للحفاظ على عمل الأشياء (وليس إضافة أي ميزات جديدة).

ماذا عن اكتشاف MXP تلقائيًا وتمكينه؟

لذا نريد الكشف عن mxp بصيغة [#z وأيضًا الكشف عن التفاوض؟

بلى. بشكل أساسي ، أضف حلًا بديلًا لـ IRE (حتى يتم إصلاحه).

أنا مندهش من أنهم لم يتفاوضوا بشأن ذلك نظرًا لمدى اتساع تطبيق MXP - هل أنت متأكد تمامًا من أن هذا هو الحال؟

متشكل أو IRE؟

غضب

من ما جمعته يمكن تمكينه من خلال التكوين الخاص بهم. على الرغم من أنهم لا يطبقون التفاوض لـ mxp حتى الآن. بينما كنت أتواصل مباشرة مع تيكتون حول هذا الأمر ، قال إنه قد يتم تنفيذه في التحديث القادم لمحرك النشوة. (الذي لا أعرف فيه متى سيكون التحديث التالي).

حسنًا - دعنا نضيف خيار الاكتشاف التلقائي للحالات التي يبدأ فيها المحرك في فرضه (كما كان لدينا من قبل ... هكتار)

كان لدينا هذا الاكتشاف التلقائي قبل هذا الرمز نفسه أو ذاك قبل أن أقوم بتعديله؟

ناه ، تذكر أننا افترضنا أن MXP كانت قيد التشغيل دون أن يتفاوض الخادم عليها - ولهذا السبب عملت IRE.

ومن بعد
1) بشكل افتراضي ، نترك mxp قيد التشغيل (مع mMxp إلى false في init) من الواضح أن IRE يمكنه تشغيله عن طريق (esc) [4z
2) إذا تم التفاوض على أي خادم طين ، فسيتم قلب mMXP إلى true. (رمز AKA 0 سطر مفتوح)

حسن؟

أعتقد ذلك - أنت تقول إنه يمكن تشغيل MXP إما عن طريق التفاوض المناسب أو من خلال البحث عن السلسلة السحرية. وإلا فسيتم إيقاف تشغيله وسيظهر < و > ما يرام. يبدو جيدا.

الكشف التلقائي السحري. : p سأقوم بعمل تصحيح سحري للعلاقات العامة غدًا.

تذكر أن هناك MUDs هناك لا تعرف حتى / تهتم بـ MXP ، لذا فهي تشوه ناتجها إذا صادفت استخدام < > سبيل المثال ، شكل من أشكال تمييز قيمة واحدة في قائمة بحيث يبدو من وجهة نظر HTML / XML وكأن العلامة ليست في وضع التشغيل. ما أوه! أو ، على الأقل ، يجب ألا يكون قيد التشغيل افتراضيًا ...! :لا نرى الشر:

يجب أن تكون قادرًا على إطلاق سحر الاكتشاف التلقائي عن طريق وضع شيء ما في TBuffer::translateToPlainText(std::string& data, const bool isFromServer) بعد السطر:

                case static_cast<quint8>('z'):

سيعترض ذلك كل تسلسلات رموز التحكم في MXP ولكن لا يعمل عليها إلا إذا كانت الظروف مناسبة. يجب عليك، ربما البوابة اطلاق النار مع isFromServer بحيث لا بيانات الخادم (وما يقابلها من الإعادة) دغدغة التعليمات البرمجية - يفعل ذلك سيمنع ايجابيات كاذبة من feedTriggers( ... ) يستدعي بواسطة سكربتات المستخدم / الرابط ...: smiling_imp:

تضمين التغريدة سأنظر بالموضوع.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات