128.76.165.163 (aoh.zitz.dk)

AgeOfHeroes (aoh.zitz.dk:2345)

Connection Banner:

Gamedriver LDMud 3.6.8 (3.6.8-10-ge1cbe804) -- Lib 'AgeOfHeroes' 0.5.6 \|~ jgs /.\\ /#^^\\_ /\\ +​---------------------+ /# \\ /#% \\ /# \\ - - /#% \\ /#%_​_____\\ /#%__\\ - Age of Heroes - /#% \\ \|= I I \|\| \|- \| - - ~~ ~~~\|~~ \|_​=_-__\|' \|[]\| +​---------------------+ \|[] \|_​______\\__\|/_ _ \|= \|\`. \|- /= __ __ /-\\\|= \| :; \|= /- /\\/ /\\/ /=- \\.-' :; As you step beyond reality \| /_​.=========._/_​.-._\\ .:' and into this new fantasy \|= \|-.'.- .'.- \| /\|\\ \|.:' world, please keep in mind \\ \|=\|:\|= \|:\| =\| \|~\|~\|\|'\| that we are under construction, \|~\|-\|:\| -\|:\| \|-\|~\|~\|\|=\| and we welcome all comments, \|=\|=\|:\|- \|:\|- \| \|~\|~\|\| \| ideas, suggestions, proposals, \| \|-​_~__=_~__=\|_​^^^^^\|/___ motions, observations, criticisms, \|-(=​-=-=-=-=-(\|=​====/=​_-=/\\ remarks, commentaries, notes, \| \|=​_-= _=- _=\| -_=/=​_-_/__\\ theories, plans, schemes, \| \|- _ =_- _-\|=_- \|]#\| I II thoughts, concepts, opinions, \|=\|_/ \\_​-_= - \|- = \|]#\| I II viewpoints, and impressions. \| / _/ \\. -_=\| =__\|]!!!I_II!! We won't welcome anything _\|/-'/ \` \\_/ \\\|/' _ ^​^^^\`.​==_^. else though, sorry. _/ _/\`-./\`-; \`-.\\_ / \\_'\\\`. \`. ===\`. / .-' __/_ \`. _/.' .-' \`-. ; =​===;\\ WARNING: Nothings ready yet. /. \`./ \\ \`. \\ / - / .-'.' =​====' > Most everything will be / / .-' \`--. / .' / \`-.' =​=====.' / changed or destroyed. Enjoy. Enter your name, or type 'help':

This banner is more than 99% similar to 1 other server:

Server URLs

Server Info

  • Codebase: OSB

  • Genre: Fantasy

  • Gameplay: Adventure

  • Players online: 1 [1]

  • Uptime: 0 days

  • Created: 2020

  • Status: Alpha

  • Server Location: 🇩🇰 DK (MSSP)

  • Language: English

Protocol Support

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

  • MSSP: Yes (MSSP)

  • GMCP: Yes (MSSP)

  • MSDP: No

  • MCCP: Yes (MSSP)

  • MCCP2: Negotiated

  • MXP: Yes (MSSP)

  • MSP: No

  • MCP: No

  • ZMP: No

Telnet Fingerprint

242e20a932718480

This fingerprint is unique to this server.

Options requested from client: BINARY, CHARSET, LINEMODE, MXP, NAWS, NEW_ENVIRON, TSPEED, TTYPE, XDISPLOC

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

Show JSON
{
  "server-probe": {
    "fingerprint": "242e20a932718480",
    "fingerprint-data": {
      "offered-options": [],
      "probed-protocol": "server",
      "refused-options": [],
      "requested-options": [
        "BINARY",
        "CHARSET",
        "LINEMODE",
        "MXP",
        "NAWS",
        "NEW_ENVIRON",
        "TSPEED",
        "TTYPE",
        "XDISPLOC"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "",
      "banner_before_return": "Gamedriver LDMud 3.6.8 (3.6.8-10-ge1cbe804) -- Lib 'AgeOfHeroes' 0.5.6\r\n\u001b[7z        |~        jgs   \r\n       /.\\       /#^^\\_     /\\\t       +---------------------+\r\n      /#  \\     /#%    \\   /# \\\t       -\t\t     -\t\r\n     /#%   \\   /#%______\\ /#%__\\       -   Age of Heroes     -\r\n    /#%     \\   |= I I ||  |- |\t       -\t\t     -\r\n    ~~ ~~~|~~   |_=_-__|'  |[]|\t       +---------------------+\r\n      |[] |_______\\__|/_ _ |= |`.     \r\n      |-  /= __   __    /-\\|= | :;        \r\n      |= /- /\\/  /\\/   /=- \\.-' :;     As you step beyond reality   \r\n      | /_.=========._/_.-._\\  .:'     and into this new fantasy\r\n      |= |-.'.- .'.- |  /|\\ |.:'       world, please keep in mind  \r\n      \\  |=|:|= |:| =| |~|~||'|\t       that we are under construction,\r\n       |~|-|:| -|:|  |-|~|~||=|        and we welcome all comments,  \r\n       |=|=|:|- |:|- | |~|~|| |\t       ideas, suggestions, proposals,\r\n       | |-_~__=_~__=|_^^^^^|/___      motions, observations, criticisms,\r\n       |-(=-=-=-=-=-(|=====/=_-=/\\     remarks, commentaries, notes, \r\n       | |=_-= _=- _=| -_=/=_-_/__\\    theories, plans, schemes,\r\n       | |- _ =_-  _-|=_- |]#| I II    thoughts, concepts, opinions, \r\n       |=|_/ \\_-_= - |- = |]#| I II    viewpoints, and impressions.\r\n       | /  _/ \\. -_=| =__|]!!!I_II!!  We won't welcome anything\r\n      _|/-'/  ` \\_/ \\|/' _ ^^^^`.==_^. else though, sorry. \r\n    _/  _/`-./`-; `-.\\_ / \\_'\\`. `. ===`.\r\n   / .-'  __/_   `.   _/.' .-' `-. ; ====;\\   WARNING: Nothings ready yet. \r\n  /.   `./    \\ `. \\ / -  /  .-'.' ====='  >  Most everything will be \r\n /     /  .-' `--.  / .' /  `-.' ======.' /   changed or destroyed. Enjoy.\r\n \r\nEnter your name, or type 'help': ",
      "dsr_replies": 0,
      "dsr_requests": 0,
      "encoding": "UTF-8",
      "mssp": {
        "ANSI": "1",
        "CODEBASE": "OSB",
        "CONTACT": "ralph@zitz.dk",
        "CREATED": "2020",
        "FAMILY": "LPMud",
        "GAMEPLAY": "Adventure",
        "GAMESYSTEM": "Custom",
        "GENRE": "Fantasy",
        "GMCP": "1",
        "HIRING BUILDERS": "1",
        "HIRING CODERS": "1",
        "HOSTNAME": "aoh.zitz.dk",
        "INTERMUD": [
          "I2",
          "I3"
        ],
        "LANGUAGE": "English",
        "LOCATION": "DK",
        "MCCP": "1",
        "MXP": "1",
        "NAME": "AgeOfHeroes",
        "PAY FOR PERKS": "0",
        "PAY TO PLAY": "0",
        "PLAYERS": "1",
        "PORT": [
          "2348",
          "2350",
          "2345"
        ],
        "STATUS": "Alpha",
        "SUBGENRE": "Medieval Fantasy",
        "UPTIME": "1775507735",
        "VT100": "1",
        "XTERM 256 COLORS": "1"
      },
      "mxp": [
        "activated"
      ],
      "option_states": {
        "environ_requested": [
          {
            "name": "*",
            "type": "VAR"
          },
          {
            "name": "*",
            "type": "USERVAR"
          }
        ],
        "server_offered": {
          "AARDWOLF": false,
          "ATCP": false,
          "CHARSET": true,
          "ECHO": false,
          "EOR": true,
          "GMCP": true,
          "MCCP2": true,
          "MCCP3": false,
          "MSDP": false,
          "MSP": false,
          "MSSP": true,
          "MXP": false,
          "STATUS": true,
          "ZMP": false
        },
        "server_requested": {
          "0x24": false,
          "0xfa": false,
          "AARDWOLF": false,
          "ATCP": false,
          "AUTHENTICATION": false,
          "BINARY": true,
          "CHARSET": true,
          "GMCP": false,
          "LINEMODE": true,
          "MCCP2": false,
          "MCCP3": false,
          "MSDP": false,
          "MSP": false,
          "MSSP": false,
          "MXP": true,
          "NAWS": true,
          "NEW_ENVIRON": true,
          "TLS": false,
          "TSPEED": true,
          "TTYPE": true,
          "XDISPLOC": true,
          "ZMP": false
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.0,
        "total": 5.67477011680603
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-03-07T03:59:18.938292+00:00",
      "host": "aoh.zitz.dk",
      "ip": "128.76.165.163",
      "port": 2345
    },
    {
      "connected": "2026-04-07T07:24:39.803094+00:00",
      "host": "aoh.zitz.dk",
      "ip": "128.76.165.163",
      "port": 2345
    }
  ]
}

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 aoh.zitz.dk 2345
Show Logfile
DEBUG client.py:1200 Fingerprint client: host=aoh.zitz.dk port=2345
INFO client_base.py:190 Connected to <Peer 128.76.165.163 2345>
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 + MSDP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSDP
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 + ATCP] = True
DEBUG stream_writer.py:1024 send IAC WILL ATCP
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 + ZMP] = True
DEBUG stream_writer.py:1024 send IAC WILL ZMP
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 + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC WILL MCCP3_COMPRESS
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[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 + MSDP] = True
DEBUG stream_writer.py:1024 send IAC DO MSDP
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 + ATCP] = True
DEBUG stream_writer.py:1024 send IAC DO ATCP
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 + ZMP] = True
DEBUG stream_writer.py:1024 send IAC DO ZMP
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 + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC DO MCCP3_COMPRESS
DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC DO AARDWOLF
DEBUG stream_writer.py:773 recv IAC WILL ECHO
DEBUG stream_writer.py:789 WILL ECHO unsolicited
DEBUG stream_writer.py:2045 handle_will(ECHO)
DEBUG stream_writer.py:3384 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:1024 send IAC DO ECHO
DEBUG stream_writer.py:3384 remote_option[ECHO] = True
DEBUG stream_writer.py:3384 pending_option[DO + ECHO] = False
DEBUG stream_writer.py:773 recv IAC WONT ECHO
DEBUG stream_writer.py:2199 handle_wont(ECHO)
DEBUG stream_writer.py:3384 remote_option[ECHO] = 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 DONT MSSP
DEBUG stream_writer.py:2010 handle_dont(MSSP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSSP] = False
DEBUG stream_writer.py:3384 local_option[MSSP] = False
DEBUG stream_writer.py:773 recv IAC DO XDISPLOC
DEBUG stream_writer.py:1887 handle_do(XDISPLOC)
DEBUG stream_writer.py:3384 pending_option[WILL + XDISPLOC] = True
DEBUG stream_writer.py:1024 send IAC WILL XDISPLOC
DEBUG stream_writer.py:3384 pending_option[SB + XDISPLOC] = True
DEBUG stream_writer.py:3384 local_option[XDISPLOC] = True
DEBUG stream_writer.py:3384 pending_option[WILL + XDISPLOC] = False
DEBUG stream_writer.py:773 recv IAC WILL GMCP
DEBUG stream_writer.py:2045 handle_will(GMCP)
DEBUG stream_writer.py:998 skip DO GMCP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[GMCP] = True
DEBUG stream_writer.py:1072 send IAC SB GMCP Core.Hello IAC SE
DEBUG stream_writer.py:1072 send IAC SB GMCP Core.Supports.Set IAC SE
INFO client.py:201 GMCP handshake: Core.Hello + Core.Supports.Set ['Char 1', 'Char.Vitals 1', 'Char.Items 1', 'Room 1', 'Room.Info
    1', 'Comm 1', 'Comm.Channel 1', 'Group 1']
DEBUG stream_writer.py:3384 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:773 recv IAC WILL MSSP
DEBUG stream_writer.py:2045 handle_will(MSSP)
DEBUG stream_writer.py:998 skip DO MSSP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[MSSP] = True
DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:773 recv IAC DO TSPEED
DEBUG stream_writer.py:1887 handle_do(TSPEED)
DEBUG stream_writer.py:3384 pending_option[WILL + TSPEED] = True
DEBUG stream_writer.py:1024 send IAC WILL TSPEED
DEBUG stream_writer.py:3384 pending_option[SB + TSPEED] = True
DEBUG stream_writer.py:3384 local_option[TSPEED] = True
DEBUG stream_writer.py:3384 pending_option[WILL + TSPEED] = 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 NEW_ENVIRON
DEBUG stream_writer.py:1887 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3384 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:1024 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3384 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3384 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3384 pending_option[WILL + NEW_ENVIRON] = 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:773 recv IAC WILL STATUS
DEBUG stream_writer.py:789 WILL STATUS unsolicited
DEBUG stream_writer.py:2045 handle_will(STATUS)
DEBUG stream_writer.py:3384 remote_option[STATUS] = True
DEBUG stream_writer.py:1115 send IAC SB STATUS SEND IAC SE
DEBUG stream_writer.py:3384 pending_option[SB + STATUS] = True
DEBUG stream_writer.py:773 recv IAC DO LINEMODE
DEBUG stream_writer.py:1887 handle_do(LINEMODE)
DEBUG stream_writer.py:3384 pending_option[WILL + LINEMODE] = True
DEBUG stream_writer.py:1024 send IAC WILL LINEMODE
DEBUG stream_writer.py:3384 pending_option[SB + LINEMODE] = True
DEBUG stream_writer.py:3384 local_option[LINEMODE] = True
DEBUG stream_writer.py:2816 slc_start: IAC SB LINEMODE SLC [..]
DEBUG stream_writer.py:2852 _slc_add (b'\x00',   (^@, default))
DEBUG stream_writer.py:2805 send (slc_end): b'\x00\x03\x00'
DEBUG stream_writer.py:2811 slc_end: [..] IAC SE
DEBUG stream_writer.py:3384 pending_option[WILL + LINEMODE] = False
DEBUG stream_writer.py:773 recv IAC DO TLS
DEBUG stream_writer.py:1887 handle_do(TLS)
DEBUG stream_writer.py:1995 DO TLS not supported.
DEBUG stream_writer.py:3384 local_option[TLS] = False
DEBUG stream_writer.py:1024 send IAC WONT TLS
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 AUTHENTICATION
DEBUG stream_writer.py:1887 handle_do(AUTHENTICATION)
DEBUG stream_writer.py:1995 DO AUTHENTICATION not supported.
DEBUG stream_writer.py:3384 local_option[AUTHENTICATION] = False
DEBUG stream_writer.py:1024 send IAC WONT AUTHENTICATION
DEBUG stream_writer.py:773 recv IAC DO CHARSET
DEBUG stream_writer.py:1887 handle_do(CHARSET)
DEBUG stream_writer.py:3384 pending_option[WILL + CHARSET] = True
DEBUG stream_writer.py:1024 send IAC WILL CHARSET
DEBUG stream_writer.py:3384 local_option[CHARSET] = True
DEBUG stream_writer.py:3384 pending_option[WILL + CHARSET] = False
DEBUG stream_writer.py:773 recv IAC WILL CHARSET
DEBUG stream_writer.py:791 WILL CHARSET (bi-directional capability exchange)
DEBUG stream_writer.py:2045 handle_will(CHARSET)
DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:1024 send IAC DO CHARSET
DEBUG stream_writer.py:3384 remote_option[CHARSET] = True
DEBUG client.py:168 Both sides support CHARSET, ready for server to initiate REQUEST
DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:773 recv IAC DO b'$'
DEBUG stream_writer.py:1887 handle_do(b'$')
DEBUG stream_writer.py:1995 DO b'$' not supported.
DEBUG stream_writer.py:3384 local_option[b'$'] = False
DEBUG stream_writer.py:1024 send IAC WONT b'$'
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 DONT MSP
DEBUG stream_writer.py:2010 handle_dont(MSP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSP] = False
DEBUG stream_writer.py:3384 local_option[MSP] = False
DEBUG stream_writer.py:773 recv IAC DONT MSDP
DEBUG stream_writer.py:2010 handle_dont(MSDP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSDP] = False
DEBUG stream_writer.py:3384 local_option[MSDP] = False
DEBUG stream_writer.py:767 begin sub-negotiation SB MXP
DEBUG stream_writer.py:754 sub-negotiation cmd MXP SE completion byte
DEBUG stream_writer.py:2238 [SB + MXP] unsolicited
DEBUG stream_writer.py:1805 MXP: b''
DEBUG stream_writer.py:773 recv IAC DONT ATCP
DEBUG stream_writer.py:2010 handle_dont(ATCP)
DEBUG stream_writer.py:3384 pending_option[WILL + ATCP] = False
DEBUG stream_writer.py:3384 local_option[ATCP] = False
DEBUG stream_writer.py:773 recv IAC DONT MCCP2_COMPRESS
DEBUG stream_writer.py:2010 handle_dont(MCCP2_COMPRESS)
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:3384 local_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC DONT ZMP
DEBUG stream_writer.py:2010 handle_dont(ZMP)
DEBUG stream_writer.py:3384 pending_option[WILL + ZMP] = False
DEBUG stream_writer.py:3384 local_option[ZMP] = False
DEBUG stream_writer.py:773 recv IAC DONT GMCP
DEBUG stream_writer.py:2010 handle_dont(GMCP)
DEBUG stream_writer.py:3384 pending_option[WILL + GMCP] = False
DEBUG stream_writer.py:3384 local_option[GMCP] = False
DEBUG stream_writer.py:773 recv IAC DONT MCCP3_COMPRESS
DEBUG stream_writer.py:2010 handle_dont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3384 local_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC DONT AARDWOLF
DEBUG stream_writer.py:2010 handle_dont(AARDWOLF)
DEBUG stream_writer.py:3384 pending_option[WILL + AARDWOLF] = False
DEBUG stream_writer.py:3384 local_option[AARDWOLF] = False
DEBUG stream_writer.py:767 begin sub-negotiation SB MSSP
DEBUG stream_writer.py:754 sub-negotiation cmd MSSP SE completion byte
DEBUG stream_writer.py:2238 [SB + MSSP] unsolicited
DEBUG stream_writer.py:1796 MSSP: {'NAME': 'AgeOfHeroes', 'PLAYERS': '1', 'UPTIME': '1775507735', 'HOSTNAME': 'aoh.zitz.dk',
    'PORT': ['2348', '2350', '2345'], 'CONTACT': 'ralph@zitz.dk', 'LANGUAGE': 'English', 'CODEBASE': 'OSB', 'FAMILY': 'LPMud',
    'INTERMUD': ['I2', 'I3'], 'CREATED': '2020', 'LOCATION': 'DK', 'GENRE': 'Fantasy', 'SUBGENRE': 'Medieval Fantasy', 'GAMEPLAY':
    'Adventure', 'STATUS': 'Alpha', 'GAMESYSTEM': 'Custom', 'ANSI': '1', 'MCCP': '1', 'VT100': '1', 'XTERM 256 COLORS': '1',
    'GMCP': '1', 'MXP': '1', 'PAY TO PLAY': '0', 'PAY FOR PERKS': '0', 'HIRING BUILDERS': '1', 'HIRING CODERS': '1'}
DEBUG stream_writer.py:773 recv IAC WONT MSP
DEBUG stream_writer.py:2199 handle_wont(MSP)
DEBUG stream_writer.py:3384 remote_option[MSP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MSP] = False
DEBUG stream_writer.py:773 recv IAC WONT MSDP
DEBUG stream_writer.py:2199 handle_wont(MSDP)
DEBUG stream_writer.py:3384 remote_option[MSDP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:773 recv IAC WONT MXP
DEBUG stream_writer.py:2199 handle_wont(MXP)
DEBUG stream_writer.py:3384 remote_option[MXP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MXP] = False
DEBUG stream_writer.py:773 recv IAC WONT ATCP
DEBUG stream_writer.py:2199 handle_wont(ATCP)
DEBUG stream_writer.py:3384 remote_option[ATCP] = False
DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = False
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 WONT ZMP
DEBUG stream_writer.py:2199 handle_wont(ZMP)
DEBUG stream_writer.py:3384 remote_option[ZMP] = False
DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:773 recv IAC WONT MCCP3_COMPRESS
DEBUG stream_writer.py:2199 handle_wont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3384 remote_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC WONT AARDWOLF
DEBUG stream_writer.py:2199 handle_wont(AARDWOLF)
DEBUG stream_writer.py:3384 remote_option[AARDWOLF] = False
DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = False
DEBUG stream_writer.py:1470 IAC EOR: End of Record (unhandled).
DEBUG stream_writer.py:767 begin sub-negotiation SB XDISPLOC
DEBUG stream_writer.py:754 sub-negotiation cmd XDISPLOC SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + XDISPLOC] = False
DEBUG stream_writer.py:2384 recv XDISPLOC SEND: b''
DEBUG stream_writer.py:2393 send IAC SB XDISPLOC IS b'' IAC SE
DEBUG stream_writer.py:767 begin sub-negotiation SB TSPEED
DEBUG stream_writer.py:754 sub-negotiation cmd TSPEED SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + TSPEED] = False
DEBUG stream_writer.py:2345 recv TSPEED SEND: b''
DEBUG stream_writer.py:2373 send: IAC SB TSPEED IS b'38400',b'38400' IAC SE
DEBUG stream_writer.py:767 begin sub-negotiation SB NEW_ENVIRON
DEBUG stream_writer.py:754 sub-negotiation cmd NEW_ENVIRON SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + NEW_ENVIRON] = False
DEBUG stream_writer.py:2449 recv NEW_ENVIRON SEND (all)
DEBUG stream_writer.py:2473 env send: LANG='C', TERM='xterm-256color', LINES=25, COLUMNS=80, COLORTERM=''
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 stream_writer.py:767 begin sub-negotiation SB STATUS
DEBUG stream_writer.py:754 sub-negotiation cmd STATUS SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + STATUS] = False
DEBUG stream_writer.py:2629 STATUS agreed: XDISPLOC, GMCP, MSSP, TSPEED, NAWS, NEW_ENVIRON, TTYPE, EOR, MXP, MCCP2_COMPRESS
DEBUG stream_writer.py:2631 STATUS disagreed: ECHO
DEBUG stream_writer.py:2633 STATUS subneg: NAWS 80x25
DEBUG stream_writer.py:767 begin sub-negotiation SB LINEMODE
DEBUG stream_writer.py:754 sub-negotiation cmd LINEMODE SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + LINEMODE] = False
DEBUG stream_writer.py:2703 recv IAC SB LINEMODE LINEMODE-MODE b'\t' IAC SE
DEBUG stream_writer.py:1390 set Linemode <b'\r': lit_echo:False, soft_tab:True, ack:True, trapsig:False, remote:False, local:True>
DEBUG stream_writer.py:1393 send IAC SB LINEMODE LINEMODE-MODE <b'\r': lit_echo:False, soft_tab:True, ack:True, trapsig:False,
    remote:False, local:True> IAC SE
DEBUG client_base.py:531 negotiation complete after 0.34s.
DEBUG stream_writer.py:767 begin sub-negotiation SB LINEMODE
DEBUG stream_writer.py:754 sub-negotiation cmd LINEMODE SE completion byte
DEBUG stream_writer.py:2238 [SB + LINEMODE] unsolicited
DEBUG stream_writer.py:2685 recv IAC SB LINEMODE DO LMODE_FORWARDMASK,
DEBUG stream_writer.py:3384 local_option[SB + LINEMODE + 2] = False
DEBUG stream_writer.py:3243 FORWARDMASK stored (4 bytes)
DEBUG stream_writer.py:767 begin sub-negotiation SB LINEMODE
DEBUG stream_writer.py:754 sub-negotiation cmd LINEMODE SE completion byte
DEBUG stream_writer.py:2238 [SB + LINEMODE] unsolicited
DEBUG stream_writer.py:2893 _slc_process SLC_SYNCH mine=(^@, default), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_SYNCH, ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_BRK   mine=(^@, default), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_BRK,   ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_IP    mine=(^C, variable|flushin|flushout), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_IP,    ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_AO    mine=(^O, variable|flushout), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_AO,    ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_AYT   mine=(^T, variable), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_AYT,   ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_EOR   mine=(^@, default), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_EOR,   ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_ABORT mine=(^\, variable|flushin|flushout), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_ABORT, ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_EOF   mine=(^D, variable), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_EOF,   ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_SUSP  mine=(^Z, variable|flushin), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_SUSP,  ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_EC    mine=(^?, variable), his=(^?, default)
DEBUG stream_writer.py:2852 _slc_add (SLC_EC,    (^?, variable))
DEBUG stream_writer.py:2893 _slc_process SLC_EL    mine=(^U, variable), his=(^U, default)
DEBUG stream_writer.py:2852 _slc_add (SLC_EL,    (^U, variable))
DEBUG stream_writer.py:2893 _slc_process SLC_EW    mine=(^W, variable), his=(^W, default)
DEBUG stream_writer.py:2852 _slc_add (SLC_EW,    (^W, variable))
DEBUG stream_writer.py:2893 _slc_process SLC_XON   mine=(^Q, variable), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_XON,   ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_XOFF  mine=(^S, variable), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_XOFF,  ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_FORW1 mine=((DISABLED:\xff), nosupport), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_FORW1, ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_FORW2 mine=((DISABLED:\xff), nosupport), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_FORW2, ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2816 slc_start: IAC SB LINEMODE SLC [..]
DEBUG stream_writer.py:2805 send (slc_end): b'\x01\x80\xff\x02\x80\xff\x03\x80\xff\x04\x80\xff\x05\x80\xff\x06\x80\xff\x07\x80\xff
    \x08\x80\xff\t\x80\xff\n\x02\x7f\x0b\x02\x15\x0c\x02\x17\x0f\x80\xff\x10\x80\xff\x11\x80\xff\x12\x80\xff'
DEBUG stream_writer.py:2811 slc_end: [..] IAC SE
DEBUG stream_writer.py:767 begin sub-negotiation SB CHARSET
DEBUG stream_writer.py:754 sub-negotiation cmd CHARSET SE completion byte
DEBUG stream_writer.py:2238 [SB + CHARSET] unsolicited
DEBUG client.py:376 encoding negotiated: UTF-8
DEBUG stream_writer.py:2321 send IAC SB CHARSET ACCEPTED UTF-8 IAC SE
DEBUG stream_writer.py:773 recv IAC DO BINARY
DEBUG stream_writer.py:1887 handle_do(BINARY)
DEBUG stream_writer.py:3384 pending_option[WILL + BINARY] = True
DEBUG stream_writer.py:1024 send IAC WILL BINARY
DEBUG stream_writer.py:3384 local_option[BINARY] = True
DEBUG stream_writer.py:3384 pending_option[WILL + BINARY] = False
DEBUG stream_writer.py:767 begin sub-negotiation SB LINEMODE
DEBUG stream_writer.py:754 sub-negotiation cmd LINEMODE SE completion byte
DEBUG stream_writer.py:2238 [SB + LINEMODE] unsolicited
DEBUG stream_writer.py:2893 _slc_process SLC_EC    mine=(^?, variable), his=(^?, variable|ack)
DEBUG stream_writer.py:2893 _slc_process SLC_EL    mine=(^U, variable), his=(^U, variable|ack)
DEBUG stream_writer.py:2893 _slc_process SLC_EW    mine=(^W, variable), his=(^W, variable|ack)
DEBUG client_base.py:489 MCCP2 decompression ended (server→client)
DEBUG client_base.py:93 EOF from server, closing.
INFO client_base.py:122 Connection closed to <Peer 128.76.165.163 2345>
DEBUG fingerprinting.py:849 connection for server fingerprint 242e20a932718480

AgeOfHeroes (aoh.zitz.dk:2348)

Connection Banner:

Gamedriver LDMud 3.6.8 (3.6.8-10-ge1cbe804) -- Lib 'AgeOfHeroes' 0.5.6 \|~ jgs /.\\ /#^^\\_ /\\ +​---------------------+ /# \\ /#% \\ /# \\ - - /#% \\ /#%_​_____\\ /#%__\\ - Age of Heroes - /#% \\ \|= I I \|\| \|- \| - - ~~ ~~~\|~~ \|_​=_-__\|' \|[]\| +​---------------------+ \|[] \|_​______\\__\|/_ _ \|= \|\`. \|- /= __ __ /-\\\|= \| :; \|= /- /\\/ /\\/ /=- \\.-' :; As you step beyond reality \| /_​.=========._/_​.-._\\ .:' and into this new fantasy \|= \|-.'.- .'.- \| /\|\\ \|.:' world, please keep in mind \\ \|=\|:\|= \|:\| =\| \|~\|~\|\|'\| that we are under construction, \|~\|-\|:\| -\|:\| \|-\|~\|~\|\|=\| and we welcome all comments, \|=\|=\|:\|- \|:\|- \| \|~\|~\|\| \| ideas, suggestions, proposals, \| \|-​_~__=_~__=\|_​^^^^^\|/___ motions, observations, criticisms, \|-(=​-=-=-=-=-(\|=​====/=​_-=/\\ remarks, commentaries, notes, \| \|=​_-= _=- _=\| -_=/=​_-_/__\\ theories, plans, schemes, \| \|- _ =_- _-\|=_- \|]#\| I II thoughts, concepts, opinions, \|=\|_/ \\_​-_= - \|- = \|]#\| I II viewpoints, and impressions. \| / _/ \\. -_=\| =__\|]!!!I_II!! We won't welcome anything _\|/-'/ \` \\_/ \\\|/' _ ^​^^^\`.​==_^. else though, sorry. _/ _/\`-./\`-; \`-.\\_ / \\_'\\\`. \`. ===\`. / .-' __/_ \`. _/.' .-' \`-. ; =​===;\\ WARNING: Nothings ready yet. /. \`./ \\ \`. \\ / - / .-'.' =​====' > Most everything will be / / .-' \`--. / .' / \`-.' =​=====.' / changed or destroyed. Enjoy. Enter your name, or type 'help': Choose a password for your character:

This banner is more than 99% similar to 1 other server:

Server URLs

Server Info

  • Codebase: OSB

  • Genre: Fantasy

  • Gameplay: Adventure

  • Players online: 1 [2]

  • Uptime: 0 days

  • Created: 2020

  • Status: Alpha

  • Server Location: 🇩🇰 DK (MSSP)

  • Language: English

Protocol Support

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

  • MSSP: Yes (MSSP)

  • GMCP: Yes (MSSP)

  • MSDP: No

  • MCCP: Yes (MSSP)

  • MCCP2: Negotiated

  • MXP: Yes (MSSP)

  • MSP: No

  • MCP: No

  • ZMP: No

Telnet Fingerprint

1503a995249b3dd5

This fingerprint is unique to this server.

Options offered by server: BINARY, CHARSET, ECHO, EOR, GMCP, MCCP2, MSSP, SGA, STATUS

Options requested from client: BINARY, CHARSET, LINEMODE, MXP, NAWS, NEW_ENVIRON, TSPEED, TTYPE, XDISPLOC

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

Show JSON
{
  "server-probe": {
    "fingerprint": "1503a995249b3dd5",
    "fingerprint-data": {
      "offered-options": [
        "BINARY",
        "CHARSET",
        "ECHO",
        "EOR",
        "GMCP",
        "MCCP2",
        "MSSP",
        "SGA",
        "STATUS"
      ],
      "probed-protocol": "server",
      "refused-options": [
        "AARDWOLF",
        "ATCP",
        "COM_PORT",
        "MCCP3",
        "MSDP",
        "MSP",
        "MXP",
        "ZMP"
      ],
      "requested-options": [
        "BINARY",
        "CHARSET",
        "LINEMODE",
        "MXP",
        "NAWS",
        "NEW_ENVIRON",
        "TSPEED",
        "TTYPE",
        "XDISPLOC"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "Choose a password for your character: ",
      "banner_before_return": "Gamedriver LDMud 3.6.8 (3.6.8-10-ge1cbe804) -- Lib 'AgeOfHeroes' 0.5.6\r\n        |~        jgs   \r\n       /.\\       /#^^\\_     /\\\t       +---------------------+\r\n      /#  \\     /#%    \\   /# \\\t       -\t\t     -\t\r\n     /#%   \\   /#%______\\ /#%__\\       -   Age of Heroes     -\r\n    /#%     \\   |= I I ||  |- |\t       -\t\t     -\r\n    ~~ ~~~|~~   |_=_-__|'  |[]|\t       +---------------------+\r\n      |[] |_______\\__|/_ _ |= |`.     \r\n      |-  /= __   __    /-\\|= | :;        \r\n      |= /- /\\/  /\\/   /=- \\.-' :;     As you step beyond reality   \r\n      | /_.=========._/_.-._\\  .:'     and into this new fantasy\r\n      |= |-.'.- .'.- |  /|\\ |.:'       world, please keep in mind  \r\n      \\  |=|:|= |:| =| |~|~||'|\t       that we are under construction,\r\n       |~|-|:| -|:|  |-|~|~||=|        and we welcome all comments,  \r\n       |=|=|:|- |:|- | |~|~|| |\t       ideas, suggestions, proposals,\r\n       | |-_~__=_~__=|_^^^^^|/___      motions, observations, criticisms,\r\n       |-(=-=-=-=-=-(|=====/=_-=/\\     remarks, commentaries, notes, \r\n       | |=_-= _=- _=| -_=/=_-_/__\\    theories, plans, schemes,\r\n       | |- _ =_-  _-|=_- |]#| I II    thoughts, concepts, opinions, \r\n       |=|_/ \\_-_= - |- = |]#| I II    viewpoints, and impressions.\r\n       | /  _/ \\. -_=| =__|]!!!I_II!!  We won't welcome anything\r\n      _|/-'/  ` \\_/ \\|/' _ ^^^^`.==_^. else though, sorry. \r\n    _/  _/`-./`-; `-.\\_ / \\_'\\`. `. ===`.\r\n   / .-'  __/_   `.   _/.' .-' `-. ; ====;\\   WARNING: Nothings ready yet. \r\n  /.   `./    \\ `. \\ / -  /  .-'.' ====='  >  Most everything will be \r\n /     /  .-' `--.  / .' /  `-.' ======.' /   changed or destroyed. Enjoy.\r\n \r\nEnter your name, or type 'help': ",
      "dsr_replies": 0,
      "dsr_requests": 0,
      "encoding": "ascii",
      "mssp": {
        "ANSI": "1",
        "CODEBASE": "OSB",
        "CONTACT": "ralph@zitz.dk",
        "CREATED": "2020",
        "FAMILY": "LPMud",
        "GAMEPLAY": "Adventure",
        "GAMESYSTEM": "Custom",
        "GENRE": "Fantasy",
        "GMCP": "1",
        "HIRING BUILDERS": "1",
        "HIRING CODERS": "1",
        "HOSTNAME": "aoh.zitz.dk",
        "INTERMUD": [
          "I2",
          "I3"
        ],
        "LANGUAGE": "English",
        "LOCATION": "DK",
        "MCCP": "1",
        "MXP": "1",
        "NAME": "AgeOfHeroes",
        "PAY FOR PERKS": "0",
        "PAY TO PLAY": "0",
        "PLAYERS": "1",
        "PORT": [
          "2348",
          "2350",
          "2345"
        ],
        "STATUS": "Alpha",
        "SUBGENRE": "Medieval Fantasy",
        "UPTIME": "1775507735",
        "VT100": "1",
        "XTERM 256 COLORS": "1"
      },
      "option_states": {
        "environ_requested": [
          {
            "name": "*",
            "type": "VAR"
          },
          {
            "name": "*",
            "type": "USERVAR"
          }
        ],
        "server_offered": {
          "AARDWOLF": false,
          "ATCP": false,
          "CHARSET": true,
          "ECHO": true,
          "EOR": true,
          "GMCP": true,
          "MCCP2": true,
          "MCCP3": false,
          "MSDP": false,
          "MSP": false,
          "MSSP": true,
          "MXP": false,
          "STATUS": true,
          "ZMP": false
        },
        "server_requested": {
          "0x24": false,
          "0xfa": false,
          "AARDWOLF": false,
          "ATCP": false,
          "AUTHENTICATION": false,
          "BINARY": true,
          "CHARSET": true,
          "GMCP": false,
          "LINEMODE": true,
          "MCCP3": false,
          "MSDP": false,
          "MSP": false,
          "MSSP": false,
          "MXP": true,
          "NAWS": true,
          "NEW_ENVIRON": true,
          "TLS": false,
          "TSPEED": true,
          "TTYPE": true,
          "XDISPLOC": true,
          "ZMP": false
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.2039487361907959,
        "total": 10.888899803161621
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-04-07T07:20:09.639770+00:00",
      "host": "aoh.zitz.dk",
      "ip": "128.76.165.163",
      "port": 2348
    }
  ]
}

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 aoh.zitz.dk 2348
Show Logfile
DEBUG client.py:1200 Fingerprint client: host=aoh.zitz.dk port=2348
INFO client_base.py:190 Connected to <Peer 128.76.165.163 2348>
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 + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC WILL MCCP2_COMPRESS
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 + 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[WILL + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC WILL MCCP3_COMPRESS
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 + MSSP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSSP
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 + MXP] = True
DEBUG stream_writer.py:1024 send IAC DO MXP
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 + MSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSP
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: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 + 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 + MSSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSSP
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 DONT MSP
DEBUG stream_writer.py:2010 handle_dont(MSP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSP] = False
DEBUG stream_writer.py:3384 local_option[MSP] = False
DEBUG stream_writer.py:773 recv IAC DO XDISPLOC
DEBUG stream_writer.py:1887 handle_do(XDISPLOC)
DEBUG stream_writer.py:3384 pending_option[WILL + XDISPLOC] = True
DEBUG stream_writer.py:1024 send IAC WILL XDISPLOC
DEBUG stream_writer.py:3384 pending_option[SB + XDISPLOC] = True
DEBUG stream_writer.py:3384 local_option[XDISPLOC] = True
DEBUG stream_writer.py:3384 pending_option[WILL + XDISPLOC] = False
DEBUG stream_writer.py:773 recv IAC WILL GMCP
DEBUG stream_writer.py:2045 handle_will(GMCP)
DEBUG stream_writer.py:998 skip DO GMCP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[GMCP] = True
DEBUG stream_writer.py:1072 send IAC SB GMCP Core.Hello IAC SE
DEBUG stream_writer.py:1072 send IAC SB GMCP Core.Supports.Set IAC SE
INFO client.py:201 GMCP handshake: Core.Hello + Core.Supports.Set ['Char 1', 'Char.Vitals 1', 'Char.Items 1', 'Room 1', 'Room.Info
    1', 'Comm 1', 'Comm.Channel 1', 'Group 1']
DEBUG stream_writer.py:3384 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:773 recv IAC WILL MSSP
DEBUG stream_writer.py:2045 handle_will(MSSP)
DEBUG stream_writer.py:998 skip DO MSSP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[MSSP] = True
DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:773 recv IAC DO TSPEED
DEBUG stream_writer.py:1887 handle_do(TSPEED)
DEBUG stream_writer.py:3384 pending_option[WILL + TSPEED] = True
DEBUG stream_writer.py:1024 send IAC WILL TSPEED
DEBUG stream_writer.py:3384 pending_option[SB + TSPEED] = True
DEBUG stream_writer.py:3384 local_option[TSPEED] = True
DEBUG stream_writer.py:3384 pending_option[WILL + TSPEED] = 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 NEW_ENVIRON
DEBUG stream_writer.py:1887 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3384 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:1024 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3384 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3384 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3384 pending_option[WILL + NEW_ENVIRON] = 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: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 STATUS
DEBUG stream_writer.py:789 WILL STATUS unsolicited
DEBUG stream_writer.py:2045 handle_will(STATUS)
DEBUG stream_writer.py:3384 remote_option[STATUS] = True
DEBUG stream_writer.py:1115 send IAC SB STATUS SEND IAC SE
DEBUG stream_writer.py:3384 pending_option[SB + STATUS] = True
DEBUG stream_writer.py:773 recv IAC DO LINEMODE
DEBUG stream_writer.py:1887 handle_do(LINEMODE)
DEBUG stream_writer.py:3384 pending_option[WILL + LINEMODE] = True
DEBUG stream_writer.py:1024 send IAC WILL LINEMODE
DEBUG stream_writer.py:3384 pending_option[SB + LINEMODE] = True
DEBUG stream_writer.py:3384 local_option[LINEMODE] = True
DEBUG stream_writer.py:2816 slc_start: IAC SB LINEMODE SLC [..]
DEBUG stream_writer.py:2852 _slc_add (b'\x00',   (^@, default))
DEBUG stream_writer.py:2805 send (slc_end): b'\x00\x03\x00'
DEBUG stream_writer.py:2811 slc_end: [..] IAC SE
DEBUG stream_writer.py:3384 pending_option[WILL + LINEMODE] = False
DEBUG stream_writer.py:773 recv IAC DO TLS
DEBUG stream_writer.py:1887 handle_do(TLS)
DEBUG stream_writer.py:1995 DO TLS not supported.
DEBUG stream_writer.py:3384 local_option[TLS] = False
DEBUG stream_writer.py:1024 send IAC WONT TLS
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 AUTHENTICATION
DEBUG stream_writer.py:1887 handle_do(AUTHENTICATION)
DEBUG stream_writer.py:1995 DO AUTHENTICATION not supported.
DEBUG stream_writer.py:3384 local_option[AUTHENTICATION] = False
DEBUG stream_writer.py:1024 send IAC WONT AUTHENTICATION
DEBUG stream_writer.py:773 recv IAC DO CHARSET
DEBUG stream_writer.py:1887 handle_do(CHARSET)
DEBUG stream_writer.py:3384 pending_option[WILL + CHARSET] = True
DEBUG stream_writer.py:1024 send IAC WILL CHARSET
DEBUG stream_writer.py:3384 local_option[CHARSET] = True
DEBUG stream_writer.py:3384 pending_option[WILL + CHARSET] = False
DEBUG stream_writer.py:773 recv IAC WILL CHARSET
DEBUG stream_writer.py:791 WILL CHARSET (bi-directional capability exchange)
DEBUG stream_writer.py:2045 handle_will(CHARSET)
DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:1024 send IAC DO CHARSET
DEBUG stream_writer.py:3384 remote_option[CHARSET] = True
DEBUG client.py:168 Both sides support CHARSET, ready for server to initiate REQUEST
DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:773 recv IAC DO b'$'
DEBUG stream_writer.py:1887 handle_do(b'$')
DEBUG stream_writer.py:1995 DO b'$' not supported.
DEBUG stream_writer.py:3384 local_option[b'$'] = False
DEBUG stream_writer.py:1024 send IAC WONT b'$'
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 DONT MSDP
DEBUG stream_writer.py:2010 handle_dont(MSDP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSDP] = False
DEBUG stream_writer.py:3384 local_option[MSDP] = False
DEBUG stream_writer.py:773 recv IAC DONT ATCP
DEBUG stream_writer.py:2010 handle_dont(ATCP)
DEBUG stream_writer.py:3384 pending_option[WILL + ATCP] = False
DEBUG stream_writer.py:3384 local_option[ATCP] = False
DEBUG stream_writer.py:773 recv IAC DONT MCCP3_COMPRESS
DEBUG stream_writer.py:2010 handle_dont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3384 local_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC DONT ZMP
DEBUG stream_writer.py:2010 handle_dont(ZMP)
DEBUG stream_writer.py:3384 pending_option[WILL + ZMP] = False
DEBUG stream_writer.py:3384 local_option[ZMP] = False
DEBUG stream_writer.py:773 recv IAC DONT AARDWOLF
DEBUG stream_writer.py:2010 handle_dont(AARDWOLF)
DEBUG stream_writer.py:3384 pending_option[WILL + AARDWOLF] = False
DEBUG stream_writer.py:3384 local_option[AARDWOLF] = False
DEBUG stream_writer.py:773 recv IAC DONT MSSP
DEBUG stream_writer.py:2010 handle_dont(MSSP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSSP] = False
DEBUG stream_writer.py:3384 local_option[MSSP] = False
DEBUG stream_writer.py:773 recv IAC DONT GMCP
DEBUG stream_writer.py:2010 handle_dont(GMCP)
DEBUG stream_writer.py:3384 pending_option[WILL + GMCP] = False
DEBUG stream_writer.py:3384 local_option[GMCP] = False
DEBUG stream_writer.py:773 recv IAC WONT MXP
DEBUG stream_writer.py:2199 handle_wont(MXP)
DEBUG stream_writer.py:3384 remote_option[MXP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MXP] = False
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 WONT MSP
DEBUG stream_writer.py:2199 handle_wont(MSP)
DEBUG stream_writer.py:3384 remote_option[MSP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MSP] = False
DEBUG stream_writer.py:773 recv IAC WONT MSDP
DEBUG stream_writer.py:2199 handle_wont(MSDP)
DEBUG stream_writer.py:3384 remote_option[MSDP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:773 recv IAC WONT ATCP
DEBUG stream_writer.py:2199 handle_wont(ATCP)
DEBUG stream_writer.py:3384 remote_option[ATCP] = False
DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = False
DEBUG stream_writer.py:773 recv IAC WONT MCCP3_COMPRESS
DEBUG stream_writer.py:2199 handle_wont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3384 remote_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC WONT ZMP
DEBUG stream_writer.py:2199 handle_wont(ZMP)
DEBUG stream_writer.py:3384 remote_option[ZMP] = False
DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:773 recv IAC WONT AARDWOLF
DEBUG stream_writer.py:2199 handle_wont(AARDWOLF)
DEBUG stream_writer.py:3384 remote_option[AARDWOLF] = False
DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = False
DEBUG stream_writer.py:767 begin sub-negotiation SB MSSP
DEBUG stream_writer.py:754 sub-negotiation cmd MSSP SE completion byte
DEBUG stream_writer.py:2238 [SB + MSSP] unsolicited
DEBUG stream_writer.py:1796 MSSP: {'NAME': 'AgeOfHeroes', 'PLAYERS': '1', 'UPTIME': '1775507735', 'HOSTNAME': 'aoh.zitz.dk',
    'PORT': ['2348', '2350', '2345'], 'CONTACT': 'ralph@zitz.dk', 'LANGUAGE': 'English', 'CODEBASE': 'OSB', 'FAMILY': 'LPMud',
    'INTERMUD': ['I2', 'I3'], 'CREATED': '2020', 'LOCATION': 'DK', 'GENRE': 'Fantasy', 'SUBGENRE': 'Medieval Fantasy', 'GAMEPLAY':
    'Adventure', 'STATUS': 'Alpha', 'GAMESYSTEM': 'Custom', 'ANSI': '1', 'MCCP': '1', 'VT100': '1', 'XTERM 256 COLORS': '1',
    'GMCP': '1', 'MXP': '1', 'PAY TO PLAY': '0', 'PAY FOR PERKS': '0', 'HIRING BUILDERS': '1', 'HIRING CODERS': '1'}
DEBUG stream_writer.py:767 begin sub-negotiation SB XDISPLOC
DEBUG stream_writer.py:754 sub-negotiation cmd XDISPLOC SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + XDISPLOC] = False
DEBUG stream_writer.py:2384 recv XDISPLOC SEND: b''
DEBUG stream_writer.py:2393 send IAC SB XDISPLOC IS b'' IAC SE
DEBUG stream_writer.py:767 begin sub-negotiation SB TSPEED
DEBUG stream_writer.py:754 sub-negotiation cmd TSPEED SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + TSPEED] = False
DEBUG stream_writer.py:2345 recv TSPEED SEND: b''
DEBUG stream_writer.py:2373 send: IAC SB TSPEED IS b'38400',b'38400' IAC SE
DEBUG stream_writer.py:767 begin sub-negotiation SB NEW_ENVIRON
DEBUG stream_writer.py:754 sub-negotiation cmd NEW_ENVIRON SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + NEW_ENVIRON] = False
DEBUG stream_writer.py:2449 recv NEW_ENVIRON SEND (all)
DEBUG stream_writer.py:2473 env send: LANG='C', TERM='xterm-256color', LINES=25, COLUMNS=80, COLORTERM=''
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 stream_writer.py:1470 IAC EOR: End of Record (unhandled).
DEBUG stream_writer.py:767 begin sub-negotiation SB STATUS
DEBUG stream_writer.py:754 sub-negotiation cmd STATUS SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + STATUS] = False
DEBUG stream_writer.py:2629 STATUS agreed: XDISPLOC, GMCP, MSSP, TSPEED, NAWS, NEW_ENVIRON, TTYPE, EOR, MCCP2_COMPRESS
DEBUG stream_writer.py:2633 STATUS subneg: NAWS 80x25
DEBUG stream_writer.py:767 begin sub-negotiation SB LINEMODE
DEBUG stream_writer.py:754 sub-negotiation cmd LINEMODE SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + LINEMODE] = False
DEBUG stream_writer.py:2703 recv IAC SB LINEMODE LINEMODE-MODE b'\t' IAC SE
DEBUG stream_writer.py:1390 set Linemode <b'\r': lit_echo:False, soft_tab:True, ack:True, trapsig:False, remote:False, local:True>
DEBUG stream_writer.py:1393 send IAC SB LINEMODE LINEMODE-MODE <b'\r': lit_echo:False, soft_tab:True, ack:True, trapsig:False,
    remote:False, local:True> IAC SE
DEBUG stream_writer.py:767 begin sub-negotiation SB LINEMODE
DEBUG stream_writer.py:754 sub-negotiation cmd LINEMODE SE completion byte
DEBUG stream_writer.py:2238 [SB + LINEMODE] unsolicited
DEBUG stream_writer.py:2685 recv IAC SB LINEMODE DO LMODE_FORWARDMASK,
DEBUG stream_writer.py:3384 local_option[SB + LINEMODE + 2] = False
DEBUG stream_writer.py:3243 FORWARDMASK stored (4 bytes)
DEBUG stream_writer.py:767 begin sub-negotiation SB LINEMODE
DEBUG stream_writer.py:754 sub-negotiation cmd LINEMODE SE completion byte
DEBUG stream_writer.py:2238 [SB + LINEMODE] unsolicited
DEBUG stream_writer.py:2893 _slc_process SLC_SYNCH mine=(^@, default), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_SYNCH, ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_BRK   mine=(^@, default), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_BRK,   ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_IP    mine=(^C, variable|flushin|flushout), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_IP,    ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_AO    mine=(^O, variable|flushout), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_AO,    ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_AYT   mine=(^T, variable), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_AYT,   ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_EOR   mine=(^@, default), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_EOR,   ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_ABORT mine=(^\, variable|flushin|flushout), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_ABORT, ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_EOF   mine=(^D, variable), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_EOF,   ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_SUSP  mine=(^Z, variable|flushin), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_SUSP,  ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_EC    mine=(^?, variable), his=(^?, default)
DEBUG stream_writer.py:2852 _slc_add (SLC_EC,    (^?, variable))
DEBUG stream_writer.py:2893 _slc_process SLC_EL    mine=(^U, variable), his=(^U, default)
DEBUG stream_writer.py:2852 _slc_add (SLC_EL,    (^U, variable))
DEBUG stream_writer.py:2893 _slc_process SLC_EW    mine=(^W, variable), his=(^W, default)
DEBUG stream_writer.py:2852 _slc_add (SLC_EW,    (^W, variable))
DEBUG stream_writer.py:2893 _slc_process SLC_XON   mine=(^Q, variable), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_XON,   ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_XOFF  mine=(^S, variable), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_XOFF,  ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_FORW1 mine=((DISABLED:\xff), nosupport), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_FORW1, ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2893 _slc_process SLC_FORW2 mine=((DISABLED:\xff), nosupport), his=(^@, nosupport)
DEBUG stream_writer.py:2852 _slc_add (SLC_FORW2, ((DISABLED:\xff), nosupport|ack))
DEBUG stream_writer.py:2816 slc_start: IAC SB LINEMODE SLC [..]
DEBUG stream_writer.py:2805 send (slc_end): b'\x01\x80\xff\x02\x80\xff\x03\x80\xff\x04\x80\xff\x05\x80\xff\x06\x80\xff\x07\x80\xff
    \x08\x80\xff\t\x80\xff\n\x02\x7f\x0b\x02\x15\x0c\x02\x17\x0f\x80\xff\x10\x80\xff\x11\x80\xff\x12\x80\xff'
DEBUG stream_writer.py:2811 slc_end: [..] IAC SE
DEBUG stream_writer.py:767 begin sub-negotiation SB CHARSET
DEBUG stream_writer.py:754 sub-negotiation cmd CHARSET SE completion byte
DEBUG stream_writer.py:2238 [SB + CHARSET] unsolicited
DEBUG client.py:376 encoding negotiated: UTF-8
DEBUG stream_writer.py:2321 send IAC SB CHARSET ACCEPTED UTF-8 IAC SE
DEBUG stream_writer.py:773 recv IAC DO BINARY
DEBUG stream_writer.py:1887 handle_do(BINARY)
DEBUG stream_writer.py:3384 pending_option[WILL + BINARY] = True
DEBUG stream_writer.py:1024 send IAC WILL BINARY
DEBUG stream_writer.py:3384 local_option[BINARY] = True
DEBUG stream_writer.py:3384 pending_option[WILL + BINARY] = False
DEBUG stream_writer.py:767 begin sub-negotiation SB LINEMODE
DEBUG stream_writer.py:754 sub-negotiation cmd LINEMODE SE completion byte
DEBUG stream_writer.py:2238 [SB + LINEMODE] unsolicited
DEBUG stream_writer.py:2893 _slc_process SLC_EC    mine=(^?, variable), his=(^?, variable|ack)
DEBUG stream_writer.py:2893 _slc_process SLC_EL    mine=(^U, variable), his=(^U, variable|ack)
DEBUG stream_writer.py:2893 _slc_process SLC_EW    mine=(^W, variable), his=(^W, variable|ack)
DEBUG stream_writer.py:1470 IAC EOR: End of Record (unhandled).
DEBUG client_base.py:534 negotiation failed after 4.00s.
DEBUG client_base.py:540 failed-reply: 'WILL MCCP2_COMPRESS'
DEBUG stream_writer.py:773 recv IAC WILL ECHO
DEBUG stream_writer.py:789 WILL ECHO unsolicited
DEBUG stream_writer.py:2045 handle_will(ECHO)
DEBUG stream_writer.py:3384 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:1024 send IAC DO ECHO
DEBUG stream_writer.py:3384 remote_option[ECHO] = True
DEBUG stream_writer.py:3384 pending_option[DO + ECHO] = False
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 + COM_PORT_OPTION] = True
DEBUG stream_writer.py:1024 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:773 recv IAC WILL BINARY
DEBUG stream_writer.py:2045 handle_will(BINARY)
DEBUG stream_writer.py:998 skip DO BINARY; pending_option = True
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 SGA
DEBUG stream_writer.py:2045 handle_will(SGA)
DEBUG stream_writer.py:998 skip DO SGA; pending_option = True
DEBUG stream_writer.py:3384 remote_option[SGA] = True
DEBUG stream_writer.py:3384 pending_option[DO + SGA] = False
DEBUG stream_writer.py:773 recv IAC WONT COM_PORT_OPTION
DEBUG stream_writer.py:2199 handle_wont(COM_PORT_OPTION)
DEBUG stream_writer.py:3384 remote_option[COM_PORT_OPTION] = False
DEBUG stream_writer.py:3384 pending_option[DO + COM_PORT_OPTION] = False
INFO fingerprinting.py:840 new server fingerprint 1503a995249b3dd5
INFO client_base.py:122 Connection closed to <Peer 128.76.165.163 2348>