cthulhumud.com

Connection Banner:

Welcome to CthulhuMUD! We are a a derivative of Diku, Merc, Sunder, ROM, and many custom modifications. Parts of the code may be Copyright Sebasitan Hammer, Michael Seifert, Hans Stoerfeldt, Tom Madsen, and Katja Nyobe (Diku 1990-1991); Michael Chastain, Michael Quan, and Mitchell Tse (Merc 1992-1993); Russ Taylor (ROM 1993-1996); Lotherious, Zeran (Sunder 1997); Michael Clarke, Marduk, Foxbird, Quanqued (Cthulhu 2008). For further information, please type CREDITS or HELP DIKU/MERC/ROM/SUNDER/CTHULHUMUD after getting connected. This world is Pueblo 1.10 enhanced. Autodetecting IMP...v1.30 This world supports COLOR!. If the word COLOR is in color, enter Y, otherwise, enter N (y/n) ANSI Color! _.-'''-._ _​_.---. .' '. .​---.__ ( / / \\_ _/ \\ \\ ) / ( ( ( _​..._\\ /_​..._ ) ) ) \\ ( \\ :('._.') ('._.'): / ) / ( \\ ( '-.-' '-.-' ) / ) \\ ( \\ \\_ / . . \\ _/ / ) ) \\ \\ _.-\\)) ) ( ((/-._ / / ( \\ -= /' ////\\ /\\\\\\\\ '\\ =- / / / / // )) ))(( \\\\ \\ \\ \\ ( .'/ ))// // \\\\(( \\'. ) ( \| / //(( )) ))\\\\ \\ \| ) ( \|/ /\\/ \\/ \\/ \\/ \\/\\ \\\| ) / / / . / (_ _ _ _) \\ . \\ \\ \\ ( ( ( \\ \|_ __ __ __ __ _\| / ) ) ) \\ '. \\:_ __ __ _:/ .' / \\ \| \\ \\ _ _ / / \| / \\ +--\\ \\ _ _ / /--+ / \\__.'/ \\ \\ _ / / \\'.__/ / /) '. .' (\\ \\ / /()()()()\\_​._._/()()()()\\ \\ +​====( \\/)()()(\\)===(/)()()(\\/ )=​===+ \| : ( \\/\\/\\/ ) ( \\/\\/\\/ ) : \| \| \| ( ( ( : : ) ) ) \| \| \| \\ / \\ / \| \| ) ( ) ( \| \| \\ / \\ / \| )-​-----) _ (-​--------) _ (-​-----( +​=====/ \\=​======/ \\=​====+ / ( / \| \\ ) ( / \| \\ ) \\ /=​====/ \\===/ \\=​====\\ :=​===( (=( (=( (=) )=( (=) )=) )=) )=​===: \| \\/ \\/ \\/ \\/ \\/ \\/ \\/ \\/ \| :__FinnO_​_______________________________: Please enter your name:

Server URLs

Server Info

  • Server Location: 🇺🇸 United States (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: No

  • MCP: No

  • ZMP: No

Telnet Fingerprint

b2b0ac51b11a0b3d

This fingerprint is unique to this server.

Options requested from client: MCCP2, MXP, TTYPE

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

Show JSON
{
  "server-probe": {
    "fingerprint": "b2b0ac51b11a0b3d",
    "fingerprint-data": {
      "offered-options": [],
      "probed-protocol": "server",
      "refused-options": [],
      "requested-options": [
        "MCCP2",
        "MXP",
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "\r\n\u001b[1;33mANSI Color!\u001b[0m\r\n\r\n\r\n\u001b[0;32m                         _.-'''-._\n\r\u001b[0;32m          __.---.      .'         '.      .---.__\n\r\u001b[0;32m         (      /     /   \\_   _/   \\     \\      )\n\r\u001b[0;32m         /   ( (     ( _..._\\ /_..._ )     ) )   \\\n\r\u001b[0;32m        (       \\    :(\u001b[1;33m'._.'\u001b[0;32m) (\u001b[1;33m'._.'\u001b[0;32m):    /       )\n\r\u001b[0;32m       /  (      \\   ( '-.-'   '-.-' )   /      )  \\\n\r\u001b[0;32m      (           \\   \\_ / .   . \\ _/   /           )\n\r\u001b[0;32m      )       \\    \\ _.-\\)) ) ( ((/-._ /    /       (\n\r\u001b[0;32m      \\      -=    /'   ////\\ /\\\\\\\\   '\\    =-      /\n\r\u001b[0;32m      /      /    /    // )) ))(( \\\\    \\    \\      \\\n\r\u001b[0;32m     (         \u001b[0m.'\u001b[0;32m/     ))// //  \\\\((     \\\u001b[0m'.\u001b[0;32m         )\n\r\u001b[0;32m     (        \u001b[0m|\u001b[0;32m /     //((  ))   ))\\\\     \\ \u001b[0m|\u001b[0;32m        )\n\r\u001b[0;32m     (        \u001b[0m|\u001b[0;32m/    /\\/ \\/  \\/   \\/ \\/\\    \\\u001b[0m|\u001b[0;32m        )\n\r\u001b[0;32m     /    /   /  . / (_    _   _    _) \\ .  \\   \\    \\\n\r\u001b[0;32m    (    (   (     \\ |_ __ __ __ __ _| /     )   )    )\n\r\u001b[0;32m     \\        '.    \\:_ __       __ _:/    .'        /\n\r\u001b[0;32m      \\       \u001b[0m| \u001b[0;32m\\    \\   _       _   /    /\u001b[0m |\u001b[0;32m       /\n\r\u001b[0;32m       \\      \u001b[0m+--\u001b[0;32m\\    \\   _     _   /    /\u001b[0m--+\u001b[0;32m      /\n\r\u001b[0;32m        \\__.'\u001b[0;32m/\u001b[0m    \\    \\     _     /    /    \u001b[0m\\\u001b[0;32m'.__/\n\r\u001b[0m            /    \u001b[0;32m /)    '.       .'    (\\     \u001b[0m\\\n\r\u001b[0m           /     \u001b[0;32m/()()()()\\_._._/()()()()\\     \u001b[0m\\\n\r\u001b[0m           +====\u001b[0;32m( \\/)()()(\\)\u001b[0m===\u001b[0;32m(/)()()(\\/ )\u001b[0m====+\n\r\u001b[0m           |    \u001b[0;32m: \u001b[1;33m( \u001b[0;32m\\/\\/\\/ \u001b[1;33m)   ( \u001b[0;32m\\/\\/\\/ \u001b[1;33m)\u001b[0;32m :    |\n\r\u001b[0m           |    \u001b[0;32m|   \u001b[1;33m( ( (  \u001b[0;32m:   :\u001b[1;33m ) ) )\u001b[0;32m    |    |\n\r\u001b[0m           |    \u001b[0;32m\\         /     \\         /   \u001b[0m |\n\r\u001b[0m           |    \u001b[0;32m )       (       )       (    \u001b[0m |\n\r\u001b[0m           |    \u001b[0;32m \\       /       \\       /    \u001b[0m |\n\r\u001b[0m           )------\u001b[0;32m)  _  (\u001b[0m---------\u001b[0;32m)  _  (\u001b[0m------(\n\r\u001b[0m           +=====\u001b[0;32m/       \\\u001b[0m=======\u001b[0;32m/       \\\u001b[0m=====+\n\r\u001b[0m          /     \u001b[0;32m(  / | \\  )     \u001b[0;32m(  / | \\  )\u001b[0m     \\  \n\r\u001b[0m         /=====\u001b[0;32m/           \\\u001b[0m===\u001b[0;32m/           \\\u001b[0m=====\\\n\r\u001b[0m         :====\u001b[0;32m( (\u001b[0m=\u001b[0;32m( (\u001b[0m=\u001b[0;32m( (\u001b[0m=\u001b[0;32m) )\u001b[0m=\u001b[0;32m( (\u001b[0m=\u001b[0;32m) )\u001b[0m=\u001b[0;32m) )\u001b[0m=\u001b[0;32m) )\u001b[0m====:\n\r\u001b[0m         |     \u001b[1;33m\\/  \\/  \\/ \\/   \\/ \\/  \\/  \\/\u001b[0;32m     |\n\r\u001b[0m         :__\u001b[0;32mFinnO\u001b[0m________________________________:\n\r\r\nPlease enter your name:\r\n",
      "banner_before_return": "\n\r\r\nWelcome to CthulhuMUD! We are a a derivative of Diku, Merc, Sunder, ROM,\r\nand many custom modifications. Parts of the code may be Copyright Sebasitan\r\nHammer, Michael Seifert, Hans Stoerfeldt, Tom Madsen, and Katja Nyobe\r\n(Diku 1990-1991); Michael Chastain, Michael Quan, and Mitchell Tse (Merc\r\n1992-1993); Russ Taylor (ROM 1993-1996); Lotherious, Zeran (Sunder 1997);\r\nMichael Clarke, Marduk, Foxbird, Quanqued (Cthulhu 2008). For further\r\ninformation, please type CREDITS or HELP DIKU/MERC/ROM/SUNDER/CTHULHUMUD\r\nafter getting connected.\r\n\r\nThis world is Pueblo 1.10 enhanced.\r\nAutodetecting IMP...v1.30 \r\nThis world supports \u001b[0;32mC\u001b[0;31mO\u001b[0;33mL\u001b[0;34mO\u001b[0;35mR\u001b[0m!.\r\nIf the word COLOR is in color, enter Y, otherwise, enter N (y/n)\r\n\n\r",
      "dsr_replies": 0,
      "dsr_requests": 0,
      "encoding": "ascii",
      "option_states": {
        "server_offered": {
          "AARDWOLF": false,
          "ATCP": false,
          "EOR": true,
          "GMCP": false,
          "MCCP2": true,
          "MCCP3": false,
          "MSDP": false,
          "MSP": false,
          "MSSP": false,
          "MXP": true,
          "SGA": true,
          "ZMP": false
        },
        "server_requested": {
          "AARDWOLF": false,
          "ATCP": false,
          "GMCP": false,
          "MCCP2": true,
          "MCCP3": false,
          "MSDP": false,
          "MSP": false,
          "MSSP": false,
          "MXP": true,
          "TTYPE": true,
          "ZMP": false
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.0,
        "total": 11.018660306930542
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-03-07T03:58:31.158985+00:00",
      "host": "cthulhumud.com",
      "ip": "136.40.226.226",
      "port": 8889
    }
  ]
}

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 cthulhumud.com 8889
Show Logfile
DEBUG client.py:1193 Fingerprint client: host=cthulhumud.com port=8889
INFO client_base.py:186 Connected to <Peer 136.40.226.226 8889>
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:762 begin sub-negotiation SB MCCP2_COMPRESS
DEBUG stream_writer.py:749 sub-negotiation cmd MCCP2_COMPRESS SE completion byte
DEBUG stream_writer.py:2187 [SB + MCCP2_COMPRESS] unsolicited
DEBUG stream_writer.py:3178 MCCP2 activated
DEBUG client_base.py:448 MCCP2 decompression started (server→client)
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 DO TTYPE
DEBUG stream_writer.py:1836 handle_do(TTYPE)
DEBUG stream_writer.py:3330 pending_option[WILL + TTYPE] = True
DEBUG stream_writer.py:1019 send IAC WILL TTYPE
DEBUG stream_writer.py:3330 pending_option[SB + TTYPE] = True
DEBUG stream_writer.py:3330 local_option[TTYPE] = True
DEBUG stream_writer.py:3330 pending_option[WILL + TTYPE] = False
DEBUG stream_writer.py:768 recv IAC WILL EOR
DEBUG stream_writer.py:784 WILL EOR unsolicited
DEBUG stream_writer.py:1994 handle_will(EOR)
DEBUG stream_writer.py:3330 pending_option[DO + EOR] = True
DEBUG stream_writer.py:1019 send IAC DO EOR
DEBUG stream_writer.py:3330 remote_option[EOR] = True
DEBUG stream_writer.py:3330 pending_option[DO + EOR] = False
DEBUG stream_writer.py:768 recv IAC WILL MCCP2_COMPRESS
DEBUG stream_writer.py:1994 handle_will(MCCP2_COMPRESS)
DEBUG stream_writer.py:993 skip DO MCCP2_COMPRESS; pending_option = True
DEBUG stream_writer.py:3330 remote_option[MCCP2_COMPRESS] = True
DEBUG stream_writer.py:3330 pending_option[DO + MCCP2_COMPRESS] = False
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:768 recv IAC DONT ATCP
DEBUG stream_writer.py:1959 handle_dont(ATCP)
DEBUG stream_writer.py:3330 pending_option[WILL + ATCP] = False
DEBUG stream_writer.py:3330 local_option[ATCP] = False
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 DONT GMCP
DEBUG stream_writer.py:1959 handle_dont(GMCP)
DEBUG stream_writer.py:3330 pending_option[WILL + GMCP] = False
DEBUG stream_writer.py:3330 local_option[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 DO MCCP2_COMPRESS
DEBUG stream_writer.py:1836 handle_do(MCCP2_COMPRESS)
DEBUG stream_writer.py:993 skip WILL MCCP2_COMPRESS; pending_option = True
DEBUG stream_writer.py:3330 local_option[MCCP2_COMPRESS] = True
DEBUG stream_writer.py:3330 pending_option[WILL + MCCP2_COMPRESS] = 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 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 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 WONT MSP
DEBUG stream_writer.py:2148 handle_wont(MSP)
DEBUG stream_writer.py:3330 remote_option[MSP] = False
DEBUG stream_writer.py:3330 pending_option[DO + MSP] = False
DEBUG stream_writer.py:768 recv IAC WONT MSDP
DEBUG stream_writer.py:2148 handle_wont(MSDP)
DEBUG stream_writer.py:3330 remote_option[MSDP] = False
DEBUG stream_writer.py:3330 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:768 recv IAC WONT MSSP
DEBUG stream_writer.py:2148 handle_wont(MSSP)
DEBUG stream_writer.py:3330 remote_option[MSSP] = False
DEBUG stream_writer.py:3330 pending_option[DO + MSSP] = False
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 stream_writer.py:762 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:749 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:3330 pending_option[SB + TTYPE] = False
DEBUG stream_writer.py:2353 recv TTYPE SEND: b''
DEBUG stream_writer.py:2365 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG stream_writer.py:768 recv IAC WILL SGA
DEBUG stream_writer.py:784 WILL SGA unsolicited
DEBUG stream_writer.py:1994 handle_will(SGA)
DEBUG stream_writer.py:3330 pending_option[DO + SGA] = True
DEBUG stream_writer.py:1019 send IAC DO SGA
DEBUG stream_writer.py:3330 remote_option[SGA] = True
DEBUG stream_writer.py:3330 pending_option[DO + SGA] = False
DEBUG client_base.py:496 negotiation complete after 0.74s.
DEBUG client_base.py:89 EOF from server, closing.
INFO client_base.py:118 Connection closed to <Peer 136.40.226.226 8889>
INFO fingerprinting.py:746 new server fingerprint b2b0ac51b11a0b3d