realmofmagic.org
Connection Banner:
Server URLs
- Telnet: telnet://realmofmagic.org:4000
- Play in Browser: LociTerm
Server Info
Server Location: 🇩🇪 Germany (GeoIP)
Protocol Support
MUD-specific protocols detected via MSSP flags or Telnet negotiation.
MSSP: No
GMCP: Negotiated
MSDP: No
MCCP: No
MCCP2: No
MXP: Negotiated
MSP: Negotiated
MCP: No
ZMP: No
Telnet Fingerprint
This fingerprint is unique to this server.
Options offered by server: EOR, GMCP, MSP, MXP
The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata.
Show JSON
{
"server-probe": {
"fingerprint": "d801a190cd2985ec",
"fingerprint-data": {
"offered-options": [
"EOR",
"GMCP",
"MSP",
"MXP"
],
"probed-protocol": "server",
"refused-options": [
"AARDWOLF",
"ATCP",
"BINARY",
"CHARSET",
"COM_PORT",
"ECHO",
"MSDP",
"MSSP",
"SGA",
"STATUS",
"ZMP"
],
"requested-options": [],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": "\u001b[0m\r\n\u001b[0m\r\n Welcome to the\u001b[0m\r\n\u001b[0m\r\n Realm of Magic\u001b[0m\r\n\u001b[0m\r\n Created by\u001b[0m\r\n Claas \"Questor\" Buchterkirche, Wolfram \"Karl\" Schroeder,\u001b[0m\r\n Stefan \"Bhao\" Wichmann and Jani Fikouras\u001b[0m\r\n\u001b[0m\r\n Supported by\u001b[0m\r\n Wolfgang \"Highlander\" Wiese (management) and, alphabetically,\u001b[0m\r\n Claas \"Questor\" Buchterkirche, Torsten \"Murdegern\" Luettgert\u001b[0m\r\n Christoph \"Criscal\" Seifert, Raphael \"BelRaph\" Vaino (hacking)\u001b[0m\r\n\u001b[0m\r\n \u001b[1;34m_ \u001b[1;37m,--, \u001b[1;34m_\u001b[0m\r\n \u001b[1;34md~ _ \u001b[1;37m_( ) \u001b[1;34md~ _\u001b[0m\r\n \u001b[1;33m,,, \u001b[1;33m,_ \u001b[1;34md~ \u001b[1;37m( _, '-. _ \u001b[1;34md~ \u001b[1;33m,_ \u001b[1;33m,,,\u001b[0m\r\n \u001b[1;35m,:::, \u001b[1;33m,()))\\ \u001b[1;33m/( )\u001b[1;37m,-' ( ) ),--, \u001b[1;33m( )\\ \u001b[1;33m/(((), \u001b[1;35m,:::,\u001b[0m\r\n\u001b[1;35m,::\u001b[0;35m::\u001b[1;35m::,\u001b[1;33m((( \u001b[1;36m.( \u001b[1;33m/,*'\u001b[1;37m(,, ) )-,_ \u001b[1;33m`*.\\ \u001b[1;36m). \u001b[1;33m)))\u001b[1;35m,::\u001b[0;35m::\u001b[1;35m::,\u001b[0m\r\n\u001b[1;35m`:\u001b[0;35m:::\u001b[1;35m:::\u001b[1;33m((( \u001b[1;36m(/\u001b[1;33m<\u001b[1;36m%\u001b[1;33m' \u001b[0;32m___\u001b[1;32m____\u001b[1;37m-_- _- \u001b[0;32m____\u001b[1;32m__ \u001b[1;37m) \u001b[1;33m`\u001b[1;36m%\u001b[1;33m>\u001b[1;36m\\) \u001b[1;33m)))\u001b[1;35m:::\u001b[0;35m:::\u001b[1;35m:'\u001b[0m\r\n \u001b[1;35m`::::\u001b[1;33m(()))\u001b[1;36m__/| \u001b[0;32m_ \u001b[1;32m__ \\\u001b[0;32m_\u001b[1;32m___\u001b[0;32m__\u001b[1;32m____ \u001b[1;32m_\u001b[0;32m__ \u001b[1;32m/\u001b[0;32m__\u001b[1;32m____ ___ \u001b[1;36m|\\__\u001b[1;33m(((()\u001b[1;35m::::'\u001b[0m\r\n \u001b[1;35m,:::::\u001b[1;33m()))\u001b[1;36m\\__/ \u001b[0;32m___ \u001b[1;32m/_/ // _ \\/ __ `/\u001b[0;32m_ \u001b[1;32m/\u001b[0;32m__ \u001b[1;32m__ `__ \\ \u001b[1;36m\\__/\u001b[1;33m((()\u001b[1;35m:::::.\u001b[0m\r\n \u001b[1;35m:\u001b[0;35m:::\u001b[1;35m:::'\u001b[1;33m) \u001b[1;36m/ \u001b[0;32m_ \u001b[1;32m_, _// __/ /_/ /\u001b[0;32m_ \u001b[1;32m/\u001b[0;32m__ \u001b[1;32m/ / / / / \u001b[1;36m\\ \u001b[1;33m(\u001b[1;35m`:::\u001b[0;35m:::\u001b[1;35m:\u001b[0m\r\n \u001b[1;35m`:\u001b[0;35m::\u001b[1;35m:' \u001b[1;36m.. ( \u001b[0;32m__\u001b[1;32m__/ |_|\u001b[0;32m_\u001b[1;32m\\___/\\__,_/\u001b[0;32m_\u001b[1;32m__/\u001b[0;32m__\u001b[1;32m__/ /_/ /_/ \u001b[1;36m) .. \u001b[1;35m`:\u001b[0;35m::\u001b[1;35m:'\u001b[0m\r\n \u001b[1;35m`::' \u001b[1;36m(( `. \u001b[0;36m____\u001b[1;36m____ \u001b[1;36m.' )) \u001b[1;35m`::'\u001b[0m\r\n \u001b[1;36m\\\\ | \u001b[1;37m( ) \u001b[0;36m__\u001b[1;36m____\u001b[0;36m___ \u001b[1;36m__/ \u001b[1;37m.') \u001b[1;36m| // \u001b[1;37m,--,\u001b[0m\r\n \u001b[1;36m\\\\ | \u001b[1;37m(_.' \u001b[0;36m_ \u001b[1;36m__ \\\u001b[0;36m_ \u001b[1;36m/_ \u001b[1;37m(_ ) \u001b[1;37m_,-\u001b[1;36m| //\u001b[1;37m-( )\u001b[0m\r\n \u001b[1;37m_ \u001b[1;36m// ' / /_/ / __/ \u001b[1;37m_,-( \u001b[1;36m` \\\\ \u001b[1;37m))\u001b[0m\r\n \u001b[1;37m( ) \u001b[1;36m//.' \\____/__/ \u001b[1;37m( (\u001b[1;36m`.\\\\ \u001b[1;37m,'\u001b[0m\r\n \u001b[1;37m( \u001b[1;36m))/ \u001b[1;37m)_.') \u001b[0;32m___\u001b[1;32m__ ___ \u001b[0;32m____\u001b[1;32m_ \u001b[1;37m`-( ( \u001b[1;36m\\(( \u001b[1;37m( _\u001b[0m\r\n\u001b[1;37m( , \u001b[1;36m'' \u001b[1;37m) \u001b[0;32m_ \u001b[1;32m|/ /\u001b[0;32m_\u001b[1;32m____ _\u001b[0;32m__\u001b[1;32m____ \u001b[0;32m___\u001b[1;32m(_)\u001b[0;32m_\u001b[1;32m_____\u001b[1;37m( \u001b[1;36m`` \u001b[1;37m`'\u001b[0m\r\n \u001b[1;37m( ( ,- \u001b[0;32m___ \u001b[1;32m/|_/ /\u001b[0;32m_ \u001b[1;32m__ `/\u001b[0;32m_ \u001b[1;32m__ `/\u001b[0;32m_ \u001b[1;32m/\u001b[0;32m_ \u001b[1;32m___/\u001b[1;37m,` , )\u001b[0m\r\n \u001b[1;37m( `- ) ) \u001b[0;32m_ \u001b[1;32m/ / / / /_/ /\u001b[0;32m_ \u001b[1;32m/_/ /\u001b[0;32m_ \u001b[1;32m/\u001b[0;32m_ \u001b[1;32m/__ \u001b[1;37m( , ) '\u001b[0m\r\n\u001b[1;37m( \u001b[0;32m__\u001b[1;32m__/ /_/\u001b[0;32m__\u001b[1;32m\\__,_/ \\__, /\u001b[0;32m_\u001b[1;32m__/ \\___/ \u001b[1;37m( ' )\u001b[0m\r\n \u001b[1;37m` ( _ ) _ ) \u001b[1;32m/____/ \u001b[1;37m( _ , - ( _)\u001b[0m\u001b[0;0m\u001b[49m\u001b[0m\r\n\u001b[0m\u001b[0;0m\u001b[49m\u001b[0m\u001b[0;0m\u001b[49m\u001b[0m\r\nWhat is your character's name? ",
"banner_before_return": "Connect to port 4001 if you want no color.\u001b[0m\r\nConnect to port 4002 if you are visually impaired.\u001b[0m\r\n\u001b[0m\r\n\u001b[0m\r\n Welcome to the\u001b[0m\r\n\u001b[0m\r\n Realm of Magic\u001b[0m\r\n\u001b[0m\r\n Created by\u001b[0m\r\n Claas \"Questor\" Buchterkirche, Wolfram \"Karl\" Schroeder,\u001b[0m\r\n Stefan \"Bhao\" Wichmann and Jani Fikouras\u001b[0m\r\n\u001b[0m\r\n Supported by\u001b[0m\r\n Wolfgang \"Highlander\" Wiese (management) and, alphabetically,\u001b[0m\r\n Claas \"Questor\" Buchterkirche, Torsten \"Murdegern\" Luettgert\u001b[0m\r\n Christoph \"Criscal\" Seifert, Raphael \"BelRaph\" Vaino (hacking)\u001b[0m\r\n\u001b[0m\r\n\u001b[1;33m. : . .\u001b[0m\r\n \u001b[0;35m. \u001b[0;31m: \u001b[1;35m. \u001b[1;34m.-. \u001b[1;31m . \u001b[0m\r\n \u001b[1;35m . \u001b[1;31m: \u001b[1;35m . \u001b[1;34m : : \u001b[0;31m. \u001b[0m\r\n \u001b[0;35m . \u001b[1;34m.--. .--. .--. : : .,-.,-.,-. \u001b[0m\r\n \u001b[1;35m. \u001b[1;34m: ..'' '_.'' .; ; : :_ : ,. ,. : \u001b[0m\r\n \u001b[0;35m. \u001b[1;34m:_; `.__.'`.__,_;`.__;:_;:_;:_; \u001b[1;34m .--. \u001b[0m\r\n \u001b[0;35m. \u001b[0;31m: \u001b[0;35m. \u001b[1;31m . \u001b[1;34m : .-' \u001b[0m\r\n \u001b[1;31m. \u001b[1;35m. \u001b[1;31m: \u001b[1;35m. \u001b[0;31m. \u001b[1;34m .--. : `; \u001b[0m\r\n \u001b[0;31m. \u001b[0;35m. \u001b[0;31m: \u001b[0;35m. \u001b[0;31m. \u001b[1;34m' .; :: : \u001b[0m\r\n \u001b[1;31m. \u001b[0;35m. \u001b[0;31m: \u001b[1;35m. \u001b[1;31m. \u001b[1;34m`.__.':_; \u001b[0m\r\n \u001b[0;31m . \u001b[1;35m. \u001b[1;31m: \u001b[0;35m. \u001b[0;31m. \u001b[1;34m _\u001b[0m\r\n \u001b[0;31m. \u001b[0;35m. \u001b[1;31m: \u001b[0;35m. \u001b[1;31m. \u001b[1;34m :_; \u001b[0m\r\n \u001b[1;31m .\u001b[1;35m.\u001b[0;31m:\u001b[1;35m.\u001b[1;31m. \u001b[1;34m ,-.,-.,-. .--. .--. .-. .--. \u001b[0m\r\n\u001b[1;35m. \u001b[0;35m. \u001b[1;35m. \u001b[0;35m. \u001b[0;35m. \u001b[1;35m. \u001b[1;35m.\u001b[1;33mo\u001b[1;35m. \u001b[0;35m.\u001b[1;35m . \u001b[0;35m. \u001b[1;35m. \u001b[0;35m. \u001b[1;35m. \u001b[1;35m. \u001b[0;35m.\u001b[1;34m \u001b[1;35m.\u001b[1;34m:\u001b[0;35m.\u001b[1;34m,.\u001b[1;35m.\u001b[1;34m,.\u001b[0;35m.\u001b[1;34m:'\u001b[0;35m.\u001b[1;34m.;\u001b[1;35m.\u001b[1;34m;\u001b[1;35m.\u001b[1;34m'\u001b[0;35m.\u001b[1;34m.;\u001b[1;35m.\u001b[1;34m::\u001b[0;35m.\u001b[1;34m:'\u001b[1;35m.\u001b[1;35m.\u001b[1;34m..'\u001b[1;35m.\u001b[0;35m .\u001b[1;35m .\u001b[1;35m .\u001b[0;35m . \u001b[0m\r\n \u001b[0;31m .\u001b[1;35m.\u001b[1;31m:\u001b[1;35m.\u001b[1;31m. \u001b[1;34m :_;:_;:_;`.__,_;`._. ;:_;`.__.' \u001b[0m\r\n \u001b[1;31m . \u001b[0;35m. \u001b[0;31m: \u001b[0;35m. \u001b[0;31m. \u001b[1;34m .-. : \u001b[0m\r\n \u001b[0;31m . \u001b[1;35m. \u001b[1;31m: \u001b[0;35m. \u001b[1;31m. \u001b[1;34m `._.' \u001b[0m\r\n \u001b[1;31m . \u001b[0;35m. \u001b[1;31m: \u001b[1;35m. \u001b[0;31m .\u001b[0m\r\n \u001b[0;31m. \u001b[1;35m. \u001b[0;31m: \u001b[0;35m. \u001b[1;31m. \u001b[0;36mBased on a CircleMUD 2.2, with lots of \u001b[0m\r\n\u001b[1;33m . . : . . \u001b[0;36mnew things added. If you're a beginner,\u001b[0m\r\n \u001b[0;36mtype 'info' once you're in the game.\u001b[0m\r\n\u001b[0m\u001b[0;0m\u001b[49m\u001b[0m\u001b[0;0m\u001b[49m\u001b[0m\r\nWhat is your character's name? ",
"dsr_replies": 0,
"dsr_requests": 0,
"encoding": "ascii",
"option_states": {
"server_offered": {
"0x56": false,
"EOR": true,
"GMCP": true,
"MSP": true,
"MXP": true
},
"server_requested": {}
},
"scan_type": "quick",
"timing": {
"probe": 0.5203533172607422,
"total": 5.574890613555908
}
}
},
"sessions": [
{
"connected": "2026-02-14T17:10:18.385860+00:00",
"host": "realmofmagic.org",
"ip": "134.102.222.26",
"port": 4000
}
]
}
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 realmofmagic.org 4000
Show Logfile
DEBUG client.py:965 Fingerprint client: host=realmofmagic.org port=4000
INFO client_base.py:175 Connected to <Peer 134.102.222.26 4000>
DEBUG client_base.py:492 negotiation complete after 0.00s.
DEBUG stream_writer.py:707 recv IAC WILL EOR
DEBUG stream_writer.py:723 WILL EOR unsolicited
DEBUG stream_writer.py:1900 handle_will(EOR)
DEBUG stream_writer.py:3174 pending_option[DO + EOR] = True
DEBUG stream_writer.py:950 send IAC DO EOR
DEBUG stream_writer.py:3174 remote_option[EOR] = True
DEBUG stream_writer.py:3174 pending_option[DO + EOR] = False
DEBUG stream_writer.py:707 recv IAC WILL MSP
DEBUG stream_writer.py:723 WILL MSP unsolicited
DEBUG stream_writer.py:1900 handle_will(MSP)
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = True
DEBUG stream_writer.py:950 send IAC DO MSP
DEBUG stream_writer.py:3174 remote_option[MSP] = True
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = False
DEBUG stream_writer.py:707 recv IAC WILL MXP
DEBUG stream_writer.py:723 WILL MXP unsolicited
DEBUG stream_writer.py:1900 handle_will(MXP)
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = True
DEBUG stream_writer.py:950 send IAC DO MXP
DEBUG stream_writer.py:3174 remote_option[MXP] = True
DEBUG stream_writer.py:3174 pending_option[SB + MXP] = True
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = False
DEBUG stream_writer.py:707 recv IAC WILL GMCP
DEBUG stream_writer.py:723 WILL GMCP unsolicited
DEBUG stream_writer.py:1900 handle_will(GMCP)
DEBUG stream_writer.py:3174 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:950 send IAC DO GMCP
DEBUG stream_writer.py:3174 remote_option[GMCP] = True
DEBUG stream_writer.py:3174 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:707 recv IAC WILL MCCP2_COMPRESS
DEBUG stream_writer.py:723 WILL MCCP2_COMPRESS unsolicited
DEBUG stream_writer.py:1900 handle_will(MCCP2_COMPRESS)
DEBUG stream_writer.py:3174 remote_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:950 send IAC DONT MCCP2_COMPRESS
WARNING stream_writer.py:2008 Unhandled: WILL MCCP2_COMPRESS.
DEBUG stream_writer.py:1323 IAC GA: Go-Ahead (unhandled).
DEBUG stream_writer.py:1323 IAC GA: Go-Ahead (unhandled).
DEBUG stream_writer.py:1323 IAC GA: Go-Ahead (unhandled).
DEBUG stream_writer.py:707 recv IAC WILL GMCP
DEBUG stream_writer.py:723 WILL GMCP unsolicited
DEBUG stream_writer.py:1900 handle_will(GMCP)
DEBUG stream_writer.py:707 recv IAC WILL MCCP2_COMPRESS
DEBUG stream_writer.py:723 WILL MCCP2_COMPRESS unsolicited
DEBUG stream_writer.py:1900 handle_will(MCCP2_COMPRESS)
DEBUG stream_writer.py:941 skip DONT MCCP2_COMPRESS; remote_option = False
WARNING stream_writer.py:2008 Unhandled: WILL MCCP2_COMPRESS.
DEBUG stream_writer.py:1323 IAC GA: Go-Ahead (unhandled).
DEBUG stream_writer.py:1342 IAC EOR: End of Record (unhandled).
DEBUG stream_writer.py:1342 IAC EOR: End of Record (unhandled).
DEBUG stream_writer.py:3174 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:950 send IAC DO BINARY
DEBUG stream_writer.py:3174 pending_option[DO + SGA] = True
DEBUG stream_writer.py:950 send IAC DO SGA
DEBUG stream_writer.py:3174 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:950 send IAC DO ECHO
DEBUG stream_writer.py:3174 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:950 send IAC DO STATUS
DEBUG stream_writer.py:3174 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:950 send IAC DO CHARSET
DEBUG stream_writer.py:3174 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:950 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:3174 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:950 send IAC DO MSDP
DEBUG stream_writer.py:3174 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:950 send IAC DO MSSP
DEBUG stream_writer.py:3174 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:950 send IAC DO ZMP
DEBUG stream_writer.py:3174 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:950 send IAC DO AARDWOLF
DEBUG stream_writer.py:3174 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:950 send IAC DO ATCP
INFO fingerprinting.py:737 new server fingerprint d801a190cd2985ec
INFO client_base.py:106 Connection closed to <Peer 134.102.222.26 4000>