52.1.193.111 (nethack.alt.org)
==============================
.. _ip_52_1_193_111_nethack_alt_org_23:
nethack.alt.org:23
------------------
**Connection Banner:**
.. image:: /_static/banners/banner_0efc26caba3e.png
:alt: Ubuntu 16.04.7 LTS ; ## nethack.alt.org - http://nethack.alt.org/#### Games on this server are recorded for in-progress viewing and playback!Not logged in.l) Loginr) Register new userw) Watch games in progresss) server infom) MOTD/news (updated: 2023.02.17)q) Quit=>
:class: ansi-banner
:width: 601px
:loading: lazy
Server URLs
~~~~~~~~~~~
.. raw:: html
**Server Location**: 🇺🇸 United States (GeoIP)
Encoding
~~~~~~~~
- **Effective encoding**: ascii
- **Override**: ascii (from bbslist.txt)
- **Scanner detected**: utf-8
Telnet Fingerprint
~~~~~~~~~~~~~~~~~~
:ref:`3368c85b2d113f3c `
*This fingerprint is shared by 24 other servers.*
**Options offered by server**: ``BINARY``, ``ECHO``, ``SGA``, ``STATUS``
**Options requested from client**: ``ECHO``, ``LFLOW``, ``NAWS``, ``NEW_ENVIRON``, ``TSPEED``, ``TTYPE``, ``XDISPLOC``
The complete JSON record collected during the scan,
including Telnet negotiation results and
banner data.
.. raw:: html
Show JSON
.. code-block:: json
{
"server-probe": {
"fingerprint": "3368c85b2d113f3c",
"fingerprint-data": {
"offered-options": [
"BINARY",
"ECHO",
"SGA",
"STATUS"
],
"probed-protocol": "server",
"refused-options": [
"AARDWOLF",
"ATCP",
"CHARSET",
"COM_PORT",
"EOR",
"GMCP",
"MCCP2",
"MCCP3",
"MSDP",
"MSP",
"MSSP",
"MXP",
"ZMP"
],
"requested-options": [
"ECHO",
"LFLOW",
"NAWS",
"NEW_ENVIRON",
"TSPEED",
"TTYPE",
"XDISPLOC"
],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": "\u001b[24;1H\u001b[?1049l\r\u0000\u001b[?1l\u001b>\u001b[2J\u001b[?1049h\u001b[1;25r\u001b[m\u001b(B\u001b[4l\u001b[?7h\u001b[?1h\u001b=\u001b[39;49m\u001b[39;49m\u001b[m\u001b(B\u001b[H\u001b[2J\u001b[2d ## \u001b[0;1m\u001b(B\u001b[38;5;3m\u001b[48;5;0mnethack.alt.org - http://nethack.alt.org/\u001b[3;2H\u001b[39;49m\u001b[m\u001b(B##\u001b[4d\b\b## Games on this server are recorded for in-progress viewing and playback!\u001b[6;3HNot logged in.\u001b[8;3Hl) Login\u001b[9;3Hr) Register new user\u001b[10;3Hw) Watch games in progress\u001b[12;3Hs) server info\u001b[13;3Hm) MOTD/news (updated: 2023.02.17)\u001b[15;3Hq) Quit\u001b[19;3H=> ",
"banner_before_return": "Ubuntu 16.04.7 LTS\r\n;\u001b]2;nethack.alt.org\u0007\u001b[2J\u001b[?1049h\u001b[1;24r\u001b[m\u001b(B\u001b[4l\u001b[?7h\u001b[?1h\u001b=\u001b[39;49m\u001b[39;49m\u001b[m\u001b(B\u001b[H\u001b[2J\u001b[24;1H\u001b[?1049l\r\u0000\u001b[?1l\u001b>\u001b[2J\u001b[?1049h\u001b[1;24r\u001b[m\u001b(B\u001b[4l\u001b[?7h\u001b[?1h\u001b=\u001b[39;49m\u001b[39;49m\u001b[m\u001b(B\u001b[H\u001b[2J\u001b[H\u001b[2J\u001b[2d ## \u001b[0;1m\u001b(B\u001b[38;5;3m\u001b[48;5;0mnethack.alt.org - http://nethack.alt.org/\u001b[3;2H\u001b[39;49m\u001b[m\u001b(B##\u001b[4d\b\b## Games on this server are recorded for in-progress viewing and playback!\u001b[6;3HNot logged in.\u001b[8;3Hl) Login\u001b[9;3Hr) Register new user\u001b[10;3Hw) Watch games in progress\u001b[12;3Hs) server info\u001b[13;3Hm) MOTD/news (updated: 2023.02.17)\u001b[15;3Hq) Quit\u001b[19;3H=> ",
"dsr_replies": 0,
"dsr_requests": 0,
"encoding": "utf-8",
"option_states": {
"environ_requested": [
{
"name": "*",
"type": "VAR"
},
{
"name": "*",
"type": "USERVAR"
}
],
"server_offered": {
"AARDWOLF": false,
"ATCP": false,
"ECHO": true,
"GMCP": false,
"MCCP2": false,
"MCCP3": false,
"MSDP": false,
"MSP": false,
"MSSP": false,
"MXP": false,
"SGA": true,
"STATUS": true,
"ZMP": false
},
"server_requested": {
"AARDWOLF": false,
"ATCP": false,
"ECHO": true,
"GMCP": false,
"LFLOW": true,
"MCCP2": false,
"MCCP3": false,
"MSDP": false,
"MSP": false,
"MSSP": false,
"MXP": false,
"NAWS": true,
"NEW_ENVIRON": true,
"TSPEED": true,
"TTYPE": true,
"XDISPLOC": true,
"ZMP": false
}
},
"scan_type": "quick",
"timing": {
"probe": 0.15328335762023926,
"total": 10.731473207473755
}
}
},
"sessions": [
{
"connected": "2026-03-07T04:19:23.991868+00:00",
"host": "nethack.alt.org",
"ip": "52.1.193.111",
"port": 23
},
{
"connected": "2026-04-05T18:38:07.350121+00:00",
"host": "nethack.alt.org",
"ip": "52.1.193.111",
"port": 23
},
{
"connected": "2026-04-07T05:48:12.266690+00:00",
"host": "nethack.alt.org",
"ip": "52.1.193.111",
"port": 23
}
]
}
.. 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 nethack.alt.org 23
.. raw:: html
Show Logfile
.. code-block:: text
DEBUG client.py:1200 Fingerprint client: host=nethack.alt.org port=23
INFO client_base.py:190 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 + ZMP] = True
DEBUG stream_writer.py:1024 send IAC WILL ZMP
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 + MSDP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSDP
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 + MSSP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSSP
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 + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC WILL AARDWOLF
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[DO + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC DO MCCP3_COMPRESS
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 + MXP] = True
DEBUG stream_writer.py:1024 send IAC DO MXP
DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:1024 send IAC DO MSDP
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 + MSSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSSP
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 + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC DO AARDWOLF
DEBUG stream_writer.py:3384 pending_option[DO + MSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSP
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 TSPEED
DEBUG stream_writer.py:1887 handle_do(TSPEED)
DEBUG stream_writer.py:3384 pending_option[WILL + TSPEED] = True
DEBUG stream_writer.py:1024 send IAC WILL TSPEED
DEBUG stream_writer.py:3384 pending_option[SB + TSPEED] = True
DEBUG stream_writer.py:3384 local_option[TSPEED] = True
DEBUG stream_writer.py:3384 pending_option[WILL + TSPEED] = False
DEBUG stream_writer.py:773 recv IAC DO XDISPLOC
DEBUG stream_writer.py:1887 handle_do(XDISPLOC)
DEBUG stream_writer.py:3384 pending_option[WILL + XDISPLOC] = True
DEBUG stream_writer.py:1024 send IAC WILL XDISPLOC
DEBUG stream_writer.py:3384 pending_option[SB + XDISPLOC] = True
DEBUG stream_writer.py:3384 local_option[XDISPLOC] = True
DEBUG stream_writer.py:3384 pending_option[WILL + XDISPLOC] = 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 DONT MCCP3_COMPRESS
DEBUG stream_writer.py:2010 handle_dont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3384 local_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC DONT ZMP
DEBUG stream_writer.py:2010 handle_dont(ZMP)
DEBUG stream_writer.py:3384 pending_option[WILL + ZMP] = False
DEBUG stream_writer.py:3384 local_option[ZMP] = False
DEBUG stream_writer.py:773 recv IAC DONT MXP
DEBUG stream_writer.py:2010 handle_dont(MXP)
DEBUG stream_writer.py:3384 pending_option[WILL + MXP] = False
DEBUG stream_writer.py:3384 local_option[MXP] = False
DEBUG stream_writer.py:773 recv IAC DONT MSDP
DEBUG stream_writer.py:2010 handle_dont(MSDP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSDP] = False
DEBUG stream_writer.py:3384 local_option[MSDP] = False
DEBUG stream_writer.py:773 recv IAC DONT MCCP2_COMPRESS
DEBUG stream_writer.py:2010 handle_dont(MCCP2_COMPRESS)
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:3384 local_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC DONT MSSP
DEBUG stream_writer.py:2010 handle_dont(MSSP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSSP] = False
DEBUG stream_writer.py:3384 local_option[MSSP] = False
DEBUG stream_writer.py:773 recv IAC DONT GMCP
DEBUG stream_writer.py:2010 handle_dont(GMCP)
DEBUG stream_writer.py:3384 pending_option[WILL + GMCP] = False
DEBUG stream_writer.py:3384 local_option[GMCP] = False
DEBUG stream_writer.py:773 recv IAC DONT ATCP
DEBUG stream_writer.py:2010 handle_dont(ATCP)
DEBUG stream_writer.py:3384 pending_option[WILL + ATCP] = False
DEBUG stream_writer.py:3384 local_option[ATCP] = False
DEBUG stream_writer.py:773 recv IAC DONT AARDWOLF
DEBUG stream_writer.py:2010 handle_dont(AARDWOLF)
DEBUG stream_writer.py:3384 pending_option[WILL + AARDWOLF] = False
DEBUG stream_writer.py:3384 local_option[AARDWOLF] = False
DEBUG stream_writer.py:773 recv IAC DONT MSP
DEBUG stream_writer.py:2010 handle_dont(MSP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSP] = False
DEBUG stream_writer.py:3384 local_option[MSP] = False
DEBUG stream_writer.py:773 recv IAC WONT MCCP3_COMPRESS
DEBUG stream_writer.py:2199 handle_wont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3384 remote_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC WONT ZMP
DEBUG stream_writer.py:2199 handle_wont(ZMP)
DEBUG stream_writer.py:3384 remote_option[ZMP] = False
DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:773 recv IAC WONT MXP
DEBUG stream_writer.py:2199 handle_wont(MXP)
DEBUG stream_writer.py:3384 remote_option[MXP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MXP] = False
DEBUG stream_writer.py:773 recv IAC WONT MSDP
DEBUG stream_writer.py:2199 handle_wont(MSDP)
DEBUG stream_writer.py:3384 remote_option[MSDP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:773 recv IAC WONT MCCP2_COMPRESS
DEBUG stream_writer.py:2199 handle_wont(MCCP2_COMPRESS)
DEBUG stream_writer.py:3384 remote_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC WONT MSSP
DEBUG stream_writer.py:2199 handle_wont(MSSP)
DEBUG stream_writer.py:3384 remote_option[MSSP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:773 recv IAC WONT GMCP
DEBUG stream_writer.py:2199 handle_wont(GMCP)
DEBUG stream_writer.py:3384 remote_option[GMCP] = False
DEBUG stream_writer.py:3384 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:773 recv IAC WONT ATCP
DEBUG stream_writer.py:2199 handle_wont(ATCP)
DEBUG stream_writer.py:3384 remote_option[ATCP] = False
DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = False
DEBUG stream_writer.py:773 recv IAC WONT AARDWOLF
DEBUG stream_writer.py:2199 handle_wont(AARDWOLF)
DEBUG stream_writer.py:3384 remote_option[AARDWOLF] = False
DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = False
DEBUG stream_writer.py:773 recv IAC WONT MSP
DEBUG stream_writer.py:2199 handle_wont(MSP)
DEBUG stream_writer.py:3384 remote_option[MSP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MSP] = False
DEBUG stream_writer.py:767 begin sub-negotiation SB TSPEED
DEBUG stream_writer.py:754 sub-negotiation cmd TSPEED SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + TSPEED] = False
DEBUG stream_writer.py:2345 recv TSPEED SEND: b''
DEBUG stream_writer.py:2373 send: IAC SB TSPEED IS b'38400',b'38400' IAC SE
DEBUG stream_writer.py:767 begin sub-negotiation SB XDISPLOC
DEBUG stream_writer.py:754 sub-negotiation cmd XDISPLOC SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + XDISPLOC] = False
DEBUG stream_writer.py:2384 recv XDISPLOC SEND: b''
DEBUG stream_writer.py:2393 send IAC SB XDISPLOC IS b'' 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 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 client_base.py:531 negotiation complete after 0.25s.
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 DO ECHO
DEBUG stream_writer.py:1887 handle_do(ECHO)
DEBUG stream_writer.py:3384 local_option[ECHO] = False
DEBUG stream_writer.py:1024 send IAC WONT ECHO
DEBUG stream_writer.py:3384 local_option[ECHO] = True
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 WILL STATUS
DEBUG stream_writer.py:789 WILL STATUS unsolicited
DEBUG stream_writer.py:2045 handle_will(STATUS)
DEBUG stream_writer.py:3384 remote_option[STATUS] = True
DEBUG stream_writer.py:1115 send IAC SB STATUS SEND IAC SE
DEBUG stream_writer.py:3384 pending_option[SB + STATUS] = True
DEBUG stream_writer.py:773 recv IAC DO LFLOW
DEBUG stream_writer.py:1887 handle_do(LFLOW)
DEBUG stream_writer.py:3384 pending_option[WILL + LFLOW] = True
DEBUG stream_writer.py:1024 send IAC WILL LFLOW
DEBUG stream_writer.py:3384 pending_option[SB + LFLOW] = True
DEBUG stream_writer.py:3384 local_option[LFLOW] = True
DEBUG stream_writer.py:3384 pending_option[WILL + LFLOW] = 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:3384 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:1024 send IAC DO BINARY
DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:1024 send IAC DO CHARSET
DEBUG stream_writer.py:3384 pending_option[DO + EOR] = True
DEBUG stream_writer.py:1024 send IAC DO EOR
DEBUG stream_writer.py:3384 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:1024 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:773 recv IAC WILL BINARY
DEBUG stream_writer.py:2045 handle_will(BINARY)
DEBUG stream_writer.py:998 skip DO BINARY; pending_option = True
DEBUG stream_writer.py:3384 remote_option[BINARY] = True
DEBUG stream_writer.py:3384 pending_option[DO + BINARY] = False
DEBUG stream_writer.py:773 recv IAC WONT CHARSET
DEBUG stream_writer.py:2199 handle_wont(CHARSET)
DEBUG stream_writer.py:3384 remote_option[CHARSET] = False
DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:773 recv IAC WONT EOR
DEBUG stream_writer.py:2199 handle_wont(EOR)
DEBUG stream_writer.py:3384 remote_option[EOR] = False
DEBUG stream_writer.py:3384 pending_option[DO + EOR] = False
DEBUG stream_writer.py:773 recv IAC WONT COM_PORT_OPTION
DEBUG stream_writer.py:2199 handle_wont(COM_PORT_OPTION)
DEBUG stream_writer.py:3384 remote_option[COM_PORT_OPTION] = False
DEBUG stream_writer.py:3384 pending_option[DO + COM_PORT_OPTION] = False
DEBUG fingerprinting.py:849 connection for server fingerprint 3368c85b2d113f3c
INFO client_base.py:122 Connection closed to
.. raw:: html
.. _ip_52_1_193_111_nethack_alt_org_14321:
nethack.alt.org:14321
---------------------
**Connection Banner:**
.. image:: /_static/banners/banner_d3161478233a.png
:alt: Ubuntu 16.04.7 LTS ; ## nethack.alt.org - http://nethack.alt.org/#### Games on this server are recorded for in-progress viewing and playback!Not logged in.l) Loginr) Register new userw) Watch games in progresss) server infom) MOTD/news (updated: 2023.02.17)q) Quit=>
:class: ansi-banner
:width: 601px
:loading: lazy
Server URLs
~~~~~~~~~~~
.. raw:: html
**Server Location**: 🇺🇸 United States (GeoIP)
Encoding
~~~~~~~~
- **Effective encoding**: ascii
- **Scanner detected**: ascii
Telnet Fingerprint
~~~~~~~~~~~~~~~~~~
:ref:`3368c85b2d113f3c `
*This fingerprint is shared by 24 other servers.*
**Options offered by server**: ``BINARY``, ``ECHO``, ``SGA``, ``STATUS``
**Options requested from client**: ``ECHO``, ``LFLOW``, ``NAWS``, ``NEW_ENVIRON``, ``TSPEED``, ``TTYPE``, ``XDISPLOC``
The complete JSON record collected during the scan,
including Telnet negotiation results and
banner data.
.. raw:: html
Show JSON
.. code-block:: json
{
"server-probe": {
"fingerprint": "3368c85b2d113f3c",
"fingerprint-data": {
"offered-options": [
"BINARY",
"ECHO",
"SGA",
"STATUS"
],
"probed-protocol": "server",
"refused-options": [
"AARDWOLF",
"ATCP",
"CHARSET",
"COM_PORT",
"EOR",
"GMCP",
"MCCP2",
"MCCP3",
"MSDP",
"MSP",
"MSSP",
"MXP",
"ZMP"
],
"requested-options": [
"ECHO",
"LFLOW",
"NAWS",
"NEW_ENVIRON",
"TSPEED",
"TTYPE",
"XDISPLOC"
],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": "\u001b[24;1H\u001b[?1049l\r\u0000\u001b[?1l\u001b>\u001b[2J\u001b[?1049h\u001b[1;25r\u001b[m\u001b(B\u001b[4l\u001b[?7h\u001b[?1h\u001b=\u001b[39;49m\u001b[39;49m\u001b[m\u001b(B\u001b[H\u001b[2J\u001b[2d ## \u001b[0;1m\u001b(B\u001b[38;5;3m\u001b[48;5;0mnethack.alt.org - http://nethack.alt.org/\u001b[3;2H\u001b[39;49m\u001b[m\u001b(B##\u001b[4d\b\b## Games on this server are recorded for in-progress viewing and playback!\u001b[6;3HNot logged in.\u001b[8;3Hl) Login\u001b[9;3Hr) Register new user\u001b[10;3Hw) Watch games in progress\u001b[12;3Hs) server info\u001b[13;3Hm) MOTD/news (updated: 2023.02.17)\u001b[15;3Hq) Quit\u001b[19;3H=> ",
"banner_before_return": "Ubuntu 16.04.7 LTS\r\n;\u001b]2;nethack.alt.org\u0007\u001b[2J\u001b[?1049h\u001b[1;24r\u001b[m\u001b(B\u001b[4l\u001b[?7h\u001b[?1h\u001b=\u001b[39;49m\u001b[39;49m\u001b[m\u001b(B\u001b[H\u001b[2J\u001b[24;1H\u001b[?1049l\r\u0000\u001b[?1l\u001b>\u001b[2J\u001b[?1049h\u001b[1;24r\u001b[m\u001b(B\u001b[4l\u001b[?7h\u001b[?1h\u001b=\u001b[39;49m\u001b[39;49m\u001b[m\u001b(B\u001b[H\u001b[2J\u001b[H\u001b[2J\u001b[2d ## \u001b[0;1m\u001b(B\u001b[38;5;3m\u001b[48;5;0mnethack.alt.org - http://nethack.alt.org/\u001b[3;2H\u001b[39;49m\u001b[m\u001b(B##\u001b[4d\b\b## Games on this server are recorded for in-progress viewing and playback!\u001b[6;3HNot logged in.\u001b[8;3Hl) Login\u001b[9;3Hr) Register new user\u001b[10;3Hw) Watch games in progress\u001b[12;3Hs) server info\u001b[13;3Hm) MOTD/news (updated: 2023.02.17)\u001b[15;3Hq) Quit\u001b[19;3H=> ",
"dsr_replies": 0,
"dsr_requests": 0,
"encoding": "ascii",
"option_states": {
"environ_requested": [
{
"name": "*",
"type": "VAR"
},
{
"name": "*",
"type": "USERVAR"
}
],
"server_offered": {
"AARDWOLF": false,
"ATCP": false,
"ECHO": true,
"GMCP": false,
"MCCP2": false,
"MCCP3": false,
"MSDP": false,
"MSP": false,
"MSSP": false,
"MXP": false,
"SGA": true,
"STATUS": true,
"ZMP": false
},
"server_requested": {
"AARDWOLF": false,
"ATCP": false,
"ECHO": true,
"GMCP": false,
"LFLOW": true,
"MCCP2": false,
"MCCP3": false,
"MSDP": false,
"MSP": false,
"MSSP": false,
"MXP": false,
"NAWS": true,
"NEW_ENVIRON": true,
"TSPEED": true,
"TTYPE": true,
"XDISPLOC": true,
"ZMP": false
}
},
"scan_type": "quick",
"timing": {
"probe": 0.10204315185546875,
"total": 10.67427682876587
}
}
},
"sessions": [
{
"connected": "2026-04-05T19:02:57.068503+00:00",
"host": "nethack.alt.org",
"ip": "52.1.193.111",
"port": 14321
},
{
"connected": "2026-04-07T06:10:59.179038+00:00",
"host": "nethack.alt.org",
"ip": "52.1.193.111",
"port": 14321
}
]
}
.. 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 nethack.alt.org 14321
.. raw:: html
Show Logfile
.. code-block:: text
DEBUG client.py:1200 Fingerprint client: host=nethack.alt.org port=14321
INFO client_base.py:190 Connected to
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 + MSDP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSDP
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 + MSSP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSSP
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 + MXP] = True
DEBUG stream_writer.py:1024 send IAC WILL MXP
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[DO + MSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSP
DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:1024 send IAC DO MSDP
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 + MSSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSSP
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 + MXP] = True
DEBUG stream_writer.py:1024 send IAC DO MXP
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: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 TSPEED
DEBUG stream_writer.py:1887 handle_do(TSPEED)
DEBUG stream_writer.py:3384 pending_option[WILL + TSPEED] = True
DEBUG stream_writer.py:1024 send IAC WILL TSPEED
DEBUG stream_writer.py:3384 pending_option[SB + TSPEED] = True
DEBUG stream_writer.py:3384 local_option[TSPEED] = True
DEBUG stream_writer.py:3384 pending_option[WILL + TSPEED] = False
DEBUG stream_writer.py:773 recv IAC DO XDISPLOC
DEBUG stream_writer.py:1887 handle_do(XDISPLOC)
DEBUG stream_writer.py:3384 pending_option[WILL + XDISPLOC] = True
DEBUG stream_writer.py:1024 send IAC WILL XDISPLOC
DEBUG stream_writer.py:3384 pending_option[SB + XDISPLOC] = True
DEBUG stream_writer.py:3384 local_option[XDISPLOC] = True
DEBUG stream_writer.py:3384 pending_option[WILL + XDISPLOC] = 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 DONT MSP
DEBUG stream_writer.py:2010 handle_dont(MSP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSP] = False
DEBUG stream_writer.py:3384 local_option[MSP] = False
DEBUG stream_writer.py:773 recv IAC DONT MSDP
DEBUG stream_writer.py:2010 handle_dont(MSDP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSDP] = False
DEBUG stream_writer.py:3384 local_option[MSDP] = False
DEBUG stream_writer.py:773 recv IAC DONT ZMP
DEBUG stream_writer.py:2010 handle_dont(ZMP)
DEBUG stream_writer.py:3384 pending_option[WILL + ZMP] = False
DEBUG stream_writer.py:3384 local_option[ZMP] = False
DEBUG stream_writer.py:773 recv IAC DONT MCCP3_COMPRESS
DEBUG stream_writer.py:2010 handle_dont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3384 local_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC DONT MSSP
DEBUG stream_writer.py:2010 handle_dont(MSSP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSSP] = False
DEBUG stream_writer.py:3384 local_option[MSSP] = False
DEBUG stream_writer.py:773 recv IAC DONT GMCP
DEBUG stream_writer.py:2010 handle_dont(GMCP)
DEBUG stream_writer.py:3384 pending_option[WILL + GMCP] = False
DEBUG stream_writer.py:3384 local_option[GMCP] = False
DEBUG stream_writer.py:773 recv IAC DONT ATCP
DEBUG stream_writer.py:2010 handle_dont(ATCP)
DEBUG stream_writer.py:3384 pending_option[WILL + ATCP] = False
DEBUG stream_writer.py:3384 local_option[ATCP] = False
DEBUG stream_writer.py:773 recv IAC DONT MXP
DEBUG stream_writer.py:2010 handle_dont(MXP)
DEBUG stream_writer.py:3384 pending_option[WILL + MXP] = False
DEBUG stream_writer.py:3384 local_option[MXP] = False
DEBUG stream_writer.py:773 recv IAC DONT AARDWOLF
DEBUG stream_writer.py:2010 handle_dont(AARDWOLF)
DEBUG stream_writer.py:3384 pending_option[WILL + AARDWOLF] = False
DEBUG stream_writer.py:3384 local_option[AARDWOLF] = False
DEBUG stream_writer.py:773 recv IAC DONT MCCP2_COMPRESS
DEBUG stream_writer.py:2010 handle_dont(MCCP2_COMPRESS)
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:3384 local_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC WONT MSP
DEBUG stream_writer.py:2199 handle_wont(MSP)
DEBUG stream_writer.py:3384 remote_option[MSP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MSP] = False
DEBUG stream_writer.py:773 recv IAC WONT MSDP
DEBUG stream_writer.py:2199 handle_wont(MSDP)
DEBUG stream_writer.py:3384 remote_option[MSDP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:773 recv IAC WONT ZMP
DEBUG stream_writer.py:2199 handle_wont(ZMP)
DEBUG stream_writer.py:3384 remote_option[ZMP] = False
DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:773 recv IAC WONT MCCP3_COMPRESS
DEBUG stream_writer.py:2199 handle_wont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3384 remote_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC WONT MSSP
DEBUG stream_writer.py:2199 handle_wont(MSSP)
DEBUG stream_writer.py:3384 remote_option[MSSP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:773 recv IAC WONT GMCP
DEBUG stream_writer.py:2199 handle_wont(GMCP)
DEBUG stream_writer.py:3384 remote_option[GMCP] = False
DEBUG stream_writer.py:3384 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:773 recv IAC WONT ATCP
DEBUG stream_writer.py:2199 handle_wont(ATCP)
DEBUG stream_writer.py:3384 remote_option[ATCP] = False
DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = False
DEBUG stream_writer.py:773 recv IAC WONT MXP
DEBUG stream_writer.py:2199 handle_wont(MXP)
DEBUG stream_writer.py:3384 remote_option[MXP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MXP] = False
DEBUG stream_writer.py:773 recv IAC WONT AARDWOLF
DEBUG stream_writer.py:2199 handle_wont(AARDWOLF)
DEBUG stream_writer.py:3384 remote_option[AARDWOLF] = False
DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = False
DEBUG stream_writer.py:773 recv IAC WONT MCCP2_COMPRESS
DEBUG stream_writer.py:2199 handle_wont(MCCP2_COMPRESS)
DEBUG stream_writer.py:3384 remote_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:767 begin sub-negotiation SB TSPEED
DEBUG stream_writer.py:754 sub-negotiation cmd TSPEED SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + TSPEED] = False
DEBUG stream_writer.py:2345 recv TSPEED SEND: b''
DEBUG stream_writer.py:2373 send: IAC SB TSPEED IS b'38400',b'38400' IAC SE
DEBUG stream_writer.py:767 begin sub-negotiation SB XDISPLOC
DEBUG stream_writer.py:754 sub-negotiation cmd XDISPLOC SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + XDISPLOC] = False
DEBUG stream_writer.py:2384 recv XDISPLOC SEND: b''
DEBUG stream_writer.py:2393 send IAC SB XDISPLOC IS b'' 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 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 client_base.py:531 negotiation complete after 0.24s.
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 DO ECHO
DEBUG stream_writer.py:1887 handle_do(ECHO)
DEBUG stream_writer.py:3384 local_option[ECHO] = False
DEBUG stream_writer.py:1024 send IAC WONT ECHO
DEBUG stream_writer.py:3384 local_option[ECHO] = True
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 WILL STATUS
DEBUG stream_writer.py:789 WILL STATUS unsolicited
DEBUG stream_writer.py:2045 handle_will(STATUS)
DEBUG stream_writer.py:3384 remote_option[STATUS] = True
DEBUG stream_writer.py:1115 send IAC SB STATUS SEND IAC SE
DEBUG stream_writer.py:3384 pending_option[SB + STATUS] = True
DEBUG stream_writer.py:773 recv IAC DO LFLOW
DEBUG stream_writer.py:1887 handle_do(LFLOW)
DEBUG stream_writer.py:3384 pending_option[WILL + LFLOW] = True
DEBUG stream_writer.py:1024 send IAC WILL LFLOW
DEBUG stream_writer.py:3384 pending_option[SB + LFLOW] = True
DEBUG stream_writer.py:3384 local_option[LFLOW] = True
DEBUG stream_writer.py:3384 pending_option[WILL + LFLOW] = 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:3384 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:1024 send IAC DO BINARY
DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:1024 send IAC DO CHARSET
DEBUG stream_writer.py:3384 pending_option[DO + EOR] = True
DEBUG stream_writer.py:1024 send IAC DO EOR
DEBUG stream_writer.py:3384 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:1024 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:773 recv IAC WILL BINARY
DEBUG stream_writer.py:2045 handle_will(BINARY)
DEBUG stream_writer.py:998 skip DO BINARY; pending_option = True
DEBUG stream_writer.py:3384 remote_option[BINARY] = True
DEBUG stream_writer.py:3384 pending_option[DO + BINARY] = False
DEBUG stream_writer.py:773 recv IAC WONT CHARSET
DEBUG stream_writer.py:2199 handle_wont(CHARSET)
DEBUG stream_writer.py:3384 remote_option[CHARSET] = False
DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:773 recv IAC WONT EOR
DEBUG stream_writer.py:2199 handle_wont(EOR)
DEBUG stream_writer.py:3384 remote_option[EOR] = False
DEBUG stream_writer.py:3384 pending_option[DO + EOR] = False
DEBUG stream_writer.py:773 recv IAC WONT COM_PORT_OPTION
DEBUG stream_writer.py:2199 handle_wont(COM_PORT_OPTION)
DEBUG stream_writer.py:3384 remote_option[COM_PORT_OPTION] = False
DEBUG stream_writer.py:3384 pending_option[DO + COM_PORT_OPTION] = False
DEBUG fingerprinting.py:849 connection for server fingerprint 3368c85b2d113f3c
INFO client_base.py:122 Connection closed to
.. raw:: html