realmofmagic.org

Connection Banner:

Connect to port 4001 if you want no color. Connect to port 4002 if you are visually impaired. Welcome to the Realm of Magic Created by Claas "Questor" Buchterkirche, Wolfram "Karl" Schroeder, Stefan "Bhao" Wichmann and Jani Fikouras Supported by Wolfgang "Highlander" Wiese (management) and, alphabetically, Claas "Questor" Buchterkirche, Torsten "Murdegern" Luettgert Christoph "Criscal" Seifert, Raphael "BelRaph" Vaino (hacking) _​____ _​_____ _​_____ _ ___ ___ // \|\| // // // // //// //// //-​--- //_​___ //___// // // /// // // \|\| // // // // // // // \|\| //_​___ // // //_​___ // // - - -​----+=# OF #​=+----- - - + __ __ __ _​_____ _ _​_____ + + / \\_/ \\ / \\ / _​___)_)/ _​___) \| / \\/ \\/ / __ _/ / \\ / / /\\ /\\ \\ __ \\ \| ( \\/ \\ ( -​------------- - - - \* - + / / \\_/ \\ \\ \\ \\ \\_/ ) ) \\_​___ / \\ (__/ (_\\__) \\__)_​___/\\_/\\_​_____) \| + + + Based on CircleMUD 2.2, lots of stuff has been added by the Implementors. Newbies please try the 'help' command ! What is your character's name?

Server URLs

Server Info

  • Server Location: 🇩🇪 Germany (GeoIP)

Protocol Support

MUD-specific protocols detected via MSSP flags or Telnet negotiation.

  • MSSP: No

  • GMCP: No

  • MSDP: No

  • MCCP: No

  • MCCP2: Negotiated

  • MXP: Negotiated

  • MSP: Negotiated

  • MCP: No

  • ZMP: No

Telnet Fingerprint

2239b9eed4b7a8a6

This fingerprint is unique to this server.

Options offered by server: EOR, MCCP2, MSP, MXP

Options requested from client: MCCP2, MSP, MXP

The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata.

Show JSON
{
  "server-probe": {
    "fingerprint": "2239b9eed4b7a8a6",
    "fingerprint-data": {
      "offered-options": [
        "EOR",
        "MCCP2",
        "MSP",
        "MXP"
      ],
      "probed-protocol": "server",
      "refused-options": [
        "AARDWOLF",
        "ATCP",
        "BINARY",
        "CHARSET",
        "COM_PORT",
        "ECHO",
        "GMCP",
        "MCCP3",
        "MSDP",
        "MSSP",
        "SGA",
        "STATUS",
        "ZMP"
      ],
      "requested-options": [
        "MCCP2",
        "MSP",
        "MXP"
      ],
      "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;36m_____      \u001b[0;32m______    \u001b[1;36m______    \u001b[0;32m_       \u001b[1;36m___  ___\u001b[0m\r\n           \u001b[1;36m//   ||    \u001b[0;32m//        \u001b[1;36m//   //   \u001b[0;32m//      \u001b[1;36m//// ////\u001b[0m\r\n          \u001b[1;36m//----     \u001b[0;32m//____    \u001b[1;36m//___//   \u001b[0;32m//      \u001b[1;36m// /// //\u001b[0m\r\n         \u001b[1;36m//  ||     \u001b[0;32m//        \u001b[1;36m//   //   \u001b[0;32m//      \u001b[1;36m//     //\u001b[0m\r\n        \u001b[1;36m//   ||    \u001b[0;32m//____    \u001b[1;36m//   //   \u001b[0;32m//____  \u001b[1;36m//     //\u001b[0m\r\n   \u001b[0m\r\n                  \u001b[0;32m- - --\u001b[1;32m---\u001b[1;36m+=\u001b[1;35m# OF #\u001b[1;36m=+\u001b[1;32m---\u001b[0;32m-- - -                \u001b[1;33m+\u001b[0m\r\n       \u001b[0;36m__   __ \u001b[1;32m   __    \u001b[0;36m______ \u001b[1;32m_  \u001b[0;36m______                  \u001b[1;33m+       \u001b[1;33m+\u001b[0m\r\n     \u001b[0;36m /  \\_/  \\\u001b[1;32m  /  \\  \u001b[0;36m/  ____)\u001b[1;32m_)\u001b[0;36m/  ____)                     \u001b[1;32m|\u001b[0m\r\n    \u001b[0;36m /         \\\u001b[1;32m/    \\\u001b[0;36m/  / __  \u001b[1;32m_\u001b[0;36m/  /                        \u001b[1;32m\\   /\u001b[0m\r\n    \u001b[0;36m/  /\\   /\\  \\\u001b[1;32m __  \\\u001b[0;36m | (  \\\u001b[1;32m/ \\\u001b[0;36m (   \u001b[0;31m----\u001b[1;31m-\u001b[0;35m----\u001b[1;35m----- - -  \u001b[1;32m-   \u001b[1;35m*  \u001b[1;32m-  \u001b[1;33m+\u001b[0m\r\n   \u001b[0;36m/  /  \\_/  \\  \\\u001b[1;32m  \\  \\\u001b[0;36m \\_/  )\u001b[1;32m  )\u001b[0;36m \\____                    \u001b[1;32m/   \\\u001b[0m\r\n  \u001b[0;36m(__/       \u001b[1;32m(_\u001b[0;36m\\__)\u001b[1;32m  \\__)\u001b[0;36m____/\u001b[1;32m\\_/\u001b[0;36m\\______)                    \u001b[1;32m |\u001b[0m\r\n                                                          \u001b[1;33m+       \u001b[1;33m+\u001b[0m\r\n                                                              \u001b[1;33m+\u001b[0m\r\n   \u001b[0m\r\n    \u001b[0;36mBased on CircleMUD 2.2, lots of stuff\u001b[0m\r\n    \u001b[0;36mhas been added by the Implementors.\u001b[0m\r\n  \u001b[0m\r\n            \u001b[0;36mNewbies please try the 'help' command !\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;36m_____      \u001b[0;32m______    \u001b[1;36m______    \u001b[0;32m_       \u001b[1;36m___  ___\u001b[0m\r\n           \u001b[1;36m//   ||    \u001b[0;32m//        \u001b[1;36m//   //   \u001b[0;32m//      \u001b[1;36m//// ////\u001b[0m\r\n          \u001b[1;36m//----     \u001b[0;32m//____    \u001b[1;36m//___//   \u001b[0;32m//      \u001b[1;36m// /// //\u001b[0m\r\n         \u001b[1;36m//  ||     \u001b[0;32m//        \u001b[1;36m//   //   \u001b[0;32m//      \u001b[1;36m//     //\u001b[0m\r\n        \u001b[1;36m//   ||    \u001b[0;32m//____    \u001b[1;36m//   //   \u001b[0;32m//____  \u001b[1;36m//     //\u001b[0m\r\n   \u001b[0m\r\n                  \u001b[0;32m- - --\u001b[1;32m---\u001b[1;36m+=\u001b[1;35m# OF #\u001b[1;36m=+\u001b[1;32m---\u001b[0;32m-- - -                \u001b[1;33m+\u001b[0m\r\n       \u001b[0;36m__   __ \u001b[1;32m   __    \u001b[0;36m______ \u001b[1;32m_  \u001b[0;36m______                  \u001b[1;33m+       \u001b[1;33m+\u001b[0m\r\n     \u001b[0;36m /  \\_/  \\\u001b[1;32m  /  \\  \u001b[0;36m/  ____)\u001b[1;32m_)\u001b[0;36m/  ____)                     \u001b[1;32m|\u001b[0m\r\n    \u001b[0;36m /         \\\u001b[1;32m/    \\\u001b[0;36m/  / __  \u001b[1;32m_\u001b[0;36m/  /                        \u001b[1;32m\\   /\u001b[0m\r\n    \u001b[0;36m/  /\\   /\\  \\\u001b[1;32m __  \\\u001b[0;36m | (  \\\u001b[1;32m/ \\\u001b[0;36m (   \u001b[0;31m----\u001b[1;31m-\u001b[0;35m----\u001b[1;35m----- - -  \u001b[1;32m-   \u001b[1;35m*  \u001b[1;32m-  \u001b[1;33m+\u001b[0m\r\n   \u001b[0;36m/  /  \\_/  \\  \\\u001b[1;32m  \\  \\\u001b[0;36m \\_/  )\u001b[1;32m  )\u001b[0;36m \\____                    \u001b[1;32m/   \\\u001b[0m\r\n  \u001b[0;36m(__/       \u001b[1;32m(_\u001b[0;36m\\__)\u001b[1;32m  \\__)\u001b[0;36m____/\u001b[1;32m\\_/\u001b[0;36m\\______)                    \u001b[1;32m |\u001b[0m\r\n                                                          \u001b[1;33m+       \u001b[1;33m+\u001b[0m\r\n                                                              \u001b[1;33m+\u001b[0m\r\n   \u001b[0m\r\n    \u001b[0;36mBased on CircleMUD 2.2, lots of stuff\u001b[0m\r\n    \u001b[0;36mhas been added by the Implementors.\u001b[0m\r\n  \u001b[0m\r\n            \u001b[0;36mNewbies please try the 'help' command !\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": {
          "EOR": true,
          "MCCP2": true,
          "MSP": true,
          "MXP": true
        },
        "server_requested": {
          "MCCP2": true,
          "MSP": true,
          "MXP": true
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.5032315254211426,
        "total": 11.828194856643677
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-03-07T03:57:15.516908+00:00",
      "host": "realmofmagic.org",
      "ip": "134.102.222.26",
      "port": 4000
    },
    {
      "connected": "2026-04-07T06:53:56.477032+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:1200 Fingerprint client: host=realmofmagic.org port=4000
INFO client_base.py:190 Connected to <Peer 134.102.222.26 4000>
DEBUG stream_writer.py:3384 pending_option[WILL + MXP] = True
DEBUG stream_writer.py:1024 send IAC WILL MXP
DEBUG stream_writer.py:3384 pending_option[WILL + MSP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSP
DEBUG stream_writer.py:3384 pending_option[WILL + GMCP] = True
DEBUG stream_writer.py:1024 send IAC WILL GMCP
DEBUG stream_writer.py:3384 pending_option[WILL + ZMP] = True
DEBUG stream_writer.py:1024 send IAC WILL ZMP
DEBUG stream_writer.py:3384 pending_option[WILL + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC WILL AARDWOLF
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC WILL MCCP2_COMPRESS
DEBUG stream_writer.py:3384 pending_option[WILL + MSSP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSSP
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC WILL MCCP3_COMPRESS
DEBUG stream_writer.py:3384 pending_option[WILL + MSDP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSDP
DEBUG stream_writer.py:3384 pending_option[WILL + ATCP] = True
DEBUG stream_writer.py:1024 send IAC WILL ATCP
DEBUG stream_writer.py:3384 pending_option[DO + MXP] = True
DEBUG stream_writer.py:1024 send IAC DO MXP
DEBUG stream_writer.py:3384 pending_option[DO + MSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSP
DEBUG stream_writer.py:3384 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:1024 send IAC DO GMCP
DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:1024 send IAC DO ZMP
DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC DO AARDWOLF
DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC DO MCCP2_COMPRESS
DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSSP
DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC DO MCCP3_COMPRESS
DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:1024 send IAC DO MSDP
DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:1024 send IAC DO ATCP
DEBUG stream_writer.py:773 recv IAC WILL EOR
DEBUG stream_writer.py:789 WILL EOR unsolicited
DEBUG stream_writer.py:2045 handle_will(EOR)
DEBUG stream_writer.py:3384 pending_option[DO + EOR] = True
DEBUG stream_writer.py:1024 send IAC DO EOR
DEBUG stream_writer.py:3384 remote_option[EOR] = True
DEBUG stream_writer.py:3384 pending_option[DO + EOR] = False
DEBUG stream_writer.py:773 recv IAC WILL MSP
DEBUG stream_writer.py:2045 handle_will(MSP)
DEBUG stream_writer.py:998 skip DO MSP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[MSP] = True
DEBUG stream_writer.py:3384 pending_option[DO + MSP] = False
DEBUG stream_writer.py:773 recv IAC WILL MXP
DEBUG stream_writer.py:2045 handle_will(MXP)
DEBUG stream_writer.py:998 skip DO MXP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[MXP] = True
DEBUG stream_writer.py:3384 pending_option[DO + MXP] = False
DEBUG stream_writer.py:773 recv IAC WILL MCCP2_COMPRESS
DEBUG stream_writer.py:2045 handle_will(MCCP2_COMPRESS)
DEBUG stream_writer.py:998 skip DO MCCP2_COMPRESS; pending_option = True
DEBUG stream_writer.py:3384 remote_option[MCCP2_COMPRESS] = True
DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:1451 IAC GA: Go-Ahead (unhandled).
DEBUG stream_writer.py:773 recv IAC DO MXP
DEBUG stream_writer.py:1887 handle_do(MXP)
DEBUG stream_writer.py:998 skip WILL MXP; pending_option = True
DEBUG stream_writer.py:3384 local_option[MXP] = True
DEBUG stream_writer.py:3384 pending_option[WILL + MXP] = False
DEBUG stream_writer.py:773 recv IAC DO MSP
DEBUG stream_writer.py:1887 handle_do(MSP)
DEBUG stream_writer.py:998 skip WILL MSP; pending_option = True
DEBUG stream_writer.py:3384 local_option[MSP] = True
DEBUG stream_writer.py:3384 pending_option[WILL + MSP] = False
DEBUG stream_writer.py:773 recv IAC DO MCCP2_COMPRESS
DEBUG stream_writer.py:1887 handle_do(MCCP2_COMPRESS)
DEBUG stream_writer.py:998 skip WILL MCCP2_COMPRESS; pending_option = True
DEBUG stream_writer.py:3384 local_option[MCCP2_COMPRESS] = True
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:1470 IAC EOR: End of Record (unhandled).
DEBUG stream_writer.py:1470 IAC EOR: End of Record (unhandled).
DEBUG stream_writer.py:767 begin sub-negotiation SB MCCP2_COMPRESS
DEBUG stream_writer.py:754 sub-negotiation cmd MCCP2_COMPRESS SE completion byte
DEBUG stream_writer.py:2238 [SB + MCCP2_COMPRESS] unsolicited
DEBUG stream_writer.py:3232 MCCP2 activated
DEBUG client_base.py:483 MCCP2 decompression started (server→client)
DEBUG client_base.py:534 negotiation failed after 4.00s.
DEBUG client_base.py:540 failed-reply: 'WILL GMCP, WILL ZMP, WILL AARDWOLF, WILL MSSP, WILL MCCP3_COMPRESS, WILL MSDP, WILL ATCP,
    DO GMCP, DO ZMP, DO AARDWOLF, DO MSSP, DO MCCP3_COMPRESS, DO MSDP, DO ATCP'
DEBUG stream_writer.py:1451 IAC GA: Go-Ahead (unhandled).
DEBUG stream_writer.py:1470 IAC EOR: End of Record (unhandled).
DEBUG stream_writer.py:1470 IAC EOR: End of Record (unhandled).
DEBUG stream_writer.py:3384 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:1024 send IAC DO BINARY
DEBUG stream_writer.py:3384 pending_option[DO + SGA] = True
DEBUG stream_writer.py:1024 send IAC DO SGA
DEBUG stream_writer.py:3384 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:1024 send IAC DO ECHO
DEBUG stream_writer.py:3384 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:1024 send IAC DO STATUS
DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:1024 send IAC DO CHARSET
DEBUG stream_writer.py:3384 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:1024 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:998 skip DO MCCP3_COMPRESS; pending_option = True
DEBUG stream_writer.py:998 skip DO GMCP; pending_option = True
DEBUG stream_writer.py:998 skip DO MSDP; pending_option = True
DEBUG stream_writer.py:998 skip DO MSSP; pending_option = True
DEBUG stream_writer.py:998 skip DO ZMP; pending_option = True
DEBUG stream_writer.py:998 skip DO AARDWOLF; pending_option = True
DEBUG stream_writer.py:998 skip DO ATCP; pending_option = True
DEBUG fingerprinting.py:849 connection for server fingerprint 2239b9eed4b7a8a6
INFO client_base.py:122 Connection closed to <Peer 134.102.222.26 4000>