PDA

View Full Version : Patch Oct 8, 2008



coffeencream
10-08-2008, 10:48 AM
All spawns show as unknown... guessing that is spawn struct... am I correct?

Zone not coming up either, guessing that part of the op codes?

Taking guesses here, with my limited knowledge of how SEQ works.

ieatacid
10-08-2008, 02:02 PM
It's possible, though I doubt any opcodes changed, but there are a handful of new ones.

Razzle
10-08-2008, 09:29 PM
Just to get up and running, here is what I did.

in everquest.h
newZoneStruct - Added another 4 octets on end of struct with
/*0928*/ uint8_t unknown0928[4];

playerProfileStruct - Added 320 octets on end of struct.
I was getting lazy, and just changed the 1032 size in unknown22576 to 1352.

In zoneopcodes.xml
changed the opcode for OP_ZoneEntry from "7901" to "5a6b"

Then in spawnshell.cpp in function fillSpawnStruct
I changed last netStream.skipBytes(32) size to (33)

THis got me skittles.

I will try to look at how structures line up later if I get a chance, but this gets you functional.

sea4th
10-09-2008, 01:20 AM
Thanks Razzle that did get skittles for me as well from the 5.12.5.2 version.

I am getting a large number of Invalid Packets since the patch a couple of weeks ago. The failure is Bad CRC with 0000 or FFFF not equal to xxxx. They are netOp 0080 and 0081 with lengths 120 and 124.

There are a few EQPacket : Unhandled net opcode 0000, stream zone-client, size 2.

I will do some more digging on opcodes but most things seem to be working well.

Again , thanks for the changes to get skittles going!

tano
10-09-2008, 04:07 AM
Didn't work for me unfortunately. It works a bit better than the edits I had tried to make (lots of unknowns and myself in the spawn list, it fills in my buffs etc so it is obviously parsing the player stuff) but don't get the skittles unfortunately. Just to check, that zoneopcodes.xml is the one in /usr/local/share correct?

Any chance of a diff (unless there is a new release coming soon) as I'm sure it is probably something I have edited incorrectly.

Razzle
10-09-2008, 06:14 AM
If you do a make install, it will overwrite the zoneopcodes.xml in the share folder, so you would have to edit after install. I edited the one in the conf folder where I unzipped the source code. That way it installed the xml file I wanted on install.

tano
10-09-2008, 06:40 AM
Ah that's probably it - I'll give it a go when the servers come up. Thanks a lot!

rogues
10-09-2008, 06:53 AM
That's precisely what happened to me - once I figured out to change the zoneopcodes.xml after the make && make install then I was fine.

Nice work!

tano
10-09-2008, 07:29 AM
Just to confirm - all working fine now :)

sea4th
10-09-2008, 10:49 AM
If you use the tarball package and follow those instructions the xxxopcodes xml files are in the showeq-5.12.5.2/conf directory tree. I think these get installed to the /usr/... path with the make install line. I also used the showeq-5.12.5.2/src path for everquest.h and spawnshell.cpp file changes. To rebuild, cd to showeq-5.12.5.2 and start with the ./configure line. If things don't work then starting with a fresh copy of the tarball and applying changes is a good way to restart.

uRit1u2CBBA=
10-10-2008, 09:57 AM
If you do the change in "conf/zoneopcodes.xml", then when you do the install, it should then copy the new version in place so it's read in at run time.

Tor K'tal
10-10-2008, 03:10 PM
Just to get up and running, here is what I did.

in everquest.h
newZoneStruct - Added another 4 octets on end of struct with
/*0928*/ uint8_t unknown0928[4];

playerProfileStruct - Added 320 octets on end of struct.
I was getting lazy, and just changed the 1032 size in unknown22576 to 1352.

In zoneopcodes.xml
changed the opcode for OP_ZoneEntry from "7901" to "5a6b"

Then in spawnshell.cpp in function fillSpawnStruct
I changed last netStream.skipBytes(32) size to (33)

THis got me skittles.

I will try to look at how structures line up later if I get a chance, but this gets you functional.

I am not having corpses clear (player and npc) with these changes. I used a fresh download of 5.12.5.2 and made the changes listed here, which did get me skittles.

Just an FYI
~ TK

Razzle
10-10-2008, 07:08 PM
I just got time to actually play some today, and see what works and doesnt. I see corpses do not go away. I see spawn positions update sometimes, but often they dont. I am still learning the code, but I will look at it more, and see what I can figure out.

purple
10-11-2008, 07:21 AM
Corpses not going away used to be a changed spawn delete or remove opcode. Movements are in a couple different packets. ClientUpdate (which if your movements work is probably correct since it uses the same op to move mobs and the player), NpcMoveUpdate, and MobUpdate (not used anymore I think).

Finding NpcMoveUpdate should be easy since it is sent pretty much constantly and sizes vary.

Razzle
10-11-2008, 07:52 AM
Thanks Purple.

OP_DeleteSpawn was 5acc, it now should be 4292.

OP_NpcMoveUpdate was 664a, it now should be 22a7.

Fatal
10-11-2008, 04:27 PM
OP_DeleteSpawn was 5acc, it now should be 4292.




5aac.

And thanks!

Razzy
10-12-2008, 10:12 AM
in everquest.h
newZoneStruct - Added another 4 octets on end of struct with
/*0928*/ uint8_t unknown0928[4];

playerProfileStruct - Added 320 octets on end of struct.
I was getting lazy, and just changed the 1032 size in unknown22576 to 1352.

.... NEWBIE ALERT! ....

Ok, I was able to figure out the rest of Razzel's fix but I could not understand the quoted above.

This is what I have in everquest.h after I ... think ... what it should be, following Razzel's patch.

I changed from this:

...
/*0924*/ uint8_t unknown0924[4]; // *** Placeholder (09/03/2008)
/*0928*/
};
...

to:

...
/*0924*/ uint8_t unknown0924[4]; // *** Placeholder (09/03/2008)
/*0928*/ uint8_t unknown0928[4];
};

AND from this:

...
/*15060*/ uint8_t unknown15060[92];
/*15152*/
};
...

to:

...
/*15060*/ uint8_t unknown15060[92];
/*15152*/ uint8_t unknown15152[320];
};
...

Then when I recompiled and installed, showeq will just crash as soon I load EQ/zone.

What am I doing wrong?

Thanks....

fransick
10-12-2008, 02:54 PM
There are many here more knowledgeable than me, but I believe the following changes will get you what you're after:



to:

...
/*0924*/ uint8_t unknown0924[4]; // *** Placeholder (09/03/2008)
/*0928*/ uint8_t unknown0928[4];
/*932*/
};

to:

...
/*15060*/ uint8_t unknown15060[92];
/*15152*/ uint8_t unknown15060[92];
/*15152*/
};
...



Then make the following change to charProfileStruct:



/*22576*/ uint8_t unknown22576[1352];
/*23928*/
};


That should do it if the other opcode changes mentioned earlier are all done etc.

eqhunter
10-12-2008, 05:26 PM
could someone please post a fix that i just make. cant seem to get the stuff posted to work

ieatacid
10-12-2008, 05:43 PM
I'm still working on it, but I'll put up a new tarball when it's done.

eqhunter
10-12-2008, 06:03 PM
thanks

blvan
10-17-2008, 05:36 AM
not sure if anyone else is seeing this problem. not all the time and I haven't paid attention to any screen output. But there are times where it doesn't have my characters position marked in the zone
what I mean is it loads the zone map, and follows my character as I run him around but there is now circle or directional pointer for where my character is within the zone. If I evac or zone it may come back, sometimes I have to evac 2x to get it to register.
I will try to get more information next time I am on.

This is with the latest source compiled on my machine.

fransick
10-17-2008, 06:09 AM
not sure if anyone else is seeing this problem. not all the time and I haven't paid attention to any screen output. But there are times where it doesn't have my characters position marked in the zone
what I mean is it loads the zone map, and follows my character as I run him around but there is now circle or directional pointer for where my character is within the zone. If I evac or zone it may come back, sometimes I have to evac 2x to get it to register.
I will try to get more information next time I am on.

This is with the latest source compiled on my machine.

You are not alone... I am seeing similar behavior as well. I haven't done much by way of troubleshooting as I typically just restart SEQ and zone to get player circle and direction indication back.

purple
10-17-2008, 04:36 PM
That sounds strange. So the mob on the map that represents you is there and still moves, but it doesn't have the sphere of influence or the compass hooked to it? Or does the sphere of influence/compass just stop somewhere after a bit like it was working but it loses track? Does zoning make it come back?

ieatacid
10-17-2008, 05:37 PM
I haven't seen this in my testing. If you can give more information on some way that I could reproduce it I can look into fixing it.

blvan
10-18-2008, 05:58 AM
That sounds strange. So the mob on the map that represents you is there and still moves, but it doesn't have the sphere of influence or the compass hooked to it? Or does the sphere of influence/compass just stop somewhere after a bit like it was working but it loses track? Does zoning make it come back?
it's more like my spawn point just shows the skittle for me, it doen't move with me and there is no sphere/compasss surrounding me.
it happens randomly and sometimes I have to zone/evac more then once to get it to recognize me. are there any special setting I should have enabled for output.
I have been spending a lot of time in DSH so that is where I am noticing it the most.

blvan
10-18-2008, 08:23 AM
ok a little more. on the console there is only one warning during the zone-in process..
Warning: Zone name not set in 'SpawnMonitor::saveSpawnPoints'!
this was for DSH

If I look at my skittle for me is show me as lvl 80 and also has my familiar(could familiar be effecting this?), no sphere or compass. when my box casts spells is displays that info no problem (in console still), but when I cast a spell I got:
Spell: UNKNOWN (ID: 10699) has begun casting 'Noxious Servant' - Casting time is 6 Seconds

also was seeing some of these warnings
Warning: OP_InspectAnswer (0x592d) (dataLen: 10) doesn't match: sizeof(inspectDataStruct):1860

purple
10-18-2008, 04:28 PM
The spell UNKNOWN thing is saying that seq doesn't know who has that spawn id, when that spawn id is you. So that's what is messing things up. Maybe your familiar is being sent as OP_ZoneEntry and seq is changing the spawn id it thinks belongs to you to that spawn id. But it never receives OP_ClientUpdate for that spawn id, so it never shows the compass/sphere of influence?

ieatacid
10-18-2008, 05:42 PM
OP_InspectAnswer is now 4938

blvan
10-19-2008, 08:16 AM
so I log in again today and had familiar spell up, and no sphere/compass. killed familiar and summoned pet, zoned and still no luck, tried it again...same. restarted showeq, and zoned and now I have sphere/compass. So now Ijust need to remember to remove familiar buff before logging for the night.

fransick
10-19-2008, 11:22 AM
I'll play around with my familiar and see if that is the variable that makes the problem intermittent. When I lose player circle, all I see in its place is my aura as a skittle. I've been using a new familiar more lately so that may be why I see it sometimes and not others.

If I find anything reproducible i'll post any findings.