70.226.30.1 (last-outpost.com) ============================== .. _ip_70_226_30_1_last-outpost_com_4000: The Last Outpost (last-outpost.com:4000) ---------------------------------------- **Connection Banner:** .. image:: /_static/banners/banner_b602afcde90d.png :alt: \\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 < __><\\_​_______ _​____________/ \\_<__/_​_______ \| \| \| \|_ __ __ __ __ __ __ _\| > > \| \| __\|___\|___\|_\| \|__\| \|__\| \|__\| \|__\| \|__\| \|__\| \|__\|\\ / \\_\|___\|___\|__ \| \| \| \|_​_______________________________________ < />_\| \| \| \| \|___\|___\|___\| 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? :class: ansi-banner :width: 619px :loading: lazy Server URLs ~~~~~~~~~~~ .. raw:: html 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**: 0 [#scan_last-outpost.com_4000]_ - **Uptime**: 4 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**: :proto-yes:`Yes` (MSSP) - **GMCP**: :proto-yes:`Yes` (MSSP) - **MSDP**: :proto-no:`No` - **MCCP**: :proto-no:`No` - **MCCP2**: :proto-no:`No` - **MXP**: :proto-no:`No` - **MSP**: :proto-no:`No` - **MCP**: :proto-no:`No` - **ZMP**: :proto-no:`No` Telnet Fingerprint ~~~~~~~~~~~~~~~~~~ :ref:`6ee5b43c3505410d ` *This fingerprint is shared by 7 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. .. raw:: html
Show JSON .. code-block:: 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": "\r\n \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 \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": "Tue Apr 07 03:03:30 AM EDT 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": "0", "PORT": "4000", "RACES": "6", "ROOMS": "5873", "SSL": "4443", "STATUS": "Live", "SUBGENRE": "Medieval Fantasy", "UPTIME": "1775173248", "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.58004355430603 } } }, "sessions": [ { "connected": "2026-03-07T04:00:09.264565+00:00", "host": "last-outpost.com", "ip": "70.226.30.1", "port": 4000 }, { "connected": "2026-04-07T07:22:40.204602+00:00", "host": "last-outpost.com", "ip": "70.226.30.1", "port": 4000 } ] } .. raw:: html
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 `_ .. code-block:: shell telnetlib3-fingerprint --loglevel=debug last-outpost.com 4000 .. raw:: html
Show Logfile .. code-block:: text DEBUG client.py:1200 Fingerprint client: host=last-outpost.com port=4000 INFO client_base.py:190 Connected to 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 + AARDWOLF] = True DEBUG stream_writer.py:1024 send IAC WILL AARDWOLF 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 + GMCP] = True DEBUG stream_writer.py:1024 send IAC WILL GMCP 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 + MSP] = True DEBUG stream_writer.py:1024 send IAC WILL MSP 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 + ZMP] = True DEBUG stream_writer.py:1024 send IAC WILL ZMP 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 + MSDP] = True DEBUG stream_writer.py:1024 send IAC WILL MSDP 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 + AARDWOLF] = True DEBUG stream_writer.py:1024 send IAC DO AARDWOLF 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 + GMCP] = True DEBUG stream_writer.py:1024 send IAC DO GMCP 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 + MSP] = True DEBUG stream_writer.py:1024 send IAC DO MSP 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 + ZMP] = True DEBUG stream_writer.py:1024 send IAC DO ZMP 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 + MSDP] = True DEBUG stream_writer.py:1024 send IAC DO MSDP 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 WILL SGA DEBUG stream_writer.py:789 WILL SGA unsolicited DEBUG stream_writer.py:2045 handle_will(SGA) DEBUG stream_writer.py:3384 pending_option[DO + SGA] = True DEBUG stream_writer.py:1024 send IAC DO SGA 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 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 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 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 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 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 stream_writer.py:3384 pending_option[DO + CHARSET] = 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: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': 'The Last Outpost', 'PLAYERS': '0', 'UPTIME': '1775173248', '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': 'Tue Apr 07 03:03:30 AM EDT 2026'} 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 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 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:1470 IAC EOR: End of Record (unhandled). DEBUG stream_writer.py:767 begin sub-negotiation SB TTYPE DEBUG stream_writer.py:754 sub-negotiation cmd TTYPE SE completion byte DEBUG stream_writer.py:2238 [SB + TTYPE] unsolicited DEBUG stream_writer.py:2404 recv TTYPE SEND: b'' DEBUG stream_writer.py:2416 send IAC SB TTYPE IS b'xterm-256color' IAC SE DEBUG client_base.py:534 negotiation failed after 4.00s. DEBUG client_base.py:540 failed-reply: 'WILL MSSP, WILL AARDWOLF, WILL MCCP2_COMPRESS, WILL GMCP, WILL ATCP, WILL MSP, WILL MXP, WILL ZMP, WILL MCCP3_COMPRESS, WILL MSDP, DO AARDWOLF, DO MCCP2_COMPRESS, DO ATCP, DO MSP, DO MXP, DO ZMP, DO MCCP3_COMPRESS, DO MSDP' DEBUG client_base.py:93 EOF from server, closing. INFO client_base.py:122 Connection closed to DEBUG fingerprinting.py:849 connection for server fingerprint 6ee5b43c3505410d .. raw:: html
.. _ip_70_226_30_1_last-outpost_com_4443: The Last Outpost (last-outpost.com:4443) ---------------------------------------- **Connection Banner:** .. image:: /_static/banners/banner_d2a15ac11c13.png :alt: \\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 < __><\\_​_______ _​____________/ \\_<__/_​_______ \| \| \| \|_ __ __ __ __ __ __ _\| > > \| \| __\|___\|___\|_\| \|__\| \|__\| \|__\| \|__\| \|__\| \|__\| \|__\|\\ / \\_\|___\|___\|__ \| \| \| \|_​_______________________________________ < />_\| \| \| \| \|___\|___\|___\| 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? :class: ansi-banner :width: 619px :loading: lazy Server URLs ~~~~~~~~~~~ .. raw:: html 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**: 0 [#scan_last-outpost.com_4443]_ - **Uptime**: 6 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**: :proto-yes:`Yes` (MSSP) - **GMCP**: :proto-yes:`Yes` (MSSP) - **MSDP**: :proto-no:`No` - **MCCP**: :proto-no:`No` - **MCCP2**: :proto-no:`No` - **MXP**: :proto-no:`No` - **MSP**: :proto-no:`No` - **MCP**: :proto-no:`No` - **ZMP**: :proto-no:`No` Telnet Fingerprint ~~~~~~~~~~~~~~~~~~ :ref:`6ee5b43c3505410d ` *This fingerprint is shared by 7 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. .. raw:: html
Show JSON .. code-block:: 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 \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", "IPV6": "::1", "LANGUAGE": "English", "LEVELS": "80", "LOCALTIME": "Thu Apr 09 16:04:54 PM EDT 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": "0", "PORT": "4000", "RACES": "6", "ROOMS": "5873", "SSL": "4443", "STATUS": "Live", "SUBGENRE": "Medieval Fantasy", "UPTIME": "1775173248", "UTF-8": "1", "VT100": "1", "WEBSITE": "https://www.last-outpost.com" }, "option_states": { "server_offered": { "CHARSET": true, "ECHO": true, "EOR": true, "GMCP": true, "MCCP2": false, "MSSP": true, "SGA": true }, "server_requested": { "NAWS": true, "NEW_ENVIRON": true, "TTYPE": true } }, "scan_type": "quick", "timing": { "probe": 0.0, "total": 5.586869955062866 } } }, "sessions": [ { "connected": "2026-04-09T20:14:04.283544+00:00", "host": "last-outpost.com", "ip": "70.226.30.1", "port": 4443 } ] } .. raw:: html
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 `_ .. code-block:: shell telnetlib3-fingerprint --loglevel=debug last-outpost.com 4443 .. raw:: html
Show Logfile .. code-block:: text DEBUG client.py:1193 Fingerprint client: host=last-outpost.com port=4443 INFO client_base.py:188 Connected to DEBUG stream_writer.py:3384 pending_option[WILL + MCCP3_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC WILL MCCP3_COMPRESS DEBUG stream_writer.py:3384 pending_option[WILL + MXP] = True DEBUG stream_writer.py:1024 send IAC WILL MXP DEBUG stream_writer.py:3384 pending_option[WILL + 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 + MSSP] = True DEBUG stream_writer.py:1024 send IAC WILL MSSP 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 + GMCP] = True DEBUG stream_writer.py:1024 send IAC WILL GMCP 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 + ZMP] = True DEBUG stream_writer.py:1024 send IAC WILL ZMP 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[DO + MCCP3_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC DO MCCP3_COMPRESS DEBUG stream_writer.py:3384 pending_option[DO + MXP] = True DEBUG stream_writer.py:1024 send IAC DO MXP DEBUG stream_writer.py:3384 pending_option[DO + 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 + MSSP] = True DEBUG stream_writer.py:1024 send IAC DO MSSP 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 + GMCP] = True DEBUG stream_writer.py:1024 send IAC DO GMCP 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 + ZMP] = True DEBUG stream_writer.py:1024 send IAC DO ZMP DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = True DEBUG stream_writer.py:1024 send IAC DO MSDP DEBUG stream_writer.py:773 recv IAC WILL MCCP2_COMPRESS DEBUG stream_writer.py:2045 handle_will(MCCP2_COMPRESS) DEBUG stream_writer.py:3384 remote_option[MCCP2_COMPRESS] = False DEBUG stream_writer.py:1024 send IAC DONT MCCP2_COMPRESS DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = False 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 WILL SGA DEBUG stream_writer.py:789 WILL SGA unsolicited DEBUG stream_writer.py:2045 handle_will(SGA) DEBUG stream_writer.py:3384 pending_option[DO + SGA] = True DEBUG stream_writer.py:1024 send IAC DO SGA 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 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 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 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 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 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 stream_writer.py:3384 pending_option[DO + CHARSET] = 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: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:462 MCCP2 decompression started (server→client) 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': 'The Last Outpost', 'PLAYERS': '0', 'UPTIME': '1775173248', 'CRAWL DELAY': '-1', 'HOSTNAME': 'last-outpost.com', 'PORT': '4000', 'SSL': '4443', 'CODEBASE': 'LastOutpost 4.55', 'CONTACT': 'rahjiii@jeffrika.com', 'CREATED': '1992', 'IPV6': '::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': 'Thu Apr 09 16:04:54 PM EDT 2026'} DEBUG client_base.py:366 MCCP2 auto-detect failed, retrying raw deflate WARNING client_base.py:372 MCCP2 decompression error, disabling DEBUG client_base.py:468 MCCP2 decompression ended (server→client) DEBUG stream_writer.py:1470 IAC EOR: End of Record (unhandled). DEBUG client_base.py:513 negotiation failed after 4.00s. DEBUG client_base.py:519 failed-reply: 'WILL MCCP3_COMPRESS, WILL MXP, WILL MCCP2_COMPRESS, WILL MSP, WILL MSSP, WILL AARDWOLF, WILL GMCP, WILL ATCP, WILL ZMP, WILL MSDP, DO MCCP3_COMPRESS, DO MXP, DO MSP, DO AARDWOLF, DO ATCP, DO ZMP, DO MSDP, SB TTYPE, SB NEW_ENVIRON' DEBUG client_base.py:90 EOF from server, closing. INFO client_base.py:120 Connection closed to DEBUG fingerprinting.py:844 connection for server fingerprint 6ee5b43c3505410d .. raw:: html
.. [#scan_last-outpost.com_4000] measured 2026-04-07 at 07:22 UTC .. [#scan_last-outpost.com_4443] measured 2026-04-09 at 20:14 UTC