19 Apr, 2013, 4ZR43L wrote in the 1st comment:
Votes: 0
Hello i wanted to be able to detect as much information as possible about the client connecting to my server.

I'am already doing TTYPE and NAWS and that helps a lot. But what is the best way for:

See if the client supports ANSI color 16 or 256
See if the client supports UTF-8

My MUD will use formatting characters like the block and half-block so i need UTF-8 or CP437…
I wanted to see if i could use "??????" (block and half-block characters) so i can properly present the start screen (on connect) that uses them.

19 Apr, 2013, KaVir wrote in the 2nd comment:
Votes: 0
It's reasonably safe to assume that clients support basic ANSI colour, it's been many years since I encountered one that didn't. XTerm 256 colour is more tricky, and requires a mixture of techniques, which I described here and included in my snippet here.

UTF-8 can be identified using CHARSET, and that is included in my snippet as well.

Using such features in the login screen will require you to pause for a moment to negotiate before the user can log on. This may interfere with autologin scripts.
19 Apr, 2013, 4ZR43L wrote in the 3rd comment:
Votes: 0
Thanks! I thought that CHARSET wasn't widely used. I've read the rfc but read some where that it's wasn't used by a lot of telnet/MUD clients… Thanks again for the snippet! you're the man! :)
19 Apr, 2013, KaVir wrote in the 4th comment:
Votes: 0
FMud and Atlantis certainly support CHARSET. MUSHclient supports it, but you have to manually check the UTF-8 box within the client settings. TinTin++ apparently supports it through a #config option, but I've not tested it. BlowTorch was going to add it, but I don't believe they ever finished doing so. I'd speculate a few other clients support it as well, but overall you're right, it's not widely used.