PDA

View Full Version : Patch - 5.0.0.18-purple1



purple
03-28-2005, 08:00 PM
I finally had some time to sit down and fix the fabled spawns work within seq. Previously, seq was missing Fabled sometimes if they spawn once you are already in zone. This is because they spawn normal and then morph to be Fabled. With the help of FatherNitwit and Doodman on IRC, we figured out how this works, so here's a patch off of latest CVS (which is the same as the 5.0.0.18 tarball you can get off sourceforge). This is just my latest tree diffed off cvs, so you get more changes than just the fabled fix, lucky you!

Changes since 5.0.0.18:
- Fix for sequence rollover in net layer with arqSeqWrapCutOff
- Oversized packets will check for arqSeqGiveUp properly
- Added a playback mode for tcpdump files (see notes)
- Cleanup in PlayerProfile (fixed offset comments, got rid of some unknowns)
- Handle spawns renaming themselves (new OP_SpawnRename). This renames fabled mobs which spawn after you are already in zone properly
- Handle mobs changing level while you are in the zone (old OP_SpawnAppearance, new handler in SpawnShell for it). This properly levels fabled mobs which spawn after you are in the zone
- Group chat that you say won't echo to the message shell twice
- Fix to properly name the MPG trial zones chambersa-chambersf, instead of chambera-chamberf. zones.h was wrong.


Offline Packet Playback

Seq already has an internal packet record/playback format, but I've never found this useful. Pcap (what sniffs the network) has an offline mode which takes tcpdump files though and this seems a lot more useful to me, since I can browse tcpdump files in ethereal and send them to other people to help them, or process them with the item collector, etc. It's a lot more interchangable to use tcpdump files. But seq had this internal format instead.

So I went ahead and put in tcpdump playback into seq. This means that if you take a tcpdump dump (for example, with tcpdump -i eth0 -s0 -w collect.log 'udp && host 192.168.1.52', where collect.log is your output file and 192.168.1.52 is your eq box), you can run it through seq and watch it.

To do this, just use the parameter --playback-tcpdump-filename=collect.log (or whatever filename) when starting seq and it will load up your file. You can control the playback speed with --playback-speed=#, where # is a number from 1-9 (1 being play the log at real time, 2 being 2x speed, 3 being 3x speed, etc.). Once you are in seq, you can also change the playback speed using the File->Inc Playback Speed and File->Dec Playback Speed menu options. This is clunky, but I just used the same menu controls as the internal playback.

If you Inc Playback Speed when the speed is already at 9, it goes into hypermode and starts processing as fast as it can. If you hit Dec Playback Speed when the speed is already at 1, it pauses.

Note that options on the spawn list like Keep Sorted and Immediate Update help a lot if you are watching a tcpdump at 5x speed! They process changes to the spawn list immediately instead of waiting for the next refresh cycle to come along.


Please if you see any problems, let me know! If I don't hear anything by Thursday or so, I'll start bugging people to get this in CVS maybe.

Attached: 5.0.0.18-purple1.patch.gz.txt (gzipped patch renamed to .txt)

quackrabbit
03-29-2005, 11:22 PM
The patch works great so far!

tanner
03-30-2005, 09:55 PM
Debian package uploaded:

Format: 1.7
Date: Wed, 30 Mar 2005 17:07:38 -0600
Source: showeq
Binary: showeq-dev showeq showeq-doc
Architecture: source i386 all
Version: 5.0.0.18-0.3
Distribution: unstable
Urgency: low
Maintainer: Bob Tanner <[email protected]>
Changed-By: Robert J. Tanner <[email protected]>
Description:
showeq - realtime packet analyzer for Everquest
showeq-dev - development tools for ShowEQ
showeq-doc - documentation for showeq
Changes:
showeq (5.0.0.18-0.3) unstable; urgency=low
.
* 30-Mar-2005 -purple1 patch
* http://www.showeq.net/forums/showpost.php?p=38601&postcount=1
Files:
21188f9ca3174861a544e28f1bf8e0fb 711 net optional showeq_5.0.0.18-0.3.dsc
beb856b1857267b49886ce514651d19d 1032021 net optional showeq_5.0.0.18-0.3.tar.gz
97c5a3c74eaad5a6d68d1843c1a5182a 74740 doc optional showeq-doc_5.0.0.18-0.3_all.deb
8e7bba07bd1ae71fad432fabba54fd7e 6612378 net optional showeq_5.0.0.18-0.3_i386.deb
c8176ab154cda6e45ab07af812ab23b1 80830 net optional showeq-dev_5.0.0.18-0.3_i386.deb

BlueAdept
03-31-2005, 08:22 AM
Thanks for your help. I had been wondering about the Fabled and why they showed up as normals on occasion. Thats great that you figured it out.

2XS
03-31-2005, 09:57 AM
Kewl, Thanks Purple. Newbie question though, how do I apply the patch? Thanks.

Spaz
03-31-2005, 02:09 PM
As always said, the answer to most questions can be found by searching the forums, but here's what I did:

Cleared out my old SEQ and grabbed the current CVS since I hadn't updated in a while.

Rename 5.0.0.18-purple1.patch.gz.txt to 5.0.0.18-purple1.patch.gz
Extract it to wherever your showeq files live and type:
patch -p0 < 5.0.0.18-purple1.patch
It'll flip through without errors if it works properly. If it doesn't, then you probably either don't have the most recent CVS or you have the patch in the wrong directory.

Redo the Make/Compile process and you're done.

Purple-- Big Kudos.

trustno1
03-31-2005, 04:28 PM
If anybody has any troubles extracing the 5.0.0.18-purple1.gz file, here's how I did it. (I had quit playing EQ for around a year and decided I wanted to play again. I was a bit rusty with my linux skills and figure there might be others out there also not up to par)

gzip -d 5.0.0.18-purple1.patch.gz