MU Soapbox

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Muxify
    • Mustard

    Zero to Mux (with wiki)

    How-Tos
    tutorial mux digital ocean tinymux
    26
    95
    44652
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Rook
      Rook last edited by

      Done. Users should simply copy-paste or quote that to their brand-new game. If you copy that into a text editor with line-numbering, you'll see that the first 103 lines of the script match the dbrefs of the objects you'll be creating. So if you want to alter things, by all means do.

      I have used this script for over a decade, and it serves me well.

      1 Reply Last reply Reply Quote 0
      • Glitch
        Glitch last edited by

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

        1 Reply Last reply Reply Quote 0
        • Bobotron
          Bobotron last edited by

          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?

          1 Reply Last reply Reply Quote 0
          • surreality
            surreality last edited by

            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. 😕 )

            Oh fucking well.

            Bobotron 1 Reply Last reply Reply Quote 0
            • Bobotron
              Bobotron @surreality last edited by

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

              surreality 1 Reply Last reply Reply Quote 0
              • surreality
                surreality @Bobotron last edited by

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

                Oh fucking well.

                1 Reply Last reply Reply Quote 0
                • W
                  Wodchelle last edited by Wodchelle

                  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

                  Glitch 1 Reply Last reply Reply Quote 0
                  • Glitch
                    Glitch @Wodchelle last edited by

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

                    1 Reply Last reply Reply Quote 0
                    • W
                      Wodchelle last edited by

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

                      1 Reply Last reply Reply Quote 0
                      • Dazed
                        Dazed last edited by

                        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

                        1 Reply Last reply Reply Quote 0
                        • Glitch
                          Glitch last edited by

                          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!

                          1 Reply Last reply Reply Quote 0
                          • Dazed
                            Dazed last edited by

                            Doh! Thanks!

                            1 Reply Last reply Reply Quote 0
                            • Glitch
                              Glitch last edited by

                              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!

                              1 Reply Last reply Reply Quote 0
                              • V
                                Volund last edited by

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

                                1 Reply Last reply Reply Quote 0
                                • Ashen-Shugar
                                  Ashen-Shugar @Glitch last edited by Ashen-Shugar

                                  @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

                                  1 Reply Last reply Reply Quote 0
                                  • L
                                    Lisse24 last edited by

                                    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.

                                    1 Reply Last reply Reply Quote 0
                                    • skew
                                      skew last edited by

                                      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

                                      1 Reply Last reply Reply Quote 0
                                      • surreality
                                        surreality last edited by

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

                                        Oh fucking well.

                                        1 Reply Last reply Reply Quote 1
                                        • Monogram
                                          Monogram last edited by

                                          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?

                                          MUSH-free since 02/2017

                                          This may or may not change in the future.

                                          faraday 1 Reply Last reply Reply Quote 0
                                          • faraday
                                            faraday @Monogram last edited by faraday

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

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 2 / 5
                                            • First post
                                              Last post