Suggestion, Mushclient 4.37:
How about sending a telnet IAC WONT/DONT MXP when the user disables MXP on a open connection (world configuration -> MXP -> use MXP: off/never in the drop-down selection)? Atm the server has no way to know that the client deactivated MXP parsing and may be left in an inconsistent state still sending MXP tags over the line.
Re-enabling MXP after that on the same connection should probably also do something similar so that the MUD can re-send its custom tag definitions.
I cant tell how other clients handle this.
I don't really want to do that because at times I turn MXP off (client-end) to see what tags are actually arriving. If it sent DONT MXP then the server would (maybe) stop sending the tags which would defeat the idea.
However what you can do is make your own script function which turns MXP off (SetOption for "use_mxp") and then uses SendPacket to send the DONT MXP packet back to the server (assuming the server doesn't ignore it, an assumption I wouldn't make personally).
I'm writing this from the server admin point of view. I've got users that are switching MXP off and seeing the tags which is technical magic they shouldnt be confronted with.
(logging-in again fixes it of course but thats like saying you should reboot your machine for a configuration change to take effect ... oh, wait ...)
They shouldn't be turning MXP off, if you don't mind me saying. The default is "on command" so MXP should automatically turn on if the server supports it. Fiddling with client options can always have unexpected results if you are just doing it for the fun of it.
Isnt it a valid case if the server supports MXP and turns it on by default, but the specific user doesnt want to use or see MXP?
If they set MXP to "no" in MUSHclient, and then save their world file, it won't activate it next time, so there is really a once-off problem for each world.
If you are concerned, when players make a new character, along with all the other questions (class, race, gender, colour support, etc.) you could ask "do you want MXP?".
I don't think Zugg's spec for MXP mentions anything about a telnet sequence for turning it off, and indeed I believe that in zMUD/cMUD you can't turn off MXP at the client end.