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...
@IronPython
Well, sounds like HC then. I'll do some performance testing this weekend; I have a few ideas.
@RegalOwl
im using a dual quad-core possessor and i know its not my local computer thats creating the problem as its build for 3D game art, it happens when 1 person (dose not mater who, it happens even when i use the signs) its the [sell:buy] Signs. the lag is not created from the signs them selfs as you can walk around town with no problems it happens only when someone is interacting with it, ether left clicking it to sell or right to buy. it creates lag to everyone on the server even if there in another world on the server so its slowing or pausing the server each time someone calls your interaction command. the server is running on about 2.5 gigs of ram and it dose not change when the server is lagging so its not being over taxed in that department.
@IronPython
It creates lag when a single person sells to the shop, or when many do at once? And are you referring to transaction signs or actual shop regions? If you're referring to transaction signs the number of signs is irrelevant. A thousand transaction signs shouldn't cause any more HyperConomy related lag than 1 sign. In Minecraft, however, signs in general are very laggy. Perhaps you're experiencing a frame rate drop due to the massive number of signs? Signs are one of, if not the most, graphically intensive things in Minecraft. Players at my server's spawn, if they have a weak graphics card, can get massive frame rate drops due to all of our signs. The number of signs you'd have if you made one for every item would definitely be enough to cause a frame rate drop for many players. Perhaps you should monitor your server tick rate with a plugin like Nolagg to determine if it's client lag or server lag. If your ticks remain at 20 while you're experiencing lag you'll know that it's because of the signs and not HyperConomy. It is possible that the lag is caused by HyperConomy, however, so I'd be interested to hear back about the ticks.
What CPU is your server running on, and are you on a dedicated host or shared hosting? Also, what sort of graphics card and CPU are you using on your computer?
In my own tests the signs, when buying/selling as fast as possible, did not even cause a noticeable change in server CPU usage. I never tried it with a large number of people all at once, however.
@RegalOwl
just letting you know i have a shop for every item in the game (mostly) and im running the server with around 7 people right now and when they sell items to the shop it creates a bit of lag (if they sell a lot then the lag builds up the longer there selling items to the signs) is there a debug i can run to send you a report to see why this may be? else you can hope on
174.61.237.176
Edit: so one thing i know that doing it for a test on my side is i have 32 seeds. i have a buy sell sign that dose it 1 at a time. so i left click the sign 32 times (or more) non-stop when im clicking it its not selling me the items but when i finish clicking 1 or 2 seconds later it regesters it all then sells it. its during the time im clicking the sign that the server is lagging, any idea why?
@Kevdama
That is a possibility, but the least stock signs would likely be pointless since there would be many items with 0 stock. Many of those 0 stock items would never actually appear in the shop. (Mobs, chainmail armor, fire, etc.) You could remove those items from the items.yml file but that would require more effort than just manually creating transaction signs for items with the least stock.
Signs just seem like an impractical way to display such information simply because there are likely many items with 0 stock and signs have very limited space. Perhaps I could make a command that displays items with the least stock? (The opposite of /topitems?) The commands are extremely easy to use. Much easier than walking around looking at 15 different signs showing items with the least stock. For top items it's just /ti. Just a few keyboard strokes. :D Let me know what you think of this idea.
@RegalOwl
I understand. I guess its a lot better in an economy with more people, but mine doesn't have enough to support that I guess :P
How bout this other idea I have. Infosigns that show the top demanded items (The items with least stock) This way people are encouraged to go out and get items of that type because those are the ones they will make the most money off of, thus maintaining a healthy stock of all items in the shop.
The opposite can also be done (Exists via the command /topitems if im not mistaken?) to promote buying cheap items. The point is to get them on signs so they're more likely to be seen (Most people never look through possible commands and/or use the ones they know about aside from the buy/sell/value commands)
@sp3ktr4l
Thanks for the help with testing.
The reason that the permissions are set up as they are is simply because some (or many?) servers don't use permissions. Ideally, if all servers used permissions, I could simply not give any default permissions and there would be no issues. However, to allow servers without permissions to use the plugin I have to give two default permissions. By default I have to give hyperconomy.use to all players. Without this, no one could use the plugin unless a permissions plugin was running that gave the correct players the hyperconomy.use permission. I also have to give hyperconomy.* to all op's so that admins can administrate the plugin without running permissions. The problem arises when you want to set up more complex permissions that differ from the defaults. Because everyone has access to hyperconomy.use (which contains hyperconomy.buysign, .buy, .value, etc.), you have to deny the individual permissions in hyperconomy.use that you don't want those players to have. So to only allow players to use signs you would have to deny all of these permissions which are also children of hyperconomy.use:
hyperconomy.buy
hyperconomy.sell
hyperconomy.value
hyperconomy.sellall
hyperconomy.info
hyperconomy.top
hyperconomy.xp
hyperconomy.chestshop
@Kevdama
I've considered this feature in the past, and I might implement it eventually as an optional feature. Currently, however, I don't really see why it's a bad thing, for instance, that diamonds have a different price than diamond blocks. The variations in prices are similar to real world stocks and commodities. If the price of a raw material goes down (diamonds), the commodity produced from that raw material (diamond blocks) will not immediately go up in the real world. Linking the price of raw materials and what they're manufactured into would just dumb down the economy and reduce opportunities for traders/merchants. The main reason I designed the plugin like it is now is so that it would allow for traders to profit from discrepancies in prices and also profit from manipulating the prices by buying and selling massive amounts of items. The whole merchant/trading system adds an entirely new element to Minecraft. That's exactly what I wanted, and its encouraging to hear that players are actually able to do such things with this plugin. If you'd like to discourage players from doing such things, simply raise your taxes. High taxes will prevent players from ever making much, if any, profit from buying and selling items. The other issue with linking prices is simply that it's quite difficult to implement. I'll keep the idea as a possible idea for the future, however.
@sp3ktr4l
hmm intersting, well i just made it so when you rank up from Serf to Commoner you dont have inheritance to the Serf group then i just redid the permissions from scratch there and got it working its not as clean and ill try it your way to see if i can get it to work but if i cant at lest i know this lay out is working, thanks
Edit: Alright i got it working now it was user error i updated over 10 plugins and added 3 new ones to the server at the same time i updated HyperC but i moved over the non Div version when i ment to update it to the latest Div so when i thought i had the sign permissions i didnt hence why they were not working lol. but now that i redownloaded the Div and updated it its working just as i want thanks for all your help
Just download the new dev build and tested out your problem. I setup the following. Each group inherits the perms of the lower group. (I am using PEX)
Guest:
-hyperconomy.* - Blocks everything
Member:
hyperconomy.sellsign - allows sell signs
hyperconomy.buysign - allows buy signs
With this setup, everything works as expect. Guests cannot do anything, Members cannot use commands but can use signs.
Now the problems start if you want to allow Guests to use signs but not commands. Having -hyperconomy.* and hyperconomy.sellsign/buysign on the same group doesn't work obviously. It just blocks everything. if you use -hyperconomy.use instead of .*, it only blocks the /hc commands not any of the /sell /buy /value etc commands. It works if you minus all the hyperconomy.use child nodes individually. It would be nice if you could just use -hyperconomy.use to block all commands.
It has the same issue the other way round too, say you want a VIP rank to have access to commands as well as signs. If you add hyperconomy.use they only get access to /hc and cannot actually do anything.
The 8 nodes you need to minus or add to allow/disallow access
hyperconomy.buy hyperconomy.sell hyperconomy.value hyperconomy.sellall hyperconomy.info hyperconomy.top hyperconomy.xp hyperconomy.chestshop
For me it all works by using the above nodes. No one has access to any commands at all and VIPs can use hyperconomy.value as a little VIP perk.
@RegalOwl
hmmm not sure if this is related but i have a few ranks ill name 2 here Commoner and Serf. this is how i set up the permissions first.
Serf:
- -hyperconomy.use
Commoner
- hyperconomy.buysign
- hyperconomy.sellsign
- -hyperconomy.use
That "should" allow me to use the signs but not the commands. well it lets me use the signs as a Serf and a Commoner so i changed it to this
Serf:
- -hyperconomy.*
Commoner
- hyperconomy.buysign
- hyperconomy.sellsign
- -hyperconomy.use
With this setting i cant use the signs as a Serf, but i also cant as a commoner. Commoner inheritance is the Serf so it should lessen to the commoner permissions before looking at the Serfs if i cant find an answer ill separate the two groups fully. any ideas?
@RegalOwl
hmm odd its not dinning at all which is the problem i can walk up to a shop right click it and buy melons even though i dont have the permissions to use as i denied all permissions for hyperconomy ill have to try it with your div build see if maybe its just a bug with my version and thanks for adding in the permission to use only signs as i have a lot of shops and i didnt want to removed and add the items for each shop with the /removeitem all then do /additem (one) and so forth for each item in the shop so i basically made it show all shops sell all items but as it is now people can go to the blacksmith and type '/buy stone 1' which i dont want lol ether way ill have to look into why its letting me right click and buy from signs even when they should not have the right if it still dose that after i try your div build.
Ive noticed that people can use item blocks such as diamondblock to abuse the market. For example, a lot of people sell diamonds so the price of diamonds becomes cheap, but the diamondblock doesnt change. A player can buy a ton of diamonds, convert them to blocks and sell those and make a lot of money quickly. The same principle can be applied vice versa as well as a ton of other recipies.
Maybe you can plan a feature where all manufactured item prices are based off the raw material's prices. For example, a diamond pickaxe could cost the price of 3x diamond, 2x stick and an extra manufacturing cost that can vary. Would be very nice and would cut down on price setting a lot. It could be an option per item or something.
@IronPython
I just tried giving myself the - ^hyperconomy.use permission with bpermissions and it worked as expected. I'm not sure what is causing the issue for you. The signs currently don't put out a permission denied message, so that's a bit misleading. I'll add a denied message and also add a new permission so that you can allow signs but not commands.
EDIT: The new permissions are hyperconomy.buysign and hyperconomy.sellsign. They're in the new dev build at the bottom of the page. (.921b) I added a permission denied message too. The new permissions are part of the hyperconomy.use permission. So you will need to deny individual permissions to allow signs but not commands. (If only all servers used permissions...)
@RegalOwl
Hey regal long time no talk. anyways i dont think you have your permissions set up right i have it were new players to my server can not use shops i set this up with
- -hyperconomy.use
(btw im using permissionsEx)
as a new user i can't use the commands like /hc but if i go into a shop that has signs for buying and sell i can still buy and sell from the sign even though i should not have the right to it i did put in the config to use permissions so as far as i know everything on my end is set up right. is there a permissions for using just the signs that i also have to set to false? or is the way i set it up the right way and it is a bug like i am thinking it is. let me know once you do as i need to fix this soon.
Edit: on that note if you do need to add a permission is there a way to make it were they can only use signs and not commands because we want to make it so they can only buy from the signs and not use the commands? if not i can use another plugin to block commands if thats the case
@Papier101
You could create a shop and then manually edit the shops.yml file so that the shop encompasses your entire world. You could just set the first point to -1000000, -1000000, -1000000 and the second one to 10000000, 1000000, 1000000 or something like that and then set the shop message to "" or a " " so that there is no notification. Creating a massive region shouldn't hurt performance.
I could potentially just add an option to disable shops to make it easier.
Thank you for your fast and detailed answer.
We have not decided yet if we keep using DynamicEconomy or change it in favour of HyperConomy.
One more question. Is it possible to use the shop globally instead of special regions?
@Papier101
The prices change and follow a hyperbolic curve. (That's why I called it HyperConomy.) The prices not only change dynamically, the price changes accelerate and decelerate based on item stocks as opposed to an arbitrary constant.
What you're seeing is the initial pricing period which keeps the price static until the dynamic price of an item is equal to or less than the initial price. This is to prevent items from initially selling for absurd amounts of money. If you want to prestock your shop you can start all items in dynamic mode. To do this you can use /setstockmedianall
You could also do this just to test the plugin if you want to see the dynamic prices. Either way though, if you keep selling stone the price will eventually decrease. By default it will probably start decreasing once you've sold 5-10k stone. I can't look it up at the moment since I'm at work.
Just hold a stone block and type /is and it should say how many items need to be sold in order to reach the hyperbolic curve.
Im just testing this Plugin on my local server. Are the prices dynamic or not?
It doesnt matter how much stone i sell, the price remains at 2$
@asdkasd
I don't know what you're referring to.