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 Oct 27, 2012@Bubelbub
sure. authme is something I would like to add support for, but it's pretty far down on my todo list. it's one of those features I'd like to add for others to use, but I don't have a use for it myself, so I might not ever get to look into it. I'll send you a pm.
@lorenzo_p
no comments about this? I've brought up this idea before and no one commented on it. I don't think it breaks any rules, and it might help out someone, so I'm going for it.
-
View User Profile
-
Send Message
Posted Oct 26, 2012@lorenzo_p
I could help you develope small things ^^
For example, i connected your Plugin with AuthMe :) Or Ingame... The Signs could have a Description... [WebAuction+] MailBox Online Shop - url -
I´m allround Developer. From php to java ... from c+ to c-sharp... from ..........
Send me an PM. I´m German, but i think you could understand me.
-
View User Profile
-
Send Message
Posted Oct 26, 2012think I should start offering website hosting in the plugin description above? it might help out some of the smaller servers who don't have a place to host the web auction plus website. I'll say, make a donation for however much you'd like and I'll give you a subdomain of webauctionplus.com on my web server. like awesomeminecraft.webauctionplus.com with cpanel, mysql, php, whatever else. I can even set up the web auction plus website for you. comments?
-
View User Profile
-
Send Message
Posted Oct 26, 2012@modtv1337
I'm guessing you've already double and triple checked the database settings in config.yml? be sure the database its connecting to and the one you're looking at are the same database. make sure case matches everywhere, and be sure the mysql user the plugin is using has permission to create tables.
@chopstick121
there is html in the plugin, but no, sorry. the plugin does require a server with php support.
@Fennelin
internal server error 500 messages can be a pain to track down. for me, the hardest part is finding the right log to find the problem. if it doesn't say in any of the apache/httpd logs, you can try turning on error reporting in php full blast writing to php_errors.log and see if that gives any clues. the only thing special you might need is the gd2 module for php. it is currently required, but pages should still load without it. I'm working on making gd2 automatically optional.
-
View User Profile
-
Send Message
Posted Oct 24, 2012I'm working on a debian server from scratch. I experienced a "magical" error 500 from your code and apache doesn't want to give me a clue. I suspect a lack of php modules. So do you have a list of php modules I need to install on my server? Thx
-
View User Profile
-
Send Message
Posted Oct 24, 2012Can I use HTML ? Because I'm using enjin
-
View User Profile
-
Send Message
Posted Oct 24, 2012So, Something strange has happened to me today. After about a month or so of running the plugin with no problem, a routine restart of the server has lead to this error.
http://pastebin.com/gKQCGTUq
i tried to delete the database all in one and start over but the plugin does not make its own tables for some reason. Im happy i saved the data in the database before trying a full wipe. Any idea whats going on?
-
View User Profile
-
Send Message
Posted Oct 21, 2012@Zach667711
you can try increasing those pool limits, to something like 10 or 15 for the warn, and 15 or 20 for the hard limit. if it's just under extreme load, this would help, but if it shouldn't be acting this way, there's probably some reason why it's using so many connections. something causing it to fail or run slower than it should.
-
View User Profile
-
Send Message
Posted Oct 21, 2012@lorenzo_p
I think i found the problem in this error please check it out.
Error:
2012-10-21 20:44:12 [SEVERE] [WebAuction+] DB connection pool is full! Hard limit reached! Size:10 2012-10-21 20:44:12 [SEVERE] Exception in thread "pool-1-thread-134" 2012-10-21 20:44:12 [SEVERE] Exception in thread "pool-1-thread-124" 2012-10-21 20:44:12 [SEVERE] org.apache.commons.lang.UnhandledException: Plugin WebAuctionPlus v1.1.7 generated an exception while executing task 53 at org.bukkit.craftbukkit.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.NullPointerException at me.lorenzop.webauctionplus.tasks.PlayerAlertTask.run(PlayerAlertTask.java:71) at org.bukkit.craftbukkit.scheduler.CraftTask.run(CraftTask.java:53) at org.bukkit.craftbukkit.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) ... 3 more
-
View User Profile
-
Send Message
Posted Oct 20, 2012@Zach667711
are the connection pool settings still set to 5 and 10? under normal conditions, the pool size shouldn't be more than 2 or 3 connections, and warns you if it gets to 5. looking at this code some more, it's possible you might get this exception if the connection to mysql that previously worked suddenly disconnects. an unexpected loss of connection to the database is something the plugin doesn't handle well. it's usually not a problem, and restarting the bukkit server should fix that or any plugin.
-
View User Profile
-
Send Message
Posted Oct 20, 2012@lorenzo_p
hmm yes this plugin has worked fine before without any errors at all. When this started happening I updated to bukkit 1.3.2 R1.0 and I switched iconomy to use mysql. The settings are fine I believe although I got one error like this one but for another plugin that doesnt even use mysql. Do you think this has something todo with the ConnectionPoolSizeWarn: 5 | ConnectionPoolSizeHard: 10 settings in the config?
error:
[SEVERE] Exception in thread "pool-1-thread-210" 2012-10-20 12:12:05 [SEVERE] org.apache.commons.lang.UnhandledException: Plugin Essentials v2.9.4 generated an exception while executing task 47781 at org.bukkit.craftbukkit.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.NullPointerException at com.earth2me.essentials.UserData.setLastLogin(UserData.java:638) at com.earth2me.essentials.EssentialsPlayerListener.delayedJoin(EssentialsPlayerListener.java:161) at com.earth2me.essentials.EssentialsPlayerListener$1.run(EssentialsPlayerListener.java:146) at org.bukkit.craftbukkit.scheduler.CraftTask.run(CraftTask.java:53) at org.bukkit.craftbukkit.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) ... 3 more
-
View User Profile
-
Send Message
Posted Oct 20, 2012@Zach667711
that looks like something that shouldn't ever happen. it looks like it fails to release a lock on a mysql connection that possibly doesn't exist. does it still do this if you restart the bukkit server? has the plugin worked before, and have you made any changes recently when this started? what's your setup like, does mysql run on the same server as bukkit? you can check over your mysql connection settings to be sure everything is right. this is the first time an error like this has been reported, so it's kinda tough to know what could cause it.
-
View User Profile
-
Send Message
Posted Oct 20, 2012I get spammed with this error and the server lags MAJORLY.... Please help me
Bukkit: 1.3.2 R2.0
Error:
[SEVERE] Exception in thread "pool-1-thread-1623" 2012-10-20 09:40:49 [SEVERE] org.apache.commons.lang.UnhandledException: Plugin WebAuctionPlus v1.1.7 generated an exception while executing task 31 at org.bukkit.craftbukkit.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.ArrayIndexOutOfBoundsException: -1 at java.util.ArrayList.elementData(ArrayList.java:371) at java.util.ArrayList.set(ArrayList.java:399) at me.lorenzop.webauctionplus.mysql.MySQLConnPool.closeResources(MySQLConnPool.java:120) at me.lorenzop.webauctionplus.dao.waStats.doUpdate(waStats.java:87) at me.lorenzop.webauctionplus.dao.waStats.Update(waStats.java:27) at me.lorenzop.webauctionplus.dao.waStats.getMaxAuctionID(waStats.java:101) at me.lorenzop.webauctionplus.tasks.ShoutSignTask.run(ShoutSignTask.java:30) at org.bukkit.craftbukkit.scheduler.CraftTask.run(CraftTask.java:53) at org.bukkit.craftbukkit.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) ... 3 more
or you could go here for the error: WebAuction Error
-
View User Profile
-
Send Message
Posted Oct 19, 2012@Jahb57
here are install instructions I just wrote up. I may do a video sometime. http://dev.bukkit.org/server-mods/webauctionplus/pages/installing-and-updating/
-
View User Profile
-
Send Message
Posted Oct 19, 2012@Jahb57
if you're seeing "you're not logged in, log in here" you have an old version. the latest has a login form in that spot. the update I'm working on will have an option not to display that login form, for sites that use an iframe and don't have as wide of a page. I'm always open to suggestions. I'm considering changes to the user manager (website login system) and an api of some kind to integrate with existing websites. it will work in one of 2 directions. either your website handles the login and player name verification and passes it onto web auction plus, or web auction plus does the work and passes the player info to your website. do many people want something like this? if anyone has any idea how to best do this, I'm brainstorming on it, but haven't settled on anything yet.
@Jahb57
I don't have an eta for bidding auctions yet. I've been thinking about the best way to do this, but don't have a whole lot started yet. it is planned for the near future.
@davidian22
check your file permissions. that's the only thing I can think of that could cause a problem like that. look for anything at all in the server log about WebAuctionPlus. 1.1.7 is compiled to run on 1.3.1 servers, but it should work just as well on 1.2.5 servers.
-
View User Profile
-
Send Message
Posted Oct 19, 2012When I place the webauction jar in my plugins folder, and I restart my server. Nothing happens. Does anyone know how to fix my problem? I doesnt create a folder or something.
[NOTE] I am running a tekkit server latest built at cloudcrafting
-
View User Profile
-
Send Message
Posted Oct 19, 2012Any idea when the ebay auction will come out my users can wait for that feature :)
-
View User Profile
-
Send Message
Posted Oct 19, 2012@lorenzo_p
Well i got it to work, i think it would be a good idea make the plugin more user friendly I could do one if you wanted, just one thing i noticed how do i get my webstore to look like your saying something to the extent "not logged in? login here" and it will take you to the login page, right now everything looks so clustered and ugly.
-
View User Profile
-
Send Message
Posted Oct 18, 2012@chopstick121
yea, it does require php. currently, it also requires gd2, but that will be optional in the next update. I could possibly host websites for a few people. one of my servers is in a datacenter, with cpanel. it'll require you to have a domain, and maybe a donation would be an ok idea. the domain doesn't have to be hosted only on my web server. I can help you set up a custom A record in your dns server to have a subdomain point to my server for the website.
@Jahb57
anyone know of some good screen recording or video editing software for linux? could do it on my windows laptop. I'll get around to making a video one day. I think it'd be a fun little project.
-
View User Profile
-
Send Message
Posted Oct 18, 2012Suggestion: Installation Video or at least instructions