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.