Twilight LPMud
==============
**Connection Banner:**
.. image:: /_static/banners/banner_30a7f64d0ac4.png
:alt: Twilight LPMUD Bilingual Enhanced v1.0 MSP v0.3 Supported ,--. { } K, } / ~Y\` , / / {_'-K.__/ \`/-.__L._ / ' /\`\\_} / ' / ____ / ' / ,-'~~~~ ~~/ ' /_ Twilight ,' \`\`~~~ ', ( Y { I { - \`, \| ', ) \| \| ,..__ __. Y \| .,_./ Y ' / ^Y J )\| \\ \|' / \| \| \|\| \\ L_/ . _ (_,.'( \\, , ^^""' / \| ) \\_ \\ /,L] / '-_~-, \` \` ./\` \`'{_ ) ^^\\..___,.--\` Facebook: https://www.facebook.com/groups/263596567133057/ Wiki : twilight-lpmud.wikia.com [Speak thy name] : [Speak louder please] :
:class: ansi-banner
:width: 531px
:loading: lazy
Server URLs
-----------
.. raw:: html
Server Info
-----------
- **Players online**: 1 [#scan]_
- **Uptime**: 7 days
- **Server Location**: 🇸🇬 Singapore (GeoIP)
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-negotiated:`Negotiated`
- **MSP**: :proto-no:`No`
- **MCP**: :proto-no:`No`
- **ZMP**: :proto-negotiated:`Negotiated`
Telnet Fingerprint
------------------
:ref:`67bffa9d5cf57f36 `
*This fingerprint is shared by 10 other servers.*
**Options offered by server**: ``MSSP``, ``ZMP``
**Options requested from client**: ``GMCP``, ``MXP``, ``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": "67bffa9d5cf57f36",
"fingerprint-data": {
"offered-options": [
"MSSP",
"ZMP"
],
"probed-protocol": "server",
"refused-options": [
"AARDWOLF",
"ATCP",
"BINARY",
"CHARSET",
"COM_PORT",
"ECHO",
"EOR",
"GMCP",
"MSDP",
"MSP",
"MXP",
"SGA",
"STATUS"
],
"requested-options": [
"GMCP",
"MXP",
"NAWS",
"NEW_ENVIRON",
"TTYPE"
],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": "\r\n\u001b[1m[\u001b[1m\u001b[33mSpeak louder please\u001b[0m\u001b[1m] \u001b[32m: \u001b[0m",
"banner_before_return": "\r\nTwilight LPMUD\r\nBilingual Enhanced v1.0\r\nMSP v0.3 Supported\r\n\r\n\u001b[1m\u001b[34m ,--.\r\n { }\r\n K, }\r\n / ~Y`\r\n , / /\r\n {_'-K.__/\r\n \u001b[37m `/\u001b[0m\u001b[1m\u001b[34m-.__L._\r\n \u001b[37m / ' /\u001b[0m\u001b[1m\u001b[34m`\\_}\r\n \u001b[37m / ' /\t \r\n \u001b[34m____\u001b[37m / ' / \u001b[1m\u001b[34m\r\n ,-'~~~~ ~~\u001b[37m/ ' /_\u001b[0m\u001b[1m\u001b[33m Twilight \u001b[34m\r\n ,' ``~~~ ',\t \r\n ( Y\r\n { I\r\n { - `,\r\n | ', )\r\n | | ,..__ __. Y\r\n | .,_./ Y\u001b[0m\u001b[1m\u001b[37m ' /\u001b[34m ^Y J )|\r\n \\ |\u001b[0m\u001b[1m\u001b[37m' /\u001b[34m | | ||\r\n \\ L\u001b[0m\u001b[1m\u001b[37m_/\u001b[34m . _ (_,.'(\r\n \\, , ^^\"\"' / | )\r\n \\_ \\ /,L] /\r\n '-_~-, ` ` ./`\r\n `'{_ )\r\n ^^\\..___,.--` \u001b[0m\r\n\r\n\t\u001b[1mFacebook: https://www.facebook.com/groups/263596567133057/\r\n\tWiki : twilight-lpmud.wikia.com\r\n\u001b[1m[\u001b[1m\u001b[33mSpeak thy name\u001b[0m\u001b[1m] \u001b[32m: \u001b[0m",
"dsr_replies": 0,
"dsr_requests": 0,
"encoding": "ascii",
"mssp": {
"NAME": "Twilight LPMud",
"PLAYERS": "1",
"UPTIME": "1770423410"
},
"option_states": {
"environ_requested": [
{
"name": "*",
"type": "VAR"
},
{
"name": "*",
"type": "USERVAR"
}
],
"server_offered": {
"MSSP": true,
"ZMP": true
},
"server_requested": {
"GMCP": true,
"MXP": true,
"NAWS": true,
"NEW_ENVIRON": true,
"TTYPE": true
}
},
"scan_type": "quick",
"timing": {
"probe": 0.5162763595581055,
"total": 5.2669360637664795
}
}
},
"sessions": [
{
"connected": "2026-02-14T17:10:27.064272+00:00",
"host": "13.251.165.162",
"ip": "13.251.165.162",
"port": 9999
}
]
}
.. 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 13.251.165.162 9999
.. raw:: html
Show Logfile
.. code-block:: text
DEBUG client.py:965 Fingerprint client: host=13.251.165.162 port=9999
INFO client_base.py:175 Connected to
DEBUG client_base.py:492 negotiation complete after 0.00s.
DEBUG stream_writer.py:707 recv IAC DO TTYPE
DEBUG stream_writer.py:1770 handle_do(TTYPE)
DEBUG stream_writer.py:3174 pending_option[WILL + TTYPE] = True
DEBUG stream_writer.py:950 send IAC WILL TTYPE
DEBUG stream_writer.py:3174 pending_option[SB + TTYPE] = True
DEBUG stream_writer.py:3174 local_option[TTYPE] = True
DEBUG stream_writer.py:3174 pending_option[WILL + TTYPE] = False
DEBUG stream_writer.py:707 recv IAC DO NAWS
DEBUG stream_writer.py:1770 handle_do(NAWS)
DEBUG stream_writer.py:3174 pending_option[WILL + NAWS] = True
DEBUG stream_writer.py:950 send IAC WILL NAWS
DEBUG stream_writer.py:2346 send IAC SB NAWS (rows=25, cols=80) IAC SE
DEBUG stream_writer.py:3174 local_option[NAWS] = True
DEBUG stream_writer.py:3174 pending_option[WILL + NAWS] = False
DEBUG stream_writer.py:707 recv IAC DO MXP
DEBUG stream_writer.py:1770 handle_do(MXP)
DEBUG stream_writer.py:3174 pending_option[WILL + MXP] = True
DEBUG stream_writer.py:950 send IAC WILL MXP
DEBUG stream_writer.py:3174 pending_option[SB + MXP] = True
DEBUG stream_writer.py:3174 local_option[MXP] = True
DEBUG stream_writer.py:3174 pending_option[WILL + MXP] = False
DEBUG stream_writer.py:707 recv IAC WILL MSSP
DEBUG stream_writer.py:723 WILL MSSP unsolicited
DEBUG stream_writer.py:1900 handle_will(MSSP)
DEBUG stream_writer.py:3174 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:950 send IAC DO MSSP
DEBUG stream_writer.py:3174 remote_option[MSSP] = True
DEBUG stream_writer.py:3174 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:707 recv IAC WILL ZMP
DEBUG stream_writer.py:723 WILL ZMP unsolicited
DEBUG stream_writer.py:1900 handle_will(ZMP)
DEBUG stream_writer.py:3174 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:950 send IAC DO ZMP
DEBUG stream_writer.py:3174 remote_option[ZMP] = True
DEBUG stream_writer.py:3174 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:707 recv IAC DO NEW_ENVIRON
DEBUG stream_writer.py:1770 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3174 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:950 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3174 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3174 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3174 pending_option[WILL + NEW_ENVIRON] = False
DEBUG stream_writer.py:707 recv IAC DO GMCP
DEBUG stream_writer.py:1770 handle_do(GMCP)
DEBUG stream_writer.py:3174 pending_option[WILL + GMCP] = True
DEBUG stream_writer.py:950 send IAC WILL GMCP
DEBUG stream_writer.py:3174 local_option[GMCP] = True
DEBUG stream_writer.py:3174 pending_option[WILL + GMCP] = False
DEBUG stream_writer.py:699 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:686 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:3174 pending_option[SB + TTYPE] = False
DEBUG stream_writer.py:2241 recv TTYPE SEND: b''
DEBUG stream_writer.py:2254 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG stream_writer.py:699 begin sub-negotiation SB MSSP
DEBUG stream_writer.py:686 sub-negotiation cmd MSSP SE completion byte
DEBUG stream_writer.py:2065 [SB + MSSP] unsolicited
DEBUG stream_writer.py:1673 MSSP: {'NAME': 'Twilight LPMud', 'PLAYERS': '1', 'UPTIME': '1770423410'}
DEBUG stream_writer.py:699 begin sub-negotiation SB NEW_ENVIRON
DEBUG stream_writer.py:686 sub-negotiation cmd NEW_ENVIRON SE completion byte
DEBUG stream_writer.py:3174 pending_option[SB + NEW_ENVIRON] = False
DEBUG stream_writer.py:2289 recv NEW_ENVIRON SEND (all)
DEBUG stream_writer.py:2312 env send: LANG='C', TERM='xterm-256color', LINES=25, COLUMNS=80, COLORTERM=''
DEBUG stream_writer.py:1323 IAC GA: Go-Ahead (unhandled).
DEBUG stream_writer.py:3174 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:950 send IAC DO BINARY
DEBUG stream_writer.py:3174 pending_option[DO + SGA] = True
DEBUG stream_writer.py:950 send IAC DO SGA
DEBUG stream_writer.py:3174 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:950 send IAC DO ECHO
DEBUG stream_writer.py:3174 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:950 send IAC DO STATUS
DEBUG stream_writer.py:3174 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:950 send IAC DO CHARSET
DEBUG stream_writer.py:3174 pending_option[DO + EOR] = True
DEBUG stream_writer.py:950 send IAC DO EOR
DEBUG stream_writer.py:3174 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:950 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:3174 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:950 send IAC DO GMCP
DEBUG stream_writer.py:3174 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:950 send IAC DO MSDP
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = True
DEBUG stream_writer.py:950 send IAC DO MSP
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = True
DEBUG stream_writer.py:950 send IAC DO MXP
DEBUG stream_writer.py:3174 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:950 send IAC DO AARDWOLF
DEBUG stream_writer.py:3174 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:950 send IAC DO ATCP
DEBUG stream_writer.py:707 recv IAC WONT BINARY
DEBUG stream_writer.py:2025 handle_wont(BINARY)
DEBUG stream_writer.py:3174 remote_option[BINARY] = False
DEBUG stream_writer.py:3174 pending_option[DO + BINARY] = False
DEBUG stream_writer.py:707 recv IAC WONT SGA
DEBUG stream_writer.py:2025 handle_wont(SGA)
DEBUG stream_writer.py:3174 remote_option[SGA] = False
DEBUG stream_writer.py:3174 pending_option[DO + SGA] = False
DEBUG stream_writer.py:707 recv IAC WONT STATUS
DEBUG stream_writer.py:2025 handle_wont(STATUS)
DEBUG stream_writer.py:3174 remote_option[STATUS] = False
DEBUG stream_writer.py:3174 pending_option[DO + STATUS] = False
DEBUG stream_writer.py:707 recv IAC WONT CHARSET
DEBUG stream_writer.py:2025 handle_wont(CHARSET)
DEBUG stream_writer.py:3174 remote_option[CHARSET] = False
DEBUG stream_writer.py:3174 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:707 recv IAC WONT EOR
DEBUG stream_writer.py:2025 handle_wont(EOR)
DEBUG stream_writer.py:3174 remote_option[EOR] = False
DEBUG stream_writer.py:3174 pending_option[DO + EOR] = False
DEBUG stream_writer.py:707 recv IAC WONT COM_PORT_OPTION
DEBUG stream_writer.py:2025 handle_wont(COM_PORT_OPTION)
DEBUG stream_writer.py:3174 remote_option[COM_PORT_OPTION] = False
DEBUG stream_writer.py:3174 pending_option[DO + COM_PORT_OPTION] = False
DEBUG stream_writer.py:707 recv IAC WONT GMCP
DEBUG stream_writer.py:2025 handle_wont(GMCP)
DEBUG stream_writer.py:3174 remote_option[GMCP] = False
DEBUG stream_writer.py:3174 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:707 recv IAC WONT MSDP
DEBUG stream_writer.py:2025 handle_wont(MSDP)
DEBUG stream_writer.py:3174 remote_option[MSDP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:707 recv IAC WONT MSP
DEBUG stream_writer.py:2025 handle_wont(MSP)
DEBUG stream_writer.py:3174 remote_option[MSP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = False
INFO fingerprinting.py:746 connection for server fingerprint 67bffa9d5cf57f36
INFO client_base.py:106 Connection closed to
.. raw:: html
.. [#scan] measured 2026-02-14 at 17:10 UTC