Zero to Mux (with wiki)


  • Coder

    Awesome, I've included it in the how-to's last step.



  • NECROBUMP!

    I am horrible at setting up mediawiki manually (no matter where or how many times I try, it fails and never works). Has anyone used any of the autoinstallers like installatron or softaculous to do a MW install?



  • I'm about to try it in a weird way, and if what I think should work actually does work, I'll pass along the how. (Second wiki for staffly things. Cross your fingers. :/ )



  • @surreality
    Good luck. I ended up not needing to transfer the wiki to a new host, so I'm safe there, but the option to have the automatic installers from like Installatron do it would be good knowledge.



  • @Bobotron I was able to do it pretty easily, but it didn't involve migrating or moving any content. (I just needed to set up a private staff wiki alongside the first.)

    As a note generally for the thread: digitalocean is not keen on the .htaccess method of getting the wiki name/index.php issue sorted. (As in, it apparently doesn't work and they have some notes about this being a deliberate thing I found after a lot of googling.) I'm still just pretending the index.php isn't there for now until I have the nerve to dig into the 'proper' and more involved method. This is a pretty minor concern considering how reasonable their prices are and how good the service has been thus far.



  • Hiya, Necroing this from the graveyard.

    There seem to be a few changes from this guide now:

    git clone https://github.com/brazilofmux/tinymux.git
    

    This command grabs the entire directory including a bunch of folders like "client" "color" "convert" "Debian" "sgp" etc. It looks like this guide is using just the /mux directory. Are those other upper level directories needed for anything?

    If logged in with the owner account I created it looks like you need to sudo commands:

    sudo ./configure --enable-stubslave --with-mysql-include=/usr/include/mysql --with-mysql-libs=/usr/lib/mysql --enable-inlinesql
    

    However when I run the sudo make depend command I get the following:

    :/var/www/tinymux/mux/src$ sudo make depend                
    for i in _build.cpp alarm.cpp alloc.cpp attrcache.cpp boolexp.cpp bsd.cpp command.cpp comsys.cpp conf.cpp cque.cpp create.cpp db.cpp db_rw.cpp eval.cpp file_c.cpp flags.cpp funceval.cpp funceval2.cpp functions.cpp funmath.cpp game.cpp help.cpp htab.cpp local.cpp log.cpp look.cpp mail.cpp match.cpp mathutil.cpp mguests.cpp modules.cpp move.cpp muxcli.cpp netcommon.cpp object.cpp predicates.cpp player.cpp player_c.cpp plusemail.cpp powers.cpp quota.cpp rob.cpp pcre.cpp set.cpp sha1.cpp speech.cpp stringutil.cpp strtod.cpp svdrand.cpp svdhash.cpp timer.cpp timeabsolute.cpp timedelta.cpp timeparser.cpp timeutil.cpp timezone.cpp unparse.cpp utf8tables.cpp vattr.cpp walkdb.cpp wild.cpp wiz.cpp libmux.cpp  version.cpp unsplit.cpp slave.cpp stubslave.cpp ; do g++ -E  -g -O     -DSTUB_SLAVE    -DINLINESQL -I/usr/include/mysql  -M $i; done | ./unsplit > .depend~
    functions.cpp:26:19: fatal error: mysql.h: No such file or directory
     #include <mysql.h>
                       ^
    compilation terminated.
    game.cpp:30:19: fatal error: mysql.h: No such file or directory
     #include <mysql.h>
                       ^
    compilation terminated.
    mv .depend~ .depend
    
    

    Any idea what I can do to fix this? It looks like mysql is missing from /usr/include


  • Coder

    @Wodchelle said:

    This command grabs the entire directory including a bunch of folders like "client" "color" "convert" "Debian" "sgp" etc. It looks like this guide is using just the /mux directory. Are those other upper level directories needed for anything?

    It looks like you're right about only needing the mux directory. It's a bit of a pain to try to only clone one sub-directory, so you can either mv the directory out and then delete the tinymux directory, leave it as is for possible updates/upgrades (though I don't know how often that happens) or grap the tar zipped file from the tinymux site. I'll update the guide to take this into accoutn.

    If logged in with the owner account I created it looks like you need to sudo commands:

    The sudo command requirement is likely because the user account you have doesn't have write access, try the following:

    cd /var/www
    sudo chown -R <name>:<name> tinymux
    

    Where <name> is the account you want to use and tinymux is presumably the name of the directory of the git clone.

    However when I run the sudo make depend command I get the following:

    :/var/www/tinymux/mux/src$ sudo make depend                
    for i in _build.cpp alarm.cpp alloc.cpp attrcache.cpp boolexp.cpp bsd.cpp command.cpp comsys.cpp conf.cpp cque.cpp create.cpp db.cpp db_rw.cpp eval.cpp file_c.cpp flags.cpp funceval.cpp funceval2.cpp functions.cpp funmath.cpp game.cpp help.cpp htab.cpp local.cpp log.cpp look.cpp mail.cpp match.cpp mathutil.cpp mguests.cpp modules.cpp move.cpp muxcli.cpp netcommon.cpp object.cpp predicates.cpp player.cpp player_c.cpp plusemail.cpp powers.cpp quota.cpp rob.cpp pcre.cpp set.cpp sha1.cpp speech.cpp stringutil.cpp strtod.cpp svdrand.cpp svdhash.cpp timer.cpp timeabsolute.cpp timedelta.cpp timeparser.cpp timeutil.cpp timezone.cpp unparse.cpp utf8tables.cpp vattr.cpp walkdb.cpp wild.cpp wiz.cpp libmux.cpp  version.cpp unsplit.cpp slave.cpp stubslave.cpp ; do g++ -E  -g -O     -DSTUB_SLAVE    -DINLINESQL -I/usr/include/mysql  -M $i; done | ./unsplit > .depend~
    functions.cpp:26:19: fatal error: mysql.h: No such file or directory
     #include <mysql.h>
                       ^
    compilation terminated.
    game.cpp:30:19: fatal error: mysql.h: No such file or directory
     #include <mysql.h>
                       ^
    compilation terminated.
    mv .depend~ .depend
    
    

    Any idea what I can do to fix this? It looks like mysql is missing from /usr/include

    You're right about the cause. Did you do the mediawiki install through digital ocean, or did you already have a server set up? The fix for this should be:

    sudo apt-get install libmysqlclient-dev
    

    After that installs, you should be able to run make depend.



  • @Glitch

    Thank you, that did it!

    Yes, I used digitaloceans mediawiki image. So I don't know why the mysql library wasn't already included, since I know it uses mysql. Strange.

    Thank you though, I am up and running now and ready to start breaking things. I chown -R www-data:www-data the www directory before but I guess new files are written with root as the owner still?

    Some other steps I had to change from the guide, for future reference:

    Since I did the step:

    adduser <username>
    

    I wasn't able to do:

    useradd -G www-data <username>
    

    It said the user already existed, so instead I did:

    usermod -a -G www-data <username>
    

    Then I set the ownership of the folders to www-data.



  • This is probably a dumb question, but following all the steps, I ended up with a tinymux directory without the /src directory. Does anybody have any idea what I did wrong?

    muxdirectory.png


  • Coder

    Hey @Dazed, it seems @Wodchelle had the same issue not too long ago. If you look up about 4 posts, you can see where she ran into the same problem and I answered, so you'll want to check that. I promise to update the guide with the new info!



  • Doh! Thanks!


  • Coder

    I've added a section called PennMUSH that will give you a fully loaded @Volund instance minus the CG. There are links in there for his various CG systems, but it otherwise has all of the systems and code you need to run a game. I've just run through it all on a fresh digitalocean mediawiki install, but if you're having problems, let me know!


  • Coder

    @Glitch
    Wow, didn't know it was this popular. I'm flattered!


  • Coder

    @Glitch said:

    Are you having trouble connecting Rhost to a database or Mediawiki to a database? If it's Rhost, I imagine it has a configuration setting when making and a conf file like TinyMUX does where you need to put in your database name, username and password. Mediawiki has a web-based walk-through when you navigate to your wiki's site. Either way, both are going to require the a database to be present first.

    Hopefully, some of our Rhost savvy people can chime in here if I'm off base.

    The mysql configuration is all handled with a config file. You need to compile Rhost with mysql support, and it requires mysql_config (so whatever package your linux distro's package that includes that).

    $ pwd
    ~/Rhost/Server/game
    $ cat rhost_mysql.conf
    #= MySQL settings ##################################################
    #= mysql_host: The hostname to connect to. In theory this means
    #= that a remote host could be used, but unless you've
    #= a really fast connection to that box it's not
    #= recommended
    #= mysql_user: The username to connect to the database as.
    #= mysql_pass: The password for the above user.
    #= mysql_base: The name of the database to connect to.
    #= mysql_socket: the mysql socket protocol library
    #= mysql_port: the port the mysql database is listening on
    #=##############################################################
    mysql_host localhost
    mysql_user dbuser
    mysql_pass dbpass
    mysql_base dbname
    mysql_socket /var/lib/mysql/mysql.sock
    mysql_port 3306


  • Pitcrew

    I was wondering if anyone had access to a tutorial on what to do once you get the code installed in your game?

    I believe that I have Volund's PennMush code installed correctly, but I can't seem to do much of anything or use any of the systems. I'm sure the issue is small and silly, but I lack the knowledge to go about troubleshooting. I'd also appreciate any personal help if anyone is willing to give it.


  • Coder

    Thank you for this! Very helpful.

    Just a small addition... when installing TinyMUX as described above, the command being used enables inlinesql (which allows TinyMUX to talk to MySQL). To further configure MySQL (as is necessary for certain code, like Thenomain's stat-system), you can reference: https://github.com/brazilofmux/tinymux/blob/b628ee0b2a8083bcfb538c344432f47fecd28cbf/mux/SQL



  • As a quick note, the current install on DigitalOcean for mediawiki droplets will bork itself with almost any change to LocalSettings.php without a tweak.

    After the database portion of the file, you'll want to add:

    $wgCacheDirectory = "$IP/cache";

    ...stick it right under $wgUpgradeKey and things unbreak again. Figured someone else would run into this one until whatever the next version is that goes in, and better if only one of us has to beat our head against the wall searching up error strings for an hour of head-desking. <3



  • I cast necromancy.

    So I've taken it upon myself to actually try and set something up for a game, because I believe we need more games that are not WoD(no offense to the WoD lovers of the world, but I do like my fantasy).

    Thing is, I would like to use this guide to set up Penn an whatnot, but I'm likely going to try using FS3(I would love to use Ares, but @faraday says it's not ready yet). That being said, how would I be able to put in FS3 on Penn. Is there something different you have to do?


  • Coder

    @Monogram The starter database comes with everything you need for the base install. The instructions are here.

    Be aware that configuring the game requires you to monkey around with code attributes, and any customizations that aren't supported by the config options will require tinkering with the code itself. So you'll need a coder to help you get started.



  • 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.


Log in to reply
 

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