Lee Hutchinson of ArsTechnica teaches us how to run a Minecraft server for fun and … well pretty much for fun.
Finally, hosting the code yourself on a dedicated server in your closet is the most complex option, but can also be the cheapest and most flexible, assuming you have spare hardware lying around. For smaller Minecraft instances where you expect to only have a couple of players—for example, if you just want to play Minecraft with your kids—you can even run the server on your main computer without needing a separate piece of hardware.
In this guide, bits of which have appeared on my personal blog over the last few months, we will walk through some fairly generic instructions which should apply to both a VPS and self-hosting. After that, we’ll move on to more advanced options that you can implement to spice up your Minecraft hosting experience. We’re going to burn more words talking about how to make this all work with Linux than with other operating systems, since Linux is the most common option for hosting; if you’re using a VPS, you’ll almost certainly be using Linux, and if you’re hosting out of your home, that’s probably what you should use as well. However, don’t feel left out if you want to get a Minecraft server running on Windows or OS X—we’ll include you, too!