|
|
 |
 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
|
Development::Database/World Building World Building forum, dedicated to the EQEmu MySQL Database. Post partial/complete databases for spawns, items, etc. |
 |
|
 |

12-09-2006, 04:10 PM
|
Developer
|
|
Join Date: Apr 2003
Posts: 589
|
|
Infinite Zoning Loop
FNW,
There is a problem at the zone in of Vex Thal that causes a player to go into an infinite loop zoning. I use to think it was a problem in the database, but after an exhaustive search, I have been able to rule this out as a possibility based on 2 facts.
1. This bug will happen in a naked vex thal zone (ie no mobs, no doors, no traps, etc).
2. This bug is random. I have seen this bug happen on the same database with the exact same datasets and then after a reboot of the client, I have seen the bug not appear and I am able to walk into vex thal from the zone in.
I noticed messages in my debug log that records an "Unsolicited zone request..." and after looking into the source code, I can see the logic where the client sends an UnsolicatedZone message to the server, the server is unable to determine the nearest zone point to send me out of (vex thal has no zone points records) so the server then attempts to send me right back to where the client was sending me from (vex thal) and then the client sends me back out again as an UnsolicatedZone message and the whole thing just keeps on repeating.
The question here is why is the client just deciding at random to send me out via an UnsolicatedZone request? I hope it's not anything funny hardcoded into the client that is specific to this zone.
I'd appreciate any thought you may have on this matter. Thank you in advance!
__________________
Read my developer notes at my blog.
Quote:
If it's not on IRC, it ain't l33t!
|
|
 |
|
 |
 |
|
 |

12-09-2006, 04:52 PM
|
Developer
|
|
Join Date: Apr 2003
Posts: 589
|
|
A little more info about this bug...
Until now I thought the zone the client wanted to zone me to was just random, but I have noticed that it isn't random at all. In fact, I think it is the result of the servers Zone::GetClosestZonePoint() method. I'm not sure I completely understand the details of the mechanics involved here, but I know when I zone into VexThal and the last zone I was in was Misty (I was in Misty on a #zone command so I was standing by the newbie guards on the far side of the zone near Clan Runnyeye (however it is spelled... I hate goblins), when I try to walk into vexthal from the zonein, the client at random will decide to zone me out and in this case it will say I am zoning to Clan Runnyeye... If I was in UP and standing near the Maidens Eye zone when I #zone to Vex Thal, then it will say I am being zones to Maidens Eye... I think this might be signficant only because the object used to by the server to calculate a place to send me to cancel the unsolicated zone request I believe has data from when I was in Misty even though when the client tried to unsolicate zone me out, I was in Vex Thal, not Misty.
Sorry if this sounds confusing and if I can clear any of this up better for you, please let me know.
__________________
Read my developer notes at my blog.
Quote:
If it's not on IRC, it ain't l33t!
|
Last edited by WildcardX; 12-10-2006 at 12:57 AM..
|
 |
|
 |

12-09-2006, 05:20 PM
|
Developer
|
|
Join Date: Apr 2003
Posts: 589
|
|
Even a little more info...
Once a player gets caught in this infinite zoning loop in vex thal, the player has no choice but to kill their client and restart EQ and log back in. Once they log back in, if they just keep going deeper into Vex Thal, they can, in effect, "camp out past" whatever the point is in the client that wants to send the unsolicited zone request.
And I can confirm the physical point in the zone where the client wants to send the Unsolicated Zone message is ALWAYS the same loc.
__________________
Read my developer notes at my blog.
Quote:
If it's not on IRC, it ain't l33t!
|
|

12-09-2006, 05:36 PM
|
Demi-God
|
|
Join Date: Jul 2006
Posts: 1,552
|
|
Fwiw, I was poking around The Nest one day and stepped off a cliff, and got into the same zone loop, had to kill the client to escape. Tried to make it happen again, and the second time I just fell to my death as expected. Couldn't reproduce, and didn't think to check logs at the time.
Letting you know I've seen it other than VT.
|

12-10-2006, 01:53 AM
|
Hill Giant
|
|
Join Date: Dec 2005
Location: Lurking in KY
Posts: 239
|
|
It's my weak theory that:
the error in VT is that most of the zoneins (default is at least) actually sets you behind their 'built-in' zoneline. so even when you are technically 'in ' the zone, movement still puts you into the space that the client tells the server you are attempting to zone. They might have specifically put 0, 0 location there to prevent anyone from useing the old zone viewer program to spoil the effects of the new 'big zone'.
Just in this case you are 'attempting' to zone into vex thal, and for some reason.. since you are already there, it errors out and cycles you over and over. I believe it is something about the code that requests current position vs. intended position. And since it is the same zone, it errors out for location.
But, thats just my weak theory with no support.
I wouldn't try to buy a newspaper with it.
|

12-10-2006, 01:38 PM
|
Sarnak
|
|
Join Date: Oct 2002
Posts: 53
|
|
That's most likely the problem.. question is - has anyone tried "tweaking" the zone in point to see if it corrects it?
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 08:43 PM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |