You can access most MUCKs by simply telnetting to the server and port the MUCK is on. For FurryMUCK, for instance, you could just do:
telnet muck.furry.org 8888
and get in. However, raw telnet has some major disadvantages. The major one is that the output from the MUCK will be intermixed with what you're trying to type. This can make things incredibly confusing. In addition, the text you are typing may not be echoed, there's no scrollback if things start scrolling by too fast, you can't automate things and you can forget about having key words and names hilited for you.
A MUCK client like TinyFugue solves most of those problems. The most important thing it does is seperate output from the MUCK from input you're typing. You get a nice area at the bottom of the window to type into and edit your input in before sending it to the MUCK. The top will contain only output from the MUCK, keeping it from interfering with your typing. You can scroll back through the MUCK's output, and have all the output logged to a file for later review and editing. TinyFugue also offers the ability to hilite text in various ways. One common use is to boldface the names of people you're interested in, so you can pick their comments out of the flow. With the right options, TF can mark text in color, or beep at you. I make use of this to mark text that may be more important, such as notices of people I'm watching for connecting and disconnecting or text that people send using the page command. TF also provides a macro facility, letting you create your own commands to do several things in one step. These can range from simply sending 2 or 3 lines of text to the MUCK in one operation, on up to fairly complex bits of programming to add hilites for new names.
TinyFugue is mainly for Unix systems such as Linux. The source will compile on just about any Unix system out there, so if you're running some other system there should be no problem. If you're running Windows or any other non-Unix system, you'll likely need to look elsewhere for a client.
The main home page for TinyFugue is a good place to start. You can download the source and HTML documentation archives from there. You can also get the source files from me if you're using RedHat 5.x or 6.x. Download all files in the directory. The files that should be there are:
The easiest way to build this on RedHat systems is to place the spec file in /usr/src/redhat/SPECS/ and the rest in /usr/src/redhat/SOURCES. Then simply do rpm -ba tf-4.0s1.spec while in /usr/src/redhat/SPECS and install the resulting binary RPM.
If you aren't using RPM, the process is a bit longer but you can make use of the patches and work I've done for the RPM. First, you'll probably want to edit tf-4.0g3-config.patch to change the references to /usr to /usr/local if you're on a RedHat, Debian or other system that uses package management. You don't have to, but convention is that you store non-managed software under /usr/local on such systems. The lines you want to modify start with a '+' character in the first column.
Now, uncompress the tf-4.0s1.tar.gz file and unarchive it, probably under /usr/local/src. Untarring it will create a tf-4.0s1 subdirectory and put the source code in it. cd into that directory. Assuming you left the patch files in /usr/local/src along with the archives, apply the patches with:
patch -p1 <../tf-4.0g3-makefile.patch
If you have a RedHat system, you can also apply this patch to get the configuration set up for you:
patch -p1 <../tf-4.0g3-config.patch
Check the unix/Config file, and edit it to conform to what you need. Most of it should be right already, and extensive comments should guide you for the rest. The main things you probably need to edit are the various directory locations where you want the software to live, the Curses package you have, the mail spool directory location and the compiler you have installed.
Now build and install the software with:
ans=y sh unixmake files sh unixmake install
The man pages and program should now be in the right places, and you should be ready to use the tf command to start TinyFugue. Check the README file for detailed information, or if you have questions. The man page can be read by man tf.
Regardless of which method you used, the HTML documentation is not installed by default. This isn't usually a major problem since all of it is built into the TinyFugue program and accessible via the /HELP command. If you want to use a browser to look at the HTML form, uncompress and untar the tf-4.0s1-help.tar.gz file into a suitable location. Like the source archive, the help archive untars into it's own subdirectory to keep things neat. A location like /usr/local/doc might be suitable, or if you have a Web server you can place the documentation under it's HTML directory to make it accessible there.
I would advise familiarizing yourself with the documentation first. You'll need to know some of the terms used in it as you proceed. If you are unsure, skip this and come back later.
Once you have the software installed, you might want to install the sample .tfrc file I made up. Download the file and save it as .tfrc in your home directory. Make sure to do a chown go-rw .tfrc on it so that nobody else can read any passwords you might put in it.
At the top are /ADDWORLD commands for 4 different furry MUCKs. In order, they are FurryMUCK, FurrySpaceMUCK, Sociopolitical Ramifications and Tapestries. Note that they may not work precisely, since some don't allow guest access. You can delete any you aren't interested in, and if you get a character on one you should replace the first and second references to 'guest' on the appropriate line with the name and password of your character.
If you only have one character on a MUCK, the /ADDWORLD commands don't change. If you have more than one character, though, you need to change things a bit. The biggest change is that you need to give each character a unique world name. For example, if I had characters Player1 and Player2 on FurryMUCK, I would replace the first /addworld line with the following two lines:
/addworld -T'tiny.muck.fm' fm1 Player1 password1 muck.furry.org 8888 /addworld -T'tiny.muck.fm' fm2 Player2 password2 muck.furry.org 8888
Note that the third column, the world name, changes for each player. The second column, the one that starts with -T and indicates the world type, doesn't change. This allows me to say that both these lines are FurryMUCK worlds, while still keeping a unique world name for each one.
If you have multiple characters, you might want to add macros to speed up switching from one to another. You could, if you had the two characters above, add these lines just below the /addworld commands:
/def fm1 = /world fm1 /def fm2 = /world fm2Whenever you typed /fm1, you would switch to Player1, connecting to FurryMUCK if needed. Similarly, typing /fm2 would switch you to Player2. This is an example of a very simple macro.
Down through the /hook on line is pretty much generic setup, tailored to my tastes. I like wrapped lines to be indented 4 spaces and not wrapped in the logfiles, I prefer regexps for patterns, rather than globs, and so on. After that, though, it gets interesting again.
The /set lines and the 4 /defs that follow are examples of just how fancy you can get with TinyFugue macros. They create /hpt, /hpw, /gpt and /gpw macros to hilite and gag people.
/hpt hilites a person based on the type of world, while /hpw hilites based on the world name. If you only have one character on a MUCK, the two are equivalent. If you have multiple characters, though, /hpt applies to all characters on the MUCK while /hpw applies only to a specific character. This is because /hpw matches on the specific world name, while /hpt matches on the trailing part of the -T column of the /addworld command. Some examples:
/hpt [Rr]evar revar fmThe first argument is a regexp for the text to match. In this case I gave the name Revar, allowing the first letter to be either upper or lower case. The second argument is the name to use inside TinyFugue for the definition, to make manipulating it easier. Usually this is merely the name of the person you want to hilite. The third argument is the type of world. If the /addworld command had -T'tiny.muck.fm' in it, this would be fm. If it had had -T'tiny.muck.spr' for Sociopolitical Ramifications, then the third argument to hilite a person on SPR would have been spr.
/hpw [Rr]evar revar fm1The first two arguments are the same as for /hpt. The third, however, is the world name from the third column of the /addworld command. This would, give the two FurryMUCK characters above, hilite Revar for Player1 but not Player2.
/gpt [Rr]andom random fmA very useful command, this would gag or make invisible any lines starting with the name Random on FurryMUCK. Note that the gpt command adds a caret to the beginning of the pattern you specify, so the pattern only matches at the beginning of a line. This will make what Random says disappear from your screen, while leaving intact anything anyone else says that happens to mention him.
At the bottom, some /defs are set up to mark special text in color or otherwise handle it specially. One flags the '##edit>' marker generated by the edit command on FurryMUCK, and causes the text to be dumped into your input window for editing. You can use this to edit the current value of a property without having to retype the whole thing. In addition, markers for pages and whispers are shown in color to identify them. The FurryMUCK character setup page contains the information on how to set up pages and whispers to have the appropriate markers prepended to them to make this work. At the bottom, mentions of a player name or lines that probably refer to the player are marked with blue. You'll probably want to edit the '[Pp]layer' entry to match the names you use. This will help you catch people mentioning your name, likely because they're saying something to you.
tknarr@silverglass.org