shangrilamux.com
================
.. raw:: html
--------------------------------------------------------------------------------
_,-='`>
Welcome to Shangrila, _,.-='`
The Land of Dreams. _,.='`
_,-='` > _ >
_.,_ _,-'`\ >
_.-'`- `'-._,.-'` /_ > >
_.-'`` <>- -< / .-'_> > -
/~o , \ | ,' _ > - > >
(.-, ` _ \_ \ \ _ > _ > -
(_,--=--'` ,`/ \ | _ > > >
.-' _,' / / / _ > - > -
/ ' / / - > > >
.-=-. / ___./ .' > > >
/ Y ```` / > > >
.' _/\ \ ,' > > > ,-===--.
/` / \ `- ,-` > > ,>_ ,' `\
( > : \ ..-' > > _,>` `--' \
\ / ) L\ \ `\ >_,.--' ,-'"'\ |
`-./ (_\ \_____ `-' <' _/ /
( :\\.``` \ ,-' /
`\_;_> `-.-~`'-_ ---._ Y __,.-'
`'-...__ __,.-=- \ \ (_,-':
_.`\_ ._>._ `-._='
< `-._ \ `'-._ `;
L _<`-. \ `'-. \
\~ / `-._ .' `\ \
\/ `' L \_
\ ;`'-.
\___\,.'
"connect <name> <password>" to log in as an existing character
"connect voyeur voyeur" to log in as a guest
"create <name> <password>" to create a new character
"WHO" to see who is logged in to the game (case sensitive)
"QUIT" to exit the game and save your character
This is an ADULTS ONLY game! Players under 18 years of age are absolutely
NOT welcome here. If it is discovered that you are under 18, your character
will be destroyed immediately. Shangrila staff takes no legal responsibility
for anything that is written on your screen, regardless of your age. Reading
anything more or proceeding further than this screen means that you waive
any legal action towards the staff, players, and anyone else connected to
this MUX for any reason. If you are not of age, do not want to proceed or
do not accept these terms, type 'QUIT' now or disconnect.
--------------------------------------------------------------------------------
.. raw:: html
shangrilamux.com:9999
⎘
Telnet Fingerprint
------------------
:ref:`508c7f0b2b8b1265... `
*This fingerprint is shared by 13 other servers.*
**Options offered by server**: ``BINARY``, ``CHARSET``, ``EOR``, ``SGA``
**Options requested from client**: ``BINARY``, ``CHARSET``, ``EOR``, ``NAWS``, ``NEW_ENVIRON``, ``SGA``, ``TTYPE``
**Data source**: `508c7f0b2b8b1265/204f194aaa558109.json `_
The complete JSON record collected during the scan,
including Telnet negotiation results and any
MSSP metadata.
.. code-block:: json
{
"server-probe": {
"fingerprint": "508c7f0b2b8b1265",
"fingerprint-data": {
"offered-options": [
"BINARY",
"CHARSET",
"EOR",
"SGA"
],
"probed-protocol": "server",
"refused-options": [
"COM_PORT",
"ECHO",
"STATUS"
],
"requested-options": [
"BINARY",
"CHARSET",
"EOR",
"NAWS",
"NEW_ENVIRON",
"SGA",
"TTYPE"
],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": "",
"banner_before_return": "--------------------------------------------------------------------------------\r\n\r\n _,-='`>\r\n Welcome to Shangrila, _,.-='`\r\n The Land of Dreams. _,.='`\r\n _,-='` > _ >\r\n _.,_ _,-'`\\ >\r\n _.-'`- `'-._,.-'` /_ > >\r\n _.-'`` <>- -< / .-'_> > -\r\n /~o , \\ | ,' _ > - > >\r\n (.-, ` _ \\_ \\ \\ _ > _ > -\r\n (_,--=--'` ,`/ \\ | _ > > >\r\n .-' _,' / / / _ > - > -\r\n / ' / / - > > >\r\n .-=-. / ___./ .' > > >\r\n / Y ```` / > > >\r\n .' _/\\ \\ ,' > > > ,-===--.\r\n /` / \\ `- ,-` > > ,>_ ,' `\\\r\n ( > : \\ ..-' > > _,>` `--' \\\r\n \\ / ) L\\ \\ `\\ >_,.--' ,-'\"'\\ |\r\n `-./ (_\\ \\_____ `-' <' _/ /\r\n ( :\\\\.``` \\ ,-' /\r\n `\\_;_> `-.-~`'-_ ---._ Y __,.-'\r\n `'-...__ __,.-=- \\ \\ (_,-':\r\n _.`\\_ ._>._ `-._='\r\n < `-._ \\ `'-._ `;\r\n L _<`-. \\ `'-. \\\r\n \\~ / `-._ .' `\\ \\\r\n \\/ `' L \\_\r\n \\ ;`'-.\r\n \\___\\,.'\r\n\r\n \"connect \" to log in as an existing character\r\n \"connect voyeur voyeur\" to log in as a guest\r\n \"create \" to create a new character\r\n \"WHO\" to see who is logged in to the game (case sensitive)\r\n \"QUIT\" to exit the game and save your character\r\n \r\n This is an ADULTS ONLY game! Players under 18 years of age are absolutely\r\n NOT welcome here. If it is discovered that you are under 18, your character\r\n will be destroyed immediately. Shangrila staff takes no legal responsibility\r\n for anything that is written on your screen, regardless of your age. Reading\r\n anything more or proceeding further than this screen means that you waive\r\n any legal action towards the staff, players, and anyone else connected to\r\n this MUX for any reason. If you are not of age, do not want to proceed or\r\n do not accept these terms, type 'QUIT' now or disconnect.\r\n\r\n--------------------------------------------------------------------------------\r\n\r\n",
"encoding": "ascii",
"option_states": {
"environ_requested": [
{
"name": "*",
"type": "VAR"
},
{
"name": "*",
"type": "USERVAR"
}
],
"server_offered": {
"BINARY": true,
"CHARSET": true,
"EOR": true
},
"server_requested": {
"BINARY": true,
"CHARSET": true,
"EOR": true,
"NAWS": true,
"NEW_ENVIRON": true,
"SGA": true,
"TTYPE": true
}
},
"scan_type": "quick",
"timing": {
"probe": 0.10116982460021973,
"total": 5.607941627502441
}
}
},
"sessions": [
{
"connected": "2026-02-08T16:23:29.144186+00:00",
"host": "shangrilamux.com",
"ip": "52.35.137.231",
"port": 9999
}
]
}
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=shangrilamux.com port=9999
INFO client_base.py:174 Connected to
DEBUG stream_writer.py:697 recv IAC WILL EOR
DEBUG stream_writer.py:713 WILL EOR unsolicited
DEBUG stream_writer.py:1869 handle_will(EOR)
DEBUG stream_writer.py:3036 pending_option[DO + EOR] = True
DEBUG stream_writer.py:938 send IAC DO EOR
DEBUG stream_writer.py:3036 remote_option[EOR] = True
DEBUG stream_writer.py:3036 pending_option[DO + EOR] = False
DEBUG stream_writer.py:697 recv IAC DO EOR
DEBUG stream_writer.py:1739 handle_do(EOR)
DEBUG stream_writer.py:3036 pending_option[WILL + EOR] = True
DEBUG stream_writer.py:938 send IAC WILL EOR
DEBUG stream_writer.py:3036 local_option[EOR] = True
DEBUG stream_writer.py:3036 pending_option[WILL + EOR] = 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 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 DO NEW_ENVIRON
DEBUG stream_writer.py:1739 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3036 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:938 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3036 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3036 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3036 pending_option[WILL + NEW_ENVIRON] = 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 DO CHARSET
DEBUG stream_writer.py:1739 handle_do(CHARSET)
DEBUG stream_writer.py:3036 pending_option[WILL + CHARSET] = True
DEBUG stream_writer.py:938 send IAC WILL CHARSET
DEBUG stream_writer.py:3036 local_option[CHARSET] = True
DEBUG stream_writer.py:3036 pending_option[WILL + CHARSET] = False
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 NEW_ENVIRON
DEBUG stream_writer.py:676 sub-negotiation cmd NEW_ENVIRON SE completion byte
DEBUG stream_writer.py:3036 pending_option[SB + NEW_ENVIRON] = False
DEBUG stream_writer.py:2249 recv NEW_ENVIRON SEND (all)
DEBUG stream_writer.py:2272 env send: =''
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
DEBUG client.py:266 encoding negotiated: UTF-8
DEBUG stream_writer.py:2111 send IAC SB CHARSET ACCEPTED UTF-8 IAC SE
DEBUG client_base.py:460 negotiation complete after 0.37s.
DEBUG stream_writer.py:697 recv IAC WILL BINARY
DEBUG stream_writer.py:713 WILL BINARY unsolicited
DEBUG stream_writer.py:1869 handle_will(BINARY)
DEBUG stream_writer.py:3036 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:938 send IAC DO BINARY
DEBUG stream_writer.py:3036 remote_option[BINARY] = True
DEBUG stream_writer.py:3036 pending_option[DO + BINARY] = False
DEBUG stream_writer.py:697 recv IAC DO BINARY
DEBUG stream_writer.py:1739 handle_do(BINARY)
DEBUG stream_writer.py:3036 pending_option[WILL + BINARY] = True
DEBUG stream_writer.py:938 send IAC WILL BINARY
DEBUG stream_writer.py:3036 local_option[BINARY] = True
DEBUG stream_writer.py:3036 pending_option[WILL + BINARY] = False
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 + COM_PORT_OPTION] = True
DEBUG stream_writer.py:938 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:3036 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:938 send IAC DO GMCP
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 + MSSP] = True
DEBUG stream_writer.py:938 send IAC DO MSSP
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 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 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 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 GMCP
DEBUG stream_writer.py:1991 handle_wont(GMCP)
DEBUG stream_writer.py:3036 remote_option[GMCP] = False
DEBUG stream_writer.py:3036 pending_option[DO + GMCP] = 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 MSSP
DEBUG stream_writer.py:1991 handle_wont(MSSP)
DEBUG stream_writer.py:3036 remote_option[MSSP] = False
DEBUG stream_writer.py:3036 pending_option[DO + MSSP] = 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 1b243ede85915016
INFO client_base.py:105 Connection closed to
*Generated by* `telnetlib3-fingerprint `_
.. code-block:: shell
telnetlib3-fingerprint --loglevel=debug shangrilamux.com 9999