I can't give you any advice on which server to pick; most of my experience comes from programming on
lambda.moo.mud.org and experimenting with the stock server. I've played around with Stunt a little bit but don't know much about it. Perhaps some of the other list members can give you advice here.
The rest of this message will assume that you've picked LambdaMOO, or perhaps some derivative such as Stunt or GammaMOO.
I recommend finding an existing MOO on which you can get a programmer's bit to learn about MOO programming, before you try running your own server. This lets you focus on learning the language and environment without dealing with server setup as well. (Hint: If you want a progbit on
lambda.moo.mud.org, go to the Library Alcove (#95512) and ring the gong. When the butler arrives, ask him for a programmer's bit. Once you have it you can "install programmer's bit".)
The LambdaMOO language is fairly similar to Lua, though it's definitely not exactly the same. To get started, yduJ's wind-up duck tutorial is always fun:
http://www.fringenet.net/MOO/yduJtut.txtYou will most certainly want to read the Programmer's Manual very thoroughly:
http://lambda.moo.mud.org/pub/MOO/ProgrammersManual.htmlOnce you're comfortable programming in the language, the next step in creating your own MOO is to compile your own server and pick a core.
There's not much to say about compiling; it should be a simple matter of reading the documentation, making any configuration changes necessary, and running `make`. There are various patches available to add features to the LamdbaMOO server (for instance waifs or Unicode support); I know very little about these.
LambdaCore is the "standard" core; it was derived from the
lambda.moo.mud.org server and has basic functionality. If you really want to go all-out you could go with Minimal.db which has basically nothing whatsoever, but I don't suggest that--you'll mostly be reinventing the wheel. jhCore is another one, which offers a different feature set from LambdaCore. There are also other cores around as well.
Having picked your core, you can now go about programming your world. This is basically just a matter of figuring out what you want your world to be like and then writing code to make it happen--it's a lot of work but there's not much I can say about it.
Hopefully this will help you on your way.