Mudlet 2.1, Mudbot, and GMCP

bluebaleen
Posts: 48
Joined: Sun Feb 06, 2011 2:00 pm

Mudlet 2.1, Mudbot, and GMCP

Post by bluebaleen »

A question for you lovely Mudbot'ing folks …

I am running a freshly compiled version of MudBot v2.42 alongside Mudlet v2.1 and I've found that if I close my client and reconnect to the Mudbot server, GMCP stops working. It's not a problem if I start with a fresh login and actually enter my character's name and password.

This is particularly cumbersome if I've made a change to my system that requires a complete restart to take effect. I basically have to log out of the game, log back in, and re-def my character each time. Here is the error that I'm getting on the Mudlet side of things:

Lua error:[string "function getSkills()…"]:3: attempt to index field 'Char' (a nil value)

A friend suggested adding 'gmcp_login_as "none"' to my config.txt file but alas, the problem persists. Any thoughts on potential solutions to this problem are greatly appreciated!

User avatar
kevutian
Posts: 217
Joined: Fri Aug 20, 2010 8:18 pm
Location: United Kingdom
Contact:

Re: Mudlet 2.1, Mudbot, and GMCP

Post by kevutian »

This is a definite Mudbot problem here and it sounds like work needs doing to the source in order that it does not fail like this.

bluebaleen
Posts: 48
Joined: Sun Feb 06, 2011 2:00 pm

Re: Mudlet 2.1, Mudbot, and GMCP

Post by bluebaleen »

I posted this same question to the forums dedicated to the MUD that I play (Aetolia) and apparently this problem is specific to using Mudlet with Mudbot. Apparently other folks have verified that the problem does not occur with CMUD. Now that I think about it, this problem did not arise for me until I upgraded to Mudlet 2.1 from beta 2.0. Is there a chance that something was changed with the gmcp handling on Mudlet's side between these two versions?

User avatar
kevutian
Posts: 217
Joined: Fri Aug 20, 2010 8:18 pm
Location: United Kingdom
Contact:

Re: Mudlet 2.1, Mudbot, and GMCP

Post by kevutian »

I can assure you that Mudlet is not at fault here. 110%

Just because the problem is only evident when using Mudlet does -not- mean that the client is the source of the problem.

As for the upgrade statement, nothing to Mudlet's GMCP implementation was changed between 2.0 and 2.1 so far as I can recall, so not sure, sorry.

bluebaleen
Posts: 48
Joined: Sun Feb 06, 2011 2:00 pm

Re: Mudlet 2.1, Mudbot, and GMCP

Post by bluebaleen »

While I can appreciate your confidence in the Mudlet developer team, my goal here was not to find out who is at fault so much as to find a solution. The reality is that -something- changed on the Mudlet side of the equation that resulted in this problem. I know this as fact because if I use an older version of Mudlet with the same Mudbot software, the problem does not occur.

I recognize that the root of the problem may very well lie within the Mudbot source code, but the point of my post was to flesh out what changes have occurred between the 2.0 beta and 2.1 versions of Mudlet that could have brought this problem to the surface.

Heiko, any chance that you could chime in on this?

Thanks for your time and consideration.

User avatar
Heiko
Site Admin
Posts: 1548
Joined: Wed Mar 11, 2009 6:26 pm

Re: Mudlet 2.1, Mudbot, and GMCP

Post by Heiko »

The GMCP backend has not been changed for ages. However, there's been several changes to mudlet-lua in other words a Lua conveniance interface that makes some parts of the Mudlet C API more easily accessible. This part of Mudlet can be updated independently of the binary as it's Lua only. I suggest that you install the latest version of Mudlet and copy the mudlet-lua folder of your working Mudlet beta version. This is located in the install directory.

bluebaleen
Posts: 48
Joined: Sun Feb 06, 2011 2:00 pm

Re: Mudlet 2.1, Mudbot, and GMCP

Post by bluebaleen »

Heiko,

Thank you for the reply! I tried replacing my mudlet-lua folder with a copy from my older version of Mudlet as well as with a copy from the most updated version on github. Unfortunately, the problem still persists. I also went through the process of creating a new profile and re-installing my system to see what results this yielded. This did not remove the problem but it did unveil an interesting bit of information:

I get the exact same error as listed in my original post when I connect for the very first time with a new profile. This is due to the fact that GMCP is disabled by default when a new profile is created. What this tells me is that Mudlet is behaving as if GMCP is disabled when I reload the client and profile with the connection to the MUD kept alive by Mudbot.

Is it possible that in more recent versions of Mudlet that the software expects some sort of connection confirmation from the actual MUD before enabling GMCP for the profile? Were this true, this would explain why GMCP works when I connect for the first time by entering my character's name and password, but fails to work if I simply reload the client with the connection kept alive by Mudbot.

Thank you for your time and consideration.

Golem
Posts: 30
Joined: Thu Feb 07, 2013 6:46 pm

Re: Mudlet 2.1, Mudbot, and GMCP

Post by Golem »

Ah, the beautiful world of telnet protocols ;-)
I have no idea if it is in some way related or if it is a 100% bug, as this is more of a question for Heiko,
but one of the possible culprits could be this line:
https://github.com/Chris7/Mudlet2/blob/ ... t.cpp#L679
since it seems to enable ATCP whilst the comment suggest it should enable GMCP.
But that is just a wild guess...

Good luck with your problem.

User avatar
Heiko
Site Admin
Posts: 1548
Joined: Wed Mar 11, 2009 6:26 pm

Re: Mudlet 2.1, Mudbot, and GMCP

Post by Heiko »

bluebaleen wrote: (...) What this tells me is that Mudlet is behaving as if GMCP is disabled when I reload the client and profile with the connection to the MUD kept alive by Mudbot.

Is it possible that in more recent versions of Mudlet that the software expects some sort of connection confirmation from the actual MUD before enabling GMCP for the profile? Were this true, this would explain why GMCP works when I connect for the first time by entering my character's name and password, but fails to work if I simply reload the client with the connection kept alive by Mudbot.

Thank you for your time and consideration.
Mudbot needs to act exactly as a game server i. e. do proper gmcp telnet negotiations, otherwise Mudlet doesn't think that the server enabled GMCP, but this is pretty obvious and was never any different. This is something that should be trivial to fix in Mudbot. Right now Mudbot is probably just passing thru the original server to client protocol talk but it can't replicate it on its own without the server's help when it's keeping up the connection.

User avatar
Heiko
Site Admin
Posts: 1548
Joined: Wed Mar 11, 2009 6:26 pm

Re: Mudlet 2.1, Mudbot, and GMCP

Post by Heiko »

Golem wrote:(...)
No, you're completely off here :)

Post Reply