This is really getting off-topic, so I'm splitting it into another thread.

donky said:

But the problem with that, is that it disables the client-side echoing, as Kavir pointed out.

I've only had one complaint about it so far, and the player was fine with it once I told him he could just type 'negotiate' (or 'n' for short) before loading his character.

I've currently got 15 clients identifying themselves as "ANSI", which is more than CMUD and ZMUD combined, but I'm assuming most of those are something other than windows telnet (SimpleMU perhaps?).

I'm actually thinking about factoring in IP address as well, at least for the client count. I think the percentages are still fairly good as a general indicator, but the actual numbers will be exaggerated by the fact that some players have multiple characters. IP address won't be perfect either, as it'll exclude players who connect from the same school or household, and won't properly handle people who use dynamic (or multiple) IP addresses, but it would probably be more accurate.

Not sure how I'd deal with multiple characters from the same IP address who use different clients though. Perhaps just ignore duplicates that match both IP address and client?

I was also toying with the idea of using some sort of geolocation to come up with additional statistics, but I'm not sure how easily that would work. I even considered using it to add a little flag to people's profiles (which they could override if it was wrong), but in retrospect I think that would be rather invasive unless it was optional (in which case you might as well not bother with the geolocation at all, and just let them choose it).

But the problem with that, is that it disables the client-side echoing, as Kavir pointed out.

I've only had one complaint about it so far, and the player was fine with it once I told him he could just type 'negotiate' (or 'n' for short) before loading his character.

Are you saying that the player complained about connecting with Windows Telnet and not seeing the text he typed, because you did negotiation? That sort of conflicts with their need to type 'negotiate'. So I do not understand what you meant here.

I still think it should be possible to identify what client is being used without side-effects (and I am pretty sure the information in my last post solves the hard part), which then allows negotiation for those clients that it does not cause problems for. Or a client-specific message to the player informing them of what they have to expect due to the lackings of their chosen client. But in order to prove that it does not cause side-effects, I would need to test a wide range of clients and record how they each handle different input from the server. Something that requires less work on my part would be to make a server which does not require login, but rather asks what client a user is using, what operating system, and then steps them through a series of displayed input, asking them what they see. I could host this myself, or offer the code for others to run, but ideally I'd try and get MUDs to ask their players to run through it.

I don't think I would like it if I knew a MUD was tracking information about me as a player, especially tagging my account with where I came from, and even what client I connected with. Given that, I think these statistics can easily be recorded in an abstract manner that does not identify which players they relate to. As for geolocation, Discworld has been doing that for over 10 years, I recall logging in there and having the ability to do a who which listed players by country. I could for instance see that there were 200 players connected, and that 3 were from New Zealand, and it would also show me which players were from where. Either it was a creator only command, or the players did not mind at all.

Are you saying that the player complained about connecting with Windows Telnet and not seeing the text he typed, because you did negotiation? That sort of conflicts with their need to type 'negotiate'. So I do not understand what you meant here.

The 'negotiate' command doesn't perform the negotiation, it just toggles it on or off - and it's on by default. The player in question didn't know about the option, but once I told him he was fine with it, and nobody else has said anything. One point of interest though: the player in question was using windows telnet, but he's blind. It seems that switching off echo somehow interfered with his screen reader software.

donky said:

I still think it should be possible to identify what client is being used without side-effects (and I am pretty sure the information in my last post solves the hard part), which then allows negotiation for those clients that it does not cause problems for.

I've been following your other posts with interest, but you made them after I'd already had a go at negotiation, which is why I didn't implement your more recent proposals. I will certainly look into improving the approach I'm using, I just wanted to see if I was on the right track.

donky said:

I don't think I would like it if I knew a MUD was tracking information about me as a player, especially tagging my account with where I came from, and even what client I connected with. Given that, I think these statistics can easily be recorded in an abstract manner that does not identify which players they relate to.

I don't publically list the client for each player, but I'd actually been thinking of using the data for dynamic help files - for example the 'MSP' help file might give soundpack installation instructions specific to the viewer's mud client, while viewing that same help file as a GMud user might instead recommend some MSP-supporting clients they could use.