Cheeseworld
Connection Banner:
Server URLs
- Telnet: telnet://cheeseworld.wtf:3000
- Website: cheeseworld.wtf
Server Info
Codebase: FluffOS v2021 Nightmare 3 ish
Genre: Shenanigans
Gameplay: Adventure, Hack and Slash
Players online: 1 [1]
Uptime: 4 days
Created: 1996
Status: live
Server Location: 🇺🇸 North America (MSSP)
Language: ENGLISH
Protocol Support
MUD-specific protocols detected via MSSP flags or Telnet negotiation.
MSSP: Yes (MSSP)
GMCP: Yes (MSSP)
MSDP: No
MCCP: No
MCCP2: No
MXP: Negotiated
MSP: Negotiated
MCP: No
ZMP: Negotiated
Telnet Fingerprint
This fingerprint is unique to this server.
Options offered by server: CHARSET, ECHO, GMCP, MSP, MSSP, ZMP
Options requested from client: MXP, NAWS, NEW_ENVIRON, TTYPE
The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata.
Show JSON
{
"server-probe": {
"fingerprint": "82a8d53b26a1577c",
"fingerprint-data": {
"offered-options": [
"CHARSET",
"ECHO",
"GMCP",
"MSP",
"MSSP",
"ZMP"
],
"probed-protocol": "server",
"refused-options": [
"AARDWOLF",
"ATCP",
"BINARY",
"COM_PORT",
"EOR",
"MSDP",
"MXP",
"SGA",
"STATUS"
],
"requested-options": [
"MXP",
"NAWS",
"NEW_ENVIRON",
"TTYPE"
],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": "\r\nToday we`ll have your name in... French : \r\n is not a valid name choice for Cheeseworld.\r\nNames must be alphabetic characters no longer than 15 letters,\r\nand no less than 2 letters.\r\n\r\nPlease enter another name: ",
"banner_before_return": "\u001b[31m+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\r\n\u001b[1;33m ________ \u001b[0;37;40m \u001b[1m .-------------------------------------------.\u001b[0;37;40m\r\n\u001b[1;33m /|o o |\u001b[0;37;40m \u001b[1m| \u001b[31mC \u001b[33mh \u001b[32me \u001b[34me \u001b[35ms \u001b[31me \u001b[33mw \u001b[32mo \u001b[34mr \u001b[35ml \u001b[31md \u001b[37m|\u001b[0;37;40m\r\n\u001b[1;33m /o| o o |\u001b[0;37;40m \u001b[1m `-------------------------------------------'\u001b[0;37;40m\r\n\u001b[1;33m /o | o o|\u001b[0;37;40m\r\n\u001b[1;33m / o| o |\u001b[0;37;40m \u001b[1mSporks - Hecubus Cc Bayard Chewy\r\n\u001b[1;33m / o | o o o|\u001b[0;37;40m \r\n\u001b[1;33m /o o o| o o|\u001b[0;37;40m \u001b[1;33mFoons - Gerf Zucchini Mog\r\n\u001b[1;33m / o | o o |\u001b[0;37;40m\r\n\u001b[1;33m/o_o___o|_o___o_|\u001b[0;37;40m \u001b[1;32mCheeselords - Ghostwheel Mistik\r\n \u001b[1;32mFreg Nico Star Diavolo\u001b[0;37;40m\r\n \r\n\u001b[1mTelnet:\u001b[0;37;40m cheeseworld.wtf 3000 (3022 TLS)\r\n\u001b[1mURL:\u001b[0;37;40m https://cheeseworld.wtf\r\n\u001b[31m+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\u001b[0;37;40m\r\n\u001b[1;34mIt's Cheeseworld, Cheeseworld. Party time, Excellent. And so on.\r\n\u001b[1;34mHow the hell are you? You've found the finest mud money can buy, so\r\n\u001b[1;34mput your feet up, take a deep breath and prepare for the experience\r\n\u001b[1;34mof a lifetime.\r\n\u001b[1;34mWe'll even leave the Cheese out for you.\u001b[0;37;40m\r\n\u001b[31m+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\u001b[0;37;40m\r\n\r\n\r\nDriver: fluffos v2019.20220507-14-g801d7145 Mudlib: Nightmare/Cheeselib 3.3.2/2.0 AMCP 1.1 compliant\r\nSpeak Up : ",
"dsr_replies": 0,
"dsr_requests": 0,
"encoding": "UTF-8",
"mssp": {
"ACCEPTING BRIBES": "1",
"ANSI": "1",
"CODEBASE": "FluffOS v2021 Nightmare 3 ish",
"CONTACT": "unknown",
"CREATED": "1996",
"FAMILY ": "LPMUD",
"GAMEPLAY": "Adventure, Hack and Slash",
"GAMESYSTEM": "Custom D&D ish",
"GENRE": "Shenanigans",
"GMCP": "1",
"HIRING BUILDERS": "1",
"HIRING CODERS": "1",
"HOSTNAME": "cheeseworld.wtf",
"INTERMUD": "i3",
"LANGUAGE": "ENGLISH",
"LOCATION": "North America",
"MSP": "0",
"MXP": "0",
"NAME": "Cheeseworld",
"PAY FOR PERKS": "0",
"PAY TO PLAY": "0",
"PLAYERS": "1",
"PORT": "3000",
"SSL": "3022",
"STATUS": "live",
"SUBGENRE": "Cheese",
"UPTIME": "1770666523",
"UTF-8": "1",
"VT100": "0",
"XTERM 256 COLORS": "1"
},
"option_states": {
"environ_requested": [
{
"name": "*",
"type": "VAR"
},
{
"name": "*",
"type": "USERVAR"
}
],
"server_offered": {
"0x56": false,
"CHARSET": true,
"GMCP": true,
"MSP": true,
"MSSP": true
},
"server_requested": {
"MXP": true,
"NAWS": true,
"NEW_ENVIRON": true,
"TTYPE": true
}
},
"scan_type": "quick",
"timing": {
"probe": 0.3149247169494629,
"total": 4.971412658691406
}
}
},
"sessions": [
{
"connected": "2026-02-14T17:12:44.040906+00:00",
"host": "cheeseworld.wtf",
"ip": "44.224.50.189",
"port": 3000
}
]
}
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 cheeseworld.wtf 3000
Show Logfile
DEBUG client.py:965 Fingerprint client: host=cheeseworld.wtf port=3000
INFO client_base.py:175 Connected to <Peer 44.224.50.189 3000>
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 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 WILL MCCP2_COMPRESS
DEBUG stream_writer.py:723 WILL MCCP2_COMPRESS unsolicited
DEBUG stream_writer.py:1900 handle_will(MCCP2_COMPRESS)
DEBUG stream_writer.py:3174 remote_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:950 send IAC DONT MCCP2_COMPRESS
WARNING stream_writer.py:2008 Unhandled: WILL MCCP2_COMPRESS.
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 GMCP
DEBUG stream_writer.py:723 WILL GMCP unsolicited
DEBUG stream_writer.py:1900 handle_will(GMCP)
DEBUG stream_writer.py:3174 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:950 send IAC DO GMCP
DEBUG stream_writer.py:3174 remote_option[GMCP] = True
DEBUG stream_writer.py:3174 pending_option[DO + GMCP] = 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 CHARSET
DEBUG stream_writer.py:725 WILL CHARSET (bi-directional capability exchange)
DEBUG stream_writer.py:1900 handle_will(CHARSET)
DEBUG stream_writer.py:3174 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:950 send IAC DO CHARSET
DEBUG stream_writer.py:3174 remote_option[CHARSET] = True
DEBUG stream_writer.py:3174 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:707 recv IAC WILL MSP
DEBUG stream_writer.py:723 WILL MSP unsolicited
DEBUG stream_writer.py:1900 handle_will(MSP)
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = True
DEBUG stream_writer.py:950 send IAC DO MSP
DEBUG stream_writer.py:3174 remote_option[MSP] = True
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = 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 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: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: {'PLAYERS': '1', 'UPTIME': '1770666523', 'HIRING BUILDERS': '1', 'UTF-8': '1', 'CREATED':
'1996', 'PAY TO PLAY': '0', 'PAY FOR PERKS': '0', 'FAMILY ': 'LPMUD', 'ACCEPTING BRIBES': '1', 'NAME': 'Cheeseworld', 'PORT':
'3000', 'MSP': '0', 'GAMESYSTEM': 'Custom D&D ish', 'LOCATION': 'North America', 'STATUS': 'live', 'GMCP': '1', 'CODEBASE':
'FluffOS v2021 Nightmare 3 ish', 'MXP': '0', 'XTERM 256 COLORS': '1', 'INTERMUD': 'i3', 'HOSTNAME': 'cheeseworld.wtf', 'SSL':
'3022', 'GENRE': 'Shenanigans', 'GAMEPLAY': 'Adventure, Hack and Slash', 'LANGUAGE': 'ENGLISH', 'CONTACT': 'unknown', 'VT100':
'0', 'ANSI': '1', 'SUBGENRE': 'Cheese', 'HIRING CODERS': '1'}
DEBUG stream_writer.py:699 begin sub-negotiation SB CHARSET
DEBUG stream_writer.py:686 sub-negotiation cmd CHARSET SE completion byte
DEBUG stream_writer.py:2065 [SB + CHARSET] unsolicited
DEBUG client.py:304 encoding negotiated: UTF-8
DEBUG stream_writer.py:2149 send IAC SB CHARSET ACCEPTED UTF-8 IAC SE
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 + 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 + MSDP] = True
DEBUG stream_writer.py:950 send IAC DO MSDP
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 + ZMP] = True
DEBUG stream_writer.py:950 send IAC DO ZMP
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 WILL SGA
DEBUG stream_writer.py:1900 handle_will(SGA)
DEBUG stream_writer.py:924 skip DO SGA; pending_option = True
DEBUG stream_writer.py:3174 remote_option[SGA] = True
DEBUG stream_writer.py:3174 pending_option[DO + SGA] = 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:707 recv IAC WILL ECHO
DEBUG stream_writer.py:1900 handle_will(ECHO)
DEBUG stream_writer.py:924 skip DO ECHO; pending_option = True
DEBUG stream_writer.py:3174 remote_option[ECHO] = True
DEBUG stream_writer.py:3174 pending_option[DO + ECHO] = 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 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 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 MXP
DEBUG stream_writer.py:2025 handle_wont(MXP)
DEBUG stream_writer.py:3174 remote_option[MXP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = False
DEBUG stream_writer.py:707 recv IAC WILL ZMP
DEBUG stream_writer.py:1900 handle_will(ZMP)
DEBUG stream_writer.py:924 skip DO ZMP; pending_option = True
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 WONT AARDWOLF
DEBUG stream_writer.py:2025 handle_wont(AARDWOLF)
DEBUG stream_writer.py:3174 remote_option[AARDWOLF] = False
DEBUG stream_writer.py:3174 pending_option[DO + AARDWOLF] = False
DEBUG stream_writer.py:707 recv IAC WONT ATCP
DEBUG stream_writer.py:2025 handle_wont(ATCP)
DEBUG stream_writer.py:3174 remote_option[ATCP] = False
DEBUG stream_writer.py:3174 pending_option[DO + ATCP] = False
INFO fingerprinting.py:737 new server fingerprint 82a8d53b26a1577c
INFO client_base.py:106 Connection closed to <Peer 44.224.50.189 3000>