Salesmania
Salesmania is an auction plugin developed for InvisionCraft as an alternative to other similar plugins that were either too buggy, or simply didn't fit our needs. Eventually i'd like this plugin to handle other forms of buying/selling/trading but for now the main focus has been the auction feature.
Features
Auction Features
- Item blacklist (items that can't be auctioned)
- Persistent enable/disable of auction
- Cooldown (time between auctions)
- Custom locale support (each player can select his/her own locale)
- Completely customizable output
- Item stash holds players items if inventory is full or offline (use /collect)
- Allow/Disallow use in creative mode
- Custom time remaining notifications
- Minimum/maximum bid increment
- Minimum/maximum starting bid
- Server taxes
- Anti-snipe
- Players able to ignore auction broadcasts
- Uses vault for easily-readable item names
- Uses vault for economy support
- Mob spawners show mob type
- Simpler start command compared to other similar plugins
- Auction queues
- Able to view the currently queued auctions
- Greatly reduced risk of losing items or currency on server crashes/restarts
- Channel support (TownyChat and Herochat)
- For servers without channels, broadcasts are sent only to worlds in the appropriate world group.
- World groups (see below)
- World guard region support (see below)
- Support for renamed items, written books, and enchanted books.
- Probably more stuff i forgot to list
World Groups
World groups are a new feature in v1.3. Each group has an independent auction queue. Players in one group can not bid on auctions from another group. Separate broadcast channels can also be specified for each group. This can also be used to prevent items from moving between worlds, the item stash is now world group specific. If a player is not in the same world group at the end of an auction it will be added to the item stash and only able to be retrieved from the correct group.
Worldguard Region Support
Worldguard region support will be included in v1.39.1(beta) and later versions. This feature adds an extreme amount of flexibility. You'll be able to set the commands that are allowed in each region and also whether or not players will be able to receive items within that region. If you set the toStash configuration setting, all auction items will automatically be sent to the players item stash. You could then set deny: [collect] to disallow players from collecting items from their stash in that region. You can restrict your players ability to collect items, bid, start auctions, or anything you want.
Upcoming Features
- Selling.
- API support for web auctions.
You can expect many, many more features. I'm looking forward to hearing everyones comments or suggestions on how I can improve the plugin or features you're looking forward to :)
Requirements
This plugin depends on vault for economy compatibility and easily readable item names. It should work with every economy plugin that is supported by Vault.
Locales
Salesmania fully supports custom locales. The latest english locale file can always be found here
If you create a locale in a different language I would be extremely appreciative if you submitted it to be included in later versions:
- Email it here
- Fork on github and submit a pull request
- Submit a ticket here or here containing the locale
Commands
Auction
/auction start <starting bid> [quantity] [time] - Auctions the item you are holding
/auction bid <bid> - Bids on the item that is being auctioned
/auction info - Displays information on the current auction
/auction ignore - Ignores all auction messages
/auction end - Ends the auction with the last bidder as the winner.
/auction cancel - Cancels the auction, item is returned to owner and the last bid is returned
/auction enable|disable - Enables or disables the auction
Salesmania
/salesmania reload - Reloads all configuration and locales
/salesmania locale set <locale> - Changes your current locale
/salesmania locale list - Lists all available locales
Stash
/collect - Collects items stored in the Item Stash
Permissions
- salesmania.auction.start - Allows you to start an auction.
- salesmania.auction.bid - Allows you to bid on an auction.
- salesmania.auction.cancel - Allows you to cancel ANY auction.
- salesmania.auction.end - Allows you to end ANY auction.
- salesmania.auction.enable - Allows you to enable the auction.
- salesmania.auction.disable - Allows you to disable the auction.
- salesmania.admin.reload - Allows you to reload configuration
The full permissions list can be found here
Documentation
With Salesmania, I've always kept in mind that the user interface should be as simple as possible, and it is. There's really only a few simple commands exposed to your players. Unfortunately, behind that simplicity is a complex plugin full of advanced features and more are being added all the time. Long story short, we need documentation. I'll be working on this as v1.4 rolls around and the code base becomes more and more stable. Meanwhile, everyone should always feel free to ask any questions in the comments, or via PM if it's something more in-depth.
For people that might be interested in helping document Salesmania, I've opened up the wiki here: https://github.com/B2OJustin/Salesmania/wiki
Keep in mind that Salesmania was never designed to be just a plugin. For developers, there's a great API that makes it easily extensible. If you're interested in hooking into Salesmania to extend it or add features in your own plugin but don't know where to start, I'm ALWAYS happy to help fellow developers.
@Skyjer
Thanks for your report. I've seen this a few times before and in all cases it seemed to have resolved itself, so I haven't been able to provide a real solution, nor have I been able to reproduce it.
I'd like to get this fixed but I'll need a little more information.
I've opened a ticket here:
http://dev.bukkit.org/server-mods/salesmania/tickets/4-nosuch-method-error-net-milkbowl-vault-economy-economy/
If you could post to that ticket and include the following:
Spigot version
Vault version
Which economy plugin you're using, and it's version.
Steps to reproduce the error (if possible)
If you can, it would also be great to have about 10-20 more lines from the log both before and after the error.
ERROR: http://pastebin.com/hwvHHHD2
@edit:
i'm use spigot.
@googlebuscus
When Salesmania is loaded, do you see any warnings in the console log that says something along the lines of 12:59:54 [WARNING] [Salesmania] Could not find world 'world_nether' in worldgroup 'default' please check your configuration.
If so, you may be using the incorrect world names. If that doesn't solve it, please post a ticket with your full config.yml.
Just as a note, in v1.4 I plan to make world groups able to be disabled completely. I'm sure it's somewhat troubling for those that don't use it. Also, for now, world groups aren't recreated during a reload. You'll have to restart the server for world group changes to take affect.
Sorry for any inconvenience, I know Salesmania is severely lacking in documentation.
All my world names are in the default worldgroup, it's enabled. Yet when i try to start an auction it says Auctions are disabled in this world. I've reloaded, i've restarted. Nothing is changing.
Salesmania v1.39.2 beta has been released! It's now awaiting approval. This is the first public version to include:
- World guard region support
- /auction list to show auctions in the current queue
- Allows for info tokens in the timer notification message
The full change list since v1.37 is as follows:
1.39.2 -
- Time remaining message can now contain info tokens
- Fixes an exception that sometimes occurs when players receive an item.
- Fixes a bug where items for players with region override permission always goto stash.
- Can now list the auctions in queue with /auction list
- Reload messages no longer show twice when reloading configuration from console.
- Region access now accounts for command aliases
- Trying to bid on an auction before the queue is started no longer causes an error.
1.39.1 -
- World guard regions
- Fixed 'locale message not found' issues.
As always, you can find the source code available on Github
Thanks for using Salesmania!
@dunem666
Sure! I'm always looking for ways to make Salesmania fit a wider variety of servers, spout support is something I just completely overlooked.
Just to confirm, the only issue is that the broadcasts show it is flint? Do the players actually receive the proper item if they do bid on it?
@B2OJustin
can u please make your plugin support spout, when people auction spout items they just show up as flint.
Just as a note to anyone experiencing issues, v1.37 has been released and is now awaiting approval. This release takes care of all known issues from the v1.3 release.
If you don't want to wait for the bukkit mods to approve the file, you'll have to compile it yourself from the github repository here: https://github.com/B2OJustin/Salesmania/tree/1.37
Sorry for any inconvenience (blame bukkit dev)
@B2OJustin
I've got the same problem. Just installed the plugin (v1.33), and haven't got it working yet. As soon as I type /auction start 1 1, it gives "internal error".
I'm using the latest version of Vault (1.2.24) and Essentials Economy. I've tried multiple items with different prices, yet no success. Also tried it on our second server, same thing there. CB Version: 1.5.1-R0.1-20130321 (dev)
Log: http://pastebin.com/AD4hqUA4
@MERCHANToDEATH
That's really not very informative. The best way to get help is to submit a ticket with ALL relevant information. This includes:
- Versions of all relevant plugins (Vault, Salesmania, economy, etc, etc)
- The portion of your servers log that contains the error.
- The exact command you tried to use and what item you had in hand.
- Exact steps required to reproduce the issue.
Also, Salesmania has went through major changes to allow for auction queues and world groups. Somewhere close to 1200 lines of code were modified between v1.2 and v1.3. Unfortunately, this is a relatively large plugin now and not everything can be tested myself.
I've began quickly releasing updates for any bug fixes, the latest version is v1.37. You might find that here, or if all else fails and you wish to try a development version then you can compile from the github repository here:
https://github.com/B2OJustin/Salesmania/
I get an internal error anytime I try to sell anything.
Good plugin
@Drizzt451
I believe world names are generally named exactly as the world folder itself. So, if the folder containing your world is named world_launch, that's what you would have in the config.
If you are using essentials you can get the exact world name via the essentials command: /getpos
The name that shows there is the name you will want to use in your configuration. If that doesn't solve it let me know.
Also, if you use TownyChat or Herochat, be sure to set the broadcast channels as well: channels: [channelone, channeltwo, channelthree] though that wont cause the issue you described.
EDIT: Also, keep in mind that world groups will NOT be recreated when you do /salesmania reload, you'll have to restart the server for that. I may include that in a later version though.
Hello B2OJustin,
First off thanks for your hard work. I tested your plugin on my test server and it worked wonderfully.
I am now trying to put it on our main server, which has a world named launch where I want people to have access to auctions.
My WorldGroups looks like this:
WorldGroups:
groups:
- groupName: default
enabled: true
worlds:
- world
- world_the_end
- world_nether
- launch
No matter what I did, I cannot get the auctions enabled on my world named launch. Admin or normal player, everyone gets "auctions are disabled in this world"
I would be grateful if you could kindly let me know what I am doing wrong or what needs to be done to enable auctions in a custom named world.
@graveXrobber
Ah! Just a slight oversight on my part. It looks like that is caused by not specifying the quantity
try: /auction start <startbid> <quantity>
I might change this in a later version so that the quantity will default to the quantity of the stack in hand, or atleast display the syntax rather than causing an error.
If you run into any other bugs or that doesn't fix it for you, let me know.
Edit: There seems to be another issue in v1.33, I'll go ahead and get that fixed and post a download link for v1.34 asap
- Fixes NPE when starting an auction
- Fixes array out of bounds exception when quantity is not specified
That should take care of it, my apologies. The recent development has quickly turned Salesmania into more of a finely tuned machine rather than the simple plugin I had originally planned it to be and admittedly sometimes I don't test everything quite as thoroughly as I should.
Thanks for using Salesmania!
Using 1.32
http://pastie.org/7303009
Would love to have this working!
Update: with new version 1.33 I am getting the same error when trying to start an auction.
Salesmania v1.33 has been released.
As always, you can aslo get it from the github repository here:
https://github.com/B2OJustin/Salesmania/
This update addresses the following issues:
- Fixes NPE during world group initialization
- Funds now deposited/withdrawn from correct world account
Salesmania v1.32 has been released
You can also get it from the github repository here:
https://github.com/B2OJustin/Salesmania/
The changes since v1.3 are:
1.32 -
- Event API changes
- Fixed bug when attempting to use /auction ignore from console
- Added minTime and maxTime to configuration
- Auction time can now be set /auction start <startbid> <quantity> [time]
- Fixes a bug where reloading the config can cause unusual world group behavior.
1.31 -
- Channel support for Herochat
I strongly recommend updating to the newest version due to the bug during configuration reloading. You're also now able to specify auction times, along with the minimum and maximum in the configuration. I'm not quite sure how I overlooked that.
Just as a side note, I haven't gone through the trouble of installing Towny or Herochat on my local dev server. This means these features have gone mostly untested, still, their APIs are relatively simple and I don't foresee any bugs there.
This is considered a stable release but as always please report any bugs you find.
Thanks for using Salesmania!
Salesmania v1.3 with world groups and auction queues has been released!
This version is considered a stable release, however, there has been major code changes since v1.2. If any bugs are discovered please report them on the tickets page here, or the issues page on the github repository.
Thanks for using Salesmania!
The v1.2.5 beta with auction queues has been released!
You'll be able to set the maximum number of auctions in the queue and also limit the number of auctions a player can add to the queue.
The queue file also contains information on the current auction, which is updated immediately after each bid. This means that the risk of losing items or currency during server crashes or restarts is greatly reduced.
There has also been some small changes to the way offline players are handled. It should be no problem if a player adds an auction to the queue and then goes offline. The auction should behave as expected, transferring the currency or returning the item (if there are no bids).
Don't forget, this is a beta release, it has been tested but may contain bugs.
Thanks for using Salesmania!