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.
A perl based mudding reminiscent of TinyFugue with a few twists.
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.
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)
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.
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)
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.