WebAuctionPlus
WebAuctionPlus - eBay for Minecraft!
A minecraft/bukkit shop plugin for your website! This is a rewrite of the original WebAuction with many new features and improvements. I've made to many improvements to the code to list on one page. Many of my plans require big changes and a lot of new code. As with any new code, bugs are to be expected, so please bare with me and report any bugs you come across.
Note: It is strongly recommended you backup your database before using or updating this plugin. Some of the bug fixes and performance improvements I'm making require big changes to the database. The WebAuctionPlus plugin will convert and update the database automatically the first time it's run.
New virtual inventory MailBox has been added with the update of Minecraft 1.3 and WebAuctionPlus 1.1. When a player right clicks on a MailBox sign, it opens up their virtual mailbox inventory and locks their website account to prevent item dups. When they close their mailbox, it updates their inventory and unlocks their website account. NOTE: This feature is new and running single threaded. If you experience lag related to this, I can see what I can do to make it multi-threaded.
Requires: Vault - http://dev.bukkit.org/server-mods/vault/
Requires: Web server with PHP and MySQL
Optional: SignLink - http://dev.bukkit.org/server-mods/signlink/
A few improvements by lorenzop
- new ajax listing code (fast!)
- new virtual inventory mailbox
- all new web interface
- all new item deposit/withdraw code
- database connections are handled better
- connection pool limits can be set in config
- task update times are now configured in seconds
- tasks can be disabled by setting the update frequency to -1
- new announcement system
- added "/wa reload" and "/wa save" commands
- accounts can be created or passwords changed from the console
- multi-language support
To do
- server shops (unlimited stock improved)
- better support for vault economies
- custom description for items being sold
- wish list / auto sales
- track all wa signs to prevent unauthorized signs
Youtube Videos
Languages
If you'd like this plugin translated to another language, feel free to download the en.yml file from the link above, translate it to your own language, and send it to me.
Signs
WebAuctionPlus signs can be created by placing a sign with [WebAuction], [WebAuction+], or [wa] on the first line. Case doesn't matter, the plugin will fix it for you.
Note: you cannot use the deposit mailbox sign while in creative mode. this shouldn't ever be needed in the normal operation of the plugin, so as a general protection, it's always denied.
Note: withdraw mailbox signs can now have a quantity of stacks on the last line, or leave it blank for all mail.

SignLink
- %waTitle - items name
- %waPrice - price each
- %waSeller - sellers name
- %waType - Buy Now or Auction
Source Code
Development Builds
Development Builds can be found at the link below. Development builds aren't approved by the bukkit team and they might be buggy.
Commands
- /wa password <apassword> - Changes your Web Auction Plus account password, or creates an account if you don't have one. This command can also be used from console in the format: wa password <playername> <apassword> and short-hand aliases "pass" or "pw" can be used in place of "password". For example, /wa pw mypassword123
- /wa mailbox - Opens the WebAuction mailbox.
- /wa deposit <amount> - Deposit money into your Auction account.
- /wa withdraw <amount> - Withdraw money from your Auction account.
- /wa reload - This feature is currently broken and disabled. It will be working again soon.
- /wa update - Forces recent signs to update. Also updates SignLink signs.
- /wa version - Displays the current running version of Web Auction Plus.
Permission nodes
note: these may change at some point
- wa.use.mailbox (use mailbox sign)
- wa.use.deposit.money (use money deposit sign)
- wa.use.withdraw.money (use money withdraw sign)
- wa.use.command.mailbox (use the mailbox command)
- wa.use.command.deposit (use the deposit command)
- wa.use.command.withdraw (use the withdraw command)
- wa.announcer.receive (can see auto announcements)
- wa.password.create (can create a new account)
- wa.password.change (can change their password for an existing account)
- wa.canbuy (can buy from web auction)
- wa.cansell (can sell with web auction)
- wa.create.sign.mailbox (create mailbox sign)
- wa.create.sign.deposit (create money deposit sign)
- wa.create.sign.withdraw (create money withdraw sign)
- wa.create.sign.shout (create a new auction shout sign)
- wa.create.sign.recent (create a recent auction sign)
- wa.webadmin (user account is admin on the website)
- wa.remove (remove WA signs)
- wa.reload (reloads the WebAuctionPlus config)
How to Install
Join us and chat some time on our irc channel. #webauctionplus on esper.net webchat.esper.net
Plugin Usage
As I've said in comments, I don't agree with the mojang buyout. as much as I've enjoyed working on this plugin and want to see it continue, I'm no longer doing all the work. MarioG1 has stepped up to work on the plugin. I may still help somewhat if he wants, but I'm passing the torch to him as the lead. good luck, hope you write some good code and features.

-
View User Profile
-
Send Message
Posted May 25, 2012Just wanted to say man keep up the great work, I love this plugin so much, I even made a video to show my server how to do it so it would get popular, keep it up, love the new look btw.
-
View User Profile
-
Send Message
Posted May 25, 2012I've finished the new multi-threaded code for sale alerts and player join events. I set all the tasks to run once every second, and spammed it with logins and clicks, while transferring large files on the server. it's snappy as ever. like I said, the server I use for testing is to fast and not enough load to really test for lag. I hope this solves that issue.
-
View User Profile
-
Send Message
Posted May 25, 2012@Dalez
just wait till you try this next update. it should be pretty awesome, if I don't break anything. sale alerts and player login code will be all multi-threaded. very little will run right when the player does log in. shouldn't get that can't keep up message anymore from that. I get that on my own server, even though I don't get much lag from it. the problem was just that it holds up the server while those few queries run. they're fast, but still makes the server wait. multi-threaded, it can run on it's own cpu core or even on the same core at the same time the server continues doing its thing.
edit: oh yea, I think I forgot to tell you. nothing's being added to the SaleAlerts table right now, so in game alerts aren't working either. it all goes along with transaction logs, which I plan to get working again soon.
-
View User Profile
-
Send Message
Posted May 25, 2012@lorenzo_p
So we just had like a half an hour PvP fight, and there is no lag at all. This is brilliant. I have also tested your plugin to see if it still works with these changes and it does! Brilliant!
However, it doesn't alert me when my auction has been sold anymore, so what would you recommend I put into SaleAlertSeconds: 0 which I guess is the notifier?
Anyway, awesome plugin, it works amazingly and the lag seems to have a fix now, so whoo!
-
View User Profile
-
Send Message
Posted May 25, 2012Ah cool, haha :D
-
View User Profile
-
Send Message
Posted May 25, 2012@TheVnChecker
http://twitter.github.com/bootstrap/ you'll see when it's done ;-)
-
View User Profile
-
Send Message
Posted May 25, 2012@lorenzo_p
Ah ok thx for the info.
What do you mean with bootstrap?
-
View User Profile
-
Send Message
Posted May 25, 2012@Dalez
nice, 0ms. try running examine and join the server. that runs 2 queries I believe. I'm working on sale alerts and the player join event. it will run as a delayed task 2 seconds after they log in, in multi-threaded mode.
@TheVnChecker
the website will be worked on soon to add multi-language support. it'll be added before the plugin is promoted from alpha to beta.
anyone like bootstrap? someone's working on a bootstrap based theme for the website. :-)
-
View User Profile
-
Send Message
Posted May 25, 2012@lorenzo_p
i have change the language to "de" in the database but the website language doesn't change to german. there only created a "de.yml" in the plugin ordner of my Minecraftserver.
Only the plugin language change to german but the website (webauctionplus site) not.
-
View User Profile
-
Send Message
Posted May 25, 2012@lorenzo_p
So I edited the config file to make these changes:
And I ended up with this:
http://dl.dropbox.com/u/61216201/2012_05_25-15_30_24.exam
I'm going to test PvP and lag spikes now and we'll see how it goes. As you can see, it's moved the amount of resources it uses already down to nearly nothing.
-
View User Profile
-
Send Message
Posted May 25, 2012@Dalez
the sale alerts task seems to be taking longer than what I'd expect. I have some ideas to speed that up. it runs a query on the database for each player that's online. I can cut that down to 1 query. I think I can make this run much better. the shout signs task seems to be taking a little bit to run too, and all that does is get the highest auction id to tell if there's anything new added. for now, you can try disabling those 2 tasks in the config.yml. you can try enabling them again when the next update is out.
if all the major bugs are fixed now, I might take a bit longer on the next update. I'll get a bunch more done and just do one big update.
btw, check above in the plugin description. I created a github mirror for anyone who wants to fork it and submit their own changes. I'll set up a scheduler to update it from the subversion repo once every morning.
-
View User Profile
-
Send Message
Posted May 25, 2012@lorenzo_p
So I just did the NoLagg Examine for 25 seconds, and this is the results:
http://dl.dropbox.com/u/61216201/2012_05_25-12_02_18.exam
As you can see, AuctionHouse is using 88.2ms, where as the next plugin is using 19.5ms. Citizens is a big plugin and I would expect that but I have no idea what AuctionHouse is using so much.
I then tested again, when me and the other admin was on, just talking, nothing more, and I get literally the same results:
http://dl.dropbox.com/u/61216201/2012_05_25-12_07_34.exam
I have no idea why this is so high, but it seems to be clashing with another plugin.
-
View User Profile
-
Send Message
Posted May 25, 2012@TheVnChecker
you can change the language in the Settings table. just edit the row "Language" and put the 2 letter abbreviation of the language you want. Your text to link here... I do plan to let each player set their own language and theme right on the website, but I haven't gotten to that feature yet. possibly very soon.
-
View User Profile
-
Send Message
Posted May 25, 2012I have a question,
how can i change the language from the webauction site?
-
View User Profile
-
Send Message
Posted May 24, 2012@Dalez
could you load up the latest version of web auction plus, do /nolagg examine then send me the .exam file? I figured out how to use the examine viewer. it's pretty slick too. I've done some initial testing on my server. I did all I could to try making it lag while examine was running. I averaged .4ms/tick. nothing I did used more than just a few ms at the most. over the course of 50 seconds, all running tasks used a total of 7.4ms. it took 1ms to process my logging in (that's one I was worried about a bit, but 1ms is perfect and fast) I spammed the mailbox and money deposit/withdraw signs and ended up with 0.4ms/tick. the deposit mailbox is probably the heaviest code in the plugin. it usually does maybe 2-6 queries, possibly more if the player has a lot of enchanted items. I'm wondering if there's a way I could query the database for an item with all and only certain enchantments with a single query instead of the few it does? I think that'd be like putting a bigger turbo on a drag racer, but every little bit has the potential to help.
-
View User Profile
-
Send Message
Posted May 24, 2012@deleted_8803187
change log: [http://dev.bukkit.org/server-mods/webauctionplus/files/8-web-auction-plus-1-0-8/]
I'm looking at the code right now. I don't see anything that could cause lag. I'll try setting up a slower server and see how that goes.
-
View User Profile
-
Send Message
Posted May 24, 2012@lorenzop: what has changed in 1.0.8? :) when did lag start?
-
View User Profile
-
Send Message
Posted May 24, 2012@deleted_8803187
nope, it really shouldn't affect anything. the code I changed only runs once when the server first loads. it loads all the language messages into memory and doesn't get anything extra from that file from then on. also, I changed it so it doesn't create the file in the plugins\WebAuctionPlus\languages folder anymore. you can still create that folder and put a custom language file in there, and it will load and use it, but by default, it will just use the built in language files from the jar every time it loads.
-
View User Profile
-
Send Message
Posted May 24, 2012@lorenzop: it seems to me... That it seems to be that language fix you made. You know where it wouldn't generate the files on windows? So you added a "Quick Fix."
-
View User Profile
-
Send Message
Posted May 24, 2012@deleted_8803187
what do you mean sluggish or quick fix? I put hours into tracking down and fixing bugs in 1.0.8. no quick fixes in that version. I'm hoping everything works now. I've been testing on multiple systems. I'm about to do more testing on another tonight.
the only thing that runs often that might be possible of causing lag are the event listeners, but there's nothing heavy in them. I plan to move most of the code that runs when a player logs in to a delayed task. that should help any lag at that moment of login.
what really has me wondering, why is there any lag from it at all?? it shouldn't take more than a few milliseconds to run any of the code in the plugin.