10 Dec, 2012, plamzi wrote in the 1st comment:
Votes: 0
We've added extensive GMCP support (Aardwolf-compliant, sped up by KaVir's snippet) as well as MCCP support.

Several full-screen desktop clients are in the works. With a little bit of graphics help, one of our more advanced players created this Mudlet GUI:

10 Dec, 2012, KaVir wrote in the 2nd comment:
Votes: 0
Glad to see you've changed your stance on the value of mud protocols! You should be able to remove that "Do you support colour" question now (that'll also allow people to use the Mudlet autoconnect feature).

I've noticed a couple of issues though:

1) MSSP isn't reporting your playercount or uptime. It should have been automatically set by my snippet, but for whatever reason your mud is reporting both as 0. This is obviously rather undesirable, as crawlers (including MudStats) will be reporting Bedlam as a dead mud.

2) You get stuck in an ECHO loop if the user enters the wrong password.

By what name would you like to be known?
RCVD IAC WILL ECHO
SENT IAC DO ECHO
This character exists. If it's not yours, press 'enter'.
Password:
RCVD IAC WILL ECHO
SENT IAC DO ECHO


And after you type in a wrong password:

RCVD IAC WONT ECHO
SENT IAC DONT ECHO
RCVD IAC WILL ECHO
SENT IAC DO ECHO
Wrong password.
Password:
RCVD IAC WONT ECHO
SENT IAC DONT ECHO
RCVD IAC WILL ECHO
SENT IAC DO ECHO
RCVD IAC WONT ECHO
SENT IAC DONT ECHO
RCVD IAC WILL ECHO
SENT IAC DO ECHO
RCVD IAC WONT ECHO
SENT IAC DONT ECHO
RCVD IAC WILL ECHO
SENT IAC DO ECHO
RCVD IAC WONT ECHO
SENT IAC DONT ECHO
RCVD IAC WILL ECHO
SENT IAC DO ECHO
RCVD IAC WONT ECHO
SENT IAC DONT ECHO


And so on.

Notice how the mud is sending IAC WILL ECHO twice. That shouldn't be possible if you're only switching echo on and off through the ProtocolNoEcho() function. It's important that you don't send your own ECHOs, as the snippet won't be able to distinguish between a response and an active request.
11 Dec, 2012, plamzi wrote in the 3rd comment:
Votes: 0
KaVir said:
Glad to see you've changed your stance on the value of mud protocols! You should be able to remove that "Do you support colour" question now (that'll also allow people to use the Mudlet autoconnect feature).

I've noticed a couple of issues though:

1) MSSP isn't reporting your playercount or uptime. It should have been automatically set by my snippet, but for whatever reason your mud is reporting both as 0. This is obviously rather undesirable, as crawlers (including MudStats) will be reporting Bedlam as a dead mud.

2) You get stuck in an ECHO loop if the user enters the wrong password.


My position on "MUD protocols" has always been "they're a means to an end" and "if someone asks for any, I'll add them". Someone asked so I did, and it didn't require changing my mind :) But thanks for making it easier.

Actually, I meant to disable the MSSP update function altogether, unless you convince me otherwise. What does it do for a game exactly? The link I came across first was http://tintin.sourceforge.net/mssp/mudli... , and it's a page that says last updated on July 15th. This thing asks to run once every second–can it earn its keep?

Thanks for catching that infinite loop thing. It only happens at wrong password so it would have been months before anyone else caught it! I looked into it and it seemed like a conflict between our pre-existing echo_on/off and the protocol snippet responding with the notion that it is the only handler. I turned off the snippet's negotiation for now. As an aside, has no-one else had this issue? Since I bet lots of games would already have a way of sending echo on/off prior to installing the snippet, maybe it would be a good idea to make the echo sub-negotiation optional like the MCCP one, or add some directions (I know, more directions :) on how to replace any existing echo on/off functions with the one you provide.
11 Dec, 2012, KaVir wrote in the 4th comment:
Votes: 0
plamzi said:
My position on "MUD protocols" has always been "they're a means to an end" and "if someone asks for any, I'll add them". Someone asked so I did, and it didn't require changing my mind :)

I was referring to the various comments you made on the subject such as this:

"Since there's only one of me, I decided to focus on syncing GUI and server rather than adding protocol support in case someone who swears by mudlet or mushclient wanted it and just couldn't live with text-only. Believe it or not, to come out with functional clients, I have spent a great deal of thought on bandwidth, and I think you don't know enough about my framework if you assume that a protocol is inherently more efficient."

And this:

"On several occasions, I considered sending out-of-band data for some things and each time decided against it."

Even after I released the snippet you said:

"I took a closer look at your code. Kudos–it looks like it will save a lot of people a lot of tedium. That said, I've personally decided not to add the snippet for now, not while one of the best UI's from MUSHClient looks like this:" (screenshot of Aardwolf's plugin)

And this:

"My problem with plugins to existing clients is the problem of a control freak: I don't want to break my back to create a great-looking plugin just to have it sit inside a program that looks, frankly, dated. And since those are free clients, I doubt they'll ever catch up with what's considered contemporary design. I think as far as targeting desktop players goes, my time is better spent adding advanced functionality to the web-based client, which incidentally makes such things like inline images trivial. In doing so, I'm able to leverage the web languages and protocols I do know, instead of having to learn the ones that clients such as MUSHClient prescribe. It just makes more sense to me to go that way."

The situation hasn't really changed since then, the clients still look the same, Aardwolf's plugin still looks the same, the protocols are still the same, the scripting languages are still the same, etc. I think it's good to see you embracing the benefits of the various protocols, but it does seem like quite a big U-turn.

plamzi said:
Actually, I meant to disable the MSSP update function altogether, unless you convince me otherwise. What does it do for a game exactly?

It's used for collecting data about muds. MudBytes uses it for improving searches, MudStats uses it for tracking stats, generating graphs, and sorting muds based on playerbase size. In theory it could be used to automatically generate and maintain entire mud lists.

plamzi said:
The link I came across first was http://tintin.sourceforge.net/mssp/mudli... , and it's a page that says last updated on July 15th.

That's Scandum's example crawler, I've no idea when he updates it. You'd be better off looking at the specification: http://tintin.sourceforge.net/mssp/

plamzi said:
This thing asks to run once every second–can it earn its keep?

Every second? It's usually once per hour, or once per day. If someone is hammering you with an MSSP request every second then it sounds like you've got a problem player.

plamzi said:
Thanks for catching that infinite loop thing. It only happens at wrong password so it would have been months before anyone else caught it! I looked into it and it seemed like a conflict between our pre-existing echo_on/off and the protocol snippet responding with the notion that it is the only handler. I turned off the snippet's negotiation for now. As an aside, has no-one else had this issue?

Not that I know of, but the installation instructions make it pretty clear you need to replace any existing echo on/off functionality, plus most muds don't send the same instruction twice, eg:

By what name would you like to be known?
RCVD IAC WILL ECHO
SENT IAC DO ECHO
This character exists. If it's not yours, press 'enter'.
Password:
RCVD IAC WONT ECHO
SENT IAC DONT ECHO
RCVD IAC WONT ECHO
SENT IAC DONT ECHO
RCVD IAC WILL ECHO
SENT IAC DO ECHO


Ideally you should fix the mud to stop it from doing that, but using ProtocolNoEcho() would at least prevent the above from happening.
13 Dec, 2015, MasterBlaster wrote in the 5th comment:
Votes: 0
Is there a version of Kavir's protocol snippet for smaugfuss that compiles g++?
0.0/5