Jump to content

[Patch] Auction House Bot (Xeross' Branch)


Recommended Posts

AhBot seller (implementation 90%, test 90%, optimisation 70%, code rebase 90%)

Let me finish ahbuyer (implementation 30%, test 0%, optimisation 0%, code rebase 0%)

Only in my opinion (mean any other developpers may think there is more or less work to do)

If you considere like me any code are never finished the ahbot seller part are ok to go to review.

But i need at least to finish implementing buyer part before doing this.

I was not having enought time this week to implement it so i will probably not push anything until next week.

Anyway buyer part is on the rail ( i mean work in progress if "on the rail" is not correct)

Greetings

Link to comment
Share on other sites

  • Replies 717
  • Created
  • Last Reply

Top Posters In This Topic

I am still testing money explits...

One source of money exploits are lootable items. Repair of this exploit need change item prices in DB.

But if a player try put lootable item to auction, so it is not allowed.

So I think that AHSeller should not put lootable items to Auction too (or properties setting enable/disable it).

Or must be created SQL patch on all items that are lootable and AHSeller puts into auction.

Link to comment
Share on other sites

Option to not load loot items are already on ahbot.conf

AuctionHouseBot.Items.Loot = 1

Actived by default. Disable it, rebuild your ah and you will not have looted items.

# AuctionHouseBot.Items.Loot

# Include items that can be looted or fished for.

# Default 1

This mean items from loot, but I speak about items that can be looted. Items that contains other items.

Items like this: http://www.wowhead.com/item=5759#contains

This lootable items can not be put in auction by player.

Link to comment
Share on other sites

this may be a bit more work, but would it not be possible to have an item ignore list, so for example "Satchel of spoils" is a loot able item and has ALOT of gold in it for a few silver coins. so either a txt file with a list of item ids that should not be sold. and a command such as .ahbot itemignore <#id> that adds to it. or even in the database if its easier ;) that way we can all customise it as we find them..

Link to comment
Share on other sites

nothing besides him being the main dev of the auctionhouse bot currently which was on a good way to being moved to under review.

all his progress and help posts of course would be helpfull from theis thread

I could not say I know a post by him that would be specifically violating the rules of this forum - hopefully this was just a mistake?

cheers

shane99

Link to comment
Share on other sites

I hope it was a mistake as well because, I can't think of a single post here in core mods that would have violated any rules and he has done a a lot for getting this mod going the way Vladamir wanted (he was the only one who listened to the Developers).

I am sure it is a mistake, it can not be something else

Link to comment
Share on other sites

Hi, Iam Cyberium. Yes it's probably a mistake :/ Or an account hack? (i was using my little password for this forum :/ )

Anyway i finished new buyer implementation. Iam preparing the complete post for explanation and i will push later my work.

I Hope i will post it under my main pseudo here :)

Edit: if you see any violation that i done please explain me :)

Link to comment
Share on other sites

Buyer Update

After some brainstorming i have decided to rewrite all code heart of buyer and make it more unpredictible.

Do i realised what i want? Not realy if you look at the code you will see it's still predictible but less than before.

It's difficult to do because the prices of items is not only the parameter we must consider.

Here is the case i retained for the new buyer.

- is the item is the only one on this faction ah?

- is the item price cost more than average price of this item in this ah?

- is the item price cost is less than all of the same item?

- is the item price cost more than max buyable price? (computed with ratio price of the faction)

All of this question (and some other) have now an answear on the new buyer function.

But the process cost more cpu cycle now.

So i reworked the update() function to not do all stuff at once.

I natauraly divided the cycle by 6.

- Selling item for alliance.
- Selling item for horde.
- Selling item for neutral.
- Buying item for alliance.
- Buying item for horde.
- Buying item for neutral.

I realised the initial cycle time was 1 min (basicaly need 6 min with new sheme to do the 6 jobs) and syncronised with original mangos ah.update.

So new timer is created for this case. The cycle time is now 20s. The initial cycle need now 2 min to be done like in the past.

The benefit is the cpu consumption is less than before and have better distribution in time.

Theoricaly this mean you can easely add more item than before without any visible impact.

Buyer need to be adjusted, i mean some of the hardcoded value need probably some review to make it more realistic.

Anyway i have already added this configs

AuctionHouseBot.Buyer.Alliance.Enabled = 1
AuctionHouseBot.Buyer.Horde.Enabled = 1
AuctionHouseBot.Buyer.Neutral.Enabled = 1

AuctionHouseBot.Buyer.Recheck.Interval = 20

AuctionHouseBot.Buyer.Alliance.Chance.Ratio = 3
AuctionHouseBot.Buyer.Horde.Chance.Ratio = 3
AuctionHouseBot.Buyer.Neutral.Chance.Ratio = 3

The first one is understaindable :)

Recheck interval is time (in minute) between check of the same entry.

Default is 20 but i think 60 is more realistic. The situation of ah can change so it's good to reevaluate an entry not buyed. But not too often to not add more chance to buy it... I mean if an entry have 1 chance for 1000 to be buyed but checked 1000 time...

Chance ratio : when the evaluation of the entry is done you will have "x" chance for this entry to be buyed. The chance ratio is simply (x/chance ratio). If the evaluation give you 5000(maximum chance) chance and ratio is set 3 you will have 5000 chance on 15000 random number.

I hope i was clear :P

The conf file is changed so you need to replace them by the new one. (revision is not the same)

I probably forget some stuff but iam still here if you have questions.

Remember this need more testing it's the beta stage...

Cyberium

http://github.com/cyberium/mangos/tree/new_ahbot

Link to comment
Share on other sites

Next step

- Off course iam waiting your feedback to correct/adjust buyer and seller part.

- The class structure are not correctly organised. So i will reorganise it like this. AuctionHouseBot master class with 2 child class, AHB_Buyer, AHB_Seller. AHB_Config will be used only by Seller. New little class (or vector) will be created for buyer. The new structure will make possible not allocated memory if you disable buyer or seller part :) and olso make the code more readable.

- Iam planned to correct seller issue on the container items.

- Add some item to be ignored is an option but i prefer the automatic way if it is possible.

- I still have the last thing in my todo list, is the idea from Skirnir. Get Name of ahbot randomly from already existed creature in the DB. This make more realistic the ah and probably will be fun to see some name selling some kind of item :P. (i let your imagination work about this)

Greetings

Link to comment
Share on other sites

to help you with some return

A/ I have 200 000 items with a BD "silvermoon":

selling

- i.e. mounts : 6 types are sold 25 times

- i.e. some items are not sold per category

=> I suspect it is linked to the bd

on average, a lot of same items are sold, but some never (I have no clues why)

perhaps using mounts as a check can be usefull: am I the only one in this example ?

B/ is it possible to add progressively some components inside the core and not the huge "patch" in one times

perhaps it will be more easy for Vladimir, and also give us the faith in seing AHbot inside mangos

Link to comment
Share on other sites

to help you with some return

A/ I have 200 000 items with a BD "silvermoon":

selling

Wow! You are not affraid :P Fine, do you set itemspercycle for your config? Do you see performance improvement with last revision?

- i.e. mounts : 6 types are sold 25 times

- i.e. some items are not sold per category

=> I suspect it is linked to the bd

Hum iam working with YTDB for now. Didn't faced this but anyway i need to check something i have in my mind that may cause that.

on average, a lot of same items are sold, but some never (I have no clues why)

perhaps using mounts as a check can be usefull: am I the only one in this example ?

I will investigate this.

B/ is it possible to add progressively some components inside the core and not the huge "patch" in one times

perhaps it will be more easy for Vladimir, and also give us the faith in seing AHbot inside mangos

Not very except choice one mod not both. The new design off the class will permit this easely.

Anyway you seem impatient to have it on the core :P Don't worry when the class are rebased i think it will be the time to go in review section and be under the fire of Vladimir and it's friends :P I'am not so hurry than you lol.

Greetings

Link to comment
Share on other sites

Well Cyberium! I'm gonna put a torch to ya if you think all of this work isn't good enough!...I have no complaints and my first run speed is good at 20,000+ items configuration looks good except YOU LEFT THE CONFIG IN THE MAIN MANGOS CONFIG!....dang it! now you have 2 to configure! now that I got that off my chest!...it looks and works great put it under review! and thank you for all of the hard work!

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use