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.
@SparvCraft
true, I think it could be done without needing spout. but I could add more spout features some time too. it sounds like something I can do in the future.
I had an idea for a better way to get the players balance on the website, but it would require some people to set up a port forward for it. I could have the web interface send a new connection to the plugin to request the players balance. this could possibly add a few hundred ms to the page render time.. that's another down side to it. but it would work better for other economy systems than iConomy. iConomy's the only one it works best with because the web interface can directly access the database for it.
@lorenzo_p It was actually not a Spout client mod, it only used spout to handle the transmission of items to WebAuction. So it was only a small thing spout was used for if I remeber right. But if you think you have the time to and want it would be really nice with some more features like showing the inventory etc.
And I dont really think you should have to get a Client Mod to do that either, it should be possible to just get a custom "view" of the chest if you, lets say put a command on it. And in that view you get your inventory that is simply checking the DB for the results.
Hope you like the idea of this and want to do it, I think more people would love it aswell. I also think that Spout is the future of most plugins as it will bring so much to the users.
@dickwick
I think I fixed your problem now. it seems your database must have had an invalid value for itemTableId in the EnchantLinks table. I've fixed it by making it default to "Items" in cases like this, which will have the item show up on the My Items page.
@SparvCraft
I've never actually tried spout. it seems awesome, but I don't care for installing client mods. I'm guessing your web auction inventory would show up in game? I may be able to add it back in as an optional feature. not sure how it would work if you have more items than what can fit in the virtual chest.
@mumblerit
Hmm, that could be a good idea.
Is this going to get the old Spout features back? I really liked the chest functions and I did not like this as much after it was removed. I think it would be a neat feature to have again as it makes it a lot easier to handle things from the server.
I did (as might know by now) never like the sign based stuff so the chests would be great to have again!
Hope this is "doable" and you want to add it to this already great plugin that you have continued the work on :)
btw is mysql converting script in latest dev build from svn working correctly? I tried it, but it is unable to convert enchantments :/
@lorenzo_p
Thx for atleast taking your time to read it. I am very happy you continue this plugin!
@TheRadarWolf
yeah, there's a lot of great ideas coming together for this. a lot of the features will be optional, so it can still be set up to work much like the original web auction did. there were some suggestions for linking in with forums to use web auction's login. I haven't looked at authdb, so not sure what exactly that does, or how it works, or if it could be hooked into. the sign shops will be completely optional. it's just to make it easier for the player to buy something quick, but will have more limited features. a lot more can still be done with the web interface. I've been thinking about ways to do repairs. what you suggested seems like a good idea. I might do that.
@MatrixJ21
I haven't used the twitter feature myself, so I'm not sure how it works yet, or how it might be improved. as I said, I'm rewriting a lot of code and just getting the critical parts finished so it's usable. twitter and a few other things will be left out of the next release until I get around to finishing them. I'll see what I can do with it sometime in the future.
how about an rss feed instead of twitter, we tried twitter, but got blocked for too much spam 8^(
@lorenzo_p
My server does use the Twitter functions, so could you leave them in? Also, about the recent signs with the quantities on the third line, I want it so you can see the second most recent auction, rather than the tenth. Could you do that?
Thanks for replying so fast. - MatrixJ21
Hey, I want to thank you for your very good work! Keep it up!
I want to say that these ideas:
Are great! However the sign-shop would really mess things up, then it wont be a WebAuction anymore. So if you implement it, please make it optional!
However, i have some great ideas too:
I hope you atleast take your time for new features, and that you continue this plugin!
@lorenzo_p
Never seen anyone use it, I don't think it's needed in any way.
I mean, it's much easier just to have the shout signs...
Also I was thinking, perhaps you could add the option to deny some items from being sold, and perhaps set the maximum sell price for an item. I just hate seeing "1 bucket - 1000$"
does anyone use the twitter feature or can I leave it out? I'm leaving it out unless there's demand for it. I left out storage fees in a previous release already, but I can bring this back too if there's demand for it. otherwise, it's no longer part of web auction plus.
@MatrixJ21
that 3rd line that turns from 2 to 10 for you seems to be the quantity line. I'll improve this in the next update to display as qty: 10 to avoid confusion.
your other issues, I'm already working on a full rewrite of the web interface. I fixed many bugs in the plugin, and it turned out to be a but load of changes to the web interface to make it compatible again, so I'm just writing all new code for it. it's still coming along very well. I just finished the last page and I just have to finish making it all functional yet. give me a few more days and I'll have big updates ready for you.
graphs and market prices will be disabled and non-functional in this next version. I'll get them finished up and working again soon. focus now is on critical bug fixes and huge performance increases. right now, on my test server, every page uses only 3 queries and renders in no more than 0.006 seconds!
Also, the auction end times are wrong in 'My Auctions', mine's set to 2 weeks, and it says the auction will end in 1970. Another thing, the currency prefix/suffixes only work next to your avatar, not on the current auctions listings. Hope I could help.
EDIT: Final thing I've found, when someone buys your item and you get a message about it, that person's name is replaced by a HTML tag of some kind, I can't remember.
Found 2 bugs, on the recent signs, if you put a sign on a wall with
On it, then put one with
Next to it, the 2 on the sign changes to 10. Not sure if this progresses. Also, graph.php doesn't seem to work. Thanks again.
I'll definitely be sure to test this for you, thanks for continuing this development, I look forward to the future features too :)
@ProGamerzFTW
that I don't have an answer for, but I'm sure there's a way to convert it. I found this link http://forums.bukkit.org/threads/converting-h2-to-mysql.33554/ not sure if it's what you need. is accounts.mini an H2 file?
@lorenzo_p
Oh, I have iConomy but its not setup for mySQL :/. Do you know how I can convert the accounts.mini file into the iConomy database?