PDA

View Full Version : 0.6.0 Zone Bugs


Elkay
10-16-2004, 03:47 PM
I'm having problems zoning into some zones, haven't found a pattern yet but will post my findings once I narrow it down. At this point my first guess would be that the zones I have pathing defined in are the onces that are broken (client hangs, Zone.exe never actually crashes).

UPDATE: I was able to fix all of my dead zones by setting the pathgrid to 0 on all spawns that it was not. Any idea what's up with the pathing and if this is a known bug? Not sure if it's related but I do not have any map files, which had not been a problem up until now.

Something else that I just noticed is that my table definitions for grid are not the same as the latest barebones database. My database has the primary key as [id,zone] whereas the barebones database has a primary key of only [id]. My zone column is a smallint(4) unsigned, whereas the column in the barebones database is an int(11) unsigned. Not sure if this is related, but I do know that I cannot remove zone from my primary key as I do have ids that alone are not unique to that table.

UPDATE:

Ok, I think I've found the problem. I have quite a few spawns in the spawn2 table that for whatever the reason have a pathgrid defined that does not exist in the grid table. Putting together an SQL statement right now to try to set those all back to zero. I know this query will work, but MySQL is so damn slow with IN()... can someone provide a more optimized statement than:

UPDATE spawn2 SET pathgrid=0 WHERE pathgrid NOT IN(SELECT id FROM grid)

Nevermind.. that update took half a second to execute.. dunno why sometimes the IN() function works great and other times it runs like shit. Unfortunately, there is still something else wrong here. Whatever is crashing my client with pathing, was not crashing it with 5.7 - 5.9.

UPDATE:

I'm giving up. No matter what I do I can't get any kind of consistency with characters being able to zone, no matter what changes I'm making. Occasionally I can get into a zone, most times I almost get zoned and my client hangs at a black screen, but does not go linkdead until I finally end the eqgame.exe task. Zone.exe console output is as follows:

Bank items:
Shared Bank items:

[Error] HandlePacket() Opcode error: Unexpected packet during CLIENT_CONNECTING:
opcode: 0x037f, size: 0
[Error] HandlePacket() Opcode error: Unexpected packet during CLIENT_CONNECTING:
opcode: 0x0355, size: 4
Unknown opcode: 0x02e9 size:8 Client:Melo
0: 17 01 00 00 40 00 00 00 | ....@...
Unknown opcode: 0x02e9 size:8 Client:Melo
0: 17 01 00 00 80 00 00 00 | ........
Unknown opcode: 0x037b size:12 Client:Melo
0: 17 01 00 00 00 00 00 00 - 00 00 00 00 | ............
Unknown opcode: 0x01e5 size:8 Client:Melo
0: 0A 00 00 00 D2 3E 73 7D | .....>s}
Set group id on 'Melo' to 0
Client linkdead: Melo
Dropping client: Process=false, ip=192.168.1.103, port=2101
[Status] Zone Shutdown: podisease (205)

I am patched to EQLive, which ran fine up until now. The last thing I tried for tonight probably, and did work, was removing all the spawns from the zone (just doing a delete on spawn2 for that zone) and it let me in. I'll have to debug that later as I've been working on this and restoring databases so much that I can't see straight.

Elkay
10-17-2004, 06:21 PM
How many other people are experiencing this black screen on entering/zoning? I've spent 2 days straight now trying every possible database combination from clean peq with updates to my own custom dbs and no matter what I do, 9 times out of 10 I get a black screen locking my client when entering a zone if there are any npcs popped. If no npcs are popped I never get the problem. I can have the problem consistently but as soon as I delete all entries in the spawn table I can zone wherever I want lock-free. Even on clean PEQ installs with all the necessary updates I get the following on my zone console:

[Status] 457391 New client from ip:192.168.1.103 port:3475
Read group ID for 'Argh': 0
[Error] HandlePacket() Opcode error: Unexpected packet during CLIENT_CONNECTING:
opcode: 0x037f, size: 0
[Error] HandlePacket() Opcode error: Unexpected packet during CLIENT_CONNECTING:
opcode: 0x0355, size: 4
Unknown opcode: 0x01e5 size:8 Client:Argh
0: 0A 00 00 00 D2 3E 73 7D | .....>s}
Client linkdead: Argh
Dropping client: Process=false, ip=192.168.1.103, port=3475
[Status] Zone Shutdown: gfaydark (54)

I'm officially giving up at this point until DR2 because I can't believe it's a database problem anymore since I get this problem with both official compiles and clean PEQ db with the appropriate patches. 20 hours this weekend is too much time spent already.

RangerDown
10-18-2004, 01:58 AM
The primary key on the `grid` table should be (id,zoneid). The primary key on `grid_entries` should be (gridid,zoneid,number). If the primary key is wrong, this could allow duplicate grids or waypoints within the same zone that have the same id number, and the results are neither predictable nor supported.


I don't know who makes the structure for the barebones database, but they should correct this before the next release.

Elkay
10-18-2004, 12:52 PM
Well I too can also confirm that I have zero bsoz (black screen on zone, duh!) problems when I set any of the problem zones to be persistent. I tested, and tested, and tested it. So, somewhere in the handshaking between the server and the client on dynamic zone.exe's there is a problem. I can confirm that I am still having this issue with the current CVS as of 9:15PM EST tonight, and I just attempted a live patch as well and only my eqhost.txt file was replaced (expected).

Edgar1898
10-18-2004, 02:04 PM
Try making a backup of your grids and deleting the data from your grid tables and see if that totally fixes it.

sotonin
10-18-2004, 02:14 PM
We use all static zones on PEQ, that would explain why i never experience it...

Elkay
10-18-2004, 02:19 PM
Try making a backup of your grids and deleting the data from your grid tables and see if that totally fixes it.

Negative captain. Tried that over the weekend. The absolute only way to get rid of the problem is to have zero records in the spawn2 table for that zone. I've even tried setting every single npc in ncp_types to the exact same generic entries with every field 0 that is possible and name 'a' etc you get the point, and that didn't work, and that included removing all loot, all faction. It's something specific to there being a spawn in the zone and not a certain piece of data about that spawn. If you're testing it yourself, use gfaydark as your test as that's a definite problem zone.

Edgar1898
10-18-2004, 02:28 PM
heh I always use gfay as my test zone, in fact its the only zone I go into unless I am testing zoning or something. I have never had the bug either, but then again my zone is always static.

Elkay
10-18-2004, 02:31 PM
heh I always use gfay as my test zone, in fact its the only zone I go into unless I am testing zoning or something. I have never had the bug either, but then again my zone is always static.

Try letting it be dynamic and let me know, since I'm not the only one that has noticed that the problem never occurs on any zone loaded static.

Edgar1898
10-18-2004, 02:36 PM
can you describe exactly what is happening when your client locks up? Are you logging in from world and it just locks up after this:


[Error] HandlePacket() Opcode error: Unexpected packet during CLIENT_CONNECTING:
opcode: 0x037f, size: 0

zephyr325
10-18-2004, 02:48 PM
can you describe exactly what is happening when your client locks up? Are you logging in from world and it just locks up after this:


[Error] HandlePacket() Opcode error: Unexpected packet during CLIENT_CONNECTING:
opcode: 0x037f, size: 0

I get that error message when trying to enter the zone, followed by this:

Unknown opcode: 0x01e5 size:8 Client:Zump
0: 0A 00 00 00 D2 3E 73 7D | .....>s}
Setting stats for BL Pet for Race: 3
No pet type modifications defined for race: 3
Summoning BeastLord Pet: 43
Setting stats for BL Pet for Race: 1
No pet type modifications defined for race: 1
Summoning BeastLord Pet: 43
Setting stats for BL Pet for Race: 5
No pet type modifications defined for race: 5
Summoning BeastLord Pet: 43
Setting stats for BL Pet for Race: 1
No pet type modifications defined for race: 1
Summoning BeastLord Pet: 43

Note - I am NOT logging in with a Beastlord - I have tried this with a monk going into Queynos and Freeport as well as a Barb Shaman going into Halas.

govtcheeze
10-18-2004, 02:50 PM
I did not have any black screen problems until tonite. The one thing I did tonite that was different from the rest of my time playing was using the sharedbank.

I was then killing and went LD. Tried to log in 3 times, black screen all 3 times in sebilis. Did a movechar to neriakb, and was able to get in.

30 minutes later, killing again in sebilis and I had to kill eqgame.exe manually (not game related reason). When i tried to log in, black screen 2 times. I had IRC open, and noticed a message came up saying my character did a ping timeout.

Did a movechar to neriakb, and black screen. Exit out of eq, and now when I try to go back in a get "an unknown error occured trying to connect to server" (or something similar). I restarted, and still get the error message. I am now unable to log in, even after waiting well over the eq timeout period.

Not sure if any of this helps, but thats what I observed this evening regarding this problem.

Elkay
10-18-2004, 03:02 PM
Funny.. I was about to say neriakc is my 'safe zone' to move chars too. And Ed, to answer your question, from char select, I say enter world, get the loading screen, bar completes, screen goes black as if I'm about to enter the zone, then that's it.. I see nothing else, and funny enough, the char select music keeps playing, yet if I look at my zone.exe, it says 1 client in zone. So zone.exe thinks I'm in the zone, but my client is still 'finishing zoning' for lack of a better term. I don't even get a character LD message until I actually end task on my client.

govtcheeze
10-18-2004, 03:08 PM
Oh yea, when it happens my mp3s start playing, and my CPU on the laptop shoots to 100% (its usually around 10% when playing). Its almost as if the character is really in game, but the client does not know this and keeps trying to load. It would be interesting to have someone else zone in watch your character while trying to move around, sit/stand, etc. I have a feeling the charatcer will respond. I also think this happens, because the first time it happened I am pretty sure I died, as when I came back all my buffs were gone.

zephyr325
10-18-2004, 03:08 PM
Funny.. I was about to say neriakc is my 'safe zone' to move chars too. And Ed, to answer your question, from char select, I say enter world, get the loading screen, bar completes, screen goes black as if I'm about to enter the zone, then that's it.. I see nothing else, and funny enough, the char select music keeps playing, yet if I look at my zone.exe, it says 1 client in zone. So zone.exe thinks I'm in the zone, but my client is still 'finishing zoning' for lack of a better term. I don't even get a character LD message until I actually end task on my client.

I get that exact symptom as well.

As a side note, I have built a barebones world and can log in with my client, but as soon as I rebuild it back to the 6.0DR1+ level as described on the database page, I get the same error (without touching the client). I also get this from two different computers in my home LAN.

Edgar1898
10-18-2004, 03:17 PM
does anyone that its happening to have a public server I connect to so I can try to reproduce this error for myself?

govtcheeze
10-18-2004, 03:20 PM
This is happening on PEQ The Grand Creation for me.
Come to #npcmovdb and PM me, so I can give you my login info if you want to try it with my chars.

moadhib
10-18-2004, 03:26 PM
Same problem here.

6.0 DR1 server with 6.0 DB. If I let my Zones be dynamic - black screen after char creation or selection. As soon as I make my zones static - smooth as silk.

Funny thing is I didn't have this problem till this afternoon - and I changed nothing...

zephyr325
10-18-2004, 03:35 PM
does anyone that its happening to have a public server I connect to so I can try to reproduce this error for myself?

You're welcome to try it on my server - I'm the last one on the list -Zorpormani. If 'ya tell me who you're logging in as, I'll capture the output from the screen and post it as well...hell, lemme know you're coming and I'll grab a damn packet trace...this error is driving me nuts! :shock:

Elkay
10-18-2004, 03:37 PM
Yeah my laptop fans usually run at 33%, occasionally bumping to 66% during normal play. When this happens, they go to 100% within seconds and stay there until 5-10 seconds after I end the client process. I was assuming it was GPU related and was hammering the crap out of it with stuff it could not render, but I supposed it's possible it was actually the CPU (my laptop uses integrated fans/sinks for both CPU/GPU).

Elkay
10-18-2004, 03:38 PM
does anyone that its happening to have a public server I connect to so I can try to reproduce this error for myself?

I'll leave mine up overnight for you. Druzzil's Destiny. Gimme a sec.

Edgar1898
10-18-2004, 03:40 PM
One thing I did notice that isnt good when I tried to login to govtcheeze's char (might be unrelated to this bug), but we are sending empty spawn position updates in some places. I'm going to compile a zone that spams the client with these packets and see if it still zones in.

Elkay
10-18-2004, 03:44 PM
Now that you mention it.. one time that I did actually get logged in (like the one time with spawns), I had like 25-30 mobs sitting right on top of each other battling over spawn spot 0 0 0. Just thought that might help debugging if it's relevent at all.

BTW server up for the night and I backed my db up, have at it.

bobby15
10-23-2004, 08:13 AM
I was having Dynamic zones working fine with the PEQ database. Now I downloaded a precompiled Perl world.exe and stuff. And It doesn't say Unknown packet during client connection. It just says unknown opcode. Any further info on this? And also, instead of black screen I get the "Zone Is Not Available" message. Which I wasn't getting before i switched to perl.