Tinyfugue
TinyFugue
Install / Use
/learn @warmstarter/TinyfugueREADME
TinyyFugue 50ws8
This is likely the most up to date, bug-free, and featureful TinyFugue 5 out there.
I am no longer actively developing this, but I will still be responsive to bug reports.
Check out my tinyfugue-scripts repository for a lot of great stuff.
Unicode support is now on by default, so read below on that, as you almost certainly want this feature, you might just need to install a package on your OS.
TinyFugue 50b8 with numerous patches and improvements
General feature list and installation follows. The UTF8 section is what you probably what everyone should be aware of, so starting with it for those that tend to skip reading these.
Quick Install
autoconfig ./configure (To see a variety of compile time options: ./configure --help) make (Optionally: sudo make install)
UTF8 setup information
UTF8 Widechar support is enabled by default, but you need to install libicu to get this to work. It is highly recommended that you use this as it makes the game experience much much nicer. If this is working, you will notice immediately as the default status line goes from a dashed line to a solid line. While I am working on many things with this client and happy to take requests or bug reports, proper UTF8 is my main personal interest.
On Debian this requires the following packages: icu-devtools libicu-dev libicu63
You might also need to enable UTF8 support for individual worlds. For example, when connecting to a RhostMUSH server, this requires you to set:
@toggle me=utf8
There are tends of thousands of characters this enables, and no one font supports them all, though the most common core ones tend to be supported by all. I've found a powerline patched font gives me the best experience, and there are a number of options available here:
https://github.com/powerline/fonts
This site rates the support of various fonts and allows you to test specific characters out ahead of time:
https://www.fileformat.info/info/unicode/font/index.htm
Personally, I use DeJa Vu Sans Mono with the powerline patch
Python Setup
Setup:
-
autoconf
-
./configure --enable-python
Python 2.7 or Python 3+ are required for support, as older versions are missing certain features that this version of TF is targetting. If you need to run Python 2.1-2.6, it's recommended to use the the stock 50b8 with the Python patch, available here:
http://sizer99.com/tf/
In the future, Python 2.7 support might be removed if the required featureset begins to diverge too much.
To run Python, you will need a few pieces of additional software targetting the specific version f Python you wish to run. On Debian for example, these would be variants of:
libpython-dev python-cxx-dev python python python-config
Usage:
-
run TinyFugue (tf) and then /help tf python
-
scripts are installed in the tf-lib/python directory for a few packaged ones, but you can obviously ad our own.
-
Check out tf-lib/python/urlwatch.py for a simple scripting example. This uses only a tiny fraction of what you can do, but I've been so busy making this patch I haven't had time to write all the scripts I want!
Features and Changes in this version
This list covers the changes in this version, though some minor details might have been missed. It will be cleaned up once we're out of pre-release. Game related changes are documented in tf-help
UTF8 support (--enable-widechar=yes) on by default UTF8 now default_charset when UTF8 compiled (previously US-ASCII) PYTHON interpreter support for interfacing with client and macros PYTHON 2.7 and 3 are both supported (--enable-python) off by default PYTHON interpreter debugger available (/help tfpy_debug) off by default /HELP has been spell checked, along with everything else HTML documentation and html2tf found and returned to repo ANSI log output (/help ansi_log) off by default LOGs output prefix, such as timestamp (/help log_prefix) off by default ERROR output prefix now adjustable (/help error_prefix) '%' by default UNNAMED worlds not wrapped in () (/help oldunnamed) no-() by default FG world switching can use TF4 style (/help oldstylefg) off by default @ALERT picks up on messages that could have been lost / as a prefix to /command sends to MU, as opposed to ///command SSL looks for GNU TLS ATCP support (--enable-atcp=yes) off by default GMCP support (--enable-gmcp=yes) off by default OPTION 102 support (--enable-option102=yes) off by default MCCP supprt (--enable-mccp) changed to off by default MCCP protocol lockup issue resolved RFC 2066 compliance for Telnet Charset Negotiation PCRE unbundled and now can use system libraries GCC 10 and CLANG support 64-bit crash issues resolved MULTI-address hostname crash issue resolved OS X compile issues resolved BUFFERS increased to reflect more modern computing resources GZIP now standard for file compression (COMPRESS_SUFFIX) TF-LIB being updated and modernized (see tf-lib/README)
Plus numerous bug fixes, clean-up, and needed code base clean-up and modernization.
Significant effort has been put into finding the various community patches for TF50b8 and integrating them all into one place. There are still several patches in the queue waiting to be examined and then potentially applied.
In addition, new work has been added to this code base and will probably continue to be for some time. The intention is to make sure a well loved piece of software is still able to be run on modern platforms and future platforms, increased stability, and then lastly to add some additional features in-line with the existing codebase.
Similar efforts are being done with TinyFugue Macros, and some may later be integrated into tf-lib:
https://github.com/warmstarter/tinyfugue-scripts
Deprecations:
NO_FLOAT deprecated. This has been broken for over a decade and has little purpose on modern computer systems.
OS/2 deprecated. This was not being maintained and likely not used by anyone. If needed the old sources are in the git history.
CYGWIN deprecated in favor of WSL for Windows, to better keeps platofmrs in-sync and remove issues.
BeOS deprecated as likely no longer used. Should still compile, but might require some modifications for installation of binary, no way to test.
SOCKS deprecated as it was broken and mostly removed anyway. Very little use in modern world and can be handled by a separate application.
NO_HISTORY and NO_PROCESS options deprecated as modern systems can handle them just fine. If you don't use these features, you can simply ignore them or use the existing tfrc options to set things like histsize to 0.
systype is deprecated and removed, as all modern platforms support unix-like features (this mostly relates to OS/2 deprecation)
auto_fg was already deprecated, now fully removed.
oldstyle filenames are deprecated in favor of newstyle, can always be changed manually, newstyle was the default.
ancient bad keyboards no ones uses anymore no longer supported. If needed the .tf files can be founds in the git archive
.tinytalk deprecated and seemed to be broken anyway.
RECEIVELIMIT check no longer works, as there's really no meaningful way to do it. This number was raised so high for servers using 102+ACTP+etc.. That it's no longer meaningful. On some servers 256+ bytes is broken subnegotiation, on others 32K+ is broken subnegotiation. Likely someday it will be 64K+.
======
Unicode notes: "Release" is the branch you want. On Debian or Ubuntu, make sure you apt-get libicu-dev before running ./configure. There is a known and easily triggered bug: The backspace, delete, and arrow keys move by bytes, not by characters. For now, editing a line with multibyte characters will send XML hexadecimal escape codes if unencodeable bytes are in the input box. I will gladly accept pull requests.
Setting your terminal to send ^H instead of ^? for backspace mitigates some, but not all of the backspace issues.
For servers that don't negotiate charsets, /set default_charset=NAME before defining a world with /addworld or /test addworld(). I recommend putting /set default_charset=Latin-1 at the top of your worlds.tf.
======
Credits
This fork of TinyFugue is currently being maintained by wstarter. It also includes assorted patches developed by various community members in the years since TF saw saw it's final release. More complete credits will be added as this moves out of pre-release
TinyFugue is Copyright (C) 1993-2007 Ken Keys (kenkeys@users.sourceforge.net)
For a long time TinyFugue was written, maintained, and copyrighted by Ken Keys ("Hawkeye"), who can be reached by email at kkeys@ucsd.edu. His final release was 50b8 in January 2007, but he is still active in giving support at https://sourceforge.net/p/tinyfugue
TinyFugue versions 1.5.3 and earlier were written by Greg Hudson ("Explorer_Bob"), without whom I would have never gotten into this mess.
TinyFugue was initially derived from tinytalk, a unix client written by Anton Rang ("Tarrant") and modified by Leo Plotkin ("Grod").
Additional thanks to Jeff Prothero ("Cynbe"), Bruce Sterling Woodcock ("Bruce"), David Moore ("OliverJones"), Ben Jackson ("Ben"), the mudders of glia.biostr.washington.edu, and everyone else who tested, found bugs, or came up with suggestions, and to Jim Lick ("Jingoro") for providing tcp.com services.
============================================ TinyFugue for Mac OS X
You must have developer tools installed on your system, and of course this is setup and used through Terminal or an equivalent program. I hear most people think iTerm2 is the way to go, should you want more features in your terminal emulator.
TinyFugue for Win32
The likely best option for running TinyFugue under Windows is to get 'Windows Subsystem
