Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD Beta Forum
Urit
Novice


Joined: 23 Jun 2005
Posts: 32

PostPosted: Wed Oct 20, 2010 3:04 am   

[3.31 pro] GMCP being sent after normal data packet/Mapper panic
 
My mapper is freaking out and I figured out why. I'm playing Midkemia Online and Achaea. Same problem exists in both places. (IRE codebase.)

GMCP data is being sent AFTER the normal data packet. CMUD seems to expect it BEFORE the packet, thus causing huge problems.

Take a look at the example below:
Code:
Beneath a bird's nest.
You see exits leading northeast and north.
ÿúÉChar.Vitals { "hp": "1587", "maxhp": "1587", "ep": "232", "maxep": "234", "ap": "500", "maxap": "1000", "nl": "95", "string": "H:1587/1587 E:232/234 A:500/1000 NL:95/100 " }ÿð1587 health, 232 endurance xb A:50% -ÿïÿúÉRoom.Info { "num": 414, "name": "Beneath a bird's nest.", "area": "Elvandar Forest", "environment": "forest", "coords": "26,17,10,0", "map": "www.midkemiaonline.com/irex/maps/clientmap.php?map=26&building=0&level=0 22 17", "details": [  ], "exits": { "n": 415, "ne": 416 } }ÿð
You feel your eyelids drooping; a sure sign that you need sleep.
ÿúÉChar.Vitals { "hp": "1587", "maxhp": "1587", "ep": "234", "maxep": "234", "ap": "500", "maxap": "1000", "nl": "95", "string": "H:1587/1587 E:234/234 A:500/1000 NL:95/100 " }ÿð1587 health, 234 endurance xb A:50% -ÿïGerminating ferns.
A tree shrew darts around curiously, eyes scanning the ground for insects.
You see exits leading west, south, and northeast.
ÿúÉChar.Vitals { "hp": "1587", "maxhp": "1587", "ep": "232", "maxep": "234", "ap": "500", "maxap": "1000", "nl": "95", "string": "H:1587/1587 E:232/234 A:500/1000 NL:95/100 " }ÿð1587 health, 232 endurance xb A:50% -ÿï


This was captured from #debugfile. Note that only 1 GMCP data package appears to have been received. I've confirmed I'm actually getting 2 with Wireshark. It's like CMUD is expecting it before any other data, and is unsure how to handle it after. Note how the prompts have the GMCP data before the actual text, but the rooms seem to have the GMCP after. Should this be considered a CMUD bug or should I BUG it in game?
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Wed Oct 20, 2010 5:17 pm   
 
When CMUD receives a packet from the MUD, it does process any telnet options, including GMCP immediately before the rest of the data is parsed and sent to the screen. So yes, CMUD expects GMCP to be executed before the regular text is processed.

However, network packet boundaries can change depending upon your specific network configuration or ISP configuration. The MUD itself *is* sending the data as a single packet, and whey I play Achaea here, I see it all in a single packet and it works fine. Some something (probably out of your control) is splitting the packets from Achaea on your specific network connection.

Now, this normally shouldn't be a problem unless you are running some other triggers or something. So you'll need to explain more about exactly what problem this is causing for you. Because unfortunately there is probably little that you can do to fix the network packet issue, so we'll need to find a different work around for what you are trying to do.
Reply with quote
Urit
Novice


Joined: 23 Jun 2005
Posts: 32

PostPosted: Wed Oct 20, 2010 7:22 pm   
 
I think I may have found the problem.

MCCP was enabled on the default session (I recreated my pkg file for testing purposes) when I had GMCP turned on. GMCP + MCCP seems to = screwed up packet ordering. (Why is MCCP enabled at all on IRE MUDs? It leads to ANGUISH!)

I know it wasn't enabled on my original package file though, which doesn't really explain the issue, but I'll test it more when I get home.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Wed Oct 20, 2010 11:07 pm   
 
Hmm, that sounds more like a IRE game issue. I remember that IRE used to have problems if ATCP and MCCP were turned on at the same time. I wonder if that same problem happened with GMCP. I know that it was an issue with synchronizing the main data with the ATCP data, but they had fixed the ATCP problem.

MCCP is enabled all the time by default because when it works, it speeds up both the client and the server (less network data transfer).

I'll check with my contacts at IRE and see if this is something they can resolve, or if there is something different I need to do in CMUD. For now just turn off MCCP and see if that helps.
Reply with quote
Urit
Novice


Joined: 23 Jun 2005
Posts: 32

PostPosted: Thu Oct 21, 2010 5:49 am   
 
MCCP off = happy days at the fun time ranch. I think one of the default packages got corrupted too somehow. The secondary issue was that the directions "n" and "s" had no reversedir. If I looked at the Direction in English Directions they were specified, but if I did %reversedir(s) or (n) I got a null result. This is used in an autoconnect script I have for the rooms and, well, %roomlink(%roomvnum,null,target) fails pretty hard. I had no other directions and had never created any in this package, so it wasn't a case of my terrible code overriding the default.

I reinstalled CMUD totally and imported all my settings using Copy/Paste and everything seems to be cool.

Edit: Check out http://dl.dropbox.com/u/663476/IREStuff/debug.txt for what I mean. I did #debug with MCCP off, walked a couple rooms, echoed "MCCP ON" a few times, turned on MCCP, walked a few more rooms, turned it back off.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Tue Oct 26, 2010 8:09 pm   
 
Could you repeat your test and turn on the Raw Input/Output message in the Script Debugger and then repeat your capture of the debug.txt file with MCCP off and MCCP on so I can see the real raw packet data? Your debug.txt post above doesn't have the "i" message (raw input/output) included. Thanks.
Reply with quote
Urit
Novice


Joined: 23 Jun 2005
Posts: 32

PostPosted: Fri Oct 29, 2010 4:04 am   
 
This appears to be a bug in the MUD. They fixed it and all is happy now. Close as resolved please.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Fri Oct 29, 2010 5:15 pm   
 
Hmm, that's interesting. I've been in discussion with the IRE MUD coders about this and when they looked into it, they couldn't find a problem. Not sure how it got magically fixed.
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD Beta Forum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net