@faraday, on SurfaceTension (a BluePlanet MOO that got delayed when various friends pulled me away to work on The Reach):
#7:2 ":MSSP-REQUEST"; ":"; ":Provides in-band access to Mud Server Status Protocol (MSSP) data."; try set_connection_option(player, "binary", 1); notify(player, "~0D~0AMSSP-REPLY-START~0D~0A"); for var in ($mssp_data()) notify(player, $list:join("~09", @var) + "~0D~0A"); endfor notify(player, "MSSP-REPLY-END~0D~0A"); finally set_connection_option(player, "binary", 0); endtry return $nothing; .and then $mssp_data() was
#0:7 dbsize = 0; helpfiles = 0; rooms = 0; exits = 0; descs = 0; progs = 0; triggers = 0; for o in [#0..max_object()] if (valid(o)) dbsize = dbsize + 1; if ("description" in properties(o)) descs = descs + 1; endif if (parent(o) in {#17, #18}) rooms = rooms + 1; endif vind = 1; for v in (verbs(o)) progs = progs + 1; if (verb_args(o, vind) != $tnt) triggers = triggers + 1; while (tpos = index(v, " ")) v = v[tpos + 1..$]; triggers = triggers + 1; endwhile endif vind = vind + 1; endfor endif endfor return {{"NAME", "SurfaceTension"}, {"PLAYERS", tostr(length(connected_players()))}, {"UPTIME", tostr($boot_time)}, {"CRAWL DELAY", "1"}, {"HOSTNAME", "surfacetension.accela.net"}, {"PORT", "7777"}, {"CODEBASE", "LambdaMOO 1.8.2-cvs20050209-5"}, {"CONTACT", "surfacetension-mssp-1@accela.net"}, {"CREATED", "2009"}, {"IP", "66.220.1.33"}, {"LANGUAGE", "English"}, {"LOCATION", "United States"}, {"MINIMUM AGE", "18"}, {"WEBSITE", "http://surfacetension.accela.net/"}, {"FAMILY", "MOO"}, {"GENRE", "Science Fiction"}, {"GAMEPLAY", "Roleplaying"}, {"STATUS", "Alpha"}, {"GAMESYSTEM", "Synergy"}, {"SUBGENRE", "Blue Planet"}, {"HELPFILES", tostr(helpfiles)}, {"ROOMS", tostr(rooms)}, {"ANSI", "1"}, {"VT100", "1"}, {"DBSIZE", tostr(dbsize)}, {"EXITS", tostr(exits)}, {"EXTRA DESCRIPTIONS", tostr(descs)}, {"MUDPROGS", tostr(progs)}, {"MUDTRIGS", tostr(triggers)}, {"ADULT MATERIAL", "0"}, {"MULTIPLAYING", "Restricted"}, {"PLAYERKILLING", "Restricted"}, {"QUEST SYSTEM", "None"}, {"Roleplaying", "Enforced"}, {"WORLD ORIGINALITY", "Mostly Stock"}, {"SSL", "0"}, {"ZMP", "0"}}; .In summary:
MSSP-REPLY-START (lines of tab-separated key-value pairs) MSSP-REPLY-ENDWith CRLF line terminators.
The above code is wonky garbage and e.g. always returns zero exits as I never got around to making exits for that moocore. Yes, really. ._.
We should probably type this up into a revised spec, if the odd case anyone still cares about mssp...