Mudlet: Der IRE-Server handelt nicht für MXP aus

Erstellt am 22. Jan. 2019  ·  26Kommentare  ·  Quelle: Mudlet/Mudlet

Kurze Zusammenfassung des Problems / Beschreibung der angeforderten Funktion:

@ vadi2 teilte mir mit, dass MXP-Codes im Entwicklungszweig für IRE-Server nicht funktionieren. Also habe ich fortan das Problem untersucht.

Schritte zum Reproduzieren des Problems / Gründe für das Hinzufügen einer Funktion:

  1. Seien Sie auf dem neuesten Entwicklungszweig
  2. verbinden
  3. ??
  4. warum ist mxp nicht eingeschaltet?!

Fehlerausgabe / Erwartetes Ergebnis der Funktion

Ich habe ein Skript erstellt, um zu überprüfen, ob MXP vom IRE-Server ausgehandelt wurde. Leider nicht. Nur GMCP wurde vom Server ausgehandelt.

Zusätzliche Informationen wie Mudlet-Version, Betriebssystem und Ideen zur Lösung / Implementierung:

  1. neueste Entwicklungsbranche seit 3.16.1.
  2. Ich habe mit Tecton von IRE gesprochen, um herauszufinden, warum der Server nicht darüber verhandelt hat. Es stellte sich heraus, dass es nicht in der Entrückungsmaschine war. Er sagte, dass es sich für den Mudlet-Benutzer automatisch einschaltet, so dass keine Verhandlung erforderlich sei. Aber der Verhandlungscode wird möglicherweise im nächsten Rapture-Update enthalten sein (vielleicht?).

Ich nehme an, ich sollte heute Abend eine Problemumgehungs-PR speziell für den IRE-Server erstellen, damit sie aktiviert wird, indem überprüft wird, ob eine Verbindung zu den IRE-Servern hergestellt wird.

bug high regression

Alle 26 Kommentare

Das könnte den ursprünglichen Code erklären - aber sie könnten nicht die einzigen sein, und wir können nicht standardmäßig Dinge brechen und Problemumgehungen für jedes Spiel da draußen hinzufügen.

Wahr; Dann wird das Problem jedoch auf Evennia und andere MUD-Spiele zurückgreifen, die ebenfalls dafür verhandeln. @ vadi2 : Lachen: Sie spielen also möglicherweise mit der heißen Kartoffel. : man_shrugging:

Laut Evennia arbeitet Mushclient für sie! Es muss möglicherweise keine Wahl sein.

Interessant. Also haben wir nur MXP als Standard für die Zukunft? (und irgendwo einen Kommentar zu setzen, um auf dieses Problem zu verweisen ...)

Nein, wir müssen eine Lösung finden, die sowohl für Evennia als auch für IRE funktioniert. Damit Evennia vor der Aushandlung von MXP nicht <> entkommt und IRE MXP irgendwie zum Laufen bringt, ohne dass sie darüber verhandeln.

Das ist das Schwierige, was wir tun müssen. Benutzern ist es egal, ob es auf dem einen oder anderen funktioniert, sie möchten, dass Mudlet nur funktioniert: man_shrugging:

Erstellen Sie möglicherweise eine Lua-Funktion, mit der mxp für den Benutzer aktiviert werden kann. Mir ist aufgefallen, dass wir keine Lua (faulen) Funktionen haben, mit denen wir mxp direkt ein- oder ausschalten können. Mit dieser Idee könnten wir sie in einem Profil koppeln.

Gleichzeitig ist es nützlich, über diese Funktionalität zu verfügen, damit Schlammcodierer und Mudlet-Benutzer einen Alias ​​zum Ein- und Ausschalten erstellen können, um ihn einfach beobachten zu können.

Das ist dann immer noch eine Problemumgehung für IRE-Benutzer. Wie macht MUSHclient das - und funktioniert es tatsächlich sofort für Evennia / ChatMUD und IREs?

image

Ich sollte beachten, dass es im Mush-Client standardmäßig auf Befehl war.

Ah ok, also ist IRE aus der Box herausgebrochen.

Ich denke darüber nach, etwas Ähnliches in Mushclient zu implementieren in Form von:

1) 'Ja / Nein / auf Befehl'
2) Außerdem sollte ein nützlicher Tooltip bereitgestellt werden, in dem erläutert wird, welche Option für welchen Server geeignet ist. Zum Beispiel für 'Ja':
"Es wird empfohlen, diese Option auszuwählen, wenn Sie IRE-Spiele spielen (Achaea, Aetolia, Starmourn usw.).

3) Implementieren Sie dies in die XML-Option (geben Sie die Option force_mxp_negotiation nicht auf) und verwenden Sie sie stattdessen, um die Option in eine neue Variable zu importieren. Dadurch wird das alte Profil in einem Update in ein neues Profil konvertiert.
4) Jedes Standardprofil verfügt über eine XML-Option, bei der eine dieser Optionen aktiviert / deaktiviert / auf das jeweilige Spiel zugeschnitten werden kann.

Dies geht nicht, wir können keinen komplizierten Client haben, der mehr Knöpfe und Anhänger benötigt, wenn er wächst, nur um die Dinge am Laufen zu halten (und keine neuen Funktionen hinzuzufügen).

Was ist mit der automatischen Erkennung und Aktivierung von MXP?

Also wollen wir mxp in Form von [#z erkennen und auch die Verhandlung erkennen?

Ja. Fügen Sie grundsätzlich eine Problemumgehung für IRE hinzu (bis sie behoben sind).

Ich bin überrascht, dass sie nicht verhandeln, wenn man bedenkt, wie umfangreich ihre MXP-Implementierung ist - Sie sind sich super sicher, dass dies der Fall ist?

Mushclient oder IRE?

IRE

Soweit ich weiß, kann es durch ihre Konfiguration aktiviert werden. obwohl sie noch kein Verhandlungsimplement für mxp implementieren. Als ich direkt mit Tecton darüber kommunizierte, sagte er, dass es möglicherweise im nächsten Update der Rapture Engine implementiert wird. (in dem ich nicht weiß, wann es das nächste Update sein wird).

Okay - fügen wir eine automatische Erkennungsoption für die Fälle hinzu, in denen ein Motor anfängt, sie zu erzwingen (wie zuvor ... ha)

Wir hatten diese automatische Erkennung vor diesem oder demselben Code, bevor ich sie ändere?

Nein, denken Sie daran, wir haben angenommen, dass MXP eingeschaltet ist, ohne dass der Server dafür verhandelt - und deshalb hat IRE funktioniert.

dann
1) Standardmäßig lassen wir mxp eingeschaltet (wobei mMxp bei init auf false gesetzt ist). Offensichtlich kann IRE es durch (esc) einschalten [4z
2) Wenn und sollte ein Schlammserver ausgehandelt werden, wird mMXP auf true gesetzt. (AKA Code 0 offene Zeile)

gut?

Ich denke schon - Sie sagen, MXP kann entweder durch ordnungsgemäße Verhandlung oder durch Scannen nach der magischen Zeichenfolge aktiviert werden. Andernfalls ist es ausgeschaltet und < , > werden in Ordnung angezeigt. Klingt gut.

magische automatische Erkennung. : p Ich mache morgen einen magischen Patch PR.

Denken Sie daran, dass es MUDs gibt, die nicht einmal über MXP Bescheid wissen / sich darum kümmern, so dass ihre Ausgabe beeinträchtigt wird, wenn sie beispielsweise < > um beispielsweise einen Wert in einer Liste hervorzuheben Aus HTML / XML-Sicht sieht es also so aus, als ob ein Tag einfach nicht aktiviert ist. Was oh! Oder zumindest sollte es NICHT standardmäßig eingeschaltet sein ...! :ich sehe nichts Böses:

Sie sollten in der Lage sein, die Magie der automatischen Erkennung auszulösen, indem Sie nach der Zeile etwas in TBuffer::translateToPlainText(std::string& data, const bool isFromServer) einfügen:

                case static_cast<quint8>('z'):

Dadurch werden ALLE MXP-Steuercodesequenzen abgefangen, aber nur dann, wenn die Bedingungen stimmen. Sie sollten das Feuern möglicherweise mit isFromServer abschließen, damit nur die Serverdaten (und die entsprechenden Wiederholungen) Ihren Code kitzeln. Auf diese Weise wird verhindert, dass feedTriggers( ... ) falsch positive Ergebnisse erzielen

@SlySven danke. Ich werde es mir ansehen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen