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
@Mostly1
I don't agree with it being more universal in php, the one thing every server has is common is being able to run java. To get servers to run php and mysql requires quite a bit of setup.
So if you are talking about making it easily used by the maximum number of people, we would be talking java rather than php. But if you are talking about making it easier for people to steal my code and break it apart to be used in other ways (which I am not saying I mind at all) then php makes that easier.
But the majority of people here are just looking for a plugin that works out of the box. That will work with every server type.
I believe i did not properly explain the point of my latest comment.
We need an other admin acount system, independent from the one on the server. And want to include Item restrictions for choosen players, to realize our economy system on the server. It is not just displaying data.
To do so, we plan to adapt the webshop in many ways, which will be much easier for us with php and mysql.
It makes your plugin much more universal to use.
@Mostly1
Ok, so while I understand that php is one of the easiest scripts to code. You have to think about the route you are actually taking to get to the data you are trying to display.
To use your example of the latest auction display, maybe in the side bar of the main website, it it likely you were thinking something along the lines of some of those twitter widgets you see, which use javascript to automatically any new items to the page without reloading it.
If this was to use php the general flow would be html will render the javascript which calls some php to query the mysql database, this database would have to be constantly being updated by the server and other php pages being run. Sounds about right?
Well why do any of this you would be using javascript... via php to talk to java. That seems a bit of a long way of doing something that could be direct. Javascript can, in about one line , get information directly from a java servlet/applet.
Have you ever seen those signatures people have based on the minequery plugin? Ones that just say who is online etc. While those themselves may not be directly javascript (some of them are) they are images that get updated regularly by javascript running on the host website. This is done by minequery running a little servlet and letting javascript and a few other scripts query it directly.
I think it would be easier to adapt the shop for special needs of a server if it stays mysql and php.
Avatarcreation, another admin account system than yours - independent from the admin accounts on the server, additional admin functionalities and so on...
It is easy to use the mysql data provided by your plugin elswhere on an existing website, perhaps a "latest auction" section on someones web potal.
So i clearly vote for php and mysql!
Does anyone actually have any valid reasons why they think it would be better as php and mysql? Rather than just change = scary? :P
@Exote
Going away from MySQL/PHP would be bad :-(
@RebornSheep
Sorry cant help with that, I have not yet released my own version yet, and have not looked at what has been updated in the various unofficial versions.
I have just updated to the 1.2.3 version and i works pretty well, but every single user are Admin. How can i fix this?
@Exote I woold prefer the PHP one!
@ledhead900
Not quite sure why you think the servlet (not applet) would cause more strain on the hard drive, admittedly the information that would be stored in MySQL would have to be in flat files on the disk, but it would take up about the same amount of space as the database would.
It would mean that the processing on the website files would have to be done by the minecraft server itself rather than a web server, but i think the weight of all the MySQL queries may actually use more RAM than a direct server connection would. It would definitely take less time to process.
@Exote
Actually I am not sure, Both have pro and con, applet version would be easy but would lag like hell with Hdd rape for anyone not using ram-disk, while the SQL version is a pain to setup for the less knowledgeable
oh you are still working on this plugin I had taken the source code thinking that you had just stopped working on it.
Also as a point of interest. I have recently found a way to run the whole thing via java servlets, much in the same way dynmap does.
It would be perfectly possible for this plugin to run this way, but it would mean a move away from php and mysql, which anyone with a basic understanding would be able to edit quite easily.
The advantages would be in the ease of setup even for those without their own website (just a bit of port forwarding).
Is this a direction people would like to see the plugin move in? Or do people value easy editing over ease of setup? With the servlet version I would clearly add in a lot more config values so it can be customised as much as possible, but also it would be able to directly talk to the server itself rather than go via SQL, so this opens up a lot more possibilities for new features.
Sorted the java out, just trying to implement the new database and website interface which I was using in the development build into the standard php version.
Hello everyone, I have been kindly taking care of the plugin for Exote while he was on break for the past few months. I have updated the files for 1.2.3 but have not made any changes to the plugin at all. Exote is hard at work at making a full build against the 1.2.3 patch. Until then, you guys are welcome to use my version, it is only updated for 1.2.3.
Here are updated files for 1.2.3!
Plugin:
http://thebeauxart.com/download/WebAuction.jar Supports Java 1.6!
WebFiles:
http://thebeauxart.com/download/WebInterface.rar
Images courtesy of @lorenzo_p
@Cr4zYB0Y
@caidcurse
What about it doesn't work with 1.2.3? We have 1.2.3 on our server with WebAuction and it works just fine.
1.2.3 version would be really nice
WebAuction is he best shop plugin that i know but incompatible with 1.2.3 -,-
Are we going to see a 1.2.3 compatible webauction, soon? I'd be lying through my teeth if I said my server didn't miss your plugin like crazy.
-Caid.
Does anyone have the most recent builds by any chance? I managed to misplace mine, and Was hoping to attempt this update :/
All people were Admin? Please fix it! I use PermissionsEX!