BlackMUD
Connection Banner:
Server URLs
- Telnet: telnet://blackmud.com:2000
- Website: www.blackmud.com
Server Info
Codebase: Custom Silly/Diku
Players online: 14 [1]
Uptime: 17 days
Created: 1993
Server Location: 🇺🇸 USA (MSSP)
Language: English
Protocol Support
MUD-specific protocols detected via MSSP flags or Telnet negotiation.
MSSP: Yes (MSSP)
GMCP: Yes (MSSP)
MSDP: Yes (MSSP)
MCCP: No
MCCP2: No
MXP: Yes (MSSP)
MSP: Yes (MSSP)
MCP: No
ZMP: No
Telnet Fingerprint
This fingerprint is unique to this server.
Options requested from client: ATCP, MXP
The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata.
Show JSON
{
"server-probe": {
"fingerprint": "6967692ac642011e",
"fingerprint-data": {
"offered-options": [],
"probed-protocol": "server",
"refused-options": [],
"requested-options": [
"ATCP",
"MXP"
],
"scan-type": "quick"
},
"session_data": {
"atcp": [
{
"package": "MSDP.SERVER_ID",
"value": "BlackMUD"
}
],
"banner_after_return": "",
"banner_before_return": "\u001b[7zAuthenticating remote host.\r\nYv\\xumdQQQ$MMGd6oL*:,,_'!~~LHXTVhPdG$##@@#QgPMH^` \r\n,':^*Ts5ODZ53GO0kL);-``` ``.'` .!xP8##BEdo. ` \r\n`_!*VdD9OZdkG3Kaj)!-``` `_(KgBDT``. \r\n `'<ToMdewcPOKWVr,'` `^MQO*-- \r\n `-_r}x6B0#o}^lL*!_` -lRy:` \r\n `,~<]y08B#QMyvuT\\<- -kkr^. \r\n `_((]:ryREQdjuuvr~=_ `_rkUL' \r\n _k5Bx)YGRgg6IBQ0r', '`-*d$dv` \r\n !T59>LPOBQQBmBggc_- `.`_^;`!uQ#Rw \r\n`.V^}*~u6RB$BQOm9M6^^` ```--_,-v}=:iw#@83` \r\n.yI*=~)wdQgBQDgZTIEdx_ ```..-~<)*)>Li()yd@@QZ. \r\nMW(;<=::Yyrv!`=PGcs8BRr` `_'=^==)Ty}r:vvik}K8@@QZ_ \r\nO}~Y*^` 'dM3O##@Bu_ _(I3wyYY}hGG^:'v^=!K#@#QI. \r\nT=x!\\` ~Myd9B@@@@$bR5wwzvcPdR6kr:iv!.hB@@$V` \r\n!v^_ `` `^yKPQ@@@#@@@BggRPZdEw= -?cLv8#@Bdx' \r\n>x~ `` \\uLGQ@@@@@#@@BQ8QPldOMMdbdB#BgduY_ \r\n*:_ '` -TIwdBQQBQ0Ok(~''vyeKG$D$$09Wy;_o^(i` \r\n}:^' `* `xzu3800$bTr-'` -=|i~,'_i)^**=^u=_~. \r\nOi'^, '` `. rPyZ0QQQPx!=u0d= `-^x!`.!iGGGI!` , \r\nB= .:xG_ ```,$a9$BEZL_`_Ldz?!_.-:~v}xr=~KqM], `` \r\n#_ :^T~` `, ``:`.Q5MD6Gy: -!r^^}Y^rTV}TyVxuL*lV=` \r\n#I (*|, `=ZR' '`\\QZdgdwv':}x*|i}r!^xkP3x~:=*l?:` \r\n#@d, `:Ty`lPh) `-*86RgB$x<`,=__:_.`:vcX}!` `` \r\nB###3v>~,-!v*}r~*}dQ0D0Q#D^^>}=:|~:'*ix^- \r\nBBBB8gdmyx!vc$8dzOQQQgQ@@Q~**aT*=:*x;,` \r\n8B0gDUX$#QoRB##axeQ#Q8B#@$T=r5L}5Hm\\` _` \r\nT}Rqx:zQ#@Dg@#QV^!ZBEig@@#R?zyV:e}!` -* \r\n!bg6=v0D$B8g#B0$3-x#0IZ#@#gvauv'>_ '! \r\nuQ$HxI@@5B8B#9V6Z_=QQ0$QB#Qj_^!_-- `!_ \r\nxPQP(yQ8TeQ30u~xv:*B#$Uxk96v'``.`. ,_, \r\nTT-,-x5qx-,:,*bOm:`:kBT _*Y'`.``!::: _<`` \r\nkdc'_c6$8}.`>E#@#U <B@Z!q#Q\\;_??]*T! - 'x-. \r\nRQz,vg##@8_ K#@@@g`)##O*R@#vx::':=, `r.`ux`' \r\nd#Q=(s6REQx,PE$Q$O:I##d^0Qw!=_ _Vqx`=ix-us!`. \r\n(MM^<*xLYw}^cczmPG|QQm!-L: `,=cd$K^DdLkgx- \r\n`!'` ``-,~~x,--=><:vr:``.x;>kH0#Mcv*lQRMQT~` \r\nQ8W5ORG@@@LB@#vk@@Qz#@6GBM#5$O)vMY!*KO$$Z''` \r\n#y)B@B~P@#xy##Y=B#O,Q@BYB3dITx_!VL<ru3dd*`` \r\nH^`oQM._R$)`)x-`Yo)`^qZ<3}z^lbvx!^^;}Kae. \r\nlY`_xw!`>Y^'ri,`._'-}wv;M*!-,kY=x!*vVxc^ \r\n\r\n \r\n BlackMUD: The Age of Discovery\r\n \r\n Based on a creation of\r\n Staerfeldt, Nyboe, Madsen, Seifert, and Hammer\r\n\r\nIf you are just starting you will have to create an user account.\r\nYour user account name is NOT a character name.\r\nYour account can have multiple characters, which you will create later.\r\nYour user account name must be 5 to 20 characters in length,\r\ncan be any combination of letters and/or numbers (no symbols),\r\nand cannot begin with a number.\r\n\r\nEnter your account name: ",
"dsr_replies": 0,
"dsr_requests": 0,
"encoding": "ascii",
"mssp": {
"ADULT MATERIAL": "0",
"ANSI": "1",
"CODEBASE": "Custom Silly/Diku",
"CONTACT": "mudadmin@blackmud.com",
"CRAWL DELAY": "-1",
"CREATED": "1993",
"EQUIPMENT SYSTEM": "",
"GMCP": "1",
"HOSTNAME": "kal.dev.blackmud.net",
"ICON": "",
"IP": "",
"LANGUAGE": "English",
"LOCATION": "USA",
"MCCP": "0",
"MCP": "0",
"MINIMUM AGE": "13",
"MSDP": "1",
"MSP": "1",
"MULTICLASSING": "0",
"MULTIPLAYING": "None",
"MXP": "1",
"NAME": "BlackMUD",
"NEWBIE FRIENDLY": "1",
"PAY FOR PERKS": "0",
"PAY TO PLAY": "0",
"PLAYER CITIES": "0",
"PLAYER CLANS": "0",
"PLAYER CRAFTING": "1",
"PLAYER GUILDS": "1",
"PLAYERKILLING": "Opt-In",
"PLAYERS": "14",
"PORT": "2000",
"PUEBLO": "0",
"QUEST SYSTEM": "None",
"ROLEPLAYING": "Optional",
"TRAINING SYSTEM": "",
"UPTIME": "1771326447",
"UTF-8": "1",
"VT100": "0",
"WEBSITE": "www.blackmud.com",
"WORLD ORIGINALITY": "Yes",
"XTERM 256 COLORS": "1"
},
"mxp": [
"activated"
],
"option_states": {
"server_offered": {
"AARDWOLF": false,
"ATCP": false,
"GMCP": true,
"MCCP3": false,
"MSDP": true,
"MSP": true,
"MSSP": true,
"MXP": true,
"ZMP": false
},
"server_requested": {
"AARDWOLF": false,
"ATCP": true,
"MCCP2": false,
"MCCP3": false,
"MSDP": false,
"MSP": false,
"MSSP": false,
"MXP": true,
"ZMP": false
}
},
"scan_type": "quick",
"timing": {
"probe": 0.0,
"total": 5.6858885288238525
}
}
},
"sessions": [
{
"connected": "2026-03-07T03:54:44.213257+00:00",
"host": "blackmud.com",
"ip": "150.136.51.15",
"port": 2000
}
]
}
Connection Log
Debug-level log of the Telnet negotiation session, showing each IAC (Interpret As Command) exchange between client and server.
Generated by telnetlib3-fingerprint
telnetlib3-fingerprint --loglevel=debug blackmud.com 2000
Show Logfile
DEBUG client.py:1193 Fingerprint client: host=blackmud.com port=2000
INFO client_base.py:186 Connected to <Peer 150.136.51.15 2000>
DEBUG stream_writer.py:3330 pending_option[WILL + MXP] = True
DEBUG stream_writer.py:1019 send IAC WILL MXP
DEBUG stream_writer.py:3330 pending_option[WILL + ATCP] = True
DEBUG stream_writer.py:1019 send IAC WILL ATCP
DEBUG stream_writer.py:3330 pending_option[WILL + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1019 send IAC WILL MCCP3_COMPRESS
DEBUG stream_writer.py:3330 pending_option[WILL + GMCP] = True
DEBUG stream_writer.py:1019 send IAC WILL GMCP
DEBUG stream_writer.py:3330 pending_option[WILL + AARDWOLF] = True
DEBUG stream_writer.py:1019 send IAC WILL AARDWOLF
DEBUG stream_writer.py:3330 pending_option[WILL + MSP] = True
DEBUG stream_writer.py:1019 send IAC WILL MSP
DEBUG stream_writer.py:3330 pending_option[WILL + MSDP] = True
DEBUG stream_writer.py:1019 send IAC WILL MSDP
DEBUG stream_writer.py:3330 pending_option[WILL + MSSP] = True
DEBUG stream_writer.py:1019 send IAC WILL MSSP
DEBUG stream_writer.py:3330 pending_option[WILL + ZMP] = True
DEBUG stream_writer.py:1019 send IAC WILL ZMP
DEBUG stream_writer.py:3330 pending_option[WILL + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1019 send IAC WILL MCCP2_COMPRESS
DEBUG stream_writer.py:3330 pending_option[DO + MXP] = True
DEBUG stream_writer.py:1019 send IAC DO MXP
DEBUG stream_writer.py:3330 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:1019 send IAC DO ATCP
DEBUG stream_writer.py:3330 pending_option[DO + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1019 send IAC DO MCCP3_COMPRESS
DEBUG stream_writer.py:3330 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:1019 send IAC DO GMCP
DEBUG stream_writer.py:3330 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:1019 send IAC DO AARDWOLF
DEBUG stream_writer.py:3330 pending_option[DO + MSP] = True
DEBUG stream_writer.py:1019 send IAC DO MSP
DEBUG stream_writer.py:3330 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:1019 send IAC DO MSDP
DEBUG stream_writer.py:3330 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:1019 send IAC DO MSSP
DEBUG stream_writer.py:3330 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:1019 send IAC DO ZMP
DEBUG stream_writer.py:3330 pending_option[DO + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1019 send IAC DO MCCP2_COMPRESS
DEBUG stream_writer.py:768 recv IAC DO MXP
DEBUG stream_writer.py:1836 handle_do(MXP)
DEBUG stream_writer.py:993 skip WILL MXP; pending_option = True
DEBUG stream_writer.py:3330 local_option[MXP] = True
DEBUG stream_writer.py:3330 pending_option[WILL + MXP] = False
DEBUG stream_writer.py:762 begin sub-negotiation SB MXP
DEBUG stream_writer.py:749 sub-negotiation cmd MXP SE completion byte
DEBUG stream_writer.py:2187 [SB + MXP] unsolicited
DEBUG stream_writer.py:1754 MXP: b''
DEBUG stream_writer.py:768 recv IAC DO ATCP
DEBUG stream_writer.py:1836 handle_do(ATCP)
DEBUG stream_writer.py:993 skip WILL ATCP; pending_option = True
DEBUG stream_writer.py:3330 local_option[ATCP] = True
DEBUG stream_writer.py:3330 pending_option[WILL + ATCP] = False
DEBUG stream_writer.py:762 begin sub-negotiation SB ATCP
DEBUG stream_writer.py:749 sub-negotiation cmd ATCP SE completion byte
DEBUG stream_writer.py:2187 [SB + ATCP] unsolicited
DEBUG stream_writer.py:1769 ATCP: MSDP.SERVER_ID 'BlackMUD'
DEBUG stream_writer.py:768 recv IAC DONT MCCP3_COMPRESS
DEBUG stream_writer.py:1959 handle_dont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3330 pending_option[WILL + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3330 local_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:768 recv IAC WONT GMCP
DEBUG stream_writer.py:2148 handle_wont(GMCP)
DEBUG stream_writer.py:3330 remote_option[GMCP] = False
DEBUG stream_writer.py:3330 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:768 recv IAC DONT AARDWOLF
DEBUG stream_writer.py:1959 handle_dont(AARDWOLF)
DEBUG stream_writer.py:3330 pending_option[WILL + AARDWOLF] = False
DEBUG stream_writer.py:3330 local_option[AARDWOLF] = False
DEBUG stream_writer.py:768 recv IAC DONT MSP
DEBUG stream_writer.py:1959 handle_dont(MSP)
DEBUG stream_writer.py:3330 pending_option[WILL + MSP] = False
DEBUG stream_writer.py:3330 local_option[MSP] = False
DEBUG stream_writer.py:768 recv IAC DONT MSDP
DEBUG stream_writer.py:1959 handle_dont(MSDP)
DEBUG stream_writer.py:3330 pending_option[WILL + MSDP] = False
DEBUG stream_writer.py:3330 local_option[MSDP] = False
DEBUG stream_writer.py:768 recv IAC DONT MSSP
DEBUG stream_writer.py:1959 handle_dont(MSSP)
DEBUG stream_writer.py:3330 pending_option[WILL + MSSP] = False
DEBUG stream_writer.py:3330 local_option[MSSP] = False
DEBUG stream_writer.py:768 recv IAC DONT ZMP
DEBUG stream_writer.py:1959 handle_dont(ZMP)
DEBUG stream_writer.py:3330 pending_option[WILL + ZMP] = False
DEBUG stream_writer.py:3330 local_option[ZMP] = False
DEBUG stream_writer.py:768 recv IAC DONT MCCP2_COMPRESS
DEBUG stream_writer.py:1959 handle_dont(MCCP2_COMPRESS)
DEBUG stream_writer.py:3330 pending_option[WILL + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:3330 local_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:768 recv IAC WILL MXP
DEBUG stream_writer.py:1994 handle_will(MXP)
DEBUG stream_writer.py:993 skip DO MXP; pending_option = True
DEBUG stream_writer.py:3330 remote_option[MXP] = True
DEBUG stream_writer.py:3330 pending_option[DO + MXP] = False
DEBUG stream_writer.py:768 recv IAC WONT ATCP
DEBUG stream_writer.py:2148 handle_wont(ATCP)
DEBUG stream_writer.py:3330 remote_option[ATCP] = False
DEBUG stream_writer.py:3330 pending_option[DO + ATCP] = False
DEBUG stream_writer.py:768 recv IAC WONT MCCP3_COMPRESS
DEBUG stream_writer.py:2148 handle_wont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3330 remote_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3330 pending_option[DO + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:768 recv IAC WILL GMCP
DEBUG stream_writer.py:784 WILL GMCP unsolicited
DEBUG stream_writer.py:1994 handle_will(GMCP)
DEBUG stream_writer.py:3330 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:1019 send IAC DO GMCP
DEBUG stream_writer.py:3330 remote_option[GMCP] = True
DEBUG stream_writer.py:1067 send IAC SB GMCP Core.Hello IAC SE
DEBUG stream_writer.py:1067 send IAC SB GMCP Core.Supports.Set IAC SE
INFO client.py:201 GMCP handshake: Core.Hello + Core.Supports.Set ['Char 1', 'Char.Vitals 1', 'Char.Items 1', 'Room 1', 'Room.Info
1', 'Comm 1', 'Comm.Channel 1', 'Group 1']
DEBUG stream_writer.py:3330 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:768 recv IAC WONT AARDWOLF
DEBUG stream_writer.py:2148 handle_wont(AARDWOLF)
DEBUG stream_writer.py:3330 remote_option[AARDWOLF] = False
DEBUG stream_writer.py:3330 pending_option[DO + AARDWOLF] = False
DEBUG stream_writer.py:768 recv IAC WILL MSP
DEBUG stream_writer.py:1994 handle_will(MSP)
DEBUG stream_writer.py:993 skip DO MSP; pending_option = True
DEBUG stream_writer.py:3330 remote_option[MSP] = True
DEBUG stream_writer.py:3330 pending_option[DO + MSP] = False
DEBUG stream_writer.py:768 recv IAC WILL MSDP
DEBUG stream_writer.py:1994 handle_will(MSDP)
DEBUG stream_writer.py:993 skip DO MSDP; pending_option = True
DEBUG stream_writer.py:3330 remote_option[MSDP] = True
DEBUG stream_writer.py:3330 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:762 begin sub-negotiation SB MSDP
DEBUG stream_writer.py:749 sub-negotiation cmd MSDP SE completion byte
DEBUG stream_writer.py:2187 [SB + MSDP] unsolicited
DEBUG stream_writer.py:1741 MSDP: {'SERVER_ID': 'BlackMUD'}
DEBUG stream_writer.py:768 recv IAC WILL MSSP
DEBUG stream_writer.py:1994 handle_will(MSSP)
DEBUG stream_writer.py:993 skip DO MSSP; pending_option = True
DEBUG stream_writer.py:3330 remote_option[MSSP] = True
DEBUG stream_writer.py:3330 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:762 begin sub-negotiation SB MSSP
DEBUG stream_writer.py:749 sub-negotiation cmd MSSP SE completion byte
DEBUG stream_writer.py:2187 [SB + MSSP] unsolicited
DEBUG stream_writer.py:1745 MSSP: {'NAME': 'BlackMUD', 'PLAYERS': '14', 'UPTIME': '1771326447', 'CRAWL DELAY': '-1', 'HOSTNAME':
'kal.dev.blackmud.net', 'PORT': '2000', 'CODEBASE': 'Custom Silly/Diku', 'CONTACT': 'mudadmin@blackmud.com', 'CREATED':
'1993', 'ICON': '', 'IP': '', 'LANGUAGE': 'English', 'LOCATION': 'USA', 'MINIMUM AGE': '13', 'WEBSITE': 'www.blackmud.com',
'ANSI': '1', 'GMCP': '1', 'MCCP': '0', 'MCP': '0', 'MSDP': '1', 'MSP': '1', 'MXP': '1', 'PUEBLO': '0', 'UTF-8': '1', 'VT100':
'0', 'XTERM 256 COLORS': '1', 'PAY TO PLAY': '0', 'PAY FOR PERKS': '0', 'ADULT MATERIAL': '0', 'MULTICLASSING': '0', 'NEWBIE
FRIENDLY': '1', 'PLAYER CITIES': '0', 'PLAYER CLANS': '0', 'PLAYER CRAFTING': '1', 'PLAYER GUILDS': '1', 'EQUIPMENT SYSTEM':
'', 'MULTIPLAYING': 'None', 'PLAYERKILLING': 'Opt-In', 'QUEST SYSTEM': 'None', 'ROLEPLAYING': 'Optional', 'TRAINING SYSTEM':
'', 'WORLD ORIGINALITY': 'Yes'}
DEBUG stream_writer.py:768 recv IAC WONT ZMP
DEBUG stream_writer.py:2148 handle_wont(ZMP)
DEBUG stream_writer.py:3330 remote_option[ZMP] = False
DEBUG stream_writer.py:3330 pending_option[DO + ZMP] = False
DEBUG client_base.py:499 negotiation failed after 4.00s.
DEBUG client_base.py:505 failed-reply: 'WILL GMCP, DO MCCP2_COMPRESS'
DEBUG client_base.py:89 EOF from server, closing.
INFO client_base.py:118 Connection closed to <Peer 150.136.51.15 2000>
INFO fingerprinting.py:746 new server fingerprint 6967692ac642011e