game.labmud.com
Connection Banner:
Server URLs
- Telnet: telnet://game.labmud.com:4000
- Website: https://discord.gg/MZpPcZF
Server Info
Server Location: 🇺🇸 United States (GeoIP)
Protocol Support
MUD-specific protocols detected via MSSP flags or Telnet negotiation.
MSSP: Negotiated
GMCP: Negotiated
MSDP: Negotiated
MCCP: No
MCCP2: Negotiated
MXP: Negotiated
MSP: Negotiated
MCP: No
ZMP: Negotiated
Telnet Fingerprint
This fingerprint is unique to this server.
Options offered by server: AARDWOLF, ATCP, GMCP, MCCP2, MSDP, MSP, MSSP, MXP, ZMP
Options requested from client: AARDWOLF, ATCP, GMCP, MCCP2, MCCP3, MSDP, MSP, MSSP, MXP, ZMP
The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata.
Show JSON
{
"server-probe": {
"fingerprint": "b6322f15b1373772",
"fingerprint-data": {
"offered-options": [
"AARDWOLF",
"ATCP",
"GMCP",
"MCCP2",
"MSDP",
"MSP",
"MSSP",
"MXP",
"ZMP"
],
"probed-protocol": "server",
"refused-options": [
"BINARY",
"CHARSET",
"COM_PORT",
"ECHO",
"EOR",
"MCCP3",
"SGA",
"STATUS"
],
"requested-options": [
"AARDWOLF",
"ATCP",
"GMCP",
"MCCP2",
"MCCP3",
"MSDP",
"MSP",
"MSSP",
"MXP",
"ZMP"
],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": " ____.----. LabMUD - Phase 1\n ____.----' \\ Powered by the FutureMUD Engine v1.55.0.0000\n \\ \\ Copyright 2008-2026\n \\ \\\n \\ \\ \n \\ ____.----'`--.__ \n \\___.----' | `--.____ Join us on discord!\n /`-._ | __.-' \\ https://discord.gg/MZpPcZF\n / `-._ ___.---' \\ \n / `-.____.---' \\\n / / | \\ \\\n / / | \\ _.--'\n `-. / | \\ __.--'\n `-._ / | \\ __.--' | Select an Option:\n | `-./ | \\_.-' | C) Create a new account\n | | | L) Login to your account\n | | | R) Recover a lost account\n | | |\n | | |\n | | | \n | | |\n _______| | |_______________\n `-. | _.-'\n `-. | __..--'\n `-. | __.-'\n `-|__.--' \r\n\u0000",
"banner_before_return": "\u0000 ____.----. LabMUD - Phase 1\n ____.----' \\ Powered by the FutureMUD Engine v1.55.0.0000\n \\ \\ Copyright 2008-2026\n \\ \\\n \\ \\ \n \\ ____.----'`--.__ \n \\___.----' | `--.____ Join us on discord!\n /`-._ | __.-' \\ https://discord.gg/MZpPcZF\n / `-._ ___.---' \\ \n / `-.____.---' \\\n / / | \\ \\\n / / | \\ _.--'\n `-. / | \\ __.--'\n `-._ / | \\ __.--' | Select an Option:\n | `-./ | \\_.-' | C) Create a new account\n | | | L) Login to your account\n | | | R) Recover a lost account\n | | |\n | | |\n | | | \n | | |\n _______| | |_______________\n `-. | _.-'\n `-. | __..--'\n `-. | __.-'\n `-|__.--' \u0000",
"dsr_replies": 0,
"dsr_requests": 0,
"encoding": "utf-8",
"option_states": {
"server_offered": {
"AARDWOLF": true,
"ATCP": true,
"GMCP": true,
"MCCP2": true,
"MCCP3": false,
"MSDP": true,
"MSP": true,
"MSSP": true,
"MXP": true,
"ZMP": true
},
"server_requested": {
"AARDWOLF": true,
"ATCP": true,
"GMCP": true,
"MCCP2": true,
"MCCP3": true,
"MSDP": true,
"MSP": true,
"MSSP": true,
"MXP": true,
"ZMP": true
}
},
"scan_type": "quick",
"timing": {
"probe": 0.503401517868042,
"total": 11.344048023223877
}
}
},
"sessions": [
{
"connected": "2026-04-07T06:49:32.908741+00:00",
"host": "game.labmud.com",
"ip": "34.216.97.238",
"port": 4000
}
]
}
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 game.labmud.com 4000
Show Logfile
DEBUG client.py:1200 Fingerprint client: host=game.labmud.com port=4000
INFO client_base.py:190 Connected to <Peer 34.216.97.238 4000>
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 + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC WILL AARDWOLF
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 + 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 + 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 + MSDP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSDP
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[DO + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC DO MCCP3_COMPRESS
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 + 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 + 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 + 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 + MSDP] = True
DEBUG stream_writer.py:1024 send IAC DO MSDP
DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSSP
DEBUG stream_writer.py:773 recv IAC WILL MXP
DEBUG stream_writer.py:2045 handle_will(MXP)
DEBUG stream_writer.py:998 skip DO MXP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[MXP] = True
DEBUG stream_writer.py:3384 pending_option[DO + MXP] = False
DEBUG stream_writer.py:1451 IAC GA: Go-Ahead (unhandled).
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 WILL AARDWOLF
DEBUG stream_writer.py:2045 handle_will(AARDWOLF)
DEBUG stream_writer.py:998 skip DO AARDWOLF; pending_option = True
DEBUG stream_writer.py:3384 remote_option[AARDWOLF] = True
DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = False
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 WILL MXP
DEBUG stream_writer.py:789 WILL MXP unsolicited
DEBUG stream_writer.py:2045 handle_will(MXP)
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:773 recv IAC WILL ATCP
DEBUG stream_writer.py:2045 handle_will(ATCP)
DEBUG stream_writer.py:998 skip DO ATCP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[ATCP] = True
DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = 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 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 WILL MSDP
DEBUG stream_writer.py:2045 handle_will(MSDP)
DEBUG stream_writer.py:998 skip DO MSDP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[MSDP] = True
DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = 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 DO MCCP3_COMPRESS
DEBUG stream_writer.py:1887 handle_do(MCCP3_COMPRESS)
DEBUG stream_writer.py:998 skip WILL MCCP3_COMPRESS; pending_option = True
DEBUG stream_writer.py:3384 local_option[MCCP3_COMPRESS] = True
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC DO AARDWOLF
DEBUG stream_writer.py:1887 handle_do(AARDWOLF)
DEBUG stream_writer.py:998 skip WILL AARDWOLF; pending_option = True
DEBUG stream_writer.py:3384 local_option[AARDWOLF] = True
DEBUG stream_writer.py:3384 pending_option[WILL + AARDWOLF] = 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 DO MXP
DEBUG stream_writer.py:1887 handle_do(MXP)
DEBUG stream_writer.py:998 skip WILL MXP; pending_option = True
DEBUG stream_writer.py:3384 local_option[MXP] = True
DEBUG stream_writer.py:3384 pending_option[WILL + MXP] = 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 ATCP
DEBUG stream_writer.py:1887 handle_do(ATCP)
DEBUG stream_writer.py:998 skip WILL ATCP; pending_option = True
DEBUG stream_writer.py:3384 local_option[ATCP] = True
DEBUG stream_writer.py:3384 pending_option[WILL + ATCP] = 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 DO MSDP
DEBUG stream_writer.py:1887 handle_do(MSDP)
DEBUG stream_writer.py:998 skip WILL MSDP; pending_option = True
DEBUG stream_writer.py:3384 local_option[MSDP] = True
DEBUG stream_writer.py:3384 pending_option[WILL + MSDP] = 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 client_base.py:531 negotiation complete after 0.18s.
DEBUG stream_writer.py:1451 IAC GA: Go-Ahead (unhandled).
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 + SGA] = True
DEBUG stream_writer.py:1024 send IAC DO SGA
DEBUG stream_writer.py:3384 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:1024 send IAC DO ECHO
DEBUG stream_writer.py:3384 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:1024 send IAC DO STATUS
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
INFO fingerprinting.py:840 new server fingerprint b6322f15b1373772
INFO client_base.py:122 Connection closed to <Peer 34.216.97.238 4000>