High people,
I just came across this tool when someone logged in to our mud using it, I got a log entry about an unknown terminal type and I then went on to research about its capabilities to add it to our database.
It looks like a great tool, so congrats, but I'll probably not adapt it for us, as I already invested a bunch of time to make
mudportal.com MXP / ansi compliant and then make it run independently s.t. our players mud sessions are not proxied in the clear over a 3rd party server. (you can check it out at
mud.tap.de where you can also download the webclient source, but this is not meant as a commercial for it).
That said, I wasn't able to find a full working standard terminal emulation beyond 'dumb' for it. I'm not sure if someone is interested in working on that, but just as a quick remark, probably you should:
- allow for some TTYPE handshake to negotiate a terminal type in addition to phudbase as https://tintin.mudhalla.net/protocols/mtts/ suggests. That would allow it to work better with arbitrary muds w/o special phudbase support. However I think it would be more RFC compliant to suggest from more specific and powerful to less, so I'd recommend a cycle PhudBase, "MTTS 1" and then "ansi", not more generic types as xterm or ansi B4 MTTS.
- Regarding the ansi/colour emulation there seem to be some issues: ESC[5m for blink (or sometimes italics) is not parsed and shows up in the terminal right away. Underline ESC[4m is parsed, but has no effect. Bright and Inverse seem ok.
- It seems that if several attributes are combined, they need to be individually reset. So if you set fore AND background colour, a single ESC[0m needs to reset both of them, not only the last one set (on contrary how xml or html would work). But I might be wrong, this is what I guessed from a visual glance at how it displays. At least it does not reset special text attributes proper in all situations.
Regards to all, have fun.