Zero to Mux (with wiki)

  • So I'm going through the set up and I'm a little bit in over my head.

    I had to reset the root password, which it made me do and I did, but now I get something that says:

    root<dropletname>: ~#

    Not really sure what I put there and I can't find anywhere that explains it.

  • Coder

    That should just be your command-line prompt. It's where you'll start following instructions in the codeblocks of the little tutorial.

  • So, I think this how-to is hitting the obsolete end of things. Digital Ocean has completely changed their layout in the last year, and the thread makes it messy and hard to follow.

    Would it be possible to update this to fix the glitchy bits and/or streamline so it's easier for a nublet to follow along? I'm really struggling this time, and even the first time I had set up Descent it was a kludgy mess that took quite some time to get fixed by a knowledgeable codey person.

  • Pitcrew

    I am following the instructions to install pennmush, but it is not ujnderstanding 'make update' or 'make install'. It is telling me no command is found.

  • @toreadorfool When you type the command ls in the DO shell, do you see a file listed called "Makefile" ?

  • Coder

    So DigitalOcean removed the MediaWiki one-click droplet.

    (Great, now what?)

    • Create the Server

    1. Use the LAMP droplet.
    2. Log in as root. Change the password. Run:
      apt-get update
    3. From this page, the following seems to install all the gcc/c++/etc. tools we'll need:
      apt-get install build-essential libssl-dev libcurl4-gnutls-dev libexpat1-dev gettext unzip
    4. Create a new user for the game's account and escalate their privs.
      Use these directions from DigitalOcean.
      (Skip the SSH key stuff for it. See below.)

    • Log Into the Game Account

    1. Create a public SSH key for it (mostly optional, do it anyway):
      ssh-keygen -t rsa -C ""
    2. Get you some PCRE (critical for Chime's install at least):
      sudo apt-get install libpcre3 libpcre3-dev

    • Get Us Some MediaWiki
    (Follow along with the instructions on DigialOcean's site.)

    1. [Step 1] The apt-get instructions are out of date. Run the following:
      sudo apt-get install php-intl
      sudo apt-get install php-gd
      sudo apt-get install php-mbstring
      (If you want to install texlive later, remember to run the apache2 restart line.)
    2. [Step 2] Do not use the curl in their example as, it will not work. Instead:
      a. Go here:
      b. Right-click on the download to the latest release and select 'copy link'.
      c. In the terminal window: curl -O <paste the link>
      d. Continue with the 'tar' and 'mv' instructions.
      e. You might want to 'rm' the installation leftovers from your game account's directory.
    3. [Step 3] I'm using the game's account_name for both the database and user.
    4. [Step 4] You will absolutely want a wiki prefix. 'wiki_', for example. If you do anything else with your database, such as news/help integration or xp or a sensible stat system, you will want their table to have their own prefixes. (This is against good database design, but with the Mushlikes it's non-trivial to get around that.)

    You're now ready to go back to the start of this thread and continue after making a new user.

    I'm sorry that DigitalOcean took out a lot of the brain-dead-easy parts of this setup.

    I hope that this helps.


    • 09/12/17: The base TinyMUX install is not finding mysql.h. The Chime fork compiles fine. Looking for solution.
    • 09/18/17: My bad. See two posts down.

  • Coder

    @Thenomain said in Zero to Mux (with wiki):


    09/12/17: The base TinyMUX install is not finding mysql.h. The Chime fork compiles fine. Looking for solution.

    I'd have to see the exact error message this is returning. Not compiled mux in a while, but if it's the .depend that's broke it could be a bad entry for it.

    You could try 'make depend' to enforce the dependency make and see if that fixes it.

    Also is it the local MUX mysql.h or is it the system mysql.h?

    If it's the system one (~/include/*/mysql.h) then you may need to specify MUX with a ./configure to specify the exact location of the header files. Again, been a while since I played with MUX.

  • Coder


    The problem is with... well, my brain. A lot of my code issues are my not being detailed enough. I was missing '--with-mysql-include' in the original directions.

    I seem to have it working with:

    ./configure --enable-stubslave --with-mysql-include=/usr/bin/mysql 
    --with-mysql-libs=/usr/include/mysql --with-mysql-include=/usr/include/mysql 
    --enable-inlinesql --enable-realitylvls

Looks like your connection to MU Soapbox was lost, please wait while we try to reconnect.