Tsinghua Xiyouji
Connection Banner:
Server URLs
- Telnet: telnet://xyj.thu.cn:6666
- Website: xyj.thu.cn
Server Info
Players online: 853 [1]
Uptime: 111 days
Server Location: 🇨🇳 China (GeoIP)
Encoding: gbk
This server uses a legacy encoding:
telnetlib3-client --encoding gbk --force-binary xyj.thu.cn 6666
Protocol Support
MUD-specific protocols detected via MSSP flags or Telnet negotiation.
MSSP: Yes (MSSP)
GMCP: Negotiated
MSDP: No
MCCP: No
MCCP2: Negotiated
MXP: No
MSP: Negotiated
MCP: No
ZMP: Negotiated
Telnet Fingerprint
This fingerprint is shared by 8 other servers.
Options requested from client: GMCP, MCCP2, MSP, MSSP, NAWS, NEW_ENVIRON, TTYPE, ZMP
The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata.
Show JSON
{
"server-probe": {
"fingerprint": "2582d677ba7e36e2",
"fingerprint-data": {
"offered-options": [],
"probed-protocol": "server",
"refused-options": [],
"requested-options": [
"GMCP",
"MCCP2",
"MSP",
"MSSP",
"NAWS",
"NEW_ENVIRON",
"TTYPE",
"ZMP"
],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": "\u001b[2J \u2642\u2640\u2642\u2640\u2642\u2640\u2642\u2640\u2642\u2640\u2642\u2640\u2642\u2640\u2642\u2640\u2642\u2640\u2642\u2640\u2642\u2640\u2642\u2640\u2642\u001b[2;37;0m\r\n \u2640 \u2640\u001b[2;37;0m\r\n \u2642 \u001b[1;32m\u6639\u8694\u66ae\u001b[2;37;0m \u001b[1;33m\u7733 \u001b[1;31m\u9654\u69e8\u554b\u001b[2;37;0m \u2642\u001b[2;37;0m\r\n \u2640 \u2640\u001b[2;37;0m\r\n \u2642 \u001b[33m\udca3\udcc1 \udca3\u5441\u9d43\u9d9c\u7917\u8b11\u61af\udcf9 \udca3\u7a6c\udcef \udca3\u7a6c\u92c6\udce5 \udca3\u86c5\u61af\u97b6\udcf4\u001b[2;37;0m \u2642\u001b[2;37;0m\r\n \u2640 \u2640\u001b[2;37;0m\r\n \u2642\u2640\u2642\u2640\u2642\u2640\u2642\u2640\u2642\u2640\u2642\u2640\u2642\u2640\u2642\u2640\u2642\u2640\u2642\u2640\u2642\u2640\u2642\u2640\u2642\u001b[2;37;0m\r\n \r\n \u6639\u8694\u66ae\u62f5\u5447\u886a\u9817\u5533\udcc8\u4f6f\u9f7e\udcd0\r\n XYJ 2000, Copyright 1996-2000 by Xi You Ji Inc.\r\n\r\n \u001b[1;32m\u6bde\u7af7\u93dd\u311b\u5213\u9628\u6347\u311b\u90f3\u7e5e\u5cc8\u5b34\u8ff6\u5cc8\u8c6a\ufe5d\u001b[2;37;0m\r\n \u001b[1;32m\udcc8\u8813\u51bc\u5e89\u73d7\u66bb\u5e24\u5fd9\u70ac\u5f78\u3065\u8c71\u767e\u0451\u74de\u7277\udca3\u001b[2;37;0m\r\n \u9654\udcc8\u4f6a\u597f\u5a35\u774e\u9bbf\u6bbf\u7e15\u70c5iz rjdwmbtq\u9370\udcc8\udca13\u8438\u6bde\u8463\u751c\u8983\u6dd5\u6bde\u8463\r\n\r\n \u001b[1;31m xyj.thu.cn 6666\u001b[2;37;0m\r\n 220.181.69.181 6666 (\u8407\u9653)\r\n 166.111.5.220 6666 (\u8ad2\u90e4\u5399)\r\n\t\t 175.100.207.215 6666 (\u6f06\u4fcb)\r\n\r\n\u001b[1;32m\u639b\u8694\u7241\u7b1d\u65efQQ\udcc8\udcba34048832,\u8fa3\u8329\u6e6e\u6a21\u8a91\u7708\u8760\u971c\ufe5d\u001b[2;37;0m\r\n \r\n\r\n\u6639\u8694\u7712\u51aa\u580d\u4ff4\u8cf8\u73e8\u5543\u73e8\u574b\u73e8\u6bde\u5abc\u574b\u82e4\u5940\u73e8\u7166\u574b\u73e8\u93c3\ufe5d\r\n\u91b4\u30f6\u50d5\u88440\u5f07\u62f5\u5447\ufe5c851\u5f07\u4fd9\u6a21\u5a53\u76c4\u597b\u311b\u7715\u646f27\u5f07\u5a53\u90ed\u5f78\u87c0\u76c4\ufe5d\r\n\r\n\u7256\u887e\u609d\u6c5c\u8154\u7fcb\u7301\udcc8\u6044\u9bd3\u0438\u5f77\u9664\u70b3\u61c8\u6058\u6b47\u9059\u52e6\u4ff3\u4ff4\u00d7\u5e8a\udcfa\u61c2\u4fd9\ufe5d\r\n\u881f\u5c86\u7601\u5c86\u7b22\u82e4\u609d\u609d\u6c5c\u9ebc\u721b\u9375\u8f09\u82e4\u02cb(yes/no)\r\n\u7591\u311b\u88d2\u8e21\udcc8\u7531\u5f77\u5047\u6200\u043c\udcfd\u800b\u71f4\ufe5d\r\n",
"banner_before_return": "\r\n @ @ @ @ @ \r\n @ @ @@ @@ @@ @@@@@@@@ \r\n @@@@@@@@@@@@@@@ @@ @ @@@@@ @@ @@ \r\n @@ @@ @ @@@@@@@ @ @@ \r\n @@ @@ @@ @ @ @ @@ \r\n @ @@ @@ @ @ @ @ @@@@@ @@@@@ @@ \r\n @@@@@@@@@@@@@@ @@ @ @ @ @@ @@ @@@@@@@ \r\n @@ @@ @@ @@ @ @ @@@@@ @@ @@ @@ @ \r\n @@ @@ @@ @@ @ @ @@ @ @@ @@ \r\n @@ @@ @@@@@@ @ @ @@ @@ @@ @@ \r\n @@ @@ @@@@@ @@@ @ @@@@@@@@ @@ @@ \r\n @@@ @@ @@ @ @@ @@ @@ @@@ \r\n @@ @@ @@ @@ @@ @@ @@@ @@ @ \r\n @@@@@@@@@@@@@ @@ @ @@ @@ @@@ @@ @ \r\n @@ @@ @@ @ @@@ @@@ @ @@@@@@@@@\r\n @ @ @ @ @ @ @@@@@@@ \r\n\r\n\r\n \u6639\u8694\u66ae\u8fa3\u8329\u881f\u61c2\u6ebc\u3110\u598f\u869a\u5f0a\u6893\u93a2\u8154\u4fd9\u6a21\u2462\u7469\udcc8\u8af4\u69abb\r\n \u897f\u6e38\u8a18\u6b61\u60a8\u4f86\u8a2a\u4f7f\u7528\u4e94\u78bc\u5bb6\u8acb\u9375big5\r\n\r\n [If there is no response after ENTER, please try Ctrl-ENTER]\r\n [\u6791\u5c28\u3129\udcc8\u875c\udcfb\u504cENTER\u7469\u7db4\u70b5\u82c0\u7fb6\u8844\u7812\u833c\u311b\u2462\u5f78 Ctrl-ENTER]\r\n\r\n Welcome to Xi You Ji! Select GB or BIG5 (gb/big5):",
"dsr_replies": 0,
"dsr_requests": 0,
"encoding": "big5",
"mssp": {
"NAME": "Tsinghua Xiyouji",
"PLAYERS": "853",
"UPTIME": "1765883316"
},
"option_states": {
"environ_requested": [
{
"name": "*",
"type": "VAR"
},
{
"name": "*",
"type": "USERVAR"
}
],
"server_offered": {
"AARDWOLF": false,
"ATCP": false,
"CHARSET": true,
"GMCP": true,
"MCCP2": true,
"MCCP3": false,
"MSDP": false,
"MSP": true,
"MSSP": true,
"MXP": false,
"ZMP": true
},
"server_requested": {
"AARDWOLF": false,
"ATCP": false,
"GMCP": true,
"MCCP2": true,
"MCCP3": false,
"MSDP": false,
"MSP": true,
"MSSP": true,
"MXP": false,
"NAWS": true,
"NEW_ENVIRON": true,
"TTYPE": true,
"ZMP": true
}
},
"scan_type": "quick",
"timing": {
"probe": 0.0,
"total": 12.761940479278564
}
}
},
"sessions": [
{
"connected": "2026-03-07T03:59:31.862500+00:00",
"host": "xyj.thu.cn",
"ip": "192.144.179.162",
"port": 6666
},
{
"connected": "2026-04-07T07:09:54.952188+00:00",
"host": "xyj.thu.cn",
"ip": "192.144.179.162",
"port": 6666
}
]
}
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
telnetlib3-fingerprint --loglevel=debug xyj.thu.cn 6666
Show Logfile
DEBUG client.py:1200 Fingerprint client: host=xyj.thu.cn port=6666
INFO client_base.py:190 Connected to <Peer 192.144.179.162 6666>
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 + MSSP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSSP
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 + 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 + 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 + ATCP] = True
DEBUG stream_writer.py:1024 send IAC WILL ATCP
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 + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC WILL MCCP3_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 + MSSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSSP
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 + 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 + 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 + ATCP] = True
DEBUG stream_writer.py:1024 send IAC DO ATCP
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 + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC DO MCCP3_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 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 MCCP2_COMPRESS
DEBUG stream_writer.py:2045 handle_will(MCCP2_COMPRESS)
DEBUG stream_writer.py:998 skip DO MCCP2_COMPRESS; pending_option = True
DEBUG stream_writer.py:3384 remote_option[MCCP2_COMPRESS] = True
DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = 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 MSP
DEBUG stream_writer.py:2045 handle_will(MSP)
DEBUG stream_writer.py:998 skip DO MSP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[MSP] = True
DEBUG stream_writer.py:3384 pending_option[DO + MSP] = False
DEBUG stream_writer.py:773 recv IAC DO GMCP
DEBUG stream_writer.py:1887 handle_do(GMCP)
DEBUG stream_writer.py:998 skip WILL GMCP; pending_option = True
DEBUG stream_writer.py:3384 local_option[GMCP] = True
DEBUG stream_writer.py:3384 pending_option[WILL + GMCP] = False
DEBUG stream_writer.py:773 recv IAC DO MSSP
DEBUG stream_writer.py:1887 handle_do(MSSP)
DEBUG stream_writer.py:998 skip WILL MSSP; pending_option = True
DEBUG stream_writer.py:3384 local_option[MSSP] = True
DEBUG stream_writer.py:3384 pending_option[WILL + MSSP] = False
DEBUG stream_writer.py:773 recv IAC DO ZMP
DEBUG stream_writer.py:1887 handle_do(ZMP)
DEBUG stream_writer.py:998 skip WILL ZMP; pending_option = True
DEBUG stream_writer.py:3384 local_option[ZMP] = True
DEBUG stream_writer.py:3384 pending_option[WILL + ZMP] = 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 DO MCCP2_COMPRESS
DEBUG stream_writer.py:1887 handle_do(MCCP2_COMPRESS)
DEBUG stream_writer.py:998 skip WILL MCCP2_COMPRESS; pending_option = True
DEBUG stream_writer.py:3384 local_option[MCCP2_COMPRESS] = True
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC DO MSP
DEBUG stream_writer.py:1887 handle_do(MSP)
DEBUG stream_writer.py:998 skip WILL MSP; pending_option = True
DEBUG stream_writer.py:3384 local_option[MSP] = True
DEBUG stream_writer.py:3384 pending_option[WILL + MSP] = 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 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 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 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 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': 'Tsinghua Xiyouji', 'PLAYERS': '853', 'UPTIME': '1765883316'}
DEBUG stream_writer.py:773 recv IAC WILL ZMP
DEBUG stream_writer.py:2045 handle_will(ZMP)
DEBUG stream_writer.py:998 skip DO ZMP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[ZMP] = True
DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = 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: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:483 MCCP2 decompression started (server→client)
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 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 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 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: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 client_base.py:531 negotiation complete after 0.70s.
DEBUG stream_writer.py:1451 IAC GA: Go-Ahead (unhandled).
DEBUG client_base.py:93 EOF from server, closing.
INFO client_base.py:122 Connection closed to <Peer 192.144.179.162 6666>
DEBUG fingerprinting.py:849 connection for server fingerprint 2582d677ba7e36e2