pdragon.org

Connection Banner:

Welcome to the.​... / \\ _ ) (( )) ( (@) /\|\\ ))_(( /\|\\ _ \|-\|\`\\ / \| \\ (/\\\|/\\) / \| \\ (@) \| \| -​------------/--\|-voV---\\\`\|'/---Vov-\|--\\-​-------------\|-\| \|-\| __ __ __ \`^'__ (o o) __'^__ __ __ __ \| \| \| \| \|__\|\| \|\|__\|\|__\|\| \|__ \`\\Y/'\| \\\|__\|\|__\|\| _ \| \|\|\\ \| \|-\| \|-\| \| \|__\|\| \\\| \|__\|__ \|__/\| \\\| \|\|__\|\|__\|\| \\\| \| \| \| \| MUD \|-\| \|-\|_​______________________________________________________\| \| (@) l /\\ / ( ( \\ /\\ l \`\\\|-\| l / V \\ \\ V \\ l (@) l/ _) )_ \\l \`\\ /' \` ROM Version 2.4 beta Original DikuMUD by Hans Staerfeldt, Katja Nyboe, Tom Madsen, Michael Seifert, and Sebastian Hammer Based on MERC 2.1 code by Hatchet, Furey, and Kahn ROM 2.4 copyright (c) 1993-1996 Russ Taylor PDM 1.2b copyright (c) 1997-2000 Ironside, Dingo, Jaey, Turian, Overeasy, Greeneyes For TMC: dingo@texoma.net WELCOME!!! This is The Purple Dragon MUD. We all hope that you have a good time here. The MUD is still in development so there may be sudden changes, some of them quite big. please have patience with us. :) By what name do you wish to be known? <VERSION><SUPPORT>

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: Negotiated

  • MCP: No

  • ZMP: No

Telnet Fingerprint

c405afe101fc3e8c

This fingerprint is shared by 26 other servers.

Options requested from client: NAWS, TTYPE

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

Show JSON
{
  "server-probe": {
    "fingerprint": "c405afe101fc3e8c",
    "fingerprint-data": {
      "offered-options": [],
      "probed-protocol": "server",
      "refused-options": [],
      "requested-options": [
        "NAWS",
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "",
      "banner_before_return": "\n\r\n\rWelcome to the....                   /   \\\n\r          _                  )      ((   ))      (\n\r         (@)                /|\\      ))_((      /|\\                 _\n\r         |-|`\\             / | \\    (/\\|/\\)    / | \\               (@)\n\r         | | -------------/--|-voV---\\`|'/---Vov-|--\\--------------|-|\n\r         |-|   __      __  __  `^'__ (o o) __'^__  __  __  __      | |\n\r         | |  |__||  ||__||__||  |__ `\\Y/'|  \\|__||__|| _ |  ||\\ | |-|\n\r         |-|  |   |__||  \\|   |__|__      |__/|  \\|  ||__||__|| \\| | |\n\r         | |                          MUD                          |-|\n\r         |-|_______________________________________________________| |\n\r         (@)       l   /\\ /          ( (            \\ /\\   l     `\\|-| \n\r                   l /   V            \\ \\            V   \\ l       (@)\n\r                   l/                 _) )_               \\l\n\r                                      `\\ /'\n\r                                        `\n\r                             ROM Version 2.4 beta\n\r\n\r               Original DikuMUD by Hans Staerfeldt, Katja Nyboe,\n\r               Tom Madsen, Michael Seifert, and Sebastian Hammer\n\r               Based on MERC 2.1 code by Hatchet, Furey, and Kahn\n\r               ROM 2.4 copyright (c) 1993-1996 Russ Taylor\n\r\n\r  \t                PDM 1.2b copyright (c) 1997-2000\n\r \t       Ironside, Dingo, Jaey, Turian, Overeasy, Greeneyes\n\r\n\r                        For TMC: dingo@texoma.net\n\r\n\r         WELCOME!!!  This is The Purple Dragon MUD.   We all hope that \n\r          you have a good time here.  The MUD is still in development\n\r \t    so there may be sudden changes, some of them quite big.\n\r\t              please have patience with us. :)\n\r\n\rBy what name do you wish to be known? \u001b[1z<VERSION><SUPPORT>\u001b[0z",
      "dsr_replies": 0,
      "dsr_requests": 0,
      "encoding": "ascii",
      "option_states": {
        "server_offered": {
          "0x55": false,
          "BINARY": true,
          "EOR": true,
          "MCCP2": true,
          "MSP": true,
          "MXP": true,
          "TSPEED": false
        },
        "server_requested": {
          "NAWS": true,
          "TTYPE": true
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.0,
        "total": 5.644686698913574
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-03-07T04:01:53.149595+00:00",
      "host": "pdragon.org",
      "ip": "98.48.66.57",
      "port": 5555
    },
    {
      "connected": "2026-04-07T06:46:15.675457+00:00",
      "host": "pdragon.org",
      "ip": "98.48.66.57",
      "port": 5555
    }
  ]
}

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 pdragon.org 5555
Show Logfile
DEBUG client.py:1200 Fingerprint client: host=pdragon.org port=5555
INFO client_base.py:190 Connected to <Peer 98.48.66.57 5555>
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 + MSP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSP
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 + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC WILL MCCP2_COMPRESS
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 + MXP] = True
DEBUG stream_writer.py:1024 send IAC WILL MXP
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 + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC WILL AARDWOLF
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[WILL + GMCP] = True
DEBUG stream_writer.py:1024 send IAC WILL GMCP
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 + MSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSP
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 + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC DO MCCP2_COMPRESS
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 + MXP] = True
DEBUG stream_writer.py:1024 send IAC DO MXP
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 + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC DO AARDWOLF
DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:1024 send IAC DO ATCP
DEBUG stream_writer.py:3384 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:1024 send IAC DO GMCP
DEBUG stream_writer.py:773 recv IAC WILL TSPEED
DEBUG stream_writer.py:789 WILL TSPEED unsolicited
DEBUG stream_writer.py:2045 handle_will(TSPEED)
DEBUG stream_writer.py:2139 recv WILL TSPEED on client end, refusing.
DEBUG stream_writer.py:3384 remote_option[TSPEED] = False
DEBUG stream_writer.py:1024 send IAC DONT TSPEED
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 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:773 recv IAC WILL MCCP_COMPRESS
DEBUG stream_writer.py:789 WILL MCCP_COMPRESS unsolicited
DEBUG stream_writer.py:2045 handle_will(MCCP_COMPRESS)
DEBUG stream_writer.py:3384 remote_option[MCCP_COMPRESS] = False
DEBUG stream_writer.py:1024 send IAC DONT MCCP_COMPRESS
DEBUG stream_writer.py:2182 Unhandled: WILL MCCP_COMPRESS.
DEBUG stream_writer.py:773 recv IAC WILL BINARY
DEBUG stream_writer.py:789 WILL BINARY unsolicited
DEBUG stream_writer.py:2045 handle_will(BINARY)
DEBUG stream_writer.py:3384 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:1024 send IAC DO BINARY
DEBUG stream_writer.py:3384 remote_option[BINARY] = True
DEBUG stream_writer.py:3384 pending_option[DO + BINARY] = False
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 DO NAWS
DEBUG stream_writer.py:1887 handle_do(NAWS)
DEBUG stream_writer.py:3384 pending_option[WILL + NAWS] = True
DEBUG stream_writer.py:1024 send IAC WILL NAWS
DEBUG stream_writer.py:2507 send IAC SB NAWS (rows=25, cols=80) IAC SE
DEBUG stream_writer.py:3384 local_option[NAWS] = True
DEBUG stream_writer.py:3384 pending_option[WILL + NAWS] = False
DEBUG stream_writer.py:773 recv IAC DO TTYPE
DEBUG stream_writer.py:1887 handle_do(TTYPE)
DEBUG stream_writer.py:3384 pending_option[WILL + TTYPE] = True
DEBUG stream_writer.py:1024 send IAC WILL TTYPE
DEBUG stream_writer.py:3384 pending_option[SB + TTYPE] = True
DEBUG stream_writer.py:3384 local_option[TTYPE] = True
DEBUG stream_writer.py:3384 pending_option[WILL + TTYPE] = False
DEBUG stream_writer.py:1451 IAC GA: Go-Ahead (unhandled).
DEBUG stream_writer.py:767 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:754 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + TTYPE] = False
DEBUG stream_writer.py:2404 recv TTYPE SEND: b''
DEBUG stream_writer.py:2416 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG client_base.py:534 negotiation failed after 4.00s.
DEBUG client_base.py:540 failed-reply: 'WILL MSSP, WILL MSP, WILL ZMP, WILL MCCP2_COMPRESS, WILL MCCP3_COMPRESS, WILL MXP, WILL
    MSDP, WILL AARDWOLF, WILL ATCP, WILL GMCP, DO MSSP, DO ZMP, DO MCCP3_COMPRESS, DO MSDP, DO AARDWOLF, DO ATCP, DO GMCP'
DEBUG client_base.py:93 EOF from server, closing.
INFO client_base.py:122 Connection closed to <Peer 98.48.66.57 5555>
DEBUG fingerprinting.py:849 connection for server fingerprint c405afe101fc3e8c