WebAuction
WebAuction - Website based item market [1597]
Requires: An economy plugin (iConomy 4,5,6, BOSEconomy 6 & 7, EssentialsEcon, 3Co, MultiCurrency, MineConomy, eWallet, EconXP)
Requires: Vault
Requires: Web server running PHP 5.2+
Download Latest .jar:
WebAuction.jar v0.6.4 - last change 20th Jan 2012
Download Latest Web Folder:
WebInterface.zip v0.6.4 - last change 22th Jan 2012
Download Latest Development .jar:
WebAuction.jar - last change 9th Feb 2012
Download Latest Development Web Folder:
WebInterface.zip - last change 9th Feb 2012
Development Server
If you want to see a demonstration of a working (mostly) development version of this plugin, I am currently running a small server with it (not 24/7). However the website is pretty sluggish because it is not hosted on the same server as minecraft, but it should still work.
- IP: twm.servegame.com
- Website: webauction.threewisemeh.com
Source (GitHub)
WebAuction (jar) - http://bit.ly/o8vpPq
WebInterface (web files) - http://bit.ly/nPubR1
Description
Ok, so I know there are loads of shop plugins that all do slightly different things. But because of the UI restrictions in game, I chose to make a shop plugin that links in with a website via a MySQL database to make trade easier, and even allow people to check on how their items are doing without being logged into the game. (mobile device?).
Basic idea is that admins (or players with right permissions etc) set up auction houses around the world. Players can then go there and deposit items, when they do this the items disappear from the world and get logged into the players online account. They they put money in the online account by clicking signs. Once this is done and they have set a password, they can log into the website and see all the auctions that are going on.
Using the money in the online account they can buy items, and they will be sent to the mailbox in game (a sign) and they can set up their own auctions for the items they have stored online.
One of the main features is that the website will look at all the sales and calculate a moving average for the market price of that item. Which should help players when setting a price, or buyers to see if they are getting a good deal.
Notes:
- Just added a how to edit section for info and new designs to help change the look of the website
- Works best with iConomy stored in the same MySQL database as the WebAuction tables (direct money link from game to website)
Features:
- Only members of your server can get an account
- Change password from in game
- Deposit items to be sold by right-clicking a mailbox deposit sign while holding it
- Change online balance with signs
- Get items from a sign mail box
- Moving average market price calculations
- Can link directly to the iConomy database
Overview Video:
NEW VIDEO :D
Screenshots:
will take more soon, when we have spent a while using it so that the market prices are properly calculated.

Setup:
Basics:
- Download the WebAuction.zip and extract it
- Put the WebAuction.jar in the plugins folder on your minecraft server
- Put the WebAuctionInterface folder (you can rename) on your website
- Restart server
- Look in plugins/WebAuction to find the config file add your MySQL database details
- In the interface folders on website, find the scripts/config.php file and add MySQL details again
- Be careful with mysql passwords, special characters such as {}[]() may cause the file to be incorrectly read by the yml parser.
- Make everyone create a password, make sure its different to ones they use elsewhere etc.
- Make a sign for the withdraw mail box (see screenshot) First list: "[WebAuction]" Second line: "MailBox"
- Make a sign for the deposit mail box (see screenshot) First list: "[WebAuction]" Second line: "MailBox" Third line: "Deposit"
- If you have iConomy data stored in the same database as the WebAuction data, use the web config file to point to the right table, and ignore the stuff about withdraw and deposit signs.
- Make some withdraw and deposit signs for money (again in screenshot) First line "[WebAuction]" Second: "Withdraw" or "Deposit" Third: the amount of money, or for the withdraw sign you can put "All" on the third line
- You can also make recent auction signs, to show a live feed of the new auctions: First line "[WebAuction]" Second: "Recent" Third: a number for the offset, so for the most recent auction put "1", second most recent "2" etc.
- Log into the website and start selling
Important Signs
Mailbox:
Used to deposit items and withdraw items that are in your mail
Line 1: [WebAuction] Line 2: MailBox Line 3: Withdraw (not actually needed but makes it neater with the other deposit sign :P)
Line 1: [WebAuction] Line 2: MailBox Line 3: Deposit
Deposit Money:
Used to send money to the website to be used on the WebAuction (not needed if using iconomy databases) Line 3 can be any number (100, 0.01, 55.7 etc.)
Line 1: [WebAuction] Line 2: Deposit Line 3: 100
Withdraw Money:
Used to get money from the website to be used on the WebAuction (not needed if using iconomy databases) Line 3 can be any number (100, 0.01, 55.7 etc.) Line 3 can also be "All".
Line 1: [WebAuction] Line 2: Withdraw Line 3: All
Recent Auction Feed
Used to see recent auctions people have made, you can set up as many signs as you want each looking for subsequent auctions. For example in your auction house you could have one sign to show each of the five most recent auctions. For line 3 enter the number for the offset from the most recent auction ("1" for the most recent, "2" for the second most recent... etc.)
These signs will update automatically when new auctions are made, and will display the item name, the quantity and the price.
Line 1: [WebAuction] Line 2: Recent Line 3: 1
There is now also another way of displaying recent auctions. If you have the SignLink plugin on your server you can display values about the auctions however you like on signs using various bits of data as variables. So far I have just got:
- Auction Name (%WAName1%)
- Auction Price (%WAPrice1%)
- Auction Quantity (%WAQuant1%)
Where you can change the number (1) for any other in the same way as in the previous auction signs, except I think 0 is actually the most recent auction.
I will soon be adding other information such as the sellers name and maybe the market price etc.
New Auction Shouting
A sign that is given a radius, when a new auction is created it will shout in it's radius about it to anyone nearby, line 3 is the radius in blocks.
Line 1: [WebAuction] Line 2: Shout Line 3: 10
Twitter feed
If you want to send information of new auctions and sales to a twitter account. Open up the config.php file (in the scripts folder).
Go to: https:dev.twitter.com/apps/new Input all your information. It doesnt really matter what you put for the name and things on the first page. (and you don't need to add anything for the callback)
When you have created your new app, open the settings tab, and set the application type access to "read and write". Save everything. Go back to main app info page. On that page should be the consumer key and consumer secret. Add these two values to the config file.
Near the bottom of the page is a button that says "create access token", makes sure you have set the permissions to read and write then click this button and copy the two values it gives you into the config folder.
Done (hopefully)
More Setup Information
To get more info on how to set up the plugin, along with common problems, take a look at the How to Install page
Changing the Design
To see how to change the design, or select one someone else has made: How to Edit
Commands:
- /wa password [pass] (sets your password)
Permissions:
- wa.use.withdraw.items (use mail box)
- wa.use.withdraw.money (use withdraw sign)
- wa.use.deposit.items (use deposit sign)
- wa.use.deposit.money (use deposit sign)
- wa.canbuy (can buy from auction)
- wa.cansell (can sell to the auction)
- wa.create.sign.deposit (create deposit sign)
- wa.create.sign.withdraw (create withdraw sign)
- wa.create.sign.mailbox.withdraw (create mailbox sign)
- wa.create.sign.mailbox.deposit (create mailbox 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)
Donations:
Hope you guys like the plugin, keep telling me things you think would be cool to add and I will do my best. And a donation is always nice :P

-
View User Profile
-
Send Message
Posted Jan 27, 2012on my server, when my players can't buy stuff even though i gave them the permission
-
View User Profile
-
Send Message
Posted Jan 27, 2012when i try to login on my server. (followed all steps) it always says login failed. When i look at the mysql database, there are no users.
EDIT: FIXED, now when i logon it sas something about JSON parsing error
-
View User Profile
-
Send Message
Posted Jan 27, 2012@Exote
Then I have a solution for you, Make a script to dump all the players items directly back to the player when they login. and keep a check list of the players so we can see who has the items back.
Make this a TEMP build that supports 1.1 on current system then keep working on your new system in mean time we let everyone know the new web auctions you will items if you leave them on there. Then I simply install this temp version prior to updating to the real MC1.1/1.2 version.
Edit: Just adding to the other users Idea about opt in feature for auto mail send, probably should add a Mail all button to the my items list, in fact maybe even just add the items with a selection tick box then grab the ticked items to mail all selected with a select all button ?
-
View User Profile
-
Send Message
Posted Jan 27, 2012@mumblerit
Yes, great idea, will do this.
@Motonia
Thanks for the support, The cms wont affect the look of the site, only how it operates. Each page is going to be constructed of a header and footer, which are attached to every page. And the content in the middle.
Most of the editing you will need to do design wise will be to the css file (easy to find).
The back end system basically just helps me talk to the databases and pulls all the php together. As well as letting you edit various site variables to make things easier, such as the website title, footer text, home page text.
This does mean the file system is a bit more complicated. But all the page files are still in there somewhere. When I release I will produce some instructions how to change the look and text of things.
-
View User Profile
-
Send Message
Posted Jan 27, 2012Keep up the awesome work love how this plugin is just the type thing we wanted to offer our users. We went as far as coding up the web parts to blend into our website!
I see your working on a full CMS system will this hurt site integration in the long term for users like my self? Updates will already be by hand since I already re coded the web parts to look like my site but just how much of this new CMS would I have to remove to get the code I want?
-
View User Profile
-
Send Message
Posted Jan 27, 2012@Exote
how about an option per user whether to autosend to mailbox or not, that way players could opt in for such functionality, which is extremely useful, but confusing to new players.
-
View User Profile
-
Send Message
Posted Jan 27, 2012Yay!
Exams done! Time to get this thing finished.
-
View User Profile
-
Send Message
Posted Jan 27, 2012@mumblerit
Well very happy to see people using it. :) Hope it helps your main website get more attention too.
I will try to make transfering as manageable as possible, however the current version will still be around (sort of) working.
But new updates will mostly be aimed at this new version, as I would rather not have to maintain two separate sites/plugins
-
View User Profile
-
Send Message
Posted Jan 27, 2012@Exote
We run two different instances of it for different servers, the 2nd one is fairly new/not as large, but it drives a ridiculous amount of webtraffic.
-
View User Profile
-
Send Message
Posted Jan 27, 2012@mumblerit
@ledhead900
I will try to work on a script to convert the items, but I have a feeling it wont actually be possible. Mainly because I use the same table names for some things in this version, but the tables have completely different structure.
Seriously... 3500? :P wow.
-
View User Profile
-
Send Message
Posted Jan 27, 2012starting over will be messy to say the least....3500 current auctions
-
View User Profile
-
Send Message
Posted Jan 27, 2012@Exote
Looks good, seems little more bulk has been added to webend tho ;).
I guess Im going with fixed sale and buy rates I don't want them fluctuating at all. So I will just put the fixed buy price over a calculator - 2% and use the sum of this as a fixed sale rate.
-
View User Profile
-
Send Message
Posted Jan 27, 2012@ledhead900
Whether or not the sell rate is linked to the buy rate or the other way around, one of the two is going to have to get an actual price from somewhere. That price will either be static as defined when the infinite shop is created, or it will be linked to the market price. However if the price blindly follows the market price there could be some trouble as described earlier.
All admining of the new site will be done via the content management system that exists already. In simple terms it will have access directly to the database tables, and will show you all the current values present inside them. This means you can edit any data as you see fit, without having to mess around with phpmyadmin or mysql queries.
So if you were to look at the list of current admin shop stack things, you could edit the prices or add and remove things. As and example this is what you would see when you have a look at player items:
Edit: image url is http:threewisemeh.com/example_model.jpg if you cant see image properly
-
View User Profile
-
Send Message
Posted Jan 27, 2012@Exote
Not if the sell rate was a fixed % of the buy rate ;), but that would be easy to do with a simple calculator you would simply put in the buy rate then reduce it by a % around 1.5% so you all always end up selling it for less than its buy rate with some stuff being worth no sell value at all like if the buy rate was 1 or 5 and a 2% less sale rate would make the selling of that item almost pointless.
But on properly formulated sales figures it would not an issue. On my server we use an excel spread sheet that calculates item value based a number of variables like rarity in the game world and %'s for buy vs sale this gives everything a consistent buy price. Like iron and its tools would be almost the cost of the crafting material iron.
I guess I could start fresh that's not an issue but it would be quite annoying for the infinite stack sales tho, and in general it would be so annoying to get people to give themselves back the items they have stored or on auction.
If I was to make a complicated script I would leave out all the variables for market price and all of that stuff just grab the items the the users had and items with 0 stack and just pruge it all into the correct user accounts of the new tables.
Forget all about the stats of the items just purge all the block id's to the users my items. and with the 0 stack items it should not be hard to add the cost to the admin shop so that they are for sale.
I have a question about the admin shop again tho how does this function does it work under a admin user like before or is it completely separate from user accounts?,
Also another much needed Idea In the my items section add a MAIL ALL button ;) and remove the the on_player_move event watching it is not needed and is the main cause of lag on large servers.
-
View User Profile
-
Send Message
Posted Jan 27, 2012@ledhead900
Yeah I do like the idea of a verification in game, much like sites often get you to verify your email by clicking a link, it can just ask you "Are you me@email.com?" and there could be a /wa accept or /wa deny. Or something similar. Or it could be done with some sort of clicking signs.
My best suggestion would just be to tell people to get all their auctions back in game before you switch over to the new system. But yes it might be possible to write some complicated sort of conversion script. But honestly some of the data the current site is collected I know to be inaccurate anyway, it might just be worth starting over to get a nice clean auction.
Yeah the buy and sell don't both have to be the same mode (fixed/%) however the same trick would for selling items too. Say people have 3000 dirt, and they sell it to each other for $100 each (they can just send the money back after if they trust each other) then the market price of dirt would leap up, meaning the % sell rate would also increase.
-
View User Profile
-
Send Message
Posted Jan 27, 2012@Exote
I mentioned the in-game verify ;), I said that it would be the best solution as people get confused about wa password so much, Best solution would be to get them just login to the site once then when they login to server next they are displayed a verify auction account msg to accept or deny until then they have no rights to trade.
It is a bit of shame that current database cannot be transferred over, this means everyone will lose the items in the database that is not good and I know a lot of players will rage about that :\.
I would still maybe make a third party tool or script to go into the old tables and do it merge it properly once since even I think it would be too much too manually move things over esp for larger servers.
Regarding the sale price could you mix a fixed buyrate with a % sale rate? this way the sale rate would always be lower than the buy rate and it cannot be abused due to fixed buy rate.
-
View User Profile
-
Send Message
Posted Jan 27, 2012@ledhead900
I agree that it would be good to get rid of all in game commands. This was my original plan by just getting people to register as you would for any other website, just via a form on the website. However doing it this way means anyone could register with any mc IGN, this could mean that a player that doesn't want to use the WA, so never created an account, could have their money stolen but another player registering their account and using that account to buy their items.
Although this should be easy to see from the website admin section, if a user complains they are losing money some how, then you can check the activity of that user and it will tell you which IP address has been logging in as it. Making for a quite easy ip ban of the offending player.
However if there was a secret value that only a logged in minecraft player could see, then we could use that to check if the person registering online has access to the mc account. Or maybe even easier, once registered on the website, a message pops up for the player in game (or at next login) asking them if their email address is x and just asking them to confirm with yes/no.
About the sales, it will not be possible to move existing auctions or data of any kind across to the new system because of the huge differences of how the database tables are arranged. None of the tables even slightly resemble the current state.
But yes there will be two modes of entering the buy and sell prices for admin shops, there will be a fixed price mode, eg Sand buys for 5 sells for 3, or you can give percentages eg. Sand buys for 110% sells for 90% of the market value. But bear in mind people working together could easily cheat a system that uses percentages.
Image the current market price for a diamond block is $150 and you can also buy them for 110% from the admin shop, if two people work together and sell a diamond block backwards and forwards between each other for $0.1 this will bring the market price for diamond blocks down. So the longer they do that the lower they will be able to buy the block from the admin shop for.
Percentages should work on a auction site that has a lot of sales, or generally a server with a large population. However the system may need some testing.
-
View User Profile
-
Send Message
Posted Jan 27, 2012@Exote
Well actually now after reading your thoughts hehe. My goal of the idea to eliminate the need for commands period in game as that seems to confuse almost everyone I think a secret key would be pretty much worse than current in-game command.
Instead would it not be just that much easier to check the permission system to see if the name exists I mean nearlly everyone uses PEX or something like it would not be hard to grab the user from the supported system flatfile or database or optionally just add a standard PHP anti bot system like CAPTCHA if it was creating a user for first time. Then in config you could setup an optional remove user if they have not made a trade within x time of registration.
Other than that I don't see why else you would need a in game command to verify anything. maybe even better idea would be let it create an account anyway but it wont be active until they login to the server and accept some web auction msg that could be shown to the player until they have accepted it. This is probably a more secure method as the user would have no hassle setting up an account and they would get notification in game to activate the account on next server login.
Also by sale do you mean you would add selling items directly to the servers admin shop ? like my idea stated ?. I like how the admin shop will work that saves a lot of time. I am actually thinking now that to smooth the transition over to the new shop system you could put an option in config if set true would search the database for any existing infinite stack admin item sales and pre add those with the current buy value into the buy box of the new system. It would really be quite simple I think to add that feature as it would only need to look up all items with a stack of 0 and take the buy price and put that into the admin shop.
This would greatly help most as I think lots of users would already be using the current infinite items admin mode, this way the plugin would automatically see these pre setup items and fill it all in with a sale price that has a % also set in config less than what they are brought for.
-
View User Profile
-
Send Message
Posted Jan 26, 2012@ledhead900
You make two valid points, I was having a think about your registration idea, and we do need a way of setting some kind of secret key that only the minecraft account user can know before allowing them to register that username on the website. My thought is that, in game you do some command which gives you a short random string of numbers and letters, and saves that in a separate table next to the account name. So when registering you have to give that key you were given in game, and it checks it against the username.
It seems like that is pretty much what you were saying anyway, but rather than confusing people with all the different password types they entered, make the system give them a sort of activation code.
About the admin shop, It is going to be completely separate to the rest of the player sales and rather than having a similar form to how you add auctions currently, I was considering just having a page where admins can see all the items and next to each one is a input box for the buy and sell price. So if they leave a box blank it means that item cannot be either bought or sold (or both, or neither) depending on which boxes were empty. This might make the act of setting all the static buy/sell prices easier as it can be done all on one page without having to get the item in game.
Loved the ideas though, they were two aspects of the current system that needed improvement. Anyone got anything else they want to add?
-
View User Profile
-
Send Message
Posted Jan 26, 2012@Exote
I was thinking about how the password system works and I noticed on the new site that it has a register button now I was thinking maybe there is a smoother way to add a first login password than a whole separate system.
I thought now what if just going to login and typing in your username and then a password into the password box could be used to create a new account using the password they just typed in, If the account already has an existing password, typing in any other password would be invalid login.
Essentially you would replace the register section and merge that with an event of "If table not found" for the username treat it as a new registration and add the table then when the user presses login Display what ever the end of registration would normally display telling them about the new account they just create then proceed to the main page.
If this is not a good idea then you could still use this idea and re direct to the register page if the username had no associated table in the database existing.
Yep I have an another IDEA as well that should get added to the ADMIN shop section What about a method to sell items you have directly to the admin shop, Provided the shop has the items listed to begin with. What you do is you would SETUP your admin shop with items, You could even add all the items in the game directly to the admin shop so we don't need to manually add them by clicking the signs in creative mode since currently what I have done is used an alternate MC account for server administration and set him up as admin on the auction site and then I added all the items manually and created prices for each.
So what I am asking is maybe you could add all the items 1 of each inc the unobtainable directly to the admin shops My Items list so we don't need to give the shop items to start making the auctions with then what you could is add a sell to admin shop feature where it takes any item in the admin shop that has a market value and it uses this market value to calculate a sale price with a reduction of what ever from its sale price allowing us to sell items directly to the market.
EDIT: Also about 1.1 since your late with the update how does one manually add the new items in 1.1 so the system will register them with icons, I know how to get them from the wiki but how do I import this data.