21 Apr, 2013, Les wrote in the 1st comment:
Votes: 0
I'm implementing a MSDP parser for a mud client and have noticed some odd behavior 'in the wild'. I've used the specification listed here for my implementation: http://tintin.sourceforge.net/msdp/.

The mud I've been testing this on is Realms of Despair. Here's an example of what I am seeing.

MDSP is enabled via telnet negotiation. I send the following after MSDP support is established:
<IAC><SB><69><1>LIST<2>LISTS<IAC><SE>

RoD sends this in response:
<IAC><SB><69><1>LISTS<2>COMMANDS<2>LISTS<2>VARIABLES<2>CONFIGURABLE_VARIABLES<2>REPORTABLE_VARIABLES<2>GUI_VARIABLES<IAC><SE>


Now according to the specification this is a bogus response. The intent is obviously to return an array of lists available. But it is using this multiple MSDP_VAL shorthand in sort of an implied array syntax. According to the specification I would expect the following response:
<IAC><SB><69><1>LISTS<5><2>COMMANDS<2>LISTS<2>VARIABLES<2>CONFIGURABLE_VARIABLES<2>REPORTABLE_VARIABLES<2>GUI_VARIABLES<6><IAC><SE>


Where <5> and <6> correspond with MSDP_ARRAY_OPEN and MSDP_ARRAY_CLOSE respectively.

I can account for this case of course on my end but I am wondering the following:
  • Am I using the correct specification?

  • Is this a case of de facto support being different from the specification? I.e.; should I expect this on all MUDs supporting MSDP or is this a RoD anamoly.

  • If there is in fact a de facto standard being used what is defining it? Would it be Kavir's protocol snippet and I should use that as the source of truth?
21 Apr, 2013, KaVir wrote in the 2nd comment:
Votes: 0
Les said:
The mud I've been testing this on is Realms of Despair.

The specification was changed after they implemented my MSDP snippet, and they didn't update to the latest version. See here.
21 Apr, 2013, Les wrote in the 3rd comment:
Votes: 0
Okay fair enough. Just wanted to make sure I was looking at the right place.
22 Apr, 2013, KaVir wrote in the 4th comment:
Votes: 0
It was a point of contention. If the mud is using my snippet you can retrieve the SNIPPET_VERSION MSDP variable to check which version they're using, 3+ supports tables and arrays (RoD has removed the variable, but I believe they're still using version 1).
27 Jun, 2013, bozimmerman wrote in the 5th comment:
Votes: 0
Les, what client were you working on? I could sure use an MSDP test client right now…
0.0/5