Project 1999

Go Back   Project 1999 > Blue Community > Blue Server Chat

Closed Thread
 
Thread Tools Display Modes
  #1  
Old 11-21-2014, 01:38 AM
azxten azxten is offline
Fire Giant

azxten's Avatar

Join Date: May 2010
Posts: 753
Default Looking for help building Project1999 auction analytics

The auction tracker at ahungrydot is great and is an inspiration. However I've always wanted to have my own auction data and interface with source available. So I'm making a Project1999 auction tracking and analytics program that can be run by anyone to maintain their own data.

If any coders want to help please drop me a message. Code is available on github. I'm sure its full of bugs. I have not refactored it yet either.

https://github.com/seventeen76/P99Auctions

Currently you can specify an EQ directory and it will read all ".txt" files under EQ\Logs for auctions. Auctions are parsed and written to an sqlite database. It then finds any logs that are actively being written to and begins active monitoring for auctions placing data into the database. Log names and md5 hashes are kept in a separate table to ensure logs are only re-read at launch if the md5 changes.

Plans are to build a frontend interface which allows viewing average item pricing, auction volume, and various other things. The goal is to make a frontend that anyone can use on their home computer. This is why an sqlite database is used. Open to ideas on how to make a lightweight dynamic frontend using this sqlite database without having to install anything. Most server side code like PHP would require the client have software installed since its processed locally.

Long term I'm hoping to implement some kind of data sharing system which would allow merging sqlite databases with either a central repository or group clusters. This would allow multiple people to contribute to a single database.

Example of EQ auction window (left), active auction output (top), sqlite interface (bottom), and code (right):

[You must be logged in to view images. Log in or Register.]
  #2  
Old 11-21-2014, 02:06 AM
mrproudbeard mrproudbeard is offline
Aviak


Join Date: Jun 2013
Posts: 70
Default

It's cool that you took time to slap an OSS license on this but you might wanna take a look at it and remove the extra junk you included in your copy/paste. [You must be logged in to view images. Log in or Register.]
  #3  
Old 11-21-2014, 02:16 AM
azxten azxten is offline
Fire Giant

azxten's Avatar

Join Date: May 2010
Posts: 753
Default

Oh geez, so its not enough I select GNU I have to modify the LICENSE it generated. Thanks for the heads up, I'll remove that footer and put the suggested header in the source files soon.
  #4  
Old 11-21-2014, 02:35 AM
Thatt Thatt is offline
Orc


Join Date: Aug 2014
Posts: 49
Default

It would be great if after you've got users posting to a central database you exposed this data via a webservice so that I could query it in my own application.

Regardless, thanks for the work, I'll definitely check it out.
__________________
-Spur
  #5  
Old 11-21-2014, 09:16 AM
Swish Swish is offline
Planar Protector

Swish's Avatar

Join Date: Nov 2010
Posts: 19,226
Default

I love the idea. ahungry has been less popular since the banner ads (I understand tristantio's motivation behind them however).

Less people seem to be uploading logs, perhaps they'd back the new cat in town [You must be logged in to view images. Log in or Register.]
  #6  
Old 11-26-2014, 07:00 PM
azxten azxten is offline
Fire Giant

azxten's Avatar

Join Date: May 2010
Posts: 753
Default

Updated latest GitHub version again including roughly 3-4 days of log data in the auction database. I'm just going with a basic console UI for now. May use Tkinter and make a proper GUI eventually.

Still looking for help if anyone wants to work on developing this.

One of the things I really wanted to do with this program was be able to do live analysis of EC auctions. This latest release is the start of a framework for that analysis.

Here is an example output from just now. Auctions are compared against a list of alert conditions in addition to being logged in the database. If they match an alert condition they are shown in the console output.

Output below shows examples of two alert conditions. One is that the price is below the 30 day average. The other is that the seller has lowered the price of the item compared to their previous auctions.

The (I1.0 M5.0) portion of an alert is the item's buy volume and the average item buy volume. Buy volume is the number of times that item was seen in "WTB" auctions.

For example:

(I5.0 M5.0) Lavendyr : blood point @ 2000 : below 30 day avg: 2271.0

This means the item blood point was seen in "WTB" for 5 unique people over the last 30 days of data. The average for all items seen in "WTB" is 5 unique people. Since most items are never seen in WTB this indicates that the item should sell pretty easily since it meets the average of all WTB items. The item is also below the 30 day average of 2271 meaning this is very likely a good purchase if you want a blood point or possibly to resell.

Quote:
X:\GitRepos\P99Auctions>auctions.py --active-only

[P99Auctions]

[Reading Config]
[Finding Logs]
Found 18 potential log files.
[Identifying Active Log]
Sleeping 3 seconds to allow logging...
No log found...
Sleeping 3 seconds to allow logging...
eqlog_Oppositemule_project1999.txt is active.
(I1.0 M5.0) Found : ebon mace @ 6000 : below 30 day avg: 6818.0
(I3.0 M5.0) Oobleck : sarnak emblazened tabard @ 50 : below 30 day avg: 77.0
(I1.0 M5.0) Trisol : bone legplates @ 30 : below 30 day avg: 35.0
(I5.0 M5.0) Lavendyr : blood point @ 2000 : below 30 day avg: 2271.0
(INone M5.0) Nadelaw : charred guardian breastplate @ 250 : below 30 day avg: 317.0
(I2.0 M5.0) Downstairs : dusty breastplate @ 200 : below 30 day avg: 288.0
(I3.0 M5.0) Oobleck : sarnak emblazened tabard @ 50 : below 30 day avg: 77.0
(I2.0 M5.0) Downstairs : dusty breastplate @ 200 : below 30 day avg: 288.0
(I1.0 M5.0) Sonnyboy : shield of the slain unicorn @ 15 : below 30 day avg: 26.0
(I1.0 M5.0) Sonnyboy : shield of the slain unicorn @ 15 : price descending: 20
(I1.0 M5.0) Sunil : ebon mace @ 6000 : below 30 day avg: 6731.0
(I1.0 M5.0) Sunil : ebon mace @ 6000 : price descending: 6500
(I2.0 M5.0) Florel : lute of the gypsy princess @ 70 : price descending: 75
(I3.0 M5.0) Viceruhl : kobold hide boots @ 50 : below 30 day avg: 65.0
  #7  
Old 11-26-2014, 07:22 PM
iruinedyourday iruinedyourday is offline
Banned


Join Date: Apr 2014
Posts: 7,351
Default

[You must be logged in to view images. Log in or Register.]
Closed Thread


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 04:07 PM.


Everquest is a registered trademark of Daybreak Game Company LLC.
Project 1999 is not associated or affiliated in any way with Daybreak Game Company LLC.
Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.