HyperConomy
Getting Started|Commands|Permissions|FAQ|How To|Troubleshooting
______________________________________________________________________________
Introduction
HyperConomy is the all in one economy and shop plugin. It can be a simple chest or sign shop plugin, a Vault compatible economy plugin, a region based shop plugin with many configurable options, or even a complex system of economically competing towns and kingdoms. Any vanilla Minecraft item can be traded in HyperConomy and virtually any custom item can be added as well. Prices can be configured to change dynamically or they can be set as desired. To quickly edit prices and settings you can double click on HyperConomy.jar to access the GUI editor. HyperConomy has many features including things such as item price linking and item displays. Read below or check out the wiki for more information.
New Chest Shops:
______________________________________________________________________________
Features
- Supports all standard Minecraft items. (fireworks, lore, books, maps, damaged items, etc.)
- Supports the addition of unlimited custom items.
- Integrated economy plugin.
- Player to player, player to shop, and shop to player trading.
- Dynamic pricing system based on a hyperbolic curve.
- Item price linking (price of recipe item is based on price of component items)
- Player owned shops and chest shops.
- Item frame shops.
- Showcase style item displays.
- Localization.
- GUI Editor for easy manipulation of price settings.
- Price floor, price ceiling, static pricing, initial pricing, sales tax, purchase tax, unlimited stock option and much more.
- Dynamic tax rates. (Rich players can be taxed more than poor ones.)
- Supports MySQL and SQLite.
- Allows the creation of an unlimited number of economies, which allows for economically competing towns, kingdoms, factions, or other groups.
- Supports command-free economies using transaction signs and chest shops.
- Price information, history, and more can be displayed on automatically updating information signs.
- Price update notifications for any or all items.
- Experience and enchantment trading.
- When a player enters and leaves a shop, HyperConomy displays a customizable message.
- Nearly everything can be changed while the server is running.
- Unwanted features can be disabled.
______________________________________________________________________________
Requirements
- None. If you'd like to integrate with an existing economy plugin using Vault, you will need the following: Vault and an economy plugin such as BOSEconomy, iConomy, or Essentials Economy
______________________________________________________________________________
Versions and Development Builds
- Recommended builds are marked with [RB] and are generally thought to be stable and bug free.
- Builds marked as [Beta] are as bug free as possible, but often have large code changes which may result in the appearance of new bugs.
- Builds marked as [Dev] are development builds that I've decided to upload to BukkitDev. I may upload dev builds on occasion to provide easy access because Bukkit staff does not allow linking to development builds.
- Development builds may contain bugs as I work on releasing a new [Beta] build. They may also contain fixes for bugs found in [Beta] builds. Use these builds if you're looking for a bug fix, or would like to try out a new feature I've just added. Also, feel free to search for bugs in the development builds. Any help with testing is greatly appreciated!
- Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
- The latest development builds can be found here.
______________________________________________________________________________
Add-ons
- HyperMerchant
HyperMerchant is a graphical user interface for your players to use to interact with HyperConomy shops.
It is also includes the ability to easily create Citizens npc shopkeepers for your HyperConomy shops. - HyperConomy Web
HyperConomy Web creates a web page for HyperConomy, displaying information about all shops, items, and price history. The web page appearance can be customized to fit your server.
______________________________________________________________________________
New Features, Bugs, Problems, etc.
- If you have a question, or find a bug, first check the FAQ. I will try to include as many helpful questions and answers as possible.
- If the FAQ doesn't help, don't hesitate to post your question or make a ticket.
- If you do find a bug, please include which version of HyperConomy you're using, the full error message or stack trace (if there is one), the version and type of Minecraft server you're running, and an explanation of how to reproduce the bug or what causes the bug.
______________________________________________________________________________
Donate
- If you'd like to send me a donation for the time and effort spent making this plugin, you can do so here: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=AMK9AR4CVKEJJ
- To those who have donated: thank you very much for the support. If you'd like to be listed as a donor here just send me a message.
______________________________________________________________________________
Donors
- pr4xt3roy -> CapricaTown
- Baamoink -> Mantle-Craft
- Thanks as well to all of the other donors that haven't requested a listing here.
______________________________________________________________________________
Basic Tutorial
New tutorial videos to come...
@RegalOwl
Thanks for the reply,
Tried the latest dev build but it worked to no avail. Can't access the Essentials userdata folder atm due to a bizarre FTP issue, but I have retrieved the HyperConomy errors.log: http://pastebin.com/bASax4GE
Last modified on Jan 22, which I'm guesstimating is when the shop went weird. Is this "aaron1998ish" a corrupted user?
Thanks for going through all this trouble,
galactic
@galacticwarrior
Interestingly, your HyperConomy database runs fine on my test server with the same version of EssentialsX. I suspect you may have some sort of corruption in your EssentialsX data. Either that or there is some sort of plugin conflict. I might be able to tell you which account is corrupted or causing the issues if you send me your EssentialsX data folder. When I run it on my server with just the database it generates new Essentials player files for all accounts, presumably bypassing the problem you're running into.
@RegalOwl
Hey there,
Yes, it does happen every restart, this means nobody can use shop sadly, lol. I've uploaded my HyperConomy.db at the following link:
https://www.dropbox.com/s/6fzeugev2qavg4r/HyperConomy.db?dl=0 Thanks!
@galacticwarrior
It looks like this may be an issue with EssentialsX which was somehow triggered by HyperConomy. I'm unable to reproduce it so far. Does this occur each time you start your server? If it does sending me a copy of your database might be helpful in narrowing down the cause. The error itself appears to be created by a recursion loop in the Essentials_Economy class of the Vault plugin. The depositPlayer function recursively calls itself and gets stuck in a loop. Apparently it keeps throwing a UserDoesNotExistException after the createPlayerAccount function fails repeatedly. This is very likely to be an EssentialsX issue based on the logs. Something unusual in HyperConomy might be triggering it though.
Hey there, I've had some trouble with hyperconomy-0.975.6-SNAPSHOT.jar and EssentialsX 2.0.1-b245. Here's my startup log to the point where the error stops (it starts at line 1001): http://pastebin.com/7mCXtMYm
HyperConomy config: http://pastebin.com/nw2cUTVZ
Executing any HC related commands don't do anything - no errors in console or messages in chat. This problem appeared relatively spontaneously lol, I hope it just happens to be a mistake in my config.
Thanks!
This is the best conomy plugin that I've ever seen :D
@RegalOwl
Many thanks for your replies! I will be looking to implement these into my server as soon as possible.
@galacticwarrior
There will soon be a way to control price increases. I'm working on a feature that will add, decrease, or balance stock at certain levels over a configurable time period. This means the prices will automatically remain stable over time, even if someone buys or sells a large amount of an item. This should solve some of the problems people experience with pre-stocked economies.
In general, though, what you describe happening makes sense for a dynamic economy. If someone buys a lot of an item it seems reasonable that the price would increase a lot and then become a selling opportunity for someone else. It sounds like the real issue is the large amount of money being injected into your economy from somewhere. Perhaps some easy to find item is priced too high?
Another way to solve your issue is to use dynamic tax as shmancelot said. Dynamic tax may annoy your wealthier players, but it's a way to prevent them from gaining more money from HyperConomy once they're extremely rich. Just set dynamic to true in the tax section of config.yml. The money floor is where the dynamic tax begins and the money cap is when the dynamic tax reaches its max tax percent. So if the floor is set at 10000, anyone under that will not be taxed. Anyone above that will be taxed an increasing amount until they reach the money cap, at which they'll be taxed the max tax in the config. If you leave the max tax percent at 100, players that meet or exceed the money cap will lose all of their sale profit to tax when selling items to HyperConomy. To avoid alienating the rich you could lower it a bit from 100 so that it's still possible for them to gain a little, just harder.
@galacticwarrior
You can use taxation to help balance things out. The dynamic tax will tax a player based on how rich they are. Sales and purchase tax are also available. This is in the config.yml in your HyperConomy plugin directory.
Love this plugin. Active and friendly author, and most of all - free! Should be posted on Spigot for more exposure; this plugin deserves it.
Just a quick question: is there any way to control inflation? The players persuaded me to prestock the shop. Somewhere along the way, someone got super rich and started buying everything out. Normal people sold the items at the now inflated prices and started buying more things out with their new found money. This carried on until everyone was buying and not selling because they don't need the money - they were super rich and didn't need more. Newbies sell items with depleted stock and get super rich as well. It's really annoying the other staff and some players, so I was wondering if there was some way out of this predicament. If you need to investigate, the server IP is mc.ccnet.xyz.
Thanks again! Zaify
@RegalOwl
Sure
@KevinEssence
If you still have your HyperConomy database it should be possible to see what happened with exp bottle pricing. Every change to stock is logged. I could take a look if you'd like to send the database.
@shmancelot
Ah. Well I just removed the plugin today..we did a full reset that we worked on for a few weeks. Woke up this morning and hundreds of millions of dollars has been generated. For some reason exp bottle prices skyrocketed to $100,000 a piece, when it was like $500 only or so before that on release. Totally destroyed the eco in less than 24 hours, very frustrating as players and I really enjoyed this plugin.
@KevinEssence
Categories are now part of the SQL database. You can edit the database with your favorite SQL tools, or use the HyperConomy GUI. You can start the HyperConomy GUI by running the hyperconomy.jar file in standalone mode (not as a bukkit plugin, but as it's own program).
I believe the HyperConomy GUI only works if your minecraft server has a desktop, it does not work as a command line program.
Is the categories file suppose to generate? I notice the enchantment shop has an enchanted book. When a player tries to sell a enchanted book with sharpness 1 for example, it doesn't pay them and gives book back. To make things short I'd like to edit that category so it has all the default enchantment stuff aside from that one book.
@RegalOwl
I went ahead and updated to CB 1.8.8 and everything is working now. Thanks for the reminder! ;)
@RegalOwl
I'm not currently running Spigot on this server. The server is running: CraftBukkit version git-bukkit-e91aed8 (MC: 1.8.7) (Implementing version 1.8.7-R0.1-SNAPSHOT)
Does this plugin use Spigot-specific code, or would the most recent version of CB be fine?
@hoorigan
Are you running the latest Spigot? Try clearing out all HyperConomy tables from your MySQL database and then starting it again.
I am seeing this error message when attempting to use MySQL instead of whatever DB storage method is used by default. Upon loading, the plugin rewrites the config.yml file and resets all of my MySQL settings to the default, disabling the use of MySQL all together.
HyperConomy[2015-11-15 15:43:30.211] SQL write failed 0 time(s). The failing SQL statement is in the following brackets: [INSERT INTO hyperconomy_players (HASH, BALANCE, NAME, SALT, WORLD, Y, X, Z, ECONOMY) VALUES (?,?,?,?,?,?,?,?,?)] Parameters: ], [0.0], [hyperconomy], [], [world], [0], [0], [0], [default java.sql.SQLException: [SQLITE_CONSTRAINT] Abort due to constraint violation (column NAME is not unique) at org.sqlite.DB.newSQLException(DB.java:383) at org.sqlite.DB.newSQLException(DB.java:387) at org.sqlite.DB.execute(DB.java:342) at org.sqlite.DB.executeUpdate(DB.java:363) at org.sqlite.PrepStmt.executeUpdate(PrepStmt.java:85) at regalowl.hyperconomy.simpledatalib.sql.DatabaseConnection.write(DatabaseConnection.java:47) at regalowl.hyperconomy.simpledatalib.sql.SQLWrite.saveQueue(SQLWrite.java:163) at regalowl.hyperconomy.simpledatalib.sql.SQLWrite.shutDown(SQLWrite.java:151) at regalowl.hyperconomy.simpledatalib.sql.SQLManager.shutDown(SQLManager.java:43) at regalowl.hyperconomy.simpledatalib.SimpleDataLib.shutDown(SimpleDataLib.java:42) at regalowl.hyperconomy.HyperConomy.disable(HyperConomy.java:213) at regalowl.hyperconomy.bukkit.BukkitConnector.onDisable(BukkitConnector.java:103) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:323) at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:356) at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:423) at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:416) at org.bukkit.craftbukkit.v1_8_R3.CraftServer.disablePlugins(CraftServer.java:329) at net.minecraft.server.v1_8_R3.MinecraftServer.stop(MinecraftServer.java:456) at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:572) at java.lang.Thread.run(Thread.java:745) HyperConomy[2015-11-15 15:43:30.441] SQL write failed 0 time(s). The failing SQL statement is in the following brackets: [INSERT INTO hyperconomy_settings (SETTING, VALUE, TIME) VALUES ('history_time_counter', '0', datetime('NOW', 'localtime') )] java.sql.SQLException: [SQLITE_CONSTRAINT] Abort due to constraint violation (column SETTING is not unique) at org.sqlite.DB.newSQLException(DB.java:383) at org.sqlite.DB.newSQLException(DB.java:387) at org.sqlite.DB.execute(DB.java:342) at org.sqlite.DB.executeUpdate(DB.java:363) at org.sqlite.PrepStmt.executeUpdate(PrepStmt.java:85) at regalowl.hyperconomy.simpledatalib.sql.DatabaseConnection.write(DatabaseConnection.java:47) at regalowl.hyperconomy.simpledatalib.sql.SQLWrite.saveQueue(SQLWrite.java:177) at regalowl.hyperconomy.simpledatalib.sql.SQLWrite.shutDown(SQLWrite.java:151) at regalowl.hyperconomy.simpledatalib.sql.SQLManager.shutDown(SQLManager.java:43) at regalowl.hyperconomy.simpledatalib.SimpleDataLib.shutDown(SimpleDataLib.java:42) at regalowl.hyperconomy.HyperConomy.disable(HyperConomy.java:213) at regalowl.hyperconomy.bukkit.BukkitConnector.onDisable(BukkitConnector.java:103) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:323) at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:356) at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:423) at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:416) at org.bukkit.craftbukkit.v1_8_R3.CraftServer.disablePlugins(CraftServer.java:329) at net.minecraft.server.v1_8_R3.MinecraftServer.stop(MinecraftServer.java:456) at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:572) at java.lang.Thread.run(Thread.java:745)
@shmancelot
the dev build button is off!