nickgammon / mushclient

Open Source Windows MUD game client
www.mushclient.com
182 stars 76 forks source link

MXP Protocol drop #87

Open Hanyo99 opened 2 weeks ago

Hanyo99 commented 2 weeks ago

Hey there!

I don't know if these get looked at, but I thought I would drop this here in case.

I play a MUD that uses MXP for HTML color coding. (It's a mess they also shove in basic ANSI and XTERM by number as well) However, when the MUD soft crashes, or reboots anything that forces a sof-reconnection without a hard D/C seems to drop the MXP protocol stuff for HTML straight off. ANSI and XTERM colors will still show in output, but HTML will not. The only solution is to kill the connection and re-connect manually in order to get it to re-establish the protocol.

Is there a way to resolve this that I am unaware of?

nickgammon commented 1 week ago

Under world configuration -> MXP there is an option to have MXP always on.

Use MXP/Pueblo: Yes - always

If that doesn't fix it you could make an Alias to use the Simulate function to force through the MXP negotiation.

Hanyo99 commented 1 week ago

I will look into this. Always on does not resolve the issue. Could you provide potentially a super Cliff Notes on Simulation? I'm gonna go skulking in documentation so.

Edit: Okay quick look I see that I can easily set the Alias but I am ignorant when it comes to Lua and stuff. Possible to drop a brief line that I can alias to a button for simulating the MXP protocol connection?

nickgammon commented 1 week ago

Having MXP on should work, but maybe it is waiting for a command to turn "open" mode on, let me look into it.

nickgammon commented 1 week ago

Try typing this in the Immediate window:

Simulate ("\027[6z")   -- turn on permanently open mode
nickgammon commented 1 week ago

Also try turning on MXP debugging mode, and see if the debugging output has any clues.

Hanyo99 commented 1 week ago

I am waiting for another instance to try but I will edit this commentary once I have some Data. I've got debug on The Lot for now - for all the information I can get. I have MXP set to always on. I'm gonna try the simulate line as well and test that. Will report.

Edit: Okay after a soft reboot I still have no color. And now it seems I have the same thing. With the line set into the Immediate window and MXP always on, and debugging set to The Lot - I still have no color showing through for HTML> Xterm and ANSI still seem to show appropriately.

Hanyo99 commented 1 week ago

Log Stuff.txt Here is most of the text output for my most recent log look. There's definitely some drop of MXP somewhere though I can't make much heads or tails.

nickgammon commented 1 week ago

What MUD is it? I'll make a test character and see if I can reproduce.

nickgammon commented 1 week ago

anything that forces a sof-reconnection without a hard D/C seems to drop the MXP protocol stuff for HTML straight off. ANSI and XTERM colors will still show in output, but HTML will not

Do you mean:

Hanyo99 commented 1 week ago

Game is HavenRPG.net : 3000

EDIT: It may be relevant to note that colors are prefixed with the backtick / tilde symbol ( ) so a color might like thusly. ()w for regular white. ()W for bold, for ANSI etc. HTML would be - ()FHFHFH and so on. (minus the brackets of course)

No color gets shown but no color tags either. The ANSI (w, W,b,B) etc. these still work. Xterm 1-255 still works properly and displays. The HTML does not show the 6 character codes or anything it just does not process the color.

nickgammon commented 1 week ago

Is the server even sending the HTML codes? After a soft-reconnection, please turn on Packet Debug (Edit Menu -> Debug Packets) and see if you can see any MXP codes in the information displayed in the debug window. Turn packet debug off afterwards to avoid slowing the client down.