The following is the debugging output of just part of telnet negotiation between the server I am coding (mentioned in other threads under SMAUG), and MUSHclient. The string 'mushclient' is when responding to the query of if it WILL accept compressed responses from the server.
Server send IAC, WILL, COMPRESS2 (MCCP version 2)
MUSHclient respondes with the following:
Sun Nov 11 18:41:23 2007 :: [*****] BUG: ²V(3)
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 0
Sun Nov 11 18:41:23 2007 :: [*****] BUG: Type = 253, Command = 86
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 3
Sun Nov 11 18:41:23 2007 :: [*****] BUG: 0
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 4
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 4
Sun Nov 11 18:41:23 2007 :: [*****] BUG: m
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 5
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 5
Sun Nov 11 18:41:23 2007 :: [*****] BUG: u
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 6
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 6
Sun Nov 11 18:41:23 2007 :: [*****] BUG: s
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 7
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 7
Sun Nov 11 18:41:23 2007 :: [*****] BUG: h
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 8
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 8
Sun Nov 11 18:41:23 2007 :: [*****] BUG: c
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 9
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 9
Sun Nov 11 18:41:23 2007 :: [*****] BUG: l
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 10
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 10
Sun Nov 11 18:41:23 2007 :: [*****] BUG: i
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 11
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 11
Sun Nov 11 18:41:23 2007 :: [*****] BUG: e
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 12
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 12
Sun Nov 11 18:41:23 2007 :: [*****] BUG: n
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 13
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 13
Sun Nov 11 18:41:23 2007 :: [*****] BUG: t
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 14
Sun Nov 11 18:41:23 2007 :: [*****] BUG: Type = SE
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 16
It all boils down to MUSHclient responding with an affirmative to compression, but also sends either the client name or terminal type and terminates the IAC with SE. However, I'm pretty sure no negotiation (SB) should take place here. I'll go read the RFC again, but I think all MUSHclient should respond with is IAC DO COMPRESS2 then a NULL character.
Server send IAC, WILL, COMPRESS2 (MCCP version 2)
MUSHclient respondes with the following:
Sun Nov 11 18:41:23 2007 :: [*****] BUG: ²V(3)
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 0
Sun Nov 11 18:41:23 2007 :: [*****] BUG: Type = 253, Command = 86
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 3
Sun Nov 11 18:41:23 2007 :: [*****] BUG: 0
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 4
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 4
Sun Nov 11 18:41:23 2007 :: [*****] BUG: m
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 5
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 5
Sun Nov 11 18:41:23 2007 :: [*****] BUG: u
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 6
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 6
Sun Nov 11 18:41:23 2007 :: [*****] BUG: s
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 7
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 7
Sun Nov 11 18:41:23 2007 :: [*****] BUG: h
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 8
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 8
Sun Nov 11 18:41:23 2007 :: [*****] BUG: c
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 9
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 9
Sun Nov 11 18:41:23 2007 :: [*****] BUG: l
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 10
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 10
Sun Nov 11 18:41:23 2007 :: [*****] BUG: i
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 11
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 11
Sun Nov 11 18:41:23 2007 :: [*****] BUG: e
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 12
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 12
Sun Nov 11 18:41:23 2007 :: [*****] BUG: n
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 13
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 13
Sun Nov 11 18:41:23 2007 :: [*****] BUG: t
Sun Nov 11 18:41:23 2007 :: [*****] BUG: I = 14
Sun Nov 11 18:41:23 2007 :: [*****] BUG: Type = SE
Sun Nov 11 18:41:23 2007 :: [*****] BUG: J = 16
It all boils down to MUSHclient responding with an affirmative to compression, but also sends either the client name or terminal type and terminates the IAC with SE. However, I'm pretty sure no negotiation (SB) should take place here. I'll go read the RFC again, but I think all MUSHclient should respond with is IAC DO COMPRESS2 then a NULL character.