Page 1 of 1

[SOLVED] Discworld GMCP

Posted: Mon May 14, 2012 6:16 am
by chosig
I can't for my life get Mudlet to negotiate GMCP with Discworld (LP - FluffOS driver).

Mudlet gets GMCP up and running with IRE muds (checked).
Discworld sends GMCP - checked with Tintin++ and Tinyfugue.

Is it possible to enable superverbose output when run to a terminal to see exactly what's sent/received?

This is what's spat out to the terminal when running mudlet and connecting. I've tried all options that I can think of enable/disable MXP (both client and server side) etc.

Code: Select all

[gunnar@elite ~]$ mudlet
Object::connect: No such slot TLuaInterpreter::slotSelect(int,QString,int) in TLuaInterpreter.cpp:85
Object::connect: No such slot TLuaInterpreter::slotSelectSection(int,int,int) in TLuaInterpreter.cpp:86
Object::connect: No such slot TLuaInterpreter::slotSetFgColor(int,int,int,int) in TLuaInterpreter.cpp:90
Object::connect: No such slot TLuaInterpreter::slotSetBgColor(int,int,int,int) in TLuaInterpreter.cpp:91
RESTORING MAP 
auditExits runtime: 0 
statistics: areas: 0 
area exit stats: QMap() 
auditExits runtime: 0 
statistics: areas: 0 
area exit stats: QMap() 
Object::connect: No such slot TLuaInterpreter::slotSelect(int,QString,int) in TLuaInterpreter.cpp:85
Object::connect: No such slot TLuaInterpreter::slotSelectSection(int,int,int) in TLuaInterpreter.cpp:86
Object::connect: No such slot TLuaInterpreter::slotSetFgColor(int,int,int,int) in TLuaInterpreter.cpp:90
Object::connect: No such slot TLuaInterpreter::slotSetBgColor(int,int,int,int) in TLuaInterpreter.cpp:91
RESTORING MAP 
auditExits runtime: 0 
statistics: areas: 0 
area exit stats: QMap() 
auditExits runtime: 0 
statistics: areas: 0 
area exit stats: QMap() 
[LOADING PROFILE]: "/home/gunnar/.config/mudlet/profiles/Discworld/current//14-05-2012#08-02-12.xml" 
module flag: 0  importing:  "" 
[ERROR]: UNKNOWN Host Package Element:name= "" text: ";" 
[ERROR]: UNKNOWN Host Package Element:name= "commandSeperator" text: "" 
loading modules now 
OK we are willing to enable telnet option TERMINAL_TYPE
OK we are willing to enable telnet option NAWS
MCCP v2 negotiated!
SORRY, we are NOT WILLING to enable this telnet option.
TELNET IAC DO GMCP
server sends telnet option terminal type
checking mccp start seq...
MCCP version 1 starting sequence
-1,-6,86,-1,-16
server sends telnet option terminal type
x= 47  y= 80 
x= 122  y= 118 
x= 65  y= 21 
x= 110  y= 198 
x= 62  y= 210 

Re: Discworld GMCP

Posted: Mon May 14, 2012 8:03 am
by Heiko
I've set latest git to full verbose telnet mode. GMPC works fine on a number of different non ire MUDs also, so it's most likely some discworld issue here. Verify with Aardwolf, Materia Magica, Lithmeria etc..

Re: Discworld GMCP

Posted: Mon May 14, 2012 11:36 am
by chosig
Seems to be a Discworld issue, it's confirmed to work with Aardwolf.

Compiling latest git.

Re: Discworld GMCP

Posted: Mon May 14, 2012 11:54 am
by chosig
This is what I get with latest git:

Code: Select all

[gunnar@elite src]$ ./mudlet
Object::connect: No such slot TLuaInterpreter::slotSelect(int,QString,int)
Object::connect: No such slot TLuaInterpreter::slotSelectSection(int,int,int)
Object::connect: No such slot TLuaInterpreter::slotSetFgColor(int,int,int,int)
Object::connect: No such slot TLuaInterpreter::slotSetBgColor(int,int,int,int)
RESTORING MAP 
BUILD AREAS run time: 0 
auditExits runtime: 0 
statistics: areas: 0 
area exit stats: QMap() 
BUILD AREAS run time: 0 
auditExits runtime: 0 
statistics: areas: 0 
area exit stats: QMap() 
Loaded the font the file VeraMoBd.ttf
Loaded the font the file VeraMoBI.ttf
Loaded the font the file VeraMoIt.ttf
Loaded the font the file VeraMono.ttf
Object::connect: No such slot TLuaInterpreter::slotSelect(int,QString,int)
Object::connect: No such slot TLuaInterpreter::slotSelectSection(int,int,int)
Object::connect: No such slot TLuaInterpreter::slotSetFgColor(int,int,int,int)
Object::connect: No such slot TLuaInterpreter::slotSetBgColor(int,int,int,int)
RESTORING MAP 
BUILD AREAS run time: 0 
auditExits runtime: 0 
statistics: areas: 0 
area exit stats: QMap() 
BUILD AREAS run time: 0 
auditExits runtime: 0 
statistics: areas: 0 
area exit stats: QMap() 
[LOADING PROFILE]: "/home/gunnar/.config/mudlet/profiles/Discworld/current//14-05-2012#13-46-28.xml" 
module flag: 0  importing:  "" 
[ERROR]: UNKNOWN Host Package Element:name= "" text: ";" 
[ERROR]: UNKNOWN Host Package Element:name= "commandSeperator" text: "" 
reading package end 
ActionUnit::updateToolBar() 
CALLED!!! 
loading modules now 
CLIENT SENDING Telnet:  "WONT"   3 
SERVER send telnet signal: "DO"  +  24 
telnet: sever wants us to enable option:
server wants us to enable telnet option (TN_DO + )
OK we are willing to enable telnet option TERMINAL_TYPE
CLIENT SENDING Telnet:  "WILL"   24 
SERVER send telnet signal: "DO"  +  31 
telnet: sever wants us to enable option:
server wants us to enable telnet option (TN_DO + )
OK we are willing to enable telnet option NAWS
CLIENT SENDING Telnet:  "WILL"   31 
SERVER send telnet signal: "WILL"  +  86 
CLIENT SENDING Telnet:  "DO"   86 
MCCP v2 negotiated!
SERVER send telnet signal: "DO"  +  91 
telnet: sever wants us to enable option:[
CLIENT SENDING Telnet:  "WILL"   91 
SERVER send telnet signal: "WILL"  +  70 
CLIENT SENDING Telnet:  "DONT"   70 
SERVER send telnet signal: "WILL"  +  93 
CLIENT SENDING Telnet:  "DONT"   93 
SERVER send telnet signal: "DO"  +  39 
telnet: sever wants us to enable option:'
server wants us to enable telnet option '(TN_DO + ')
SORRY, we are NOT WILLING to enable this telnet option.
CLIENT SENDING Telnet:  "WONT"   39 
SERVER send telnet signal: "DO"  +  201 
telnet: sever wants us to enable option:
TELNET IAC DO GMCP
CLIENT SENDING Telnet:  "WILL"   201 
SERVER send telnet signal: "250"  +  24 
server sends telnet option terminal type
checking mccp start seq...
MCCP version 1 starting sequence
-1,-6,86,-1,-16
SERVER send telnet signal: "250"  +  91 
SERVER send telnet signal: "WILL"  +  1 
CLIENT SENDING Telnet:  "DO"   1 
SERVER send telnet signal: "249"  +  0 
cTelnet::processTelnetCommand() command = TN_GA
SERVER send telnet signal: "WONT"  +  1 
cTelnet::processTelnetCommand() TN_WONT command=
cTelnet::processTelnetCommand() we dont accept his option because we didnt want it to be enabled
CLIENT SENDING Telnet:  "DONT"   1 
SERVER send telnet signal: "249"  +  0 
cTelnet::processTelnetCommand() command = TN_GA
SERVER send telnet signal: "249"  +  0 
cTelnet::processTelnetCommand() command = TN_GA

Re: Discworld GMCP

Posted: Mon May 14, 2012 11:58 pm
by Daagar
Apparently this worked at one point in time, as I found an example script that makes use of it on their wiki: http://discworld.imaginary-realities.co ... ips#Mudlet

EDIT: Using the scripts provided at the link above, and chris' github fork of mudlet on a Win7 x64 system, GMCP seems to work fine.

Re: Discworld GMCP

Posted: Tue May 15, 2012 5:52 am
by chosig
Aha, thanks.
It seems like the "default" negotiation fails.
But if you make a script and register the event handler onConnect to it and put
Code: [show] | [select all] lua
sendGMCP("core.supports.set [\"Char.Vitals\"]")
in it GMCP is jumpstarted.

Re: [SOLVED] Discworld GMCP

Posted: Tue May 15, 2012 8:36 pm
by Vadi
We'll have to add that note to the wiki. Right now Mudlet only enables IRE-relevant modules:

Code: Select all

_h += "Core.Supports.Set [ \"Char 1\", \"Char.Skills 1\", \"Char.Items 1\", \"Room 1\", \"IRE.Composer 1\"]";
With everyone else getting GMCP (good), we can't make a list so the user should enable what they need.

Re: [SOLVED] Discworld GMCP

Posted: Tue May 15, 2012 8:57 pm
by Vadi
http://wiki.mudlet.org/w/Manual:Supported_Protocols

Can you check if using gmod.enableModule("aardwolf", "Char.Vitals") works for you? That would be the preferred Mudlet way.