Have you been playing minecraft single player for a while and want to play with friends, but want your own custom one with lots of commands, then this tutorial should help!You will need a server first. You can either buy a host (e.g. http://www.beastnode.com/ ) or host your own. To host your own server you should have a pretty good computer and if you have an extra computer, or its rarely used, use that. For players to connect, you either need to portforward you router or use hamachi, which is a VPN application. Tutorial links will be posted at the bottom of this tutorial. (Remeber this is a tutorial for maintaining a good server not running one)
Plugins You Should Have: Essentials (comes with lots of useful commands like telportation item spawning etc), some kind of spawn plugin (e.g. EssentialsSpawn), a chat plugin (e.g. EssentialsChat, HeroChat etc), some kind of rank plugin (I suggest GroupManager) and an anti grief plugin If you are going to build some big structures or a city, you should get WorldEdit for your server.
Once you have those plugins, log onto your server (if home hosted run it). Next build a spawn, you can use the mighty worldedit or build by hand depending on how big and creative you want the spawn to be. Once that is done, I suggest you make some simple rules in the spawn, once thats done set the spawn. If you don't know the command type into google PLUGIN_NAME commands and replace PLUGIN_NAME with the name. You can build more if you'd like.
After you have built what you wanted, and tell your friends and get other people on, with your rank plugin, look at the ranks, if you like them use them, if you dont, make your own. Once that is done, rank your friends and family to special ranks you like and everybody else will get default. Make sure that you do have some mods making sure nobody is spamming or griefing etc. if you don't want to get a rank plugin, or dont want to have to put the nodes for every plugin for mods or admins. Just op people and don't get a rank plugin.
If you have a big map get no-lagg and if you want more ram, do this, If you use bukkit, edit the .bat file by right clicking and clicking edit, once you have that, find 1024M change that to how much you want (M stands for megabytes). On the internet search gigabytes to megabytes. Then add how much you want. (Make sure you change both, there are two things to change (both say 1024M)
Hamachi or plugin tutorials just google it
GroupManager Commands - http://ess.khhq.net/wiki/Group_Manager#Group_Manager_Commands
Worldguard Commands/Nodes - http://wiki.sk89q.com/wiki/WorldGuard/Permissions
Worldedit commands/Nodes - http://wiki.sk89q.com/wiki/WorldEdit/Permissions
Essentails Commands/Nodes - http://ess.khhq.net/wiki/Command_Reference