MU Soapbox

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Muxify
    • Mustard
    1. Home
    2. Glitch
    3. Posts
    • Profile
    • Following 1
    • Followers 4
    • Topics 50
    • Posts 525
    • Best 182
    • Controversial 11
    • Groups 6

    Posts made by Glitch

    • RE: Post + Refresh Stopped.

      @Coin No. I updated to the newest dev version of the forums and noticed the same thing.

      posted in Suggestions & Questions
      Glitch
      Glitch
    • RE: Basic Anomaly +Jobs Functions

      @Cobaltasaurus Works in progress are great and thanks for taking the time to do this one!

      posted in How-Tos
      Glitch
      Glitch
    • RE: 1 Sphere, 2 Sphere, 3 Sphere, 4!

      I like the idea of at least GMC mortal+ content. It adds a little bit of that edge against the darkness and I personally prefer playing something other than a straight mortal.

      posted in Mildly Constructive
      Glitch
      Glitch
    • Muxify (MU code editor)

      So I have an online editor for MU code that I've added to the menu (the document icon with the hover text Muxify). This will bring you to the editor in a new tab.

      Usage:
      def <alias> { <code> } - Simple preprocessor for code repetition or object replacement.
      Ex:

      def roller {
        #36
      }
      
      def alert {
        [ansi(hr, |, hw, %o, hr, |)]
      }
      

      To use in code wrap the def in colons:

      &f.function :roller:=pemit(%1, :alert:)
      

      Which will result in:

      &f.function #36=pemit(%1, [ansi(hr, |, hw, %o, hr, |)])
      

      Commenting - Use // before any comments to have them parsed when minified. Everything after // is commented out, so make sure no code follows it. Block commenting is also available as /* <multiline comments> */
      Ex:

        // set initial total value
        [setq(t, ladd(%qf))] // here is okay too
      

      or

      /*
        this
        is
        a 
        multiline
        comment
      */
      

      Keyboard Shortcuts - Supported, see the ACE editor list

      Storage - Code can be saved locally or loaded in minified or expanded form.

      Minification - As you code, the minified version will be filled in simultaneously. It should cover most cases to proper format.

      Explode - This will take minified code and add whitespace to it in the left pane.

      Finally, here is some example code you can copy/paste to the left pane to test it out:

      /* Requires global function pluck: 
       * [setq(i, if(t(%2), %2, %b))][setq(o, if(t(%3), %3, %b))][extract(%0, match(%0, %1*, %qi), 1, %qi, %qo)]
       *
       * Requires global function alert:
       * [ansi(hr, |, hw, %b%0%b, hr, |)]
       *
       * For english stats, a fate stat object is needed, defined here with fss,
       * with the following format &d.skills fss=skill|skill|skill
       */
      
      def fr {
        #36 // set to object dbref
      }
      
      def fss {
        #75 // dbref for stat system
      }
      
      &c.roll :fr:=$+roll *:ulocal(%!/f.parse, %#, %0)
      
      &f.parse :fr:=
        // preformat roll string
        [setq(s, edit(%1, %b, , +, %b))]
        
        // set error register
        [setq(e,)]                       
        
        // set natural language register
        [setq(l,)]
        
        // fate dice
        [setq(f, lrand(-1, 1, 4))]
        
        // set initial total value
        [setq(t, ladd(%qf))]
        
        /* check if string token is a word and parse it, otherwise assume
         * it is a number and add to total
         */
        [iter( %qs, 
          if(isword(%i0), 
            setq(t, ladd(%qt [u(%!/f.get-dice, %0, %i0)])), 
            [setq(t, add(%qt, %i0))]
            [setq(l, %ql|%i0)]
          )
        )]
        
        // if error(s), display them, otherwise display successful roll
        [if( t(%qe), 
          u(%!/f.display.error, %0, trim(%qe, , |)), 
          u(%!/f.display.roll, %0, trim(%ql, , |), %qt, %qf)
        )]
        
      &f.get-dice :fr:=
        /* get the skill from the stat object (used for default cases where the
         * skill exists but is not present on charbit)
         */
        [setq( 0, pluck( get(%va/d.skills), %1, |))]
        [if( t(%q0), 
          
          // get skill value from charbit or return 0
          [setq( 1, pluck( get(%0/_skills), %q0, |))]
          [if( t(%q1),
            trim(rest(%q1, :)),
            0
          )]
          
          // add to the language output
          [setq( l, %ql|[if(t(%q1), %q1, %q0)])], 
          
          // or add as an error
          setq(e, %qe|could not find '%1'.)
        )]
        
      &f.display.roll :fr:=
        // send roll message to room
        remit(loc(%0), 
          [alert(+roll)]%b[name(%0)] rolls [u(%!/f.tr.dice, %3)] + 
          [iter(%1, if(t(rest(%i0,:)), [first(%i0,:)] %(+[rest(%i0,:)]%), %i0), |, %b+%b)]
          for a[case(%qt,1,n,7,n)] 
          [ansi(hw,[u(%!/f.tr.success, %qt)] %([if(gte(%qt,0), +%qt, %qt)]%))].)]
        )
        
      &f.tr.dice :fr:=
        // make fate dice pretty
        edit(%0, -1, ansi(y, %[, hw, -, y, %]), 
          0, ansi(y, %[, hw, %b, y, %]), 
          1, ansi(y, %[, hw, +, y, %])) 
          
      &f.tr.success :fr:=
        // provide english language values
        case(%0, -2, Terrible, -1, Poor, 0, Mediocre, 1, Average, 2, Fair, 
          3, Good, 4, Great, 5, Superb, 6, Fantastic, 7, Epic, 8, Legendary, Mythic)
        
      &f.display.error :fr:=
        // display any errors to roller
        pemit(%0, [alert(+roll)] Errors: [itemize(%1, |)])
      
      /* set the data object for skills list.  Alternatively add a d.skills
       * attribute to the roller and edit f.get-dice to use %! instead of %va
       */
      @va :fr:=:fss:
      
      posted in MU Code
      Glitch
      Glitch
    • RE: [Request] Good AnomalyJobs tutorials?

      I think he probably just wants a quick run-through of creating a bucket, setting up jgroups and little tricks of the trade that might help make using it easier (maybe /cc or whatever?).

      posted in MU Questions & Requests
      Glitch
      Glitch
    • How-To Badge

      It's a little thing, but if you write up a nice tutorial for our How-To category, you'll get a Tutorialist badge for your contribution. It will sit under your image, staring down all-comers and declaring your awesomeness.

      posted in Announcements
      Glitch
      Glitch
    • RE: This Category

      @Bobotron Here we go: Questions & Requests category

      posted in How-Tos
      Glitch
      Glitch
    • Questions and Requests

      Please feel free to use this category to post your MU-related questions and to make How-To requests! Please make sure to use tags that might be useful for later searching. Also, if making a request for a specific How-To, use [Request] in your topic's title.

      posted in MU Questions & Requests
      Glitch
      Glitch
    • RE: This Category

      @Bobotron Let me make another category for that. Then we have a place for questions and requests and we can keep this category focused on solutions.

      posted in How-Tos
      Glitch
      Glitch
    • RE: This Category

      I had intended it to just be for tutorials and the discussions about them, but maybe we can do something like [Request] in the topic if you're looking for a particular tutorial? Or did you have something less specific in mind?

      posted in How-Tos
      Glitch
      Glitch
    • Zero to Mux (with wiki)

      Intro

      This is one way to get yourself started with a MUX and a wiki. I'll include a particular hosting company, domain name company and server setup. I do not think this setup is necessarily superior to any other combination of the above, but it is what I use personally, what was used for MSB and for at least one other MUX. Please feel free to substitute out any of the following for your own setup considerations.

      Server

      We use digitalocean.com for MSB and they have a simple server setup that includes mediawiki out of the box. Their smallest plan gets you a good basic setup with plenty of space for $5 bucks. If you decide to use digital ocean, please consider using my referral link: https://www.digitalocean.com/?refcode=cc025ed46a11.

      Once you have an account created, the following tutorial will walk you through setting up your new server and mediawiki: Digital Ocean Mediawiki Tutorial

      Domain

      Now it's time to select a name. I use namecheap.com for my domains, but you can, once again, use any domain hosting service. They offer free whois protection for a year (and then a cheap rate after that). Whois protection keeps your registration information private, such as real name and address. After purchasing a suitable domain, use the following short tutorial to setup the nameservers for your domain: Nameserver setup on namecheap

      For our purposes, you will want to use the following nameservers:

      ns1.digitalocean.com
      ns2.digitalocean.com
      

      If you are not using digital ocean, find out the nameservers offered by your hosting company and use those instead.

      Now back to digital ocean where you will follow this tutorial skipping straight to Step 3 and stopping at A record (unless you plan to add subdomains).

      Server Interlude

      Before we continue, I'd like to get some server stuff out of the way. This step is recommended, but optional.

      If you're running linux, use terminal so we can ssh to your server. If you're on Windows, download a program called kitty which will similarly allow you to ssh to your server. You will use the username and password provided by digital ocean to connect to the IP address of your server (found in your droplets list).

      Once connected, we're going to create a new user that isn't root.

      adduser <username>
      

      This will put you through a simple question/answer creation script. It's unnecessary to fill out any of the information other than the password, but it will create everything you need for a user.

      Next, we want to give this new user sudo permissions. This allows your new user to run commands as root when necessary.

      adduser <username> sudo
      useradd -G www-data <username>
      

      Now, the next time you log in with this user, which you should be using from now on, you will have sudo privileges.

      Wiki Settings

      After your domain is pointing to the right place, you'll want to do the following to make sure the domain name you want shows in the url bar when wiki handles its redirecting:

      Log in to your shell with ssh or kitty, then:

      cd /var/www/html
      vi LocalSettings.php
      

      This will open up an editor called vi. The commands are a little different to use, so you can use whatever editor you might be familiar with. Or follow this directly:

      Hit i to enter insert text mode.

      Go down to the following line (where you will see your own IP):

      $wgServer = "http://104.236.219.143";
      

      And replace it with your domain name:

      $wgServer = "http://atfmux.com";
      

      Once you've done so, hit :wq! (that's colon, then "wq!") and you should be all set with this step!

      PennMUSH

      This is a pennmush install that comes with @Volund's basic build-out, basically a complete game except for chargen. You can check out his repo at github for installing nwod, nwod2 and exalted 3e.

      So you've completed your mediawiki install and you've copied down the mysql root password (it is displayed to you when you first ssh into the server). Ssh into your server and do the following, I'll be using <user> to denote the user created in the Server Interlude section.

      sudo apt-get update
      sudo apt-get install git
      cd /var/www
      sudo git clone https://github.com/pennmush/pennmush.git
      sudo chown -R <user>:<user> pennmush
      

      Now for setup of pennmush itself:

      sudo apt-get install libmysqlclient-dev
      cd pennmush
      ./configure
      make update
      make install
      

      Make update will ask you a couple of questions, you can just hit enter through them.

      Now, because Volund's job system uses mysql, we have to do a little extra tweaking. Log into mysql with root and the password provided to you when you first ssh in to your server.

      mysql -u root -p
      

      This will prompt you for the password. Enter it. If everything is successful you'll see a mysql> prompt. Enter the following commands, but remember to change password to something unique!

      mysql> CREATE database mush;
      mysql> GRANT USAGE ON *.* TO mush_user@localhost IDENTIFIED BY 'password';
      mysql> GRANT ALL PRIVILEGES ON mush.* TO mush_user@localhost;
      

      Just type exit to exit out.

      Now, to get the preinstalled mush db:

      cd game
      wget http://musoapbox.net/volund-penn.tar.gz
      tar xzvf volund-penn.tar.gz
      

      Then edit your mush.cnf file, make sure instead of password, you use the password you just made in mysql:

      mud_name Your MUSH Name
      sql_database mush
      sql_username mush_user
      sql_password password
      

      Finally, do a ./restart and your game is up and running on port 4201!

      Use your favorite telnet client to connect. The code wizard is Three, password is wl9y@tx$he. You should only do code install on this wizard bit. As for the #1 bit, it is One with the password s00telk1!alw.. Make sure to change these!

      TinyMUX

      Okay, your server is up, your domain name is purchased and we've redirected it to your new server. Now we wait for domain name resolution (can take up to 48 hours, but rarely takes that long). While we're waiting, lets setup our MUX.

      As described in the Server Interlude step, open up an ssh connection to your server. Your mediawiki install is in the directory /var/www/html. We'll be putting your mux one level below that. So first, lets install git, which we'll use to grab tinymux:

      sudo apt-get install git
      

      It may ask you for your password (because you're using your newly created user, right?), so go ahead and enter it. After that, your screen will scroll with some info and offer a final [Y/n] option. Hit Y to continue.

      After it's installed:

      cd /var/www
      git clone https://github.com/brazilofmux/tinymux.git
      

      This will make a tinymux folder in /var/www. Next we will install tinymux.

      cd tinymux/src
      ./configure --enable-stubslave --with-mysql-include=/usr/include/mysql --with-mysql-libs=/usr/lib/mysql --enable-inlinesql
      

      There are other configuration options you may include:
      --enable-memorybased See docs/MEMORY.
      --enable-realitylvls See REALITY and REALITY.SETUP.
      --enable-wodrealms See docs/REALMS.
      --enable-ssl See SSL.

      This will take a little time, but once done, then we:

      make depend
      make
      cd ../game
      

      And our final step:

      ./Startmux
      

      Your MUX is now up and running at your IP Address on port 2860. There are many mux configuration changes you can make, but we'll leave that for another tutorial.

      For a starter setup, @Rook has provided an initial setup to make your life easier that can be found here.

      Know how to improve this? Let me know and I'll update it! Questions or Problems? Please let me know!

      posted in How-Tos
      Glitch
      Glitch
    • This Category

      So this category is here for you to post your how-tos and tutorials on how to accomplish any of the myriad of things necessary to running a game. Hopefully this can be a handy repository for everything from setting up a mux to how to manage a parent room or implement pose breaks. This isn't strictly related to code, but will likely touch on everything from server-side information to build and admin settings as well.

      Rules:

      • Make sure your topic title is descriptive of what is being explained.
      • Make sure to include relevant tags.
      posted in How-Tos
      Glitch
      Glitch
    • RE: RL peeves! >< @$!#

      @Ganymede That is patently false. The information, visualization and documentation tools of all trades are moving toward digital mediums. Some more slowly than others, but you are wrong to claim otherwise.

      If you want your kids to have basic hand-writing skills in case of some technological apocalypse, that's fine, but you're still wrong about "how shit's done in real life."

      posted in Tastes Less Game'y
      Glitch
      Glitch
    • RE: RL peeves! >< @$!#

      @Ganymede said:

      That's how shit is done still in real life.

      Only for legal stuff, which is why I imagine your world is filled with paper. I very rarely have to do anything on paper and it's definitely going to continue in that direction, rather than the other way.

      posted in Tastes Less Game'y
      Glitch
      Glitch
    • RE: Dragon Age: Inquisition

      @HelloRaptor Wasn't me. I liked DA:O way more, but I wasn't filled with rage for DA2.

      posted in Tastes Less Game'y
      Glitch
      Glitch
    • Some Forum Stats

      Just some stats from MSB's first full month up.

      Users: 139
      Topics: 129
      Posts: 3737

      posted in Announcements
      Glitch
      Glitch
    • RE: XP Rollover

      @HelloRaptor The difference between Business As Usual Nothing To Complain About and Meanie Cheater Who Cheats is trust. That NPC is not the totality of the ST's interactions with players, and the implicit relationship there is a story provided to and for the players (with varying degrees of TPKs).

      That Elder on a MU may be a reasonable person (hah, reasonable vampire), but the dynamic is different. They might be screwing you because it is IC for them, but in no way advances your story or even provides opportunity for such, it might be totally unintentional and, at the worst, it could be to utterly screw you for no other reason than your PB is from Vampire Bund. They don't have any particular duty to consider you, your story or your character and no one expects them to do so for all actions taken on their part on a MU.

      It's another player, playing their character for fun. They're not an ST. Different expectations and different situations.

      I consider 'a steady influx of new people' to be a design flaw, though.

      You were here on day 3, so you're safe. Not like those that were here a week or two after that.

      posted in Mildly Constructive
      Glitch
      Glitch
    • RE: XP Rollover

      @HelloRaptor Except the power curve isn't part of the player setting. You're all neonates or apprentices. The elders and masters are NPCs. It is a problem with the conversion of a tabletop to an always-on game that runs for multiple years and has a steady influx of new people. Arguing that there is a power curve in the setting is ridiculous, as most settings attempt to provide a societal framework of some sort, which almost invariably includes haves and have-nots.

      posted in Mildly Constructive
      Glitch
      Glitch
    • RE: Tidy Board, Untidy Board

      Sorry, no. I was just thinking the same thing and was peeved that it didn't do that on its own.

      posted in Suggestions & Questions
      Glitch
      Glitch
    • RE: Tidy Board, Untidy Board

      @Cobaltasaurus Yeah, that'd certainly be nice, wouldn't it?

      posted in Suggestions & Questions
      Glitch
      Glitch
    • 1
    • 2
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 24 / 27