tgmud.net

Connection Banner:

<VERSION> '-​------' --'--\| \|(_/o\\_)\| \| \|---',---' _'\|\|\\/X\\/\|\|'_ \| \| \|\|--- ,-" \|\| \\ / \|\| "-, \` \` '\`--- ,' () \|\|o X o\|\| () ', ,---' \| \| o / () ,-\|\| / \\ \|\|-, () \\ \| _',---'\|--- \|---',---',---'',---',---' : o ,' \|\|/\\X/\\\|\| ', o : \| \|,---\|\| \| \|\|---'\| \|\| \|\| \| '-​---------'_)- -(_'-​---------' \`---'\`-​--^\`---'\` '\`---'\` \`\` '\`---\| \|\\/)--(\\/\\ (-\\ /-) /\\/)--(\\/\| \`---' \|(X () X) &gt;o &gt;-X-&lt; o&lt; (X () X)\| \|/\\)__(/\\/ _(_/\|\\_)_ \\/\\)__(/\\\| '-​---------' )- -( '-​---------' "We must learn our limits. : o ', \|\|\\/-\\/\|\| ,' o : We are all something, \\ () '-\|\| \\o/ \|\|-' () / but none of us are everything." ', () \|(-\\ /-)\| () ,' -- Blaise Pascal '-'_ \|\|\\/X\\/\|\| _'-' '\|\| \\ / \|\|' \|\| X \|\| \|\|\\/ \\/\|\| Based on Diku by Hans, Katya, Tom, Michael, Admin: \|\|=)O(=\|\| and Sebastian, Kedanna \|\|/\\ /\\\|\| MERC 2.1 by Hatchet, Furey and Kahn Trellan \|\| X \|\| ROM 2.4 (c) 1993-1996 by Russ Taylor Ravidya \|\| / \\ \|\| Oblivion 2.0 (c) 1996-1997 by Wes Wagner \|(_/o\\_)\| Based on The Dawn of Time v1.69r by Michael Garret ''_​____'' (c) 1997-2004 ATTENTION! The Gathering utilizes an ACCOUNT SYSTEM. You will need to create a new account if you haven't already. You may log in to multiple characters at once with this sytem. Enter who to see who's online, or quit to disconnect. Type help at this prompt for more information. Enter an account name to login, or new to make a new account: <USER> You can't have a blank account name, type 'new' to create a new account, 'quit' to disconnect, or type your account name - try again. Enter an account name to login, or new to make a new account:

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

9e7fd90d3aff78af

This fingerprint is shared by 3 other servers.

Options offered by server: MCCP2, MSP, MXP

Options requested from client: TTYPE

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

Show JSON
{
  "server-probe": {
    "fingerprint": "9e7fd90d3aff78af",
    "fingerprint-data": {
      "offered-options": [
        "MCCP2",
        "MSP",
        "MXP"
      ],
      "probed-protocol": "server",
      "refused-options": [
        "AARDWOLF",
        "ATCP",
        "BINARY",
        "CHARSET",
        "COM_PORT",
        "ECHO",
        "EOR",
        "GMCP",
        "MCCP3",
        "MSDP",
        "MSSP",
        "SGA",
        "STATUS",
        "ZMP"
      ],
      "requested-options": [
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "You can't have a blank account name, type 'new' to create a new account,\r\n'quit' to disconnect, or type your account name - try again.\r\nEnter an account name to login, or new to make a new account:  ",
      "banner_before_return": "\r\n\u001b[1z<VERSION>\u001b[6z\r\n\u001b[1;36m             '-------'        \u001b[0;37m--'--|\n\r\u001b[0;36m             \u001b[1;36m|\u001b[1;32m(\u001b[0;32m_\u001b[1;32m/\u001b[1;35mo\u001b[1;32m\\\u001b[0;32m_\u001b[1;32m)\u001b[1;36m|        \u001b[0;37m  |  |---',---'\n\r\u001b[0;36m           _'\u001b[1;36m||\u001b[1;32m\\/\u001b[0;32mX\u001b[1;32m\\/\u001b[1;36m||\u001b[0;36m'_      \u001b[0;37m  |  |   ||---\n\r\u001b[0;36m        ,-\"  \u001b[1;36m||\u001b[1;32m \\ / \u001b[1;36m||\u001b[0;36m  \"-,   \u001b[0;37m  `  `   '`---\n\r\u001b[0;36m      ,'  \u001b[0;35m()\u001b[0;36m \u001b[1;36m||\u001b[1;35mo\u001b[0;32m X\u001b[1;35m o\u001b[1;36m||\u001b[0;35m ()\u001b[0;36m  ', \u001b[0;37m      ,---'     |    |              o\n\r\u001b[0;36m     / \u001b[1;35m() \u001b[0;36m ,-\u001b[1;36m||\u001b[1;32m / \\ \u001b[1;36m||\u001b[0;36m-,  \u001b[0;35m()\u001b[0;36m \\  \u001b[0;37m    |  _',---'|--- |---',---',---'',---',---'\n\r\u001b[0;36m    : \u001b[0;35mo \u001b[0;36m ,'  \u001b[1;36m||\u001b[1;32m/\\\u001b[0;32mX\u001b[1;32m/\\\u001b[1;36m||\u001b[0;36m  ',  \u001b[0;35mo\u001b[0;36m : \u001b[0;37m    |   |,---||    |   ||---'|    ||   ||   |\n\r\u001b[1;36m '----------'_)-   -\u001b[1;36m(_'----------'  \u001b[0;37m`---'`---^`---'`   '`---'`    ``   '`---|\n\r\u001b[1;36m |\u001b[1;32m\\/)\u001b[0;32m--\u001b[1;32m(\\/\\   \u001b[1;33m(-\\ /-)   \u001b[1;32m/\\/)\u001b[0;32m--\u001b[1;32m(\\/\u001b[1;36m|  \u001b[0;37m                                    `---'\n\r\u001b[1;36m |\u001b[1;32m(\u001b[0;32mX \u001b[1;35m()\u001b[0;32m X\u001b[1;32m) \u001b[0;35m&gt;\u001b[1;35mo \u001b[1;33m &gt;-\u001b[1;35mX\u001b[1;33m-&lt;  \u001b[1;35mo\u001b[0;35m&lt; \u001b[1;32m(\u001b[0;32mX \u001b[1;35m() \u001b[0;32mX\u001b[1;32m)\u001b[1;36m|\n\r\u001b[1;36m |\u001b[1;32m/\\)\u001b[0;32m__\u001b[1;32m(/\\/  \u001b[1;36m_\u001b[1;33m(_/|\\_)\u001b[1;36m_  \u001b[1;32m\\/\\)\u001b[0;32m__\u001b[1;32m(/\\\u001b[1;36m|\n\r\u001b[1;36m '----------' )-   \u001b[1;36m-( '----------'            \u001b[1;33m\"\u001b[0;33mWe must learn our limits.\n\r\u001b[0;36m    : \u001b[0;35mo\u001b[0;36m  ',  \u001b[1;36m||\u001b[1;32m\\/\u001b[0;35m-\u001b[1;32m\\/\u001b[1;36m||\u001b[0;36m  ,'  \u001b[0;35mo\u001b[0;36m :                  \u001b[0;33mWe are all something,\n\r\u001b[0;36m     \\ \u001b[0;35m()\u001b[0;36m  '-\u001b[1;36m|| \u001b[1;32m\\\u001b[1;35mo\u001b[1;32m/ \u001b[1;36m||\u001b[0;36m-'  \u001b[0;35m()\u001b[0;36m /              \u001b[0;33mbut none of us are everything.\u001b[1;33m\"\n\r\u001b[0;36m      ',  \u001b[0;35m()\u001b[0;36m \u001b[1;36m|\u001b[1;32m(\u001b[0;32m-\\ /\u001b[0;32m-\u001b[1;32m)\u001b[1;36m| \u001b[0;35m()\u001b[0;36m  ,'                               \u001b[0;34m-- \u001b[1;33mBlaise Pascal\n\r\u001b[0;36m        '-'_ \u001b[1;36m||\u001b[1;32m\\/\u001b[0;32mX\u001b[1;32m\\/\u001b[1;36m|| \u001b[0;36m_'-'\n\r\u001b[0;36m            '\u001b[1;36m||\u001b[1;32m \\ / \u001b[1;36m||\u001b[0;36m'\n\r\u001b[0;36m             \u001b[1;36m||\u001b[0;32m  X  \u001b[1;36m||\n\r\u001b[0;36m             \u001b[1;36m||\u001b[1;32m\\/ \\/\u001b[1;36m|| \u001b[1;30mBased on Diku by Hans, Katya, Tom, Michael, \n\r\u001b[1;30m   Admin:    \u001b[1;36m||\u001b[1;32m=)\u001b[1;35mO\u001b[1;32m(=\u001b[1;36m|| \u001b[1;30mand Sebastian, \n\r\u001b[0;32m   Kedanna   \u001b[1;36m||\u001b[1;32m/\\ /\\\u001b[1;36m|| \u001b[1;30mMERC 2.1 by Hatchet, Furey and Kahn\n\r\u001b[1;37m   Trellan   \u001b[1;36m||  \u001b[0;32mX  \u001b[1;36m|| \u001b[1;30mROM 2.4 (c) 1993-1996 by Russ Taylor\n\r\u001b[0;37m   \u001b[1;36mRavidya   \u001b[1;36m||\u001b[1;32m / \\ \u001b[1;36m|| \u001b[1;30mOblivion 2.0 (c) 1996-1997 by Wes Wagner\n\r\u001b[0;37m   \u001b[1;36m          \u001b[1;36m|\u001b[1;32m(\u001b[0;32m_\u001b[1;32m/\u001b[1;35mo\u001b[1;32m\\\u001b[0;32m_\u001b[1;32m)\u001b[1;36m| \u001b[1;30mBased on The Dawn of Time v1.69r by Michael Garret\n\r\u001b[0;37m             \u001b[1;36m''_____''  \u001b[1;30m(c) 1997-2004\u001b[0;37m\n\r\r\n\u001b[1;31mATTENTION!\u001b[0;37m\r\n\u001b[1;31mThe Gathering utilizes an \u001b[1;33mACCOUNT SYSTEM\u001b[1;31m. You will need to create a\u001b[0;37m\r\n\u001b[1;31mnew account if you haven't already.\u001b[0;37m\r\n\r\n\u001b[0;32mYou may log in to multiple characters at once with this sytem.\u001b[0;37m\r\n\r\n\u001b[0;37mEnter who to see who's online, or quit to disconnect.\u001b[0;37m\r\n\u001b[0;37mType help at this prompt for more information.\u001b[0;37m\r\n\r\nEnter an account name to login, or new to make a new account:  <USER>",
      "dsr_replies": 0,
      "dsr_requests": 0,
      "encoding": "ascii",
      "mxp": [
        "activated"
      ],
      "option_states": {
        "server_offered": {
          "0x55": false,
          "MCCP2": true,
          "MSP": true,
          "MXP": true
        },
        "server_requested": {
          "TTYPE": true
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.5046873092651367,
        "total": 11.167505741119385
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-03-07T03:55:33.357788+00:00",
      "host": "tgmud.net",
      "ip": "104.168.7.122",
      "port": 9010
    }
  ]
}

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 tgmud.net 9010
Show Logfile
DEBUG client.py:1193 Fingerprint client: host=tgmud.net port=9010
INFO client_base.py:186 Connected to <Peer 104.168.7.122 9010>
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 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 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 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 WILL MCCP_COMPRESS
DEBUG stream_writer.py:784 WILL MCCP_COMPRESS unsolicited
DEBUG stream_writer.py:1994 handle_will(MCCP_COMPRESS)
DEBUG stream_writer.py:3330 remote_option[MCCP_COMPRESS] = False
DEBUG stream_writer.py:1019 send IAC DONT MCCP_COMPRESS
DEBUG stream_writer.py:2131 Unhandled: WILL MCCP_COMPRESS.
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: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: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: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 client_base.py:499 negotiation failed after 4.00s.
DEBUG client_base.py:505 failed-reply: 'WILL MXP, WILL ATCP, WILL MCCP3_COMPRESS, WILL GMCP, WILL AARDWOLF, WILL MSP, WILL MSDP,
    WILL MSSP, WILL ZMP, WILL MCCP2_COMPRESS, DO ATCP, DO MCCP3_COMPRESS, DO GMCP, DO AARDWOLF, DO MSDP, DO MSSP, DO ZMP'
DEBUG stream_writer.py:3330 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:1019 send IAC DO BINARY
DEBUG stream_writer.py:3330 pending_option[DO + SGA] = True
DEBUG stream_writer.py:1019 send IAC DO SGA
DEBUG stream_writer.py:3330 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:1019 send IAC DO ECHO
DEBUG stream_writer.py:3330 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:1019 send IAC DO STATUS
DEBUG stream_writer.py:3330 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:1019 send IAC DO CHARSET
DEBUG stream_writer.py:3330 pending_option[DO + EOR] = True
DEBUG stream_writer.py:1019 send IAC DO EOR
DEBUG stream_writer.py:3330 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:1019 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:993 skip DO MCCP3_COMPRESS; pending_option = True
DEBUG stream_writer.py:993 skip DO GMCP; pending_option = True
DEBUG stream_writer.py:993 skip DO MSDP; pending_option = True
DEBUG stream_writer.py:993 skip DO MSSP; pending_option = True
DEBUG stream_writer.py:993 skip DO ZMP; pending_option = True
DEBUG stream_writer.py:993 skip DO AARDWOLF; pending_option = True
DEBUG stream_writer.py:993 skip DO ATCP; pending_option = True
INFO fingerprinting.py:746 new server fingerprint 9e7fd90d3aff78af
INFO client_base.py:118 Connection closed to <Peer 104.168.7.122 9010>