c-hudson / muddler

Perl based mud client reminiscent of TinyFugue

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Screenshot This screenshot three windows displaying a connection to 8bit and Parlor via Firefox, a remote session, and the original instance of muddler. The foremost window shows the world editor for 8bit. All three windows are interactive and can show the same or different worlds.

muddler

A perl based mudding reminiscent of TinyFugue with a few twists.

Features

   o Console support - Mudding via your favorite terminal
   o World editor for editing existing worlds in a friendly
        half screen editor instead of issueing instead of
        issuing a long command on the console.
   o Websocket support - Think mudding via your browser
        dark / light theme / mobile interface supported
   o Tinyfugue like command support.
   o SSL support when connect to worlds or via the browser
   o 256 color, UTF8, fansi, latin encoding support 
   o Connect to multiple worlds at the same time
   o More / pausing output control by tab character
   o History buffer via page up/down or /recall
   o keep-a-live to prevent disconnects
   o Activity notifications
   o /update pulls the most current version of muddler from github
     and loads it without restarting (usually).
   o Spell checking
       Mispelled words will be shown as bold in the terminal.
       Suggestions can be listed and cycled through with Esc-Q.
       The web interface will show a red squiggly underline for
       misspelled words (dependant upon browser).
   o Multiple Window Support - Fire up multiple browser windows or terminals
       as needed. Each window has its own focus independant of other windows.
   o Muddler will work if any optional perl modules are not installed.
   o Remote console support to allow flexability in connection options without
     having to loose your connection(s).
   o Autosaving of configuration and worlds.

muddler goals

   o Go for Simplicity.
   o Allow users to switch between computers with ease. The main muddler
     process still needs to run a particular server but viewing can be
     switched from computer to computer.
   o Make a rich and full featured web interface
   o Support a "language" either tinyfugue like or maybe mush?
     (mush is just an easy answer since i've already written a mush in perl)

Installation

   The below install steps are for a Linux system. Please see the specialized
   instructions for specific environment included in the respository.

   a. download muddler script
   b. chmod u+x muddler
   c. Install required perl modules manually. Muddler will tell you wich
      modules are missing.

         or 

      ./muddler --install

         This will install missing modules and/or install the modules from
         cpan. Currently this only works on linux systems supporting apt.

   d. ./muddler <options>

   Options:
      --noconsole        : disable the text based console and enable the
                           web/websocket server.
      --password         : specify the password for the websocket interface.
      --port             : specify the port for the web server. The websocket
                           server will be one port number higher.
      --remote=host:port : Specify the remote muddler websocket host/port
                           to connect to.

Quick Start

   Basic Commands:
      /world
         Edit the current world's connection details.
      /world <world>
         Switch the current world to <world>. Muddler will open up a
         new connection if needed. Switching between existing worlds
         can also be done with the up/down arrows and escape-w.
      /help [<command>]
         Lists all commands or provides help on an individual command.
      /quit
         Had enough, quit muddler.

   Web Commands:
      /web
         Show the status variables for the web server
      /web [on|off]
         Turn the web interace "on" or "off". Default is off.
      /set cert = <file>
         Specify your public certificate file for https.
      /set key = <file>
         Specify your private key file for https [non-self signed required]
      /set password = <password>
         Sets the password that must be entered when connecting vai the web.
      /set port = <port>
         This command sets the port that muddler will use when you connect
         to muddler via your browser. Just type in http://localhost:<port>
         to connect. The default port is port 9000.

         Note: If you plan to connect outside your network to muddler, the
               program uses <port> for web traffic and <port> + 1 for web-
               sockets. i.e. /port 9000 would use ports 9000 and 9001.

   Command Line:
      ./muddler <options>

          --noconsole        : disable the text based console and enable the
                               web/websocket server.
          --password         : specify the password for the websocket interface.
          --port             : specify the port for the web server. The websocket
                               server will be one port number higher.
          --remote=host:port : Connect to a remote muddler session.
          --xy=x,y           : Set the screen size to x,y.

   Supported Keys:

      Keys         DESCRIPTION
      Ctl-A      | Move the cursor to the begining of the line
      Ctl-E      | Move the cursor to the end of the line
      Ctl-L      | Erases the screen and redraws it
      Ctl-N      | Moves forward one entry in the keyboard history.
      Ctl-P      | Moves back one entry in the keyboard history.
      Ctl-R      | Reloads the code for muddler if there are any changes
      Ctl-U      | Clears the keyboard input
      Ctl-W      | Delete the last word before the cursor
      Down       | Switch to world with activity, or cycle down through connected worlds.
      Esc-J      | Skip to the end of any "mored" output.
      Esc-Q      | Show spell suggestions for last word. Cycle thru on next esc-q
      Esc-W      | Go to the next active world, or the last world
      Esc-Esc    | Quick exit out of the world editor
      Pgdn       | Moves forward in the history of the current world
      Pgup       | Moves back into the history of the current world
      Tab        | Moves forward a screen full when more is enabled/triggered.
      Up         | Switch to world with activity, or cycle up through connected worlds.
      Shift Up   | Cycle through all worlds (connected or disconnected)
      Shift Down | Cycle through all worlds (connected or disconnected)


TinyFugue info/differences

   If you wish to use your TinyFugue world file, just rename it to ~/.tfworlds.
   This file will be read on startup as long as there is not a .muddler file
   to read. The TinyFugue world file will not be modified by muddler.

   Saving stuff? TinyFugue requires you to do a /saveworld as needed.
   Muddler automatically saves data as needed to its .muddler file.

About

Perl based mud client reminiscent of TinyFugue


Languages

Language:Perl 100.0%