WebAuctionPlus

WebAuctionPlus 1.1.3

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.

Performance increase: I noticed a lot of people reporting lag with the original web auction, especially when using a remote database. These problems should all be fixed now. WebAuctionPlus has all new database connection code to do a "pool of connections". New connections are only made if all existing ones are in use. The entire web interface is also being rewritten to greatly improve performance with MUCH fewer queries to the database. Most tasks are now fully multi-threaded, so login lag coming from this plugin is non-existent.

Further improved performance: Starting with 1.0.9, when a player logs in, the code that runs for that player has been moved to a 2 second multi-threaded delay. Permissions are updated, and alerts the player of new sales and items in their mailbox. This should fix the problem some servers were having where that small bit of code running in the main server thread would cause just a small lag spike. Other things, like item depositing and withdraw may still cause a small bit of lag. This and other things will be multi-threaded once I figure out how to do it without causing any issues.

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/

I can host your website! This plugin does require a web server with php support. It doesn't have a built in web server, and there are currently no solid plans to add this. WebPortal is similar to this plugin, and does have a built in web server, but it doesn't share much common code with this plugin and doesn't have the same features. That said, I'll make you an offer to help you out. Make a donation with the button below and send me a pm and I'll host your website for you on my web server. The server is hosted in a datacenter on the US east coast. It has cpanel, ftp, mysql, all the bells and whistles. I'll even set up the WebAuctionPlus website for you and update it when you'd like. If you have your own domain, you're welcome to use it, or I can give you a subdomain of webauctionplus.com . If you have access to the dns records of your domain, I can help you set up a subdomain to point to my server, like shop.myminecraftserver.com . However you'd like it set up.

PayPal - The safer, easier way to pay online!

donate bitcoin

My plans

Sales will be logged to the database starting with version 1.1.3, but a website page wont be added for it just yet. The data will be retained in there for the following update which should include the page. Market prices and recent signs should also be working in one of these next updates.

I'm also starting on a json data connection between the website and the plugin which will be used to get the players balance with any vault supported economy, and finally removing those pesky money deposit/withdraw signs.

A few improvements so far

  • 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

  • sign shops
  • server shops (unlimited stock improved)
  • bank accounts
  • better support for vault economies
  • better support for votifier
  • custom description for items being sold
  • website will obey banned-ips.txt
  • wish list / auto sales
  • track all wa signs to prevent unauthorized signs

See it in action!

If you'd like to test drive the plugin before setting it up on your own server, you're welcome to try out my server. You can view this website link without logging in, but you'll have to log onto my server and create a web auction account first to do anything on the website.

Youtube Videos

metrics.poixson.com

PayPal - The safer, easier way to pay online!

Languages

Currently supported 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.

WebAuctionPlus Signs

  • %waTitle - items name
  • %waPrice - price each
  • %waSeller - sellers name
  • %waType - Buy Now or Auction

Source Code

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 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.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)

Note: There are major changes being made to the database in Plus. (as of version 1.0.3) When the plugin jar loads for the first time, it will update and convert your database, so be sure to have a backup. As of 1.1, the way enchantments are stored in the database has been changed again to simplify code and further improve stability. When the latest plugin jar is loaded, the database will be updated and the enchantments converted.

How to Install

Join us and chat some time on our irc channel. #webauctionplus on esper.net webchat.esper.net

2013-04 State of the plugin

As I've stated in comments, I'm not adding features to 1.1 anymore. I'll continue fixing bugs if any are found, but my focus is on a new version of the plugin. if anyone would like to take over working on the 1.1 version, send me a pm. I'll gladly help you get started. I'll still want to look over code to be sure high standards are met. it must be reliable and well written code, but credit will always be given where it's due.

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of MyGameforce MyGameforce Apr 18, 2014 at 20:07 UTC - 0 likes

    would be awesome if players cant use the "my items-chest" as a bank for their items! there should be a max number of items which can be "secured" in the chest....

    play.last-light.de

  • Avatar of lorenzo_p lorenzo_p Apr 09, 2014 at 01:28 UTC - 1 like

    I haven't died, just been very busy at work. I wanted to finish up some bug fixes, but I ended up flying out of state for a short while. I'm home now, and finally a few days off. I'll see what I feel like working on tomorrow. I would like to code, but I have some major admin work to do on my main server and desktop.

    yes, I was actually looking into uuid a bit more while I was away. so their plan is to give plugin devs a month to update all the code? to be honest, this isn't a small task, but it would be an improvement. I've only looked at the surface of what needs to be changed. first step, I should probably get the database updated to use uuid, then find and fix everything that breaks. I'll see soon, but right now, I need sleep.

  • Avatar of MarioG1 MarioG1 Apr 03, 2014 at 05:28 UTC - 0 likes

    @lorenzo_p: Go

    I hope you are planning to add UUID support :)

    ETG Clan

    Visit us at www.etg-clan.at

    BFAK:90639210,0694c563f402016ce358b42192477de83036dda974e2c26bfa3c5e941af880e4

  • Avatar of tierdal tierdal Mar 21, 2014 at 02:57 UTC - 0 likes

    what is the ETA on the custom descriptions of Items on the website?

    edit: will have to remove the plugin from my server due to it not supporting custom lored items. Possibly will re-add it once you add support

    Last edited Mar 21, 2014 by tierdal

    BFAK:90561496,5a0471f0ab34f8e5189d3a735bdc53c52470fc327ed90dedd1802dcb81df476b

  • Avatar of jonghyek jonghyek Mar 17, 2014 at 13:27 UTC - 0 likes

    Please support GoldIsMoney plugin.

    Last edited Mar 17, 2014 by jonghyek
  • Avatar of Yorkforce Yorkforce Mar 16, 2014 at 19:21 UTC - 0 likes

    @lorenzo_p: Go

    Yep, for example a player who needs some items could create a buy order for the items they require, how much they want to pay and how many they want. As long as they have the required funds in the auction account another player who is selling the items could come along and fulfill the buy order (partially or completely) and be automatically paid.

    I think this would be a great addition to encourage more use of the auction house and create a good demand aspect to a server economy.

  • Avatar of NoHoPeLess NoHoPeLess Mar 13, 2014 at 22:33 UTC - 0 likes

    And how can i set time based auctions? And how can i set the max sell price?!

    I set:

    SettingsClass::setDefault('Max Sell Price'     , 100000.0   , TRUE );
    

    But nothing happens?! it says max 10000

    And i cant open the auction website: DataTables warning: JSON data from server could not be parsed. This is caused by a JSON formatting error.

    My Items: Warning: reset() expects exactly 1 parameter, 2 given in /var/customers/webs/#/webauction/inc/classes/item.functions.php on line 146

    Something was wrong here...

        // enchantment
        $tmp = $outputs['enchantment'];
        $enchId = (int) $key;
        $level  = (int) $value;
        $tags = array(
          'ench id'    => $enchId,
          'ench name'  => self::getEnchantmentTitle($enchId),
          'ench title' => self::getEnchantmentTitle($enchId),
          'ench level' => numberToRoman($level)
        );
        RenderHTML::RenderTags($tmp, $tags);
        if(!empty($enchOutput))
          $enchOutput .= $outputs['enchantment split'];
        $enchOutput .= $tmp;
        reset($tmp, $tags); <<this is line 146
    
    Last edited Mar 14, 2014 by NoHoPeLess

    BalayaCraft! Server-IP 80.241.215.15:25573 | BalayaCraft-Website | Facebook | Twitter | Youtube |

  • Avatar of danieleisler danieleisler Mar 13, 2014 at 20:05 UTC - 0 likes

    When i put items which a higher than normal enchant level in an auction (example unbreaking 20) it buggs out and goes back to the highest normal rank (example unbreaking 3 instead of 20)

    I assume this is because it is not set up to support enchants fully yet. Would you please set it up to support time the enchanter style enchanted items please? I am hosting an OP Prison server and would love to have this on my server but at the moment i cannot as this causes enchants and custom named items to brake

  • Avatar of NoHoPeLess NoHoPeLess Mar 13, 2014 at 19:57 UTC - 0 likes

    How can i change the Language from the Plugin? No config options for that... pls help :D

  • Avatar of pookshuman pookshuman Feb 23, 2014 at 06:11 UTC - 0 likes

    I would like to see more tools for admins to be able to see what is going on, checking players items, buy/sell history. I havent really started using it yet, but I worry that players will make mistakes and i won't be able to check up on things very well.

    I wouldn't mind a better installation tutorial either.

    Looks like a great plugin though, keep up the good work :)

    Last edited Feb 23, 2014 by pookshuman

Which major feature should be added first? (repoll)

  1. Choice:

  1. Results
  2. 18 comments

Facts

Date created
Apr 08, 2012
Categories
Last update
Jan 12, 2014
Development stage
Beta
Language
  • deDE
  • enUS
  • esES
  • frFR
  • ptBR
License
GNU General Public License version 3 (GPLv3)
Curse link
WebAuctionPlus
Downloads
27,267
Recent files

Authors