EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Packetcollector (https://www.eqemulator.org/forums/forumdisplay.php?f=602)
-   -   EQExtractor2 (https://www.eqemulator.org/forums/showthread.php?t=31354)

Akkadius 06-09-2010 04:41 PM

Quote:

Originally Posted by cavedude (Post 188780)
It would appear that this tool still functions after the patch!

Woot! I still have work to do.

steve 06-09-2010 05:22 PM

Seems pretty fool proof. It worked on Test Server last week with no changes. Thought for sure it would at least need new opcodes... nope!

steve 06-10-2010 12:42 PM

I have an improvement request...

Could you add an ability for the program to list the merchant NPC lists that were not collected, so they can be added on a second run through the zone? I'm assuming this is possible of course since something in the SQL must denote a merchant NPC.

I just uploaded sharvahl to the log repository. Not sure if I got all of the merchants since there's multiple levels to just about every house. Such a feature would have came in handy!

Derision 06-10-2010 02:08 PM

I've started refactoring the code to (amongst other things) make it easier to support multiple patch versions concurrently, for when a patch does break it,
and I don't really want to make any other changes until I've finished and tested it thoroughly.

In the meantime, you can check for merchants who you haven't collected data for with this SQL
Code:

select id, name from npc_types where id >= 383000 and id <=383999 and class = 41 and merchant_id = 0;
changing 383000 and 383999 to the start and end ids of the NPCs of the zone you are interested in.

steve 06-10-2010 03:23 PM

I'll just wait for you to add it in... I'm not currently running my own server so don't have the ability to check.

steve 06-11-2010 11:55 AM

Found a bug using v1.9.

If a merchant only sells one item, it is not getting recorded in the sql generated. It just lists nothing for him in the generated sql.

Broker Fahaar in sharvahl only lists 'Wedding Band', but it's not recorded in the generated sql.

Derision 06-11-2010 12:35 PM

Quote:

Originally Posted by steve (Post 188829)
Found a bug using v1.9.

If a merchant only sells one item, it is not getting recorded in the sql generated. It just lists nothing for him in the generated sql.

Broker Fahaar in sharvahl only lists 'Wedding Band', but it's not recorded in the generated sql.

The reason the Wedding Bands he sells is not being recorded is because he only has a quantity of 5 in stock. To distinguish between proper merchant items and items that
players have sold to them, the extractor only includes items that the merchant has an infinite supply of (quantity of -1 in the item packet).

I don't really know of a way to fix this without including all items that players have sold to mechants.

steve 06-11-2010 01:21 PM

Maybe an option to include them? In a lot of older zones that I've been collecting in, there's been nothing on the merchants whatsoever since the zones are hardly used.

Include them in the SQL dump, but have them commented out and then when sourcing, the person could uncomment any lines he did want imported.

cavedude 06-11-2010 05:06 PM

Ive posted the newest PEQ database up that has the output of this tool merged in. Most (but not all) of the zones supported by SoD are now spawned, with doors, objects, etc.

Also, Gaeorn wrote a tool to parse EQTrader's merchantlist data and dump it to SQL compatible with our system. I've posted the SQL output of that script on the SVN also. Beeping and warnings are normal while sourcing so pay them no mind. Overall, I've found EQTraders has very high accuracy, but I have found missing/extra items on a couple of vendors so it is not 100% perfect. Still in my mind it's a nice shortcut to fill in missing gaps so we don't have to go around to every merchant in the game when collecting :) Of course, backup your current merchantlist table before running this especially if you have custom merchants, as it may overwrite existing IDs.

Both can be had here: http://code.google.com/p/projecteqdb/downloads/list

Edit: I should mention if you are just running a stock PEQ database, then there is no need to source the merchantlists. They have already been merged with the newest database version.

WkimWes 06-14-2010 02:31 PM

Quote:

Originally Posted by cavedude (Post 188840)
Ive posted the newest PEQ database up that has the output of this tool merged in. Most (but not all) of the zones supported by SoD are now spawned, with doors, objects, etc.

Also, Gaeorn wrote a tool to parse EQTrader's merchantlist data and dump it to SQL compatible with our system. I've posted the SQL output of that script on the SVN also. Beeping and warnings are normal while sourcing so pay them no mind. Overall, I've found EQTraders has very high accuracy, but I have found missing/extra items on a couple of vendors so it is not 100% perfect. Still in my mind it's a nice shortcut to fill in missing gaps so we don't have to go around to every merchant in the game when collecting :) Of course, backup your current merchantlist table before running this especially if you have custom merchants, as it may overwrite existing IDs.

Both can be had here: http://code.google.com/p/projecteqdb/downloads/list

Edit: I should mention if you are just running a stock PEQ database, then there is no need to source the merchantlists. They have already been merged with the newest database version.

Sweet, thanks Cavedude and everyone else!!! Great work!!

An_Evil_Enchanter01 07-20-2010 12:57 AM

Can anyone use this to update cshome?

Dylan1994 08-28-2010 12:31 AM

Could someone please tell me how to set up EQExtracter so that i am able to use it... For some reason im am unable to get it to work.... Help would be appreciated

Akkadius 08-28-2010 12:43 AM

One thing I did notice Derision since I started doing a few more dumps, in zones like Gyrospire most noticeably... The doors are four pieced like Plane of Time. So when you click the door pieces they all go up vertically, when they are supposed to criss cross outwards to give the 'mechanic' feel. Now I know that you can't reproduce the walk-up opening of all 4 pieces of the door unless you forcedooropen but if its something that can be fixed in how the packets are decoded I am just pointing it out, no big deal.

Derision 08-28-2010 05:14 AM

Quote:

Originally Posted by Dylan1994 (Post 191125)
Could someone please tell me how to set up EQExtracter so that i am able to use it... For some reason im am unable to get it to work.... Help would be appreciated

You need to install the .NET Framework 4 from Microsoft first, I think this is the right link: http://www.microsoft.com/downloads/d...displaylang=en

After that, install Wireshark http://www.wireshark.org/download.html

And finally download EQExtractor2 http://projecteqemu.googlecode.com/f...actor2-211.rar and use Winrar to extract the files into a folder of your choosing.

To capture packets for a zone you are interested in, get your character to that zone and then camp to character select.

Start Wireshark and in the Capture/Interface List on the left hand side, click on the name of the network interface that you are using to connect to the Internet.

Back in your Live EQ client, enter the zone. If you just want to collect spawns, you can stop the Wireshark capture as soon as your character appears in the world. To collect pathing, just sit around for a while, or if you want to collect merchant inventory, move around the zone clicking on merchants.

When you are done, in Wireshark, select Capture/Stop then File/Save As to save the captured packets into a .pcap file.

Fire up EQExtractor2, select File/Load PCAP (or press CTRL-L) and select the .pcap file you saved in the previous step.

You should get a message that the client version that was used to make the .pcap was recognised and also the name of the zone you where in.

Next, select File/Generate SQL (or Ctrl-S) and then on the next screen click on the Generate SQL button and give it a file name to save the generated SQL.

You can then use the mysql command prompt or Navicat or whatever, to source this into your database, however be aware that the generated SQL may delete data already in your database.

If you still can't get it to work, let me know what error messages, etc, you are seeing. With the latest EQExtractor2 version, pressing Ctrl-D will bring up a sort of debug-window which may have more detail of what went wrong.

Dylan1994 08-28-2010 08:40 AM

its now saying The capture ession could not be initiated (Failed to set hardware filter topromiscuous mode). please check that "\Device\NPF_{E0FE483E-2611-47B2-8A77-C89F7F08CDDC}" is the proper interface.


All times are GMT -4. The time now is 01:53 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.