Introduction
This brief guide will try to descripe the process of setting up a mud, and what is needed to make everything work. It will also try to descripe some of the problems you may encounter in doing so.

  • The very first step you have to take before starting a mud of your own, is to decide what kind of mud you want to run. This may sound silly, but you'll save yourself alot of grief by deciding before you pick a codebase.

  • Theres currenly quite alot of different mudtypes available, and theres a few thing you need to decide on (these are a minimum)

  • What is the primary purpose of the mud, is it a playerkilling, pure slaughter and mayhem type of mud, or is it a social mud, aimed toward massive roleplaying. The main question is wether your mud is based on roleplay, playerkilling, or something in between; if you decide to go with a pure roleplay mudtype, you'll find it introduce playerkilling later on, but if you go with a playerkilling type of mud, you'll attract that kind of players, which are alot harder to get to roleplay (in general, theres always the nice exception). If your already set on the codebase (you could be playing a mud based on this codebase, and want to start one of your own), then it's not a big problem; but should you be in doubt, I would suggest taking a look at some of the different codebases at ftp.game.org, and take a look at some of the muds running these codes at www.mudconnector.com.

  • When you have decided on a certain codebase or mudtype, you need to get acces to the mudcode, the best solution would be to download it from ftp.game.org, if it's not located there, you could search for it on the net, or ask on the discussion board at www.mudconnector.com (try the beginners board first).

  • The next step is to secure a server for the mud to run on, these come at different prices and sizes, and those two things don't always go together. It should be possibly to get a decent server to begin with (you may need a bigger server later on, and I'm sure the provider can make this change without to much trouble) at the cost of 15-20 US $. Try looking at www.mudconnector.com/resources/Mud_Resources:Mud_Hosting.html you should be able to find several good mudhosting sites on that page.

  • Now upload the code to the server, and unpack the code. I presume that the code was downloaded in tar.gz format, or simply .tgz (the last few letters in the name of the file), if this is the case, you can unpack the code with the following command :

    tar xvzf merc.tar.gz (in this example we are using the file merc.tar.gz replace it with the name of your file)

  • (maybe) The code could have a build-in command to set a certain player or players to the maximum level, making them gods, you should search for a command that does this in the code (ie. in godwars code the command is called 'relevel' and the code for this is located in the file kav_wiz.c). If there is such a command, it's not a backdoor, but rather a feature to make it easier for the admins (that's you) of the mud to become immortals. You'll need to edit this command to only work on players with your names, just edit the examples already in the code, and remove the player names you don't need. It's no way certain there is such a command, if there isn't you'll need to edit your playerfiles by hand to gain maximum level.

  • You need to compile the mud before you can start it; first you need to get into the directory with the code, typing 'ls' will show you a list of what files you can see. Most likely theres something called 'src', if not, its most likely located a few steps "down" in the hierachy. In the above example using the merc codebase, it's located in merc/src (type 'cd merc' then 'cd src' to get into the directory, cd simply means change directory).

    To compile simply type 'make' this will compile the mud, and if you don't get any error messages, you are almost ready to start your mud. If you happen to get compile errors, you'll have to fix these problems before you can procede; theres no real guideline on how to fix these problems, just take a look at the error message and see if you can figure out why you get it.

  • Now that your mud is compiled, it should be ready to get started; for this purpose, theres most likely a startup script located along with the sourcecode. Type 'ls' and see if theres a file called 'startup' or similar. Before starting the mud, you need to edit this file, it should have a single line, telling what port the mud should start at (If you got a port number to use when yout paid for the server, use this). Edit the port to suit your needs, and save the file.

  • Now your ready to start the mud, type the following :

    ./startup &

  • Try connecting to the mud after a short while, the address for your mud should be the same as the address for your server, along with the port number you set in the startup file. (ie. our.server.com 5454).

  • Should you not be able to connect, try reading through all the steps again, and see if you forgot something, if not, then type 'ps ux' (you may need to type 'ps -ux' depending on what OS the server is running). This command will show a list of all the programs you have running, if the mud is not on this list, it didn't start when you used the startup script, and something must have went wrong. Start over.

    This is an example of how 'ps ux' could look :

    
    USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
    bgravers  8475  0.9  4.2 13928 11012 ?       SN   04:27   8:00 ../src/dystopia 6823
    bgravers 28311  0.0  0.0  2304    0 ?        SWN  12:58   0:00 [startup]
    bgravers 28332  0.0  0.1  1744  488 pts/3    S    12:59   0:00 -bash
    bgravers  1302  0.0  0.2  2332  696 pts/3    R    17:49   0:00 ps ux
    

    here the line with cronic is the mud (it could be named anything, this is just because dystopia is the name I gave the binary file). You'll notice my startup script is running nicely, and ofcourse the line with '-bash' is just my shell acces, the 'ps ux' is ofcourse the command we just typed.

    If you see something like this

    
    bgravers 28332  0.0  0.2  1744  572 pts/3    S    12:59   0:00 -bash
    bgravers  1328  7.0  0.5  2308 1312 pts/3    SN   17:50   0:00 csh -f ./startup
    bgravers  1330  1.0  0.1  1236  436 pts/3    SN   17:50   0:00 sleep 2
    bgravers  1331  0.0  0.2  2332  696 pts/3    R    17:50   0:00 ps ux
    

    then it means your startup script is working but the mud dies when it tries to start; maybe your trying to use a port that some other mud is using, or the code simply isn't working. Try playing around till you get it to work.

    WARNING

    Never start more than one startup script, if you do this, the startup scripts will constantly try to compete on who get's to run. It's like starting two version of a program, and watch your computer turn slooooow (try running windows words twice for instance).

    If you need to start the mud again, because your startup script didn't work the first time, or something else went wrong, then FIRST make sure that the old startup script is no longer running (look at 'ps ux'), if it is you need to kill it first.

    if you take a look at the above output from 'ps ux', you'll notice the number 1328 all the way to the left of 'csh -f ./startup'. This number is the PID of the program, and is used to affect the program from outside the program itself. For instance should we want to kill the program (turning it off, because we can no longer get any reaction from it), we would simply type :

    kill 1328

    because 1328 is the PID of the startup script.

    Good luck with running your mud

    Brian Graversen