PDA

View Full Version : A list of bugs and a couple of suggestions


Puck6633
12-01-2003, 01:45 AM
I've just started using EQEmu and I've FINALLY gotten a stable database (Mysql is very finicky :) ) and after getting up to level 10 I've noticed a few bugs... I would like a mention a few things first though:

Firstly: I want to say thanks to the entire dev team, EQEmu is awesome! I've always dreamed of playing EQ offline and EQEmu lets me do just that. Thanks again! :D

Secondly: I'm not using the CVS version, though I intend to get it ASAP. What I am using is:

Server:
EQemu 0.5.1 public
Minilogin for 0.5.0+
Zoneserver version EQEmu 0.5.1

Databases (sourced in the order listed):
Moving NPC Database Alpha 1
The latest item dump
The update included in the Win32 ZIP file

System:
Win 98SE
Pentium 4 1.6Ghz
512MB RAM
32MB Nvidia GeForce 2

Everquest:
Original, Kunark, Velious and Luclin, all patched to live.
Legacy of Ykesha, Planes of Power, Lost Dungeons of Norrath and optional zones omitted
All luclin models on, high texture quality, texture compression on, mip mapping off

Lastly: I'm sure that some of these bugs have been mentioned before, but I feel I might be able to provide some extra insight into the cause of some of them, so I'll list them anyway. If any of them have already been fixed feel free to simply ignore it. :)


____________________
Bug: Disappearing NPCs
Symptom: NPCs go invisible in the client when they stop moving, but maintain their location server side
Status: Possibly solved
Explanation: I noticed this around level 9 (i think) while in Qeynos Hills, I caught a glimpse of a gnoll hunter as it ran by and targeted it, using #loc I finally tracked it down and found nothing but a blue circle on the ground, I attacking it like it was an NPC and the gnoll hunter appeared there. The rest of the battle went normally and it left a corpse with loot, I'm not sure what could have caused it.
Guessed cause: Unknown
____________________
Bug: Spinning NPCs
Symptom: NPC stands in one place, slowly turning in circles (usually counter-clockwise)
Status: Possibly solved
Explanation: I noticed this bug pretty much right off. I walked up to a decaying skeleton and surprisingly it didn't attack me, so I attacked it. After moving around it for quite some time and only getting the message 'Your target is too far away' I summoned a pet and told it to attack my target.

I followed it across the zone to the actual location of the skeleton, which it promptly killed (the only spell number I knew was the one for the highest level shaman pet :D ), leaving a corpse where the pet was. I'm gussing this is somehow related to the previous bug, since I never saw the skeleton while it was (kind of) alive.

As far as I can tell this only happens with NPCs that were moving and have stopped. Also, if it's any help this same thing (the spinning) always happened to me on live when I got disconencted and was waiting for it to time out.
Guessed cause: A packet failing to be sent to the client when an NPC stops moving
____________________
Bug: Client crash
Symptom: When certain conditions are met the everquest client crashes
Status: Open
Explanation: This bug happened to me when I reached level 10, I went to qeynos to use some of my training points (warrior) and tried to zone into South Qeynos, after trying several times in several ways (getting the message that the zone points may need to be updated) I opened a special zone server to keep the zone open and was then allowed in.

From there I went about my business and eventually made my way to the warrior guild, but as soon as I faced Ebon Strongbear (I think that's his name) the client crashed. Assuming it was a fluke I rejoined the server and rejoined facing away from the balcony. I slowly turned around (for some reason my framerate dropped to about 0.5 FPS when I joined, though it was normal at character select) to face Ebon again and the client crashed in the same fashion.

At that point I checked the zone server for qeynos and found this:


[Status] 1099110 New client from ip:127.0.0.1 port:1052
[Error] Warning: Invalid PlayerAA_Struct size found in database
[Error] HandlePacket() Opcode error: Unexpected packet during CLIENT_CONNECTING:
opcode: 0x0266, size: 9
Client linkdead: Fincsith
Client disconnected (cs=d): Fincsith
Dropping client: Process=false, ip=127.0.0.1, port=1052


I also noticed this when I looked at it this morning:

Client disconnected (cs=d): Fincsith
Dropping client: Process=false, ip=127.0.0.1, port=1098
[Status] Weather should change in 135 seconds
[Status] Weather should change in 7240 seconds
[Status] Weather should change in 111 seconds
[Status] Weather should change in 8092 seconds
Multiplier == 0 in Client::CalcBaseHP
Unknown type/pettype of: 174,236
Multiplier == 0 in Client::CalcBaseHP
Unknown type/pettype of: 174,17
Multiplier == 0 in Client::CalcBaseHP
Unknown type/pettype of: 174,8


Indicating that it doesn't seem to be anything I did. I'm still unable to log into that character, however other characters work perfectly. I still have the entire database intact if any of it is needed.

Update: Finding a completely unrelated post I learned that a file in the EQ directory named 'dbg.txt' might hold some useful information, so I opened it up and indeed found some interesting information from when I joined and got a dramatic drop in frame rate:


[Sun Nov 30 14:52:04 2003]00612:Entering MAIN_LOOP
[Sun Nov 30 14:52:05 2003]00008:ERROR: fRadius is zero s3dCollideMovingSphereWithWorld!


The second line is repeated almost a thousand times, which is probably what caused my frame lag. After that message finishes (and after a complete stack dump) it lists this information:


[Sun Nov 30 14:52:35 2003]01059:Process was trying to READ invalid data.
[Sun Nov 30 14:52:35 2003]01060:Invalid access occurred at virtual address 0xffffffff.
[Sun Nov 30 14:52:35 2003]01061:Fatal error occurred in mainthread! (Release Client #630)
[Sun Nov 30 14:52:35 2003]01062:Client Version: Nov 10 2003 13:22:16
[Sun Nov 30 14:52:35 2003]01063:Skin Directory: UIFiles\Default\
[Sun Nov 30 14:52:35 2003]01064:Graphics DLL Loaded: EQGfx DLL Version 1.1.78 Last Build Date: Nov 10 2003 14:08:50 Intel(R) Pentium(R) 4 CPU 1600MHz [1:15.0.10-11100]
[Sun Nov 30 14:52:35 2003]01065:Crash (char = Fincsith, zone = qeynos)
[Sun Nov 30 14:52:35 2003]01066:Local Player's World location at time of crash: 53.976898, -523.364014, 31.750996.
[Sun Nov 30 14:52:35 2003]01067:Gamestate at crash = 5
[Sun Nov 30 14:52:46 2003]01068:1 processor(s) of type 586. Physical memory = 511 Megs.
[Sun Nov 30 14:52:46 2003]01069:Intel P4 1638


According to this the cause is invalid data. It could still be a code issue, but at this point I'm guessing it has something to do with the database, since it also occures with a specific NPC (namely Ebon Strongbear), I'll look into it more later.
Guessed cause: Unknown
____________________
Bug: /target
Symptom: /target command doesn't seem to work
Status: Open
Explanation: This is a pretty minor issue but it might be worth fixing anyway (if it's not already fixed or on the list): the /target command doesn't seem to work, originally I tried targeting "Guard Nash," which didn't produce any result, not even an error. So to test it I tried "/target Fincsith," Fincsith being myself, and got the same reaction. /target on it's own however did produce a usage message, so I assume the server just doesn't parse the command yet.
Guessed cause: Server not parsing the command
____________________
Bug: Shopkeeper check
Symptom: Shopkeepers not at their spawn points say they're busy then present a blank shop
Status: Open
Explanation: Another minor glitch that doesn't even need fixing, but is a bug none the less. When a shop keeper moves from their spawn point they aren't supposed to allow you to trade with them. The ones in EQEmu say they're busy, but still present you with a blank shop that you can sell to.
Guessed cause: Unknown
____________________
Bug:Ghost NPCs
Symptom: NPCs move through walls to assist
Status: Solved
Explanation: I noticed this bug while trying to level in Blackburrow. I entered and moved out into the main area, At the time I was still apprehensive to the gnolls so I was free to move around. I walked up to a gnoll pup and attacked it, suddenly BAM, I'm dead. I got attacked by just about everything in te zone; elite guards, splitpaw refugees, the whole nine yards, most of which were 10 feet of solid stone away from me.

I'm sure it's related to the assisting bug and will hopefully be fixed with it but I thought I would mention it anyway.
Guessed cause:
____________________
Bug: #flymode
Symptom: #flymode command doesn't work
Status: Fixed
Explanation: Just a small bug: The #flymode command seems to toggle between OFF, OFF and OFF. :)
Guessed cause: Unknown
____________________
Bug: Wolf speeds
Symptom: Shaman pets (and possibly other wolf effects) don't effect run speed as they should
Status: Solved
Explanation: I noticed this when I summoned a shaman pet and ran off. I soon noticed that it wasn't around anymore, so I told it to get lost and summoned another, this time keeping on eye on it. I noticed that it fell behind quite quickly, so I removes my SoW and tried again, but it still fell behind, though slower.

After checking with a friend who still plays live and has a 36 shaman I found out that shaman pets should indeed run faster than normal. I haven't had time to test it with the wolf form spells and other similar spells and it might just be a database issue but I thought I would mention it anyway.
Guessed cause: Unknown
____________________
Bug: Items not destroyed
Symptom: Items are not destroyed after combining them in a tradeskill container
Status: Open
Explanation: I gained a whole lot of money fighting creatures while testing EQEmu and, having nothing better to do with it, I decided to take up tailoring.

Everything seems to work perfectly, bug there is a minor bug in it: When you combine items in a tradeskill container (say a ruined cat pelt and a pattern) you either fail or produce an item, but the items remain in the container.

The items ARE deleted server side however, because attempting to combine again produces a cannot combine error and picking the items up results in a "Server: Item not found in slot X" error. You can even place more objects in (without stacking anything) and combine again without problems.

Picking the items up and destroying them manually in the client works, and you can use the container again like normal, it is a bit irritating after a while though to have to delete 3 items one at a time every time you combine. :)
Guessed cause: Client not being notified of the destruction of the items
____________________
Bug: Zoning with buffs
Symptom: After zoning the client fails to display the effects of any spells on you
Status: Open
Explanation: I noticed this bug the other day when I was leaving qeynos, Corpral Lancot cast a symbol spell on me that raised my HP to something like 400 when it was normally about 118. I continued on and zoned into qeynos hills, but when I finished zoning it listed my HP as 118/118, even though the buff still showed in the list. I made a note of it and continued on.

After fighting half a dozen even fights though I noticed that I wasn't losing HP, so I attacked a yellow conning creature. Near the end of the fight I started losing HP, which lead me to conclude that the buff was indeed still there, the client just wan't displaying the stats correctly.

It's not a problem, except in the case of speed buffs (like SoW), which don't have any effect after zoning (the run and walk speeds get reset), but I figure it's worth mentioning anyway.
Guessed cause: Client not updating stats after zoning
____________________
Bug: Pet HP
Symptom: Pet HP buffs don't seem to be displayed by #npcstats
Status: Open
Explanation: I noticed this when I summoned a high level mage pet (ward of xegony). I summoned the pet and did a #npcstats on it and found it had 3800/3800 HP, so I cast Symbol of Marzin on it and checked the stats again: still 3800/3800.

It doesn't seem to be a problem with buffing pets, as casting Rune IV on it worked (hits were absorbed), so I assume that #npcstats doesn't take buffs into account. It's a minor bug but, as always, worth mentioning anyway.
Guessed cause:
____________________


Feature requests

Spell search: A command that works just like the #search command only for spells.
PC stats: A command just like #npcstats only for player character to see hidden information like item numbers of equipment, run speed, etc.


Edit: Clarified a few things and added one more bug.
Edit2: Updated client crash bug and added bug status
Edit3: Updated post a bit and added 3 new bugs

Mongrel
12-01-2003, 02:30 AM
#flymode I think accepts a '1' and a '0' as parameter, not 'on' and 'off'.

The other bugs are pretty much all known, and may or may not be fixed by now (I'm not a dev, so I can't tell :D )

Kroeg
12-01-2003, 02:40 AM
Multiplier == 0 in Client::CalcBaseHP
Unknown type/pettype of: 174,236
Multiplier == 0 in Client::CalcBaseHP
Unknown type/pettype of: 174,17
Multiplier == 0 in Client::CalcBaseHP
Unknown type/pettype of: 174,8


This is a code issue, from what I understand. Yesterday I saw LE helping someone with this problem, and the fix seemed to come from (trying to remember) somewhere in the code where you see Getplayer () and you need to change it to Getplayer ()-1 to stop the above error from crashing your client, if in fact it does so. (don't ask LE to clarify.. wait for the next release).


Bug: Disappearing NPCs


I've noticed this myself, typically when an npc is assigned to an incomplete grid... it begins to run its course, but doesn't find the next closest waypoint and just runs off into the 'great abyss' yet the target circle remains. This is really just a db issue, and with enough patience (let me reitterate the word - PATIENCE) you'll get it fixed.


Bug: Spinning NPCs


This, from what have been able to figure out is a problem with the npc's/mob's Z coordinate. If it's told to spawn above ground, it drops to the ground upon spawning and sometimes causes an undesirable animation. Fix this by locating that spawn in the db, recording its supposid Z coordinate then finding the spawn ingame and doing a #loc when get exactly where that spawn should be. Then go back to the db and set that new value. Teadious? I know.


Bug:Ghost NPCs (blackburrow)


Hehehe. Stay out of blackburrow until the npcmovdb team can fix this (I'm currently working on this one). Dungeon-style zones are extremely difficult to get working correctly. Don't you remember how bad the trains were in BB on eqlive? On eqemu, BB is just evil :)


Explanation: Just a small bug: The #flymode command seems to toggle between OFF, OFF and OFF


Whenever a #command in eqemu doesn't seem to toggle, it usually means there are command options. In this case, the proper use of the #flymode command is #flymode 1/0 (1 for ON, 0 for OFF)


Bug: Wolf speeds


Not exactly sure about this one, but if I had to make a money-based-guess, I'd say this was fixable in your DB.

Hope I helped you a bit, and thank you for posting your bugs... many people don't understand this is the only way requested features will be fixed imho.

Trumpcard
12-01-2003, 05:12 AM
Excellent bug post.. This is without a doubt the best laid out and thought about bug post I've seen... Not only did you describe the problem, you tested around the problem to try and get more information so we could analyze it as opposed to simply posting 'XXX don't work!'

Bravo !

Puck6633
12-01-2003, 07:13 AM
This is a code issue, from what I understand. Yesterday I saw LE helping someone with this problem, and the fix seemed to come from (trying to remember) somewhere in the code where you see Getplayer () and you need to change it to Getplayer ()-1 to stop the above error from crashing your client, if in fact it does so. (don't ask LE to clarify.. wait for the next release).


I'm not entirely sure if it's the cause of the crash or not, I do know from the output I posted with the bug that it's happening when i'm offline (which is odd since it describes it as a client issue) but it's a very possible cause. If I can get the CVS version working I'll try what you said, thanks for the advice! :)


I've noticed this myself, typically when an npc is assigned to an incomplete grid... it begins to run its course, but doesn't find the next closest waypoint and just runs off into the 'great abyss' yet the target circle remains.


That makes perfect sense, I've also seen NPCs disappear for a second or two while changing directions.


This, from what have been able to figure out is a problem with the npc's/mob's Z coordinate. If it's told to spawn above ground, it drops to the ground upon spawning and sometimes causes an undesirable animation.


Hmmmm.... The problem with that theory is that I can't find any NPCs that can move that are standing still, unless they're doing this. Likewise I can't find any NPCs that don't move that have the problem. If it was a spawn point problem I would guess that it would happen to both moving and non-moving NPCs.

But most importantly it used to happen reliably to me on live when I lost connectivity with the server, which is what really lead me to believe it's a problem of the server not sending a packet that the client is expecting.

I'm by no means a professional on the issue, but I thought I would mention it anyway. :)


Hehehe. Stay out of blackburrow until the npcmovdb team can fix this (I'm currently working on this one). Dungeon-style zones are extremely difficult to get working correctly.


Ah, so it's a DB issue then, I never would have guessed that.


Don't you remember how bad the trains were in BB on eqlive? On eqemu, BB is just evil :)


Yes, actually, I caused plenty of them and got hit by plenty more when I used to level there. And you're right, I learned that the hard way being only level 4 and having the splitpaws come and bash me. :| ;)

Now I just have to figure out where to go, since I've leveled EVERY character of mine from 4 to 11 - 12 there, even my vah shir. What can I say, i'm a create of habit. :D


Whenever a #command in eqemu doesn't seem to toggle, it usually means there are command options. In this case, the proper use of the #flymode command is #flymode 1/0 (1 for ON, 0 for OFF)


:roll: I can't believe I didn't think of that. I looked it up in three different command lists and even tried #flymode on, but I didn't think of 0/1, even after having read the readme. :oops:

Thanks for correcting me. :)


Not exactly sure about this one, but if I had to make a money-based-guess, I'd say this was fixable in your DB.


Same here, but beings I don't know SQL or have any clue how the databases work I thought I would mention it anyway.


Hope I helped you a bit, and thank you for posting your bugs... many people don't understand this is the only way requested features will be fixed imho.

Yeah, a lot of people would probably think "It'll be fixed in a future version" and let it go. It's sometimes true, but if everyone thought that nothing would get fixed. :) I'm actually an amature game developer myself so I can understand some of the hardships, especially in a case like this: trying to create a server to work with a closed source client made by someone entirely different.


Excellent bug post.. This is without a doubt the best laid out and thought about bug post I've seen... Not only did you describe the problem, you tested around the problem to try and get more information so we could analyze it as opposed to simply posting 'XXX don't work!'

Bravo !


Thanks! :D I was hoping noone would get annoyed at the length and long-windedness of it, but I wanted to make sure I didn't leave out any, potentially important, information. I hope some of it is useful, as I would love to see EQEmu grow into something comparable to EQ live, even if it isn't perfect. If I gather more bugs and am able to gather sufficient information on them I'll post again, I also intend to look into some of the other bugs more thoroughly (like testing the S. Qeynos crash on some public servers).


Oh, and on a final note I've updated the original post with some new information on the client crash and a bug status line for easier reference. :) It works like this:

Open = Still open to suggestions
Possibly solved = A possible cause has been identified
Solved = The cause of the problem has been identified beyond a reasonable doubt
Fixed = Problem solved, case closed

a_Guest03
12-01-2003, 07:31 AM
When all your data has value, there is no such thing as longwinded. Please keep up the good work.

Edgar1898
12-01-2003, 08:18 AM
Nice post :) If more people were as thorough as you are we would be a lot of the bugs fixed sooner. Alot of people just assume we know of the bug when we do not...

PC stats: A command just like #npcstats only for player character to see hidden information like item numbers of equipment, run speed, etc

You can find some info through the #showstats command, another nice command is the #peekinv command (unless it hasnt yet been re-enabled for 5.0+).

Puck6633
12-03-2003, 05:55 AM
You can find some info through the #showstats command, another nice command is the #peekinv command (unless it hasnt yet been re-enabled for 5.0+).


Thanks for the suggestions, unfortunately I was mainly after the running and walking speeds, #showstats has proved useful none the less though. 8)

Speaking of feature requests, I provided myself with an answer to my spell finding problem, you can find the topic here: http://www.everquestserver.com/forums/viewtopic.php?p=60179#60179 :)

As far as bugs, I've found a few more, not as many as before though, I'm mostly focusing on the client crashing bug, which I've now also experienced in West Freeport and Karnor's Castle. I, unfortunately, haven't had any luck in further pointpointing the problem, it's quite a difficult one to solve. :(

I've updated the original post to add the new bugs to the list (at the bottom)