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...
When interacting with Hyperconomy (buying/selling), any items in your inventory with UNBREAKABLE attribute gets wiped; effectively breaking the item.
I've tested this with 2 unrelated (to themselves, and to hyperconomy) plugins. It also isn't related to any specific plugin, just any item with new attribute data on it.
Here is a way to replicate what i am talking about:
Give this item to yourself.
/give @p diamond_sword 1 0 {AttributeModifiers:[{AttributeName:"generic.attackDamage",Name:"generic.attackDamage",Amount:7,Operation:0,UUIDMost:60910,UUIDLeast:439450}],HideFlags:6,Unbreakable:1}
Then interact with a shop (buy/sell something). The NBT tag data will be removed from the item.
@mrelfire
What doesn't work?
@timsavage
Just keep in mind all the features that player shops have. Individual buy and sell prices can be set. The main thing to keep in mind though, is you have to use /ms stockmode to switch the shop to use the economy's stock. Otherwise the stock levels are manually set or added to.
@Tibsfox
Haha yes, no high frequency trading. Thanks for the suggestions. I'll look into some performance improvements.
@RegalOwl
thanks I try => doesn't work at all, any other suggestion please
P.S. I am suing K cauldron 1.7 https://repo.prok.pw/pw/prok/KCauldron/
@RegalOwl
Thanks for the replies to my rant, I'll try converting my server shops to player shops. Are there any other caveats I should know about before doing so?
@RegalOwl
It's not causing excessive load on the minecraft server aside from a lot of garbage collection. The mySQL server is where all the load is. There are ways to calculate a cumulative moving average with only the recent change and the previous averages over a given time without having to parse the entire history of price changes. https://en.wikipedia.org/wiki/Moving_average talks about it and there are some good examples on stackoverflow.
We aren't doing high frequency day trading here ;) so the number data points probably doesn't need to be very large/accurate to yield a useful indication of price changes over time.
Thanks for looking into it.
@mrelfire
I'd recommend version v0.974.57 [Beta] for 1.7.10
@FireTTO
The enchantments should come installed in HyperConomy automatically. If you're trying to add custom enchantments there isn't really an easy way to do this. That's something I'd like to add for the future, however, since it will also make updating the items easier.
It is possible to add enchantments using the GUI, but it's a bit technical. You'd have to know the Bukkit/Spigot name for the enchantment and add it to the data section for the item. I can help you out if that's what you're looking to do. You might be able to figure it out by comparing the enchantment data to other enchantments that are already in HyperConomy.
@timsavage @DarkRiseOnline @shmancelot
As shmancelot said the solution is to use player shops. if you toggle the stock mode with /ms stockmode they function just like server shops. This seems to be confusing to many people, however, so I can look into simply removing server shops from the code and just create player shops automatically behind the scenes, which will solve this problem.
The way it currently works is that a server shop is essentially a direct opening to the economy it's attached to. When items are added to an economy, they are also added to the shop. But I can see why this is a problem with updates, so I'll work on a solution for the next update. Thanks for letting me know.
@Tibsfox @BrooklynStarr @iron_phildo69
The web page SQL select is run on a secondary thread so it shouldn't, in theory, affect the server too much. However, if your CPU is single core or not very powerful it makes sense that it would slow things down. Getting the price history data is quite a large select, and honestly, the system probably isn't very well designed for efficiency. Originally I decided that the amount of data produced by price history would be too large to store in RAM like most other things in HyperConomy. This may still be the case, but I can revisit the code and work on improving it. If nothing else I can add an option that updates the page less frequently like you suggested or only when it's accessed. Thanks for the suggestions! I'll fix this for the next version.
@BrooklynStarr
The web page was merged back in in a recent update since I found a way to reduce the file size.
Thanks for pointing out the naming conflict with the redstone category. I'll fix it for the next release.
Hello, I am configuring a server shop and I would like to know how to add enchantments for my enchantment section. I tried adding 403:X but that is not in the database. I can only add enchanted_book, but that is not enchanted in any way. Please help!
hello I am trying to look at the latest file for version 1..7.10 can you help me please ?
thanks in advance
@timsavage Try using Playershops in Server stockmode. Playershops have a few extra features, including fixing that item import issue.
@timsavage sounds like you should make a support ticket for that
sounds more like a bug than a feature
I'm really glad to see that development continues with this plugin, and you've added a lot of really innovative features. Making the plugin also a standalone application for editing data is quite brilliant, for instance. However, there is a major oversight that rears it's ugly head every time new items are introduced into Minecraft. When updating the database with the new items, they are automatically added to every server shop. This is madness! Any server admin that takes the considerable amount of time and effort to maintain a dynamic economy is probably running a server with a tightly controlled economy. Suddenly introducing every new Minecraft item into every shop by default runs completely counter to this, as new items are by nature also likely to be highly prized and valuable. On my own server, I have many, many specialty shops that only stock a single type of item, so suddenly having every single new item appear in these shops is a nightmare, as is the task of removing them from each shop individually. When examining your database layout, I always found it odd that shops are assumed to stock every item, with a list of exclusions. I think it would make much more sense for shops to have an explicit list of items they stock, rather than those that they don't. Then when new items are introduced, they will not be automatically added to each server shop, but would need to be placed specifically into a shop inventory by an administrator.
Rant mode off. Keep up the good work, it's still a great plugin, despite the occasional hair-pulling frustrations. :-)
@iron_phildo69
It is the web page, this correlates with my findings as well.
I noticed this when I disabled HyperConomy to add some items and there was a big dip in load. Digging deeper I saw this had to do with a sql query and really the load was all on mySQL. I also noticed a large change in the amount of garbage collection that was going on with the JVM.
Every 5 seconds or so HyperConomy makes the following query:
This is with a history of 30 days:
Changing history 7 Days:
Disabling the web page reduces load significantly as highlighted by these graphs:
http:imgur.com/9TI9akS
git-Spigot-f6feaaa-3dc138d (MC: 1.9.2)
HyperConomy v0.975.7
--
@RegalOwl
I haven't looked at the code to see what it is doing exactly but I'd like to share some suggestions for improving this.
If the query data is only needed for the web page it would make sense to call it only when the page is visited and cache it (and/or store it in the db), only updating periodically, make this configurable.
It would be useful to store the current sell price for an object in the database, currently it does not look like `value` changes. (*store a tax for each item separately <- this would be nice). These would be useful for folks that want to roll their own web front ends. I did this with DynamicMarket and and used rrd tool to graph price changes.
If no one is buying or selling anything than there really is no reason to be doing anything at all other than updating the price change percentage over time, and this doesn't need to be updated that often. Keeping the hourly percentage change updated every 5 mins or so (and again only if the web page is visited) seems reasonable. The rest could be updated once an hour or so and maintain 'close enough' tracking of changes.
--
Thank you for all your work and keeping this plugin going!
@iron_phildo69
I ran into this problem last night, it was driving me insane because massivelag said everything was running well. Turns out that Hyperconomy Web was killing CPU cycles. I disabled it and restarted. All is well.
@regalowl
sorry to bother you again, it seems that hyperconomy is using a considerable amount of CPU usage, I have been able to replicate this by itself with multi world and MySQL enabled, this usage is consistent even without other plugins. As i use 5 servers on 6 CPU's this adds up to a considerable amount of processing.
http://imgur.com/qqyCoFm
The image above should illustrate better what i mean.
I am open to suggestions to isolate this further.