Thursday 21 February 2013

Client Capabilities

What I've done so far is written a fully featured Telnet server, which includes support for Telnet option negotiation, covering the Options for Negotiate About Window Size, Charset, Terminal Speed and Terminal Type, and I've written a Terminfo module that is plugged into the Terminal Type handler so I can use Terminfo details to determine how to send bytes back to the client. The theory there being that any arbitrary client will work and as long as my terminfo settings know about it then things will be grand, with no configuration needed from the client side.
I've then been playing with various MUD clients - pretty much all of the ones that are available on Ubuntu by default, plus a couple of Windows ones using Wine - and have been appalled at their level of support. The only client I've tried that supported the CHARSET option and claimed to support Unicode was MUSHClient - and that includes the standard telnet program. And the only MUD client that actually supported any Terminal Types that are present in the standard Terminfo database was gnome-mud - which falls back to xterm.
I'm less convinced that was a useful way to spend my time, but it was an interesting experience writing code to process the terminfo database :)

No comments:

Post a Comment