Adding GMCP to my MUD

Share your scripts and packages with other Mudlet users.
Post Reply
Jaren
Posts: 31
Joined: Sun Nov 17, 2013 1:55 pm

Adding GMCP to my MUD

Post by Jaren »

I have a small mud that I am trying to push a GUI package to the users with and I can't for the life of me get it to work. I followed this page https://wiki.mudlet.org/w/Manual:GMCP_Extensions page to the letter and even tried the example and it won't work. I have the mud sending this string as a test

Code: Select all

Client.GUI 1\nhttp://www.godwars2.org/download/mudlet/GW2_GUI.mpackage
And it does nothing. I have GMCP enabled in the settings and the allow server to install script package enabled.

Please help. This is driving me nutty.

User avatar
Vadi
Posts: 5035
Joined: Sat Mar 14, 2009 3:13 pm

Re: Adding GMCP to my MUD

Post by Vadi »

We can have a look at it for you! What's the address to test with?

Jaren
Posts: 31
Joined: Sun Nov 17, 2013 1:55 pm

Re: Adding GMCP to my MUD

Post by Jaren »

It's at clok.contrarium.net on port 4000. I have been doing some digging on this and I may not have properly initialized telnet negotiations for the string I am sending. I will get back to you if I still have problems after tinkering with it tonight. Thanks for the quick reply by the way.

Jirato
Posts: 3
Joined: Fri Jan 18, 2019 11:36 pm

Re: Adding GMCP to my MUD

Post by Jirato »

We didn't actually have any telnet negotiation to indicate that that was part of a GCMP command. I'm working on resolving it now, but pretty confident the reason why it didn't work was because it wasn't encapsulated between IAC SB GCMP and IAC SE GCMP.

User avatar
Vadi
Posts: 5035
Joined: Sat Mar 14, 2009 3:13 pm

Re: Adding GMCP to my MUD

Post by Vadi »

Yes, that would be it

Jirato
Posts: 3
Joined: Fri Jan 18, 2019 11:36 pm

Re: Adding GMCP to my MUD

Post by Jirato »

Got it working, though it's a bit of a dirty implementation, blindly sending the GCMP info out. The proper method would be to send IAC WILL GCMP upon client connection, wait for an IAC DO GCMP response, and then send it out. I'm stuck on step 2 (can't seem to parse the incoming data to recognize IAC DO GCMP). I suspect the MUD client is seeing it and sending the appropriate response, since we're able to push the Client.GUI package, but nothings catching when I try to parse the incoming data to trigger the push.

However, that's on my end and kinda beyond the scope of this place, so I'll work on it a bit. Thanks for the help y'all.

Edit: Yes, I know I typoed GMCP as GCMP like fifty billion times. Whoops.

valaria
Posts: 17
Joined: Tue Dec 22, 2009 11:27 pm

Re: Adding GMCP to my MUD

Post by valaria »

if I recall what Achaea did was it will IAC WILL GMCP, then a client will do IAC DO GMCP. then it is stored for that player who will log in eventually. once upon successful login, a server will send a GMCP information (in form of IAC SB GMCP .. IAC SE) of course you always can send the gmcp information right off the bat after client DO it.

as for the subnegotiation. it better to do IAC SB GMCP ... IAC SE. (not IAC SE GMCP at the end)

Jirato
Posts: 3
Joined: Fri Jan 18, 2019 11:36 pm

Re: Adding GMCP to my MUD

Post by Jirato »

Thanks for the tip about terminating sub negotiations with just IAC SE and not needing to send the protocol identifier again. I'll fix that.

Figured out why the handshake wasn't working and should have it fully functional tomorrow of not later tonight. My client of choice for testing (not Mudlet, that's Jaren) just doesnt send responses. Once we got him testing, we got the data we were expecting and the hello message. Looks like this will be fun to play around with, not only for automatically installing our CLOKgear package, but also some other cool features. Looking forward to figuring out this External.Discord bit.

Post Reply