The Last Outpost

Connection Banner:

\\p/ Welcome to The O _​_______________ \| \| _ ___ \| _​____________________________ T_​_____\|\| / / \| \| \| _ ___ _ _ _ ___ \\ P\\ \|\| / \\ <_ \| \|__\| / \\ \| \| \| \| \\ / \\ / \| < \| \| \|\| \|-\| > \| \| \| \| \| \| \| \| \|_/ \| \| <_ \| > \| \| \|\\__ \| \| _/ \| \| \| \| \| \| \| \| \| \| \| > \| / \| \| \|_​_______________\| \| \\_/ \\_/ \| \| \\_/ _/ \| > \| \| \\ \|/ \|_​___________________________< \|/_​_____\\ /_​___\\\| P __ \| __ __ Last Outpost DikuMUD __ __ __ \| \|I_\| \|__\| \| Created by Hans Henrik Staerfeldt, Katja < \|__\| \|__\| \| \| Nyboe, Tom Madsen, Michael Seifert, /> \\ _​______________\| Sebastian Hammer, and \|_​___/\\_​________ _​_____________> The Last Outpost Honor Guard < __><\\_​_______ _​____________/ <use credits command> \\_<__/_​_______ \| \| \| \|_ __ __ __ __ __ __ _\| > > \| \| __\|___\|___\|_\| \|__\| \|__\| \|__\| \|__\| \|__\| \|__\| \|__\|\\ / \\_\|___\|___\|__ \| \| \| \|_​_______________________________________ < />_\| \| \| \| \|___\|___\|___\| L L L L L L L L L L _​______ L L L L L L >__/\\> /___\|___\|___\| \| \| \| \|L L L L L L L L L L /=\|=\|=\|=\\ L L L L L </> \\< \| \| \| \| __\|___\|___\|_\| L L L L L L L L L I=\|=\|=\|=I L L L L L < L\|_\|___\|___\|__ \| \| \| \|L L L L L L L L L L I V V V I L L L L L L L L L \| \| \| JJ\| \|___\|___\|___\|_L_L_L_L_L_L_L_L_L__I-​------I__L_L_L_L_L_L_L_L_L_L\|___\|___\|___\| By what name do you wish to be known?

Server URLs

Description

Along with exploring and advancing through the game world, The Last Outpost offers players the ability to lay claim to the zones that make up the land. Once claimed, a zone can be taxed, and the player making the claim gets to decide the player killing policy within the zone. Whoever claims the whole world is declared the Leader of the Last Outpost! The Last Outpost has a unique world, player elected clan membership, player regulated PvP, and a hands-off policy for administrators.

Server Info

  • Codebase: LastOutpost 4.55

  • Genre: Fantasy

  • Gameplay: Roleplaying, Player versus Player, Social, Player versus Environment, Hack and Slash, Questing, Adventure

  • Players online: 1 [1]

  • Uptime: 29 days

  • Created: 1992

  • Status: Live

  • Server Location: 🇺🇸 United States of America (MSSP)

  • Language: English

Protocol Support

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

  • MSSP: Yes (MSSP)

  • GMCP: Yes (MSSP)

  • MSDP: No

  • MCCP: No

  • MCCP2: No

  • MXP: No

  • MSP: No

  • MCP: No

  • ZMP: No

Telnet Fingerprint

6ee5b43c3505410d

This fingerprint is shared by 2 other servers.

Options requested from client: NAWS, NEW_ENVIRON, TTYPE

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

Show JSON
{
  "server-probe": {
    "fingerprint": "6ee5b43c3505410d",
    "fingerprint-data": {
      "offered-options": [],
      "probed-protocol": "server",
      "refused-options": [],
      "requested-options": [
        "NAWS",
        "NEW_ENVIRON",
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "",
      "banner_before_return": "    \u001b[33m\\p/                        \u001b[0m Welcome to The                               \r\n     \u001b[33mO       \u001b[31m________________                                                \r\n     \u001b[33m|      \u001b[31m|          \u001b[33m_ \u001b[33m___ \u001b[31m|   \u001b[31m_____________________________               \r\n     \u001b[34mT\u001b[31m______|\u001b[33m|    \u001b[33m/   \u001b[33m/   \u001b[33m|  \u001b[31m|  \u001b[31m|  \u001b[33m_      \u001b[33m___  \u001b[33m_   \u001b[33m_    \u001b[33m_ \u001b[33m___ \u001b[31m\\              \r\n     \u001b[33mP\u001b[31m\\     \u001b[31m|\u001b[33m|   \u001b[33m/ \u001b[33m\\ \u001b[33m<_   \u001b[33m|  \u001b[31m|__| \u001b[33m/ \u001b[33m\\ \u001b[33m| \u001b[33m|  \u001b[33m|  \u001b[33m| \u001b[33m\\ \u001b[33m/ \u001b[33m\\  \u001b[33m/   \u001b[33m|  \u001b[31m<              \r\n     \u001b[34m| \u001b[31m|    \u001b[31m|\u001b[33m|   \u001b[33m|-|   \u001b[33m>  \u001b[33m|  \u001b[31m|  \u001b[31m| \u001b[33m| \u001b[33m| \u001b[33m| \u001b[33m|  \u001b[33m|  \u001b[33m|_/ \u001b[33m| \u001b[33m| \u001b[33m<_   \u001b[33m|   \u001b[31m>             \r\n     \u001b[34m| \u001b[31m|    \u001b[31m|\u001b[33m\\__ \u001b[33m| \u001b[33m| \u001b[33m_/   \u001b[33m|  \u001b[31m|  \u001b[31m| \u001b[33m| \u001b[33m| \u001b[33m| \u001b[33m|  \u001b[33m|  \u001b[33m|   \u001b[33m| \u001b[33m|   \u001b[33m>  \u001b[33m|  \u001b[31m/              \r\n     \u001b[34m| \u001b[31m|    \u001b[31m|________________|  \u001b[31m| \u001b[33m\\_/ \u001b[33m\\_/  \u001b[33m|  \u001b[33m|   \u001b[33m\\_/ \u001b[33m_/   \u001b[33m|  \u001b[31m>              \r\n     \u001b[34m| \u001b[31m|    \u001b[31m\\              \u001b[31m|/   \u001b[31m|____________________________<               \r\n     \u001b[34m|\u001b[31m/______\\             \u001b[31m/____\\|                                           \r\n     \u001b[33mP                                                                       \r\n  \u001b[36m__ \u001b[34m|  \u001b[36m__    \u001b[36m__   \u001b[0m\u001b[1m          Last Outpost DikuMUD          \u001b[0m   \u001b[36m__    \u001b[36m__    \u001b[36m__ \r\n \u001b[36m|  |I_|  |__|  |  \u001b[0mCreated by Hans Henrik Staerfeldt, Katja  \u001b[36m<  |__|  |__|  |\r\n \u001b[36m               |  \u001b[0m  Nyboe, Tom Madsen, Michael Seifert,     \u001b[36m/\u001b[34m>   \u001b[34m\\          \r\n \u001b[36m_______________|  \u001b[0m         Sebastian Hammer, and            \u001b[36m|____\u001b[34m/\\\u001b[36m_________\r\n \u001b[36m______________>   \u001b[0m\u001b[1m      The Last Outpost Honor Guard      \u001b[0m  \u001b[36m < \u001b[36m__\u001b[34m><\\\u001b[36m________\r\n \u001b[36m_____________/    \u001b[0m\u001b[1m\u001b[30m         <use credits command>          \u001b[0m   \u001b[36m \\_\u001b[34m<\u001b[36m__\u001b[34m/\u001b[36m________\r\n   \u001b[32m|   \u001b[32m|   \u001b[32m| \u001b[32m|\u001b[36m_    \u001b[36m__    \u001b[36m__    \u001b[36m__    \u001b[36m__    \u001b[36m__    \u001b[36m__            \u001b[36m_\u001b[32m| \u001b[34m> \u001b[34m> \u001b[32m|   \u001b[32m|  \r\n \u001b[32m__|___|___|_| \u001b[36m|__|  \u001b[36m|__|  \u001b[36m|__|  \u001b[36m|__|  \u001b[36m|__|  \u001b[36m|__|  \u001b[36m|__\u001b[34m|\\      \u001b[34m/ \u001b[34m\\\u001b[32m_|___|___|__\r\n \u001b[32m|   \u001b[32m|   \u001b[32m|   \u001b[32m|\u001b[36m________________________________________ \u001b[34m<     \u001b[34m/>_\u001b[32m|   \u001b[32m|   \u001b[32m|   \u001b[32m|\r\n \u001b[32m|___|___|___| \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[36m_______ \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL  \u001b[34m>__/\\>  \u001b[34m/\u001b[32m___|___|___|\r\n   \u001b[32m|   \u001b[32m|   \u001b[32m| \u001b[32m|L \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[36m/\u001b[33m=|=|=|=\u001b[36m\\ \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL  \u001b[34m</> \u001b[34m\\<   \u001b[32m| \u001b[32m|   \u001b[32m|   \u001b[32m|  \r\n \u001b[32m__|___|___|_| \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL  \u001b[36mI\u001b[33m=|=|=|=\u001b[36mI  \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL     \u001b[34m<   \u001b[32mL|_|___|___|__\r\n \u001b[32m|   \u001b[32m|   \u001b[32m|   \u001b[32m|L \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[36mI \u001b[33mV \u001b[33mV \u001b[33mV \u001b[36mI \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL \u001b[32mL   \u001b[32mL \u001b[32m|   \u001b[32m|   \u001b[32m| \u001b[32mJJ|\r\n \u001b[32m|___|___|___|_L_L_L_L_L_L_L_L_L__\u001b[36mI\u001b[35m-------\u001b[36mI\u001b[32m__L_L_L_L_L_L_L_L_L_L|___|___|___|\r\n\u001b[0mBy what name do you wish to be known? \u001b[K",
      "dsr_replies": 0,
      "dsr_requests": 0,
      "encoding": "ascii",
      "mssp": {
        "ANSI": "1",
        "AREAS": "82",
        "CLASSES": "4",
        "CODEBASE": "LastOutpost 4.55",
        "CONTACT": "rahjiii@jeffrika.com",
        "CRAWL DELAY": "-1",
        "CREATED": "1992",
        "DESCRIPTION": "Along with exploring and advancing through the game world, The Last Outpost offers players the ability to lay claim to the zones that make up the land. Once claimed, a zone can be taxed, and the player making the claim gets to decide the player killing policy within the zone. Whoever claims the whole world is declared the Leader of the Last Outpost! The Last Outpost has a unique world, player elected clan membership, player regulated PvP, and a hands-off policy for administrators. ",
        "FAMILY": "DikuMUD",
        "GAMEPLAY": [
          "Roleplaying",
          "Player versus Player",
          "Social",
          "Player versus Environment",
          "Hack and Slash",
          "Questing",
          "Adventure"
        ],
        "GAMESYSTEM": "Custom",
        "GENRE": "Fantasy",
        "GMCP": "1",
        "HELPFILES": "406",
        "HIRING BUILDERS": "1",
        "HIRING CODERS": "0",
        "HOSTNAME": "last-outpost.com",
        "ICON": "https://www.last-outpost.com/LO/common/msspicon.png",
        "IP": "70.226.30.1",
        "LANGUAGE": "English",
        "LEVELS": "80",
        "LOCALTIME": "Fri Mar 06 22:10:59 PM EST 2026",
        "LOCATION": "United States of America",
        "MCMP": "1",
        "MINIMUM AGE": "0",
        "MOBILES": "1100",
        "NAME": "The Last Outpost",
        "OBJECTS": "1386",
        "PAY FOR PERKS": "0",
        "PAY TO PLAY": "0",
        "PLAYERS": "1",
        "PORT": "4000",
        "RACES": "6",
        "ROOMS": "5873",
        "SSL": "4443",
        "STATUS": "Live",
        "SUBGENRE": "Medieval Fantasy",
        "UPTIME": "1770314559",
        "UTF-8": "1",
        "VT100": "1",
        "WEBSITE": "https://www.last-outpost.com"
      },
      "option_states": {
        "environ_requested": [
          {
            "name": "*",
            "type": "VAR"
          },
          {
            "name": "*",
            "type": "USERVAR"
          }
        ],
        "server_offered": {
          "CHARSET": true,
          "ECHO": true,
          "EOR": true,
          "GMCP": true,
          "MSSP": true,
          "SGA": true
        },
        "server_requested": {
          "NAWS": true,
          "NEW_ENVIRON": true,
          "TTYPE": true
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.0,
        "total": 5.6294426918029785
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-03-07T04:00:09.264565+00:00",
      "host": "last-outpost.com",
      "ip": "70.226.30.1",
      "port": 4000
    }
  ]
}

Connection Log

Debug-level log of the Telnet negotiation session, showing each IAC (Interpret As Command) exchange between client and server.

Generated by telnetlib3-fingerprint

telnetlib3-fingerprint --loglevel=debug last-outpost.com 4000
Show Logfile
DEBUG client.py:1193 Fingerprint client: host=last-outpost.com port=4000
INFO client_base.py:186 Connected to <Peer 70.226.30.1 4000>
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 ECHO
DEBUG stream_writer.py:784 WILL ECHO unsolicited
DEBUG stream_writer.py:1994 handle_will(ECHO)
DEBUG stream_writer.py:3330 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:1019 send IAC DO ECHO
DEBUG stream_writer.py:3330 remote_option[ECHO] = True
DEBUG stream_writer.py:3330 pending_option[DO + ECHO] = False
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 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 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 DO NAWS
DEBUG stream_writer.py:1836 handle_do(NAWS)
DEBUG stream_writer.py:3330 pending_option[WILL + NAWS] = True
DEBUG stream_writer.py:1019 send IAC WILL NAWS
DEBUG stream_writer.py:2453 send IAC SB NAWS (rows=25, cols=80) IAC SE
DEBUG stream_writer.py:3330 local_option[NAWS] = True
DEBUG stream_writer.py:3330 pending_option[WILL + NAWS] = False
DEBUG stream_writer.py:768 recv IAC DO NEW_ENVIRON
DEBUG stream_writer.py:1836 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3330 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:1019 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3330 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3330 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3330 pending_option[WILL + NEW_ENVIRON] = False
DEBUG stream_writer.py:768 recv IAC WILL MSSP
DEBUG stream_writer.py:1994 handle_will(MSSP)
DEBUG stream_writer.py:993 skip DO MSSP; pending_option = True
DEBUG stream_writer.py:3330 remote_option[MSSP] = True
DEBUG stream_writer.py:3330 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:768 recv IAC WILL CHARSET
DEBUG stream_writer.py:786 WILL CHARSET (bi-directional capability exchange)
DEBUG stream_writer.py:1994 handle_will(CHARSET)
DEBUG stream_writer.py:3330 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:1019 send IAC DO CHARSET
DEBUG stream_writer.py:3330 remote_option[CHARSET] = True
DEBUG stream_writer.py:3330 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:768 recv IAC WILL GMCP
DEBUG stream_writer.py:1994 handle_will(GMCP)
DEBUG stream_writer.py:993 skip DO GMCP; pending_option = True
DEBUG stream_writer.py:3330 remote_option[GMCP] = True
DEBUG stream_writer.py:1067 send IAC SB GMCP Core.Hello IAC SE
DEBUG stream_writer.py:1067 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:3330 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:762 begin sub-negotiation SB MSSP
DEBUG stream_writer.py:749 sub-negotiation cmd MSSP SE completion byte
DEBUG stream_writer.py:2187 [SB + MSSP] unsolicited
DEBUG stream_writer.py:1745 MSSP: {'NAME': 'The Last Outpost', 'PLAYERS': '1', 'UPTIME': '1770314559', 'CRAWL DELAY': '-1',
    'HOSTNAME': 'last-outpost.com', 'PORT': '4000', 'SSL': '4443', 'CODEBASE': 'LastOutpost 4.55', 'CONTACT':
    'rahjiii@jeffrika.com', 'CREATED': '1992', 'IP': '70.226.30.1', 'LANGUAGE': 'English', 'LOCATION': 'United States of America',
    'MINIMUM AGE': '0', 'WEBSITE': 'https://www.last-outpost.com', 'ICON': 'https://www.last-outpost.com/LO/common/msspicon.png',
    'FAMILY': 'DikuMUD', 'GENRE': 'Fantasy', 'GAMEPLAY': ['Roleplaying', 'Player versus Player', 'Social', 'Player versus
    Environment', 'Hack and Slash', 'Questing', 'Adventure'], 'GAMESYSTEM': 'Custom', 'STATUS': 'Live', 'SUBGENRE': 'Medieval
    Fantasy', 'AREAS': '82', 'MOBILES': '1100', 'OBJECTS': '1386', 'ROOMS': '5873', 'HELPFILES': '406', 'CLASSES': '4', 'LEVELS':
    '80', 'RACES': '6', 'ANSI': '1', 'VT100': '1', 'UTF-8': '1', 'PAY TO PLAY': '0', 'PAY FOR PERKS': '0', 'HIRING BUILDERS': '1',
    'HIRING CODERS': '0', 'GMCP': '1', 'MCMP': '1', 'DESCRIPTION': 'Along with exploring and advancing through the game world, The
    Last Outpost offers players the ability to lay claim to the zones that make up the land. Once claimed, a zone can be taxed,
    and the player making the claim gets to decide the player killing policy within the zone. Whoever claims the whole world is
    declared the Leader of the Last Outpost! The Last Outpost has a unique world, player elected clan membership, player regulated
    PvP, and a hands-off policy for administrators. ', 'LOCALTIME': 'Fri Mar 06 22:10:59 PM EST 2026'}
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 NEW_ENVIRON
DEBUG stream_writer.py:749 sub-negotiation cmd NEW_ENVIRON SE completion byte
DEBUG stream_writer.py:3330 pending_option[SB + NEW_ENVIRON] = False
DEBUG stream_writer.py:2398 recv NEW_ENVIRON SEND (all)
DEBUG stream_writer.py:2419 env send: LANG='C', TERM='xterm-256color', LINES=25, COLUMNS=80, COLORTERM=''
DEBUG stream_writer.py:762 begin sub-negotiation SB CHARSET
DEBUG stream_writer.py:749 sub-negotiation cmd CHARSET SE completion byte
DEBUG stream_writer.py:2187 [SB + CHARSET] unsolicited
DEBUG client.py:376 encoding negotiated: UTF-8
DEBUG stream_writer.py:2270 send IAC SB CHARSET ACCEPTED UTF-8 IAC SE
DEBUG stream_writer.py:1419 IAC EOR: End of Record (unhandled).
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:2187 [SB + TTYPE] unsolicited
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 client_base.py:499 negotiation failed after 4.01s.
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 MXP, DO ATCP, DO MCCP3_COMPRESS, DO AARDWOLF, DO MSP, DO MSDP, DO ZMP, DO
    MCCP2_COMPRESS'
DEBUG client_base.py:89 EOF from server, closing.
INFO client_base.py:118 Connection closed to <Peer 70.226.30.1 4000>
INFO fingerprinting.py:746 new server fingerprint 6ee5b43c3505410d