Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #16  
Old 07-14-2015, 07:56 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Now this is me zoning. The player in question was a guide, I know for a fact he uses Underfoot like I do. So it was bypassing the zone line and trying to send him to the old Highpass, although he has Underfoot and no Highpass exist.

Code:
[07-14-2015 :: 18:55:17] Zoning 'Provocating' to: highpasshold (407) - (0) x=-318.170013, y=-108.790001, z=-21.420000
I had him repeat the same action later and it did not duplicate itself. This has been a highly random occurrence. I will have a player spend hours around Highpasshold and not have an issue, then later they get in a zoning loop.
Reply With Quote
  #17  
Old 07-15-2015, 03:21 AM
Nightrider84's Avatar
Nightrider84
Discordant
 
Join Date: Aug 2010
Location: Colorado
Posts: 410
Default

Yeah the issue lies with it being hard coded to the titanium client. The looping issue is usually when a player with an incompatible client like UF tries to zone into it or you force zone them like with a GM command or a proximity porter. That is the last zone in my list of zones to convert back to Classic. If you change the info in the DB to point players to zone into classic that dont have Titanium even if they take the zone files for the new zone out it just crashes the client. Thats about all the info I have, if you find a way around it please share.
Reply With Quote
  #18  
Old 07-15-2015, 06:55 AM
joligario's Avatar
joligario
Developer
 
Join Date: Mar 2003
Posts: 1,490
Default

Mixture of everything above. Hard coded lines, zoneline numbers, and highpass vs highpasshold zones, etc. There used to be a bypass to the valid zone request check in the source, but I think I removed that years ago when fixing warp/zone detection. The only fallout to this was the random looping which hasn't been narrowed down (obviously). I'm not able to dig in to find the old lines, but you can always add that bypass back into the source.
Reply With Quote
  #19  
Old 07-15-2015, 08:11 AM
knowom's Avatar
knowom
Discordant
 
Join Date: Jun 2006
Posts: 371
Default

Those hard coded zone line loops really suck there are a few others as well if I remember split paw was another. You can manually change the players X, Y, Z and zone info to revert them to another zone manually in SQL DB. It doesn't fix the actual root problem though however.

I'm not sure if maybe extracting the .obj within the s3d version of it with the other could work or not. I had tried some other things like renaming file versions and swapping them, but didn't try anything quite that extreme and involved that involved other programs.
__________________
"We are all on the same team, and I think not enough people realize this."
- Leetsauce
Reply With Quote
  #20  
Old 07-15-2015, 08:34 AM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Well I am going to try this and see if it works. If it does not I very well be doing what Joligario recommended. That was my next step. I know it is not a huge ordeal but since every server seems to have multiple threads in their forum "stuck in a highpass zoning loop", I would like to at find a fix that works.
Reply With Quote
  #21  
Old 07-15-2015, 11:04 AM
Nightrider84's Avatar
Nightrider84
Discordant
 
Join Date: Aug 2010
Location: Colorado
Posts: 410
Default

I wrote a guide for the lavastorm and neriak zones, you might use that as a reference when pointing people to the zone. If you manage to fix it send me a message I would really like classic back in my server.
Reply With Quote
  #22  
Old 07-15-2015, 12:44 PM
N0ctrnl's Avatar
N0ctrnl
Discordant
 
Join Date: Jan 2007
Posts: 443
Default

Make sure you look at the highkeep -> highpasshold zoneline if using the new one. I actually had to pull the highkeep zone files out of the SoF client (I think it was SoF anyway) to get highkeep working with highpasshold. The geometry of the zone is still exactly the same, but the zone point to the new HH seems to only work from the updated highkeep file.

On a side note, all these hard-coded zonelines suck. I spent a lot of time getting that all lined out and don't even support the Titanium client now as a result. Just a lot less headache to worry about Titanium doing it different than all the rest.
Reply With Quote
  #23  
Old 08-12-2015, 09:50 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Wow, now this got really, really strange. I have no zone lines, not trusting them anymore for this zone. Everything seemed fine and then it got strange. Here is a script for an invis NPC.

Code:
function event_spawn(e)
	local xloc = e.self:GetX();
	local yloc = e.self:GetY();
	local zloc = e.self:GetZ();
	eq.set_proximity(xloc - 20, xloc + 20, yloc - 20, yloc + 20);
end

function event_enter(e)
	if (e.other:GetClientVersionBit() <= 2) then -- #062/Titanium
		e.other:MovePC(5, 105, 63, 3.75, 128); -- Highpass
	else
		e.other:MovePC(407, -314, -113.79, -21.42, 160); -- Highpasshold
	end
end
zone-dynamic_16.log:ESC[33m[Status] Zoning 'John' to: highpasshold (407) - (0) x=-314.000000, y=-113.790001, z=-21.420000ESC[0m
zone-dynamic_19.log:ESC[33m[Status] Zoning 'John' to: northkarana (13) - (0) x=-314.000000, y=-113.790001, z=-21.420000ESC[0m
zone-dynamic_13.log:ESC[33m[Status] Zoning 'John' to: northkarana (13) - (0) x=-314.000000, y=-113.790001, z=-21.420000ESC[0m
zone-dynamic_13.log:ESC[33m[Status] Zoning 'John' to: beholder (16) - (0) x=-314.000000, y=-113.790001, z=-21.420000ESC[0m

So suddenly this poor player starts going to North Karana and Beholder when the script is telling him to go to 407? Notice all of the X Y Z coordinates are the same.
Reply With Quote
  #24  
Old 08-12-2015, 11:41 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Well a rather smart player figured out the combination of things. He was in East Karana and died, but was bound in HighKeep. If East Karana was the last zone you were in and zone out of HighKeep you will end up in an odd zone. I tried this myself and can repeat it every single time.
Reply With Quote
  #25  
Old 08-13-2015, 08:49 AM
N0ctrnl's Avatar
N0ctrnl
Discordant
 
Join Date: Jan 2007
Posts: 443
Default

I never could make it work quite right and just replaced highpass with highpasshold.
Reply With Quote
  #26  
Old 08-13-2015, 10:25 AM
Nightrider84's Avatar
Nightrider84
Discordant
 
Join Date: Aug 2010
Location: Colorado
Posts: 410
Default

Yeah it's because its hard coded into the client, So unless you fix the clients server side and have a patch system to patch client's that connect, I don't see any other way to fix it. Currently (that I know of) the only way to access old highpass is through Titanium Client.
Reply With Quote
  #27  
Old 01-23-2016, 05:11 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

This thread is not old enough to call this being necro'd but I wanted to add to this. This is not totally an issue with using the old High Keep. This is more complicated and really seems to be an issue with HighPassHold. This is a sure fire way to repeat it.

Go to HighKeep and bind there.
#zone eastkarana
gate back to HighKeep
Now zone into HighPassHold
Now zone back to HighKeep

You will either go into an unrelated zone or a zoning loop. I say it is not totally related to HighKeep because I have personally logged in at Kithicor and zoned into HighPassHold and ended up in Gorge of King Zorb. I have had others end up in Rivervale. I had someone last night zone from Kithicor to HighPassHold and ended up in Zone 5 which is HighPass. Since you cannot go there with Titanium he had to move his character.

I know this has to do with Unsolicited Zoning so I have added some log.out output to help diagnose it down. I am just recording this information here for reference until the problem is resolved.

Before I added the extra debugging I did have some entries in my query server, here is one from last night.

Code:
Zoning :: zoneid:5 instid:0 x:91.00 y:-979.00 z:4.00 h:14.00 zonemode:4 from zoneid:20 instid:0
You will see they were in Kithicor and zoning to HighPassHold but the server pushed them to zone 5, Unsolicited. Now myself, I have tried to repeat what the player did last night and I zone perfect. It is some combination of things that causes this.
Reply With Quote
  #28  
Old 01-23-2016, 06:23 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Any way to get a packet dump?


Take a look at this: https://github.com/EQEmu/Server/blob...zoning.cpp#L87

'GetClosestZonePointWithoutZone()' does check for client version..but, it is possible that something is wrong with the process - or the player's client..wouldn't be the first time.


It does sound like a hard-coded zone-line issue..but, that's just a guess based on the infomation so far.


EDIT: Did this player 'replace' zone files for these zones?
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #29  
Old 01-23-2016, 07:26 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Quote:
Originally Posted by Uleat View Post
EDIT: Did this player 'replace' zone files for these zones?
Definitely not. At the moment though, I am redirecting anyone with Titanium and higher to HighPassHold when they request HighPass in zoning.cpp
Reply With Quote
  #30  
Old 01-23-2016, 08:11 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

This is setup using an 'invis' npc with proximity and script handling?
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 04:52 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3