Creating an Economy
These are my opinions on how to make a working Minecraft economy. Please keep in mind that these are based on my opinions about how an RPG server should work. Other types of servers, especially PVP, have certain balancing issues that would need to be taken into account when setting up a good economy.
A good in-game economy needs three key things: a way to distribute currency to players, encouragement for players to trade amongst themselves and use their money, and a way to remove currency from the economy.
Distributing Currency
In order for an economy to work, players must obviously be able to earn money. In Minecraft, players need to be able to earn money at first without having to set up a shop of their own, and they should be able to do so by doing basic Minecraft tasks. Basic tasks include mining, killing monsters, and farming.
The easiest way to allow players to earn money is to set up admin shops that purchase drops from players. For example, you could have an admin shop that buys cobblestone, one that buys wheat, one that buys monster drops, and so on. You will want to make sure that these methods are not very profitable. At some point, if you have a player with a large amount of cobblestone, you would rather they set up a shop of their own to sell it at a higher price than the admin shop.
You could also use other plugins to simply allow money to drop when doing these tasks. For example, creating a chance for money to drop off of monsters when killed would work very well.
Encouraging Trade
In order for an economy to truly work well, players must trade amongst themselves. The currency only has value if players can use it to purchase things. Giving players access to set up shops is obviously an important first step. It also helps to set up a designated area in major cities, some kind of open market, where players can set up their shops. This allows players to easily find stuff to purchase, instead of being forced to wander all over a large city looking for shops.
If you choose to use a normal currency plugin, you could also have some way near markets to "withdraw" and "deposit" currency by converting between virtual currency and real item currency. You could also choose to have an ender chest placed nearby, so players can use it to safely store valuables (it's like a safe deposit box).
Now, the best way to encourage trade amongst players is to not set up admin shops for basic materials. If you have admin shops for buying and selling all of the basic supplies, players will choose to go there since it's convenient and always available. However, if those shops don't exist, players will be forced to go browse other player shops to find items they need to purchase, and they will be forced to set up shops themselves if they wish to sell items.
Removing Currency
In a game where currency is created from thin air, you need to also be able to remove currency to prevent inflation. If you are distributing currency, and encouraging player trading, but have no way to remove currency from the economy, then players will steadily get richer and richer until the currency is worthless. To fix this, you need to sell items with admin shops. In World of Warcraft, they call this a "gold sink". It's something for players to spend money on that doesn't go to other players, thus removing it from the player economy.
You probably don't want to sell basic materials, as that would discourage player trading. Instead, you should sell items that players can't normally get. One good item to sell is shopkeepers themselves. The Shopkeepers plugin allows players to create shopkeepers by using villager eggs, so selling villager eggs would work well. It would also help encourage player trading.
There are also items in Minecraft that are impossible to get normally. You could choose to sell weapons with high-level enchantments, like Smite VII and Knockback IV. If you have the End disabled, you could sell endstone and dragon eggs. You could sell monster spawn eggs or mob spawner blocks. You can also create scarcity by controlling crafting. For example, you could disable the ability to craft ender chests and then sell them instead. There are many possibilities.
You can also sell protected regions. Everyone wants their stuff protected, and that's something that players can't do themselves. A great way to do this is to create an admin shop that sells a special book, with a title of perhaps "Land Purchase" and signed by an admin. A player could buy one of these books and take them to a staff member, who could then redeem it by setting up the protected region.
Almost exactly how my opinion is.
I'm mostly on the same page with you...
It seems like your "Distributing Currency" section contradicts "Encouraging Trade", though. In "Encouraging Trade" you suggest that the best way to have an economy is to not have admin shops that will buy items, but instead to let players build shops themselves. But in the distribution section it sounds like you're advocating admin shops that buy items.
Right now (without having tried it) I'm thinking a single admin shop that "sells" (hires out!) villagers seems like the only admin shop I want and then what shops are available after that are up to the players.
I'm tentatively considering the idea that there needs to be _something_ that injects emeralds into the system, give the difficulty of finding them. I just haven't figured out what that should be yet.
I think I'd like admin shops better if they had the notion of capacity e.g. they have a stock, just like anyone else, and if it runs out, it may be a while before there is more. I dislike infinite shops a great deal...
I'm partly thinking out loud here... :)
What I've setup seems to work fairly well so far. We have yet to fully make the change to not using an economy plugin.. Trying not to piss off everyone.. :P
I've made a few admin shops around our server. Mostly buying resources for 'pennies' or selling a couple basic items hugely overpriced. This gives new players a chance to build up a small amount of currency at the same time giving older players a chance to undercut the server prices. It also seems to work as a decent money sink for old lazy players.
Admin shops can basically be used to set the range of buy/sell prices for an item. But mostly I think its best to leave the majority of this up to the players.
For instance I've setup a villager that buys wood/cobble for very cheap. Which allows the newer players access to some currency, but older players would scoff at and try to find better prices at player shops Also I've setup a shop that sells animal eggs for a large amount. This works as a pretty good money sink for older lazy players etc.
I too think that stock is a very good thing. in the real world some thing does not come from nothing it should have a knock on effect thus supplies depleted. This would keep the other players supplying the newer players with blocks and its win win in that they make money all be it small amount and the newer players can have some cheap supplies.
You have given me some thing to think about tho currently i have a central market that has just about every item in the game and it is stock based. my market is largely understocked even after some months and i get the feeling that my players find it confusing to use.
that being said i provided a form of player shops and not one player has used them I now see that my main market no doubt killed any point of player shops.
Oh genius Nisovin... This is awesome! players on my RPG/MobArena were becoming richer and richer, until it all began to slowly fall apart. i rushed back to your Plugin remembering this link, and it has saved me! I entirely forgot to add a goldsink, so there was no way to effectively get rid of currency. First, i did a mass-conversion of currency (10 gold to the emerald) to stabilize the economy, then I added chainmail, and enchanted books (the players can't enchant things themselves), and I rounded it off by adding a speed up system to just about anything (i.e. You can either buy cheap coal of the blacksmiths apprentice or bribe him and get the smelted ore back immediately). Another problem I experienced with the material-economy, was that players would use golden armour, then de-forge it and sell the ingots (Sworn RPG) at a good price to buy more armour. Since they can't enchant anything, it was useless to have golden swords, so even more gold kept pouring into the economy whenever a zombie-pigman dropped a sword. Thanks so much for the shopkeepers plugin, and this amazing post!
-Slay
When i added shopkeepers on my server first time making a diamond with a custom name the server curency everybody got crazy to get those diamonds.