Just curious does any one have working code for this?
Just curious does any one have working code for this?
i have a set of patches to showeq (when it works) that dump bazaar packets, and a perl scripts to mungle the results. unfortunately they're not really up to the standard of the rest of the code.. so i was trying to clean it up before posting.
t.
Would be awsome to see that code posted if ya get it working after this f..ed up patch SoE made the last time..!!
Keep it up man!!
Wow,
I just randomly found ShowEQ looking for a tool that does exactly this (track bazaar stuff).
I'm also looking for a good open source project.
Where is everyone's patches? Are you going to be putting the code w/ patches that have been submitted to you? I'd be willing to help code btw (although I don't know what needs to be implemented/fixed... haven't tried it).
NS,
I couldn't tell you where to begin, but I know this used to be a tool seperate from SEQ that worked pretty well with a few tweaks.
Perhaps the best thing to do at this point is wait until there is a working version of SEQ and then see if tamasine has further plans of releasing a patch to do something with the bazaar packets.
Other than that, you have the option of getting your hands dirty with some coding. As it doesn't sound like you know much of SEQ, you may want to read the posts in the development forum from around the time of PoP release forward. Packets are sent from the EQ server encrypted and compressed, so there's some work ahead of you if you want to try this on your own.
At one point, I had started to take the original program (thanks bazaartracker) and port it to Perl--which I am more comfortable workin with, but as it turns out, I'm not smart enough to figure this whole packet thing out and they proved fatal to my attempts
So, personally, I'm hoping for tamasine or someone else to release something as an add-on of sorts for SEQ. That way SEQ can handle all the decompression/decryption.
Note: I'm a long-time lurker and user of SEQ, but not an active participant, so this is knowledge I've picked up through observation and is at the mercy of my own misunderstanding
Hrm, I thought ShowEQ was currently working (I looked through messages about ShowEQ working on the same box as winex running EQ, and these messages were recently posted). I'm a dual booter, so I don't have a dedicated machine to try ShowEQ out with, but I thought they had broken the latest encryption scheme.
Well, if it's not yet broken, I'd be more than happy to contribute some code as soon as its done.
OK, I read up on the dev boards... not so good to only find threads using search.
I'll patiently await the day ShowEQ works again.
Heh, fixed/broken is a matter of high debate atm. There are some who have struck out on their own and have a working version of SEQ (or, something like SEQ which isn't actually SEQ, if you will). And some believe that the devs have a working version and are withholding it
Whatever the case, SEQ is not, at this time, working for the 'masses'
As for recent posts, keep in mind that each time Sony sends you a new eqgame.exe, something changes which could mean a little or a lot of work for SEQ devs. So, it's possible that the message you saw was during a 'working' time period and there was a sebsequent change which broke SEQ again.
cheers
BTracker.
What a SWEET little piece of code this is. And an awesome idea at that...my hat off to you for this.
I'm assuming no-one has this working at this point due to the network code changes that have plagued SEQ recently. I'm sitting here trying to figure out if this could be added into SEQ as a "tool" so to speak, almost as a subsection of SEQ...the thing is it's either added to SEQ or you're going to have to re-design the packet thing every time the network protocol changes (which seems to happen regularly now adays). Does anyone know if the issue is that the bazaar packets are encrypted at this point or is it just the opcode compression/grouping that's causing the problem (not that this is small, but it's not as hard as breaking an encryption scheme)?
Anyway, i'll have to look into integrating this with SEQ in some wway at some point...
- Raistlin
I *had* bazaar packets decoded.
They were just mangled - no encryption, but there is (i think) compression. I got the packets after SEQ had demangled/decompressed/op-code id'd them.
As i haven't touched C++ for so long, the output was limited to sprintf's (none of this wierd emitting stuff) which i piped out into a perl script that did the rest of what btracker.c did (db maintainance/price alerting). It could be rather neat to fold that into SEQ, but perl is my language of choice for playing with data.
The bazaar response struct was basically just seller-id/price/object-id/name (with padding) and thus rather simple.. but only after it'd been through SEQ.
tam
Ok, I was really bored waiting 8 hours(!) for a petition reply, so I started hacking around with this some.
It appears the new Bazaar search results opcode is 0x0209.
Not sure if the packet layout has changed, that's where I am now.
Here's one of the packets I recorded:
Hope this helps someone. I'm at the point of dumping out the entire contents of the data parameter handed in to the handler function, just to see where the offsets are that I should be working with. (I have no clue what index 42 is, for example, which appears to be a (big endian) version of the opcode (at least, in previous versions)).Code:What How much Who Artisan's Seal(1) 6000pp ??? Artisan's Seal(1) 6000pp ??? Artisan's Seal(1) 6000pp ??? BazaarSearchResult: 0209 len 266 [Server --> Client] ID:7 000 | 09 02 07 00 00 00 ## ## 00 00 oo oo 00 00 pp pp | ..........9\..f. 016 | 00 00 xx xx xx xx 00 00 00 00 41 72 74 69 73 61 | ....[.....Artisa 032 | 6e 27 73 20 53 65 61 6c 28 31 29 00 00 00 00 00 | n's Seal(1)..... 048 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ 064 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ 080 | 00 00 00 00 00 00 00 00 00 00 07 00 00 00 01 00 | ................ 096 | 00 00 39 5c 00 00 pp pp 00 00 80 8d 5b 00 00 00 | ..9\..f.....[... 112 | 00 00 41 72 74 69 73 61 6e 27 73 20 53 65 61 6c | ..Artisan's Seal 128 | 28 31 29 00 00 00 00 00 00 00 00 00 00 00 00 00 | (1)............. 144 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ 160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ 176 | 00 00 07 00 00 00 01 00 00 00 39 5c 00 00 pp pp | ..........9\..f. 192 | 00 00 80 8d 5b 00 00 00 00 00 41 72 74 69 73 61 | ....[.....Artisa 208 | 6e 27 73 20 53 65 61 6c 28 31 29 00 00 00 00 00 | n's Seal(1)..... 224 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ 240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ 256 | 00 00 00 00 00 00 00 00 00 00 | .......... Legend: ## ## amount of an item for sale (little endian) oo oo object id (little endian, verified using Magelo) pp pp player id (little endian) (all replaced, I am paranoid) xx xx xx xx price of the item, in cp (little endian) Each item appears to start with 0x07, and is 58 bytes long.
][cyman
heh.
the packet structure of bazaar responses has totally changed:
previously it was count, cItemInShop[count]. now there's no count, and a rather bare item struct.
annoyingly, the item-on-corpse packet seems now devoid of item information which suggests to me that this has been shuffled into the body of eqgame.exe (ie it just sends item numbers now). most annoying
if anyone wants, and i remember - i've a patch that'll put stdout reporting of shop items/bazaar queries, and a perl program that takes these in and thinks about it (with beep warnings for !buyme! deals)
but it could really do with being properly integrated into this wierd emit thang that seems to go on.
Sounds cool tamasine, I for one, would love to look over the code. I'm not sure where I am heading with this yet, but I am thinking about setting up some scripting (somehow, this is totally an off-the-top-of-my-head thing atm) to watch bazaar prices of various things, or all things, or something specific, and populate a web page or save to a database, or something, to take advantage of this information. Email alerts, etc, etc would be rally nice. (I guess the trick would be to figure out how I would take advantage of this info from work, which is behind a firewall, which I can tunnel out of, but only to an SSH account on my trusty linux box ;-).
Hmm - WineX + X11 forwarding through SSH, through the SSL tunnel.... ick (but interesting) ;-)
][cyman
Originally posted by tamasine
heh.
if anyone wants, and i remember - i've a patch that'll put stdout reporting of shop items/bazaar queries, and a perl program that takes these in and thinks about it (with beep warnings for !buyme! deals)
Yes I also would like this posted please.
it's quite distrubingly simplistic.. honest!
and icyman.. your problem is going to be triggering your eqclient to run bazaar searches. (though you could leave the cursor in the search string entry, and push keystrokes into it - with enter firing the search)
ok. i'll try and remember when i get home ;)
There are currently 1 users browsing this thread. (0 members and 1 guests)