NAME
tf - TinyFugue, a MUD client
SYNOPSIS
tf [-ffile] [-lnq] [world]
tf [-ffile] host port
DESCRIPTION
TinyFugue (also known as "Fugue" or "TF") is a line-based client
designed for connecting to MUD servers (note: LP, DIKU, and other
servers which use prompts require "/lp on"; see /help prompts).
Most of the TF documentation is in the help file, which may be read
online with the "/help" command. This manual page may be obsolete in
certain areas; however, the helpfile will always be up to date.
TinyFugue is larger than most MUD clients, but has many more features
and is much more flexible. The goal is to provide the most
functionality in a client that still maintains the user-friendliness of
Tinytalk. Clients with extension languages such as Tcltt or VaporTalk
can do a little more in certain areas, but are considerably harder to
use and learn. TF provides most of these abilities in such a manner
that learning to use any one function is relatively easy.
Because I am continually adding new features and changing the code, TF
sometimes becomes less stable in a new release. Versions labled
"alpha" are generally not as well tested as "beta" versions, so they
have the potential for more bugs. For this reason, I leave some older
versions at the ftp site where I distribute TF (ftp.tcp.com), which do
not have all the current features but may have fewer bugs than the most
recent release.
COMMAND LINE ARGUMENTS
With no arguments, TF will try to connect to the first world defined in
the configuration file(s).
With a world argument, TF will try to connect to world, as defined in
the configuration file. If world is omitted, it will try to connect to
the first world defined in your configuration files.
With host and port arguments, TF will define a temporary world and try
to connect to it. The host may be an IP number or regular name format.
OPTIONS
-ffile Load file instead of $HOME/.tfrc at startup.
-f Do not load any personal configuration file. The library will
still be loaded.
-l Disable automatic login.
-n Do not connect to any world at startup.
-q Quiet login (overrides %{quiet} flag).
FEATURES
Among other things, TF allows you to:
Divide the screen into two parts, for input and output, with flexible
handling of input (/visual mode).
Connect to multiple worlds and switch between them.
Wrap MUD output at the edge of the screen.
Edit text in the input buffer.
Recall previous commands.
Modify key sequences used to perform editing functions.
Bind commands to key sequences.
Define complex macros to perform MUD tasks easily.
Create triggers which automatically perform certain tasks when certain
output is received from the MUD.
Modify existing macros using either a command format or interactive
editing.
Support "portals" that automatically switch from world to world.
Hilite or color all or part of a line that matches a certain pattern.
Gag lines that match certain patterns.
Suppress frequently repeated text ("spamming").
Automatically log into a character on a world.
Send a text file to the MUD in flexible ways, or echo it locally.
Send the output of a system command to the MUD, or echo it locally.
Send text previously received from the MUD to the MUD, or echo it
locally.
Repeat a MUD or TF command a number of times.
Do the above four things at varying intervals, or at a rapid-fire rate.
Log a session to a file.
Separate LP and Diku style prompts from normal output.
Page output using a --More-- prompt.
Recall previously received text.
Support for Mud Client Compression Protocol versions 1 and 2.
CONFIGURATION FILES
TF will attempt to read two files when starting. The first is a public
configuration file "stdlib.tf", located in TFLIBDIR. TFLIBDIR is
defined when TF is installed, and is often /usr/local/lib/tf.lib, or
under the home directory of the installer. This library contains many
macros and definitions essential to the correct operation of TF.
Next, TF will attempt to read your personal configuration file,
$HOME/.tfrc, in which you can put any TF commands you want executed
automatically at startup. Two of the most useful commands to use in a
TF configuration file are /addworld and /load.
For backward compatability, TF will also try to read the TinyTalk
configuration file. Its name defautls to $HOME/.tinytalk, or can be
defined by the TINYTALK environment variable. This file may start with
a list of worlds that will be defined as if with /addworld.
HISTORY
Anton Rang (Tarrant) in February of 1990 released Tinytalk, the first
Tinyclient with any great number of features, including hiliting and
suppression of text, simple triggers, and separating input and output
on the screen. Leo Plotkin (Grod) made rather extensive modifications
to Tinytalk to produce Tinywar, which was plagued with some serious
bugs and was never officially released (the phrase "Tinywar doesn’t
exist" is often quoted), and is now an unsupported client. TF began
when Greg Hudson (Explorer_Bob) merged many of the new features of
Tinywar back into TinyTalk, and added many new features of his own,
most notably the split screen. Some of the code in Greg’s releases was
contributed by Leo Plotkin. After Greg moved on to VaporTalk, Ken Keys
(Hawkeye) took over design and maintenance of TF in July 1991, and
continues to make improvements in features and performance.
The code size of TF has surpassed 300K (unstripped), and is
signifigantly larger than Tinytalk. It is, in fact, more than three
times the size of a number of existing servers. As of version 3.0, it
has 66 builtin commands and 57 library commands, each documented in the
helpfile.
It has been stated that TF is the most-used client in MUDdom at the
current time. I haven’t taken a poll, but I wouldn’t be surprised.
REVIEWS
TF has significantly changed the tinyclient world. It has a number of
merits and a number of flaws, and has frequently been criticized
(mostly out of boredom; nobody takes this business too seriously) as
having too many features and being too damn big.
"Tinywar doesn’t exist; TinyFugue merely shouldn’t." -- Coined by
Woodlock, I believe.
"TinyFugue is a work of art." -- Binder, obviously after having
too much to drink.
"TinyFugue is the biggest hack since the platform it was built
on." -- Explorer_Bob, in one of his lucid moments.
The New York Times, the Christian Science Monitor and the Washington
Post all refused to comment.
COPYRIGHT
Copyright (C) 1993, 1994 Ken Keys
TinyFugue (aka "tf") is protected under the terms of the GNU General
Public License. See the file "COPYING" for details.
TF is currently supported by Ken Keys, who may be contacted by e-mail
at kkeys@ucsd.edu or hawkeye@tcp.com.
BACKWARD INCOMPATIBILTIES
VERSION 3.2
/rand has been replaced with rand(). Color names can no longer be user
defined (but color codes still can). The "=" operator does comparison,
not assignment.
VERSION 3.1
Added type argument to WORLD and LOGIN hooks.
VERSION 3.0
Backslashes in macros are interpreted slightly differently than in
previous versions. Turning on the "backslash" flag will enable the old
behavior.
VERSION 2.1
The CONNECT hook is now called before the LOGIN hook. In 2.0, CONNECT
was called after autologin.
VERSION 2.0
In versions prior to 2.0, <space> was used to scroll the pager; 2.0
uses <tab> as the default, to allow the pager to be nonblocking.
Tinytalk style name gags and hilites are no longer supported. You must
use the ’*’ wildcard explicitly, as in ’/hilite hawkeye*’.
Tinytalk style page and whisper hilites are no longer supported.
However, /hilite_page and /hilite_whisper macros are provided in the
default macro library.
The .tinytalk file may not be supported in the future; use .tfrc
instead.
The ’-’ command line option in versions prior to 2.0 is no longer
supported, and has been replaced with ’-l’.
BUGS
When unterbamfing, the old connection should not be closed until the
new connection succeeds.
If a shell quote (/quote !) reads a partial line from the pipe, the
read will block until the rest of the line is read.
WARNINGS
The Surgeon General has determined that MUDding can be detrimental to
your GPA.
LOCAL TF(1)