Penultimate Destination
=======================
.. raw:: html
This world is Pueblo 1.10 Enhanced.
-----------------------------------------------------------------------------
Welcome to Penultimate Destination!
This is an Adult Mush mostly focused on the land of Empyrea, an isolated nation
floating in the void of an empty dimension. The setting is specifically designed
to allow for a wide variety of roleplay without breaking theme, and can include
many different types of play.
Please note that this is an Adult Mush, and you must be 18 years of age or older
to play here. If you are found to be younger than 18 at any point, you will be
removed from the game and banned.
Use create <name> <password> to create a character.
Use connect <name> <password> to connect to your existing character.
If you want/have a name with spaces, put quotes around it like:
create "First Last" <password>
connect "First Last" <password>
To connect as a Guest, use connect guest guest
Use QUIT to logout.
Use the WHO command to find out who is online currently.
If
you are having trouble staying online, try using the direct IP: 45.79.146.119
-----------------------------------------------------------------------------
.. raw:: html
penultimatemush.com:9500
⎘
🔒
Server Info
-----------
- **Codebase**: PennMUSH 1.8.8p0
- **Family**: TinyMUD
- **Genre**: Adult
- **Gameplay**: Roleplaying, Social
- **Players online**: 693 [#scan]_
- **Uptime**: 20 days
- **TLS/SSL**: Port 9501
Protocol Support
----------------
MUD-specific protocols detected via MSSP flags or
Telnet negotiation.
- **MSSP**: :proto-yes:`Yes` (MSSP)
- **GMCP**: :proto-negotiated:`Negotiated`
- **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:`37802ba8a5328200... `
*This fingerprint is shared by 15 other servers.*
**Options offered by server**: ``CHARSET``, ``SGA``
**Options requested from client**: ``LINEMODE``, ``NAWS``, ``SGA``, ``TTYPE``
**Data source**: `37802ba8a5328200/994f86b5c4642e2b.json `_
The complete JSON record collected during the scan,
including Telnet negotiation results and any
MSSP metadata.
.. code-block:: json
{
"server-probe": {
"fingerprint": "37802ba8a5328200",
"fingerprint-data": {
"offered-options": [
"CHARSET",
"SGA"
],
"probed-protocol": "server",
"refused-options": [
"AUTHENTICATION",
"BINARY",
"BM",
"COM_PORT",
"DET",
"ECHO",
"ENCRYPT",
"EOR",
"FORWARD_X",
"KERMIT",
"NAMS",
"NAOCRD",
"NAOFFD",
"NAOHTD",
"NAOHTS",
"NAOL",
"NAOLFD",
"NAOP",
"NAOVTD",
"NAOVTS",
"PRAGMA_HEARTBEAT",
"PRAGMA_LOGON",
"RCP",
"RCTE",
"RSP",
"SEND_URL",
"SSPI_LOGON",
"STATUS",
"SUPDUP",
"SUPDUPOUTPUT",
"SUPPRESS_LOCAL_ECHO",
"TLS",
"TN3270E",
"TTYLOC",
"VT3270REGIME",
"X3PAD",
"XAUTH"
],
"requested-options": [
"LINEMODE",
"NAWS",
"SGA",
"TTYPE"
]
},
"session_data": {
"banner_after_return": " you are having trouble staying online, try using the direct IP: 45.79.146.119\r\n\r\n-----------------------------------------------------------------------------\r\n\r\n",
"banner_before_return": "This world is Pueblo 1.10 Enhanced.\r\n-----------------------------------------------------------------------------\r\nWelcome to Penultimate Destination!\r\n\r\nThis is an Adult Mush mostly focused on the land of Empyrea, an isolated nation \r\nfloating in the void of an empty dimension. The setting is specifically designed \r\nto allow for a wide variety of roleplay without breaking theme, and can include \r\nmany different types of play.\r\n\r\nPlease note that this is an Adult Mush, and you must be 18 years of age or older \r\nto play here. If you are found to be younger than 18 at any point, you will be \r\nremoved from the game and banned.\r\n\r\nUse create to create a character.\r\nUse connect to connect to your existing character.\r\nIf you want/have a name with spaces, put quotes around it like:\r\n create \"First Last\" \r\n connect \"First Last\" \r\nTo connect as a Guest, use connect guest guest\r\nUse QUIT to logout.\r\nUse the WHO command to find out who is online currently.\r\n\r\nIf",
"encoding": "ascii",
"mssp": {
"ANSI": "1",
"CODEBASE": "PennMUSH 1.8.8p0",
"FAMILY": "TinyMUD",
"GAMEPLAY": "Roleplaying, Social",
"GENRE": "Adult",
"MINIMUM AGE": "18",
"NAME": "Penultimate Destination",
"PLAYERS": "693",
"PORT": "9500",
"PUEBLO": "1",
"SSL": "9501",
"SUBGENRE": "Multitheme",
"UPTIME": "1768767758",
"XTERM 256 COLORS": "1"
},
"option_states": {
"server_offered": {
"CHARSET": true,
"GMCP": true,
"MSSP": true
},
"server_requested": {
"LINEMODE": true,
"NAWS": true,
"TTYPE": true
}
},
"timing": {
"probe": 0.20403456687927246,
"total": 0.7052164077758789
}
}
},
"sessions": [
{
"connected": "2026-02-08T05:09:30.747968+00:00",
"host": "penultimatemush.com",
"ip": "45.79.146.119",
"port": 9500
}
]
}
Connection Log
--------------
Debug-level log of the Telnet negotiation session,
showing each IAC (Interpret As Command) exchange
between client and server.
.. code-block:: text
DEBUG client.py:770 Fingerprint client: host=penultimatemush.com port=9500
INFO client_base.py:174 Connected to
DEBUG stream_writer.py:697 recv IAC DO LINEMODE
DEBUG stream_writer.py:1739 handle_do(LINEMODE)
DEBUG stream_writer.py:3036 pending_option[WILL + LINEMODE] = True
DEBUG stream_writer.py:938 send IAC WILL LINEMODE
DEBUG stream_writer.py:3036 pending_option[SB + LINEMODE] = True
DEBUG stream_writer.py:3036 local_option[LINEMODE] = True
DEBUG stream_writer.py:3036 pending_option[WILL + LINEMODE] = False
DEBUG stream_writer.py:697 recv IAC DO TTYPE
DEBUG stream_writer.py:1739 handle_do(TTYPE)
DEBUG stream_writer.py:3036 pending_option[WILL + TTYPE] = True
DEBUG stream_writer.py:938 send IAC WILL TTYPE
DEBUG stream_writer.py:3036 pending_option[SB + TTYPE] = True
DEBUG stream_writer.py:3036 local_option[TTYPE] = True
DEBUG stream_writer.py:3036 pending_option[WILL + TTYPE] = False
DEBUG stream_writer.py:697 recv IAC DO NAWS
DEBUG stream_writer.py:1739 handle_do(NAWS)
DEBUG stream_writer.py:3036 pending_option[WILL + NAWS] = True
DEBUG stream_writer.py:938 send IAC WILL NAWS
DEBUG stream_writer.py:2306 send IAC SB NAWS (rows=25, cols=80) IAC SE
DEBUG stream_writer.py:3036 local_option[NAWS] = True
DEBUG stream_writer.py:3036 pending_option[WILL + NAWS] = False
DEBUG stream_writer.py:697 recv IAC WILL CHARSET
DEBUG stream_writer.py:715 WILL CHARSET (bi-directional capability exchange)
DEBUG stream_writer.py:1869 handle_will(CHARSET)
DEBUG stream_writer.py:3036 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:938 send IAC DO CHARSET
DEBUG stream_writer.py:3036 remote_option[CHARSET] = True
DEBUG stream_writer.py:3036 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:697 recv IAC WILL MSSP
DEBUG stream_writer.py:713 WILL MSSP unsolicited
DEBUG stream_writer.py:1869 handle_will(MSSP)
DEBUG stream_writer.py:3036 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:938 send IAC DO MSSP
DEBUG stream_writer.py:3036 remote_option[MSSP] = True
DEBUG stream_writer.py:3036 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:697 recv IAC WILL GMCP
DEBUG stream_writer.py:713 WILL GMCP unsolicited
DEBUG stream_writer.py:1869 handle_will(GMCP)
DEBUG stream_writer.py:3036 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:938 send IAC DO GMCP
DEBUG stream_writer.py:3036 remote_option[GMCP] = True
DEBUG stream_writer.py:3036 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:689 begin sub-negotiation SB LINEMODE
DEBUG stream_writer.py:676 sub-negotiation cmd LINEMODE SE completion byte
DEBUG stream_writer.py:3036 pending_option[SB + LINEMODE] = False
DEBUG stream_writer.py:2504 recv IAC SB LINEMODE LINEMODE-MODE b'\t' IAC SE
DEBUG stream_writer.py:1246 set Linemode
DEBUG stream_writer.py:1249 send IAC SB LINEMODE LINEMODE-MODE IAC SE
DEBUG stream_writer.py:689 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:676 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:3036 pending_option[SB + TTYPE] = False
DEBUG stream_writer.py:2203 recv TTYPE SEND: b''
DEBUG stream_writer.py:2214 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG stream_writer.py:689 begin sub-negotiation SB CHARSET
DEBUG stream_writer.py:676 sub-negotiation cmd CHARSET SE completion byte
DEBUG stream_writer.py:2031 [SB + CHARSET] unsolicited
INFO client.py:233 LookupError: encoding x-penn-def not available
DEBUG client.py:266 encoding negotiated: UTF-8
DEBUG stream_writer.py:2111 send IAC SB CHARSET ACCEPTED UTF-8 IAC SE
DEBUG stream_writer.py:689 begin sub-negotiation SB MSSP
DEBUG stream_writer.py:676 sub-negotiation cmd MSSP SE completion byte
DEBUG stream_writer.py:2031 [SB + MSSP] unsolicited
DEBUG stream_writer.py:1642 MSSP: {'NAME': 'Penultimate Destination', 'PLAYERS': '719', 'UPTIME': '1768767758', 'PORT': '9500',
'SSL': '9501', 'PUEBLO': '1', 'CODEBASE': 'PennMUSH 1.8.8p0', 'FAMILY': 'TinyMUD', 'ANSI': '1', 'XTERM 256 COLORS': '1',
'MINIMUM AGE': '18', 'GENRE': 'Adult', 'SUBGENRE': 'Multitheme', 'GAMEPLAY': 'Roleplaying, Social'}
DEBUG client_base.py:460 negotiation complete after 2.00s.
DEBUG stream_writer.py:3036 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:938 send IAC DO BINARY
DEBUG stream_writer.py:3036 pending_option[DO + SGA] = True
DEBUG stream_writer.py:938 send IAC DO SGA
DEBUG stream_writer.py:3036 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:938 send IAC DO ECHO
DEBUG stream_writer.py:3036 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:938 send IAC DO STATUS
DEBUG stream_writer.py:3036 pending_option[DO + EOR] = True
DEBUG stream_writer.py:938 send IAC DO EOR
DEBUG stream_writer.py:3036 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:938 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:3036 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:938 send IAC DO MSDP
DEBUG stream_writer.py:3036 pending_option[DO + MSP] = True
DEBUG stream_writer.py:938 send IAC DO MSP
DEBUG stream_writer.py:3036 pending_option[DO + MXP] = True
DEBUG stream_writer.py:938 send IAC DO MXP
DEBUG stream_writer.py:3036 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:938 send IAC DO ZMP
DEBUG stream_writer.py:3036 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:938 send IAC DO AARDWOLF
DEBUG stream_writer.py:3036 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:938 send IAC DO ATCP
DEBUG stream_writer.py:697 recv IAC WONT BINARY
DEBUG stream_writer.py:1991 handle_wont(BINARY)
DEBUG stream_writer.py:3036 remote_option[BINARY] = False
DEBUG stream_writer.py:3036 pending_option[DO + BINARY] = False
DEBUG stream_writer.py:697 recv IAC WILL SGA
DEBUG stream_writer.py:1869 handle_will(SGA)
DEBUG stream_writer.py:912 skip DO SGA; pending_option = True
DEBUG stream_writer.py:3036 remote_option[SGA] = True
DEBUG stream_writer.py:3036 pending_option[DO + SGA] = False
DEBUG stream_writer.py:697 recv IAC DO SGA
DEBUG stream_writer.py:1739 handle_do(SGA)
DEBUG stream_writer.py:3036 pending_option[WILL + SGA] = True
DEBUG stream_writer.py:938 send IAC WILL SGA
DEBUG stream_writer.py:3036 local_option[SGA] = True
DEBUG stream_writer.py:3036 pending_option[WILL + SGA] = False
DEBUG stream_writer.py:697 recv IAC WONT ECHO
DEBUG stream_writer.py:1991 handle_wont(ECHO)
DEBUG stream_writer.py:3036 remote_option[ECHO] = False
DEBUG stream_writer.py:3036 pending_option[DO + ECHO] = False
DEBUG stream_writer.py:697 recv IAC WONT STATUS
DEBUG stream_writer.py:1991 handle_wont(STATUS)
DEBUG stream_writer.py:3036 remote_option[STATUS] = False
DEBUG stream_writer.py:3036 pending_option[DO + STATUS] = False
DEBUG stream_writer.py:697 recv IAC WONT EOR
DEBUG stream_writer.py:1991 handle_wont(EOR)
DEBUG stream_writer.py:3036 remote_option[EOR] = False
DEBUG stream_writer.py:3036 pending_option[DO + EOR] = False
DEBUG stream_writer.py:697 recv IAC WONT COM_PORT_OPTION
DEBUG stream_writer.py:1991 handle_wont(COM_PORT_OPTION)
DEBUG stream_writer.py:3036 remote_option[COM_PORT_OPTION] = False
DEBUG stream_writer.py:3036 pending_option[DO + COM_PORT_OPTION] = False
DEBUG stream_writer.py:697 recv IAC WONT MSDP
DEBUG stream_writer.py:1991 handle_wont(MSDP)
DEBUG stream_writer.py:3036 remote_option[MSDP] = False
DEBUG stream_writer.py:3036 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:697 recv IAC WONT MSP
DEBUG stream_writer.py:1991 handle_wont(MSP)
DEBUG stream_writer.py:3036 remote_option[MSP] = False
DEBUG stream_writer.py:3036 pending_option[DO + MSP] = False
DEBUG stream_writer.py:697 recv IAC WONT MXP
DEBUG stream_writer.py:1991 handle_wont(MXP)
DEBUG stream_writer.py:3036 remote_option[MXP] = False
DEBUG stream_writer.py:3036 pending_option[DO + MXP] = False
DEBUG stream_writer.py:697 recv IAC WONT ZMP
DEBUG stream_writer.py:1991 handle_wont(ZMP)
DEBUG stream_writer.py:3036 remote_option[ZMP] = False
DEBUG stream_writer.py:3036 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:697 recv IAC WONT AARDWOLF
DEBUG stream_writer.py:1991 handle_wont(AARDWOLF)
DEBUG stream_writer.py:3036 remote_option[AARDWOLF] = False
DEBUG stream_writer.py:3036 pending_option[DO + AARDWOLF] = False
DEBUG stream_writer.py:697 recv IAC WONT ATCP
DEBUG stream_writer.py:1991 handle_wont(ATCP)
DEBUG stream_writer.py:3036 remote_option[ATCP] = False
DEBUG stream_writer.py:3036 pending_option[DO + ATCP] = False
INFO fingerprinting.py:746 connection for server fingerprint 9fcde0bb3ad09561
INFO client_base.py:105 Connection closed to
*Generated by* `telnetlib3-fingerprint `_
.. code-block:: shell
telnetlib3-fingerprint --loglevel=debug penultimatemush.com 9500
.. [#scan] measured 2026-02-08 at 05:09 UTC