New PennMUSH on a VPS: start to finish

Submitted by Mercutio on Mon, 2013-08-05 13:34

Crossposted from: here.

First off, this tutorial will concentrate on using Debian 7. It will also presume you know what a MUSH is, and how to connect to one! If your VPS uses an older Distro, say Debian 6, or if you decide you really rather have Ubuntu, I suggest logging in onto M*U*S*H for assistance. 

M*U*S*H can be found at: 4201 


VPS: First, you need to have a VPS. I personally suggest CloudVPS as one of the better cost:stuff ratios out there. They're a Dutch company, and if you drag everything to the Minimum (which is more than your MUSH will need by far), you'll only be paying ~ €10.95

SSH Client: A lot of people swear by PuTTy, but I'm going to keep this simpler. I suggest you get the Windows client called Bitvise Tunnelier. Found here. Its setup should speak for itself. We'll get to 'how to connect to your VPS' during the Tutorial. If you are using a Mac, it comes with 'terminal' built in. Please refer to this tutorial for Mac's SSH client.

  1. Let's assume you have gotten a VPS, and you selected that you wanted Debian 7 as your Linux Distro. You should be given some IP address that you can 'connect' to. An IP address will most likely come in IPv4 and IPv6 flavor. You won't need to worry about that, but let's just use the IPv4 for the sake of sanity. It'll look something like: 33.423.54.121 or something.
  2. Now, let's connect to it. Open up Bitvise Tunnelier (Bitvise SSH Client.exe). You should also have been given a username and password for the 'root' account on your system. First, let's log in. Fill the following sections out with the information given by your VPS provider.

    Host: IPv4 address goes here.
    Port: 22 (~ most likely, just leave it alone)
    Username: root
    Initial Method: Password
    Password: Your VPS password for root

    Click Login. If it doesn't succeed, be sure to doublecheck that you copied and did everything succesfully.

  3. You are now logged in as root. We don't actually want you to be doing stuff 'as' root though. So let's make you a proper user account. I suggest to keep your username in lower caps, without any special symbols like spaces - for simplicity's sake. (one command)

    useradd --create-home yourusername --password yourpassword

  4. Now we need them to also be able to do administrative stuff. We do this by adding them to the '''sudo''' list. (Super User Do. This should be simply if you are on Debian 7:  (one command)

    adduser foo sudo

  5. Now, log out (command: logout) and change the information for your login in the Bitvise Tunnelier. By this time, when you finish putting in your new user's username and password, you probably want to 'save' the information, and heck, you can have it save your password. It should be safe, as it gets stored in a secure manner. You'll be using this now and again in case your game goes down for whatever reason, or because you want to do more!

  6. Now come the actual fun PennMUSH related stuff. Let's make sure you have the bare minimum of stuff! Let's first make sure you can sudo, using a simple command that doesn't really need sudo: (one command)

    sudo ls

    Note that it'll ask for your password. I hope you remember your password! Also note that you won't /see/ that you are typing things in. It won't 'appear' on your Bitvise xterm program. But trust me, each keystroke is being fed in. Press enter when done typing your password. If succesful, you won't need to run your password again for the rest of this 'session' (opening until closing your 'terminal').

  7. Let's ensure we have all the packages. (one command)

    sudo apt-get install build-essential git perl libpcre3 libpcre3-dev openssl nano libevent-core* libevent-dev libssl-dev mysql-common mysql-client mysql-server libmysqlclient-dev

  8. Let's download the latest PennMUSH (one command)

    git clone

  9. And run all the required commands, one at a time. When you hit 'make update', just press 'enter' a few times on each 'question' to use all the defaults.

    cd pennmush
    sh configure
    make update
    make install

  10. Now, for the last steps. Go to the game folder by using: 

    cd game

    (Change Directory). There's one file in particular you are going to want to edit. And to do so, we're going to use the program 'nano'. Type in the following to edit the mush configuration file. (mush.cnf). Controls you are going to want to know are: CTRL-O (As in Ooooh) to save the current file. Ctrl-X to exit.

    nano mush.cnf

    You will likely want to change a few. Your mud_name etc is important. You can leave the port alone, or set it to something more memorable than the PennMUSH default of 4201. You will want to come back here later to change your connect_html_file or connect_file items to #DBref/Attribute references if you want to make things easier on yourself. Probably also want to change some of the Ancestor references (without the # in the DBref).

  11. Last step! To start your game running on the port indicated in mush.cnf, run the following: 

    sh restart

  12. You should be done! You can connect to your game from your favorite MUSHclient. Connect to #1 with 'connect #1' and make sure to give them a new password with @newpassword me=SOMESMARTPASSWORD