mcl - MUD Client for Unix

mcl is a MUD Client for Unix. Under Linux, it uses the Virtual Console interfaces to access the screen at a high speed, but it can also run in a TTY mode, allowing it to run under any other UNIX and in an xterm. Embedded language support (currently Python and Perl) allows high tweakability.

Current version

The current version of mcl is 0.53.00. This is mostly a maintenance release, put out to ensure that mcl compiles with a modern version of g++.

0.52 introduced support for embedded Python, contributed by Patrick Horner. Thus you now use Python as well as Perl (introduced in 0.50) for internal scripting. Take a look at the soft-coded modules that are distributed with mcl. You can create Perl/Python subroutines that are called when new input arrives, when some time has passed, when you have entered a line on the keyboard or even after each keypress.

0.51 introduced TTY code: mcl can now run inside e.g. an xterm or on any other UNIX OS.

You can view the README.html file included in the package, as well as the Changes file, the TODO file and the manual describing embedded Perl in mcl.
[New!] You can also see a screenshot of mcl running in an xterm.

NOTE: mcl development has pretty much stopped. The dirt attempted to continue mcl development for a while but seems also to have been mostly abandoned.

Features of mcl

  • Runs under Virtual Console in Linux (fast) or under a TTY (slower, but works under any UNIX and xterms)
  • Color scrollback buffer, the size of which is limited only by available memory.
  • Telnet GA support - prompt and input line are at the bottom, and the prompt is not displayed in the main window.
  • Command history - press arrow up to get a window with the last commands which you can scroll through using standard navigation keys.
  • Aliases - tintin style, multiple commands per alias, aliases can call other aliases.
  • Automatic login - specify commands to be run on connect to remote server (e.g. name and password).
  • Stable ANSI color code support: if an ANSI color code is received broken in two packets (as it often happens to me on a color-heavy MUD on a PPP connection) the color code is reassembled and displayed correctly.
  • Windows that display output from commands (e.g. traceroute, finger).
  • Windows that you can print to using built-in commands: useful for e.g. logging all tells to a separate window.
  • Actions using regular expressions as well as substitutions using Perl's powerful regexp library
  • Macro keys - key e.g. Keypad 8 to send "north"
  • User interface is fairly configurable (done using a text file).
  • Embedded Perl or Python support for scripting (embedded interpreter modules are dynamically loaded)
  • Supports the MCCP compression standard
  • Partial support for the zChat and MudMaster peer-to-peer chat protocols

History

I created mcl because tintin lacked scrollback. I managed to hack in a scrollback support, but it was rather slow - piping the data to less.

The first version of mcl was written in C. I realized then that expanding the user interface would be much easier if it was object-orientated, and rewrote everything in C++.

Originally, mcl stood for "My Client for Linux" but after I spent some time hacking on it, it actually turned out better than I thought - good enough so other people liked it. Then, it became MUD Client for Linux :)

Since version 0.51.00 mcl has gained support for output to a simple terminal. This means it can actually run under any UNIX - it's hard to say what the "L" should stand for now.

With the Perl support as of 0.50.00 mcl has become very powerful - I know of no other client with such scripting ability. Thus I am very open to ports of mcl to other platforms than Linux, as long as the scripting capability is preserved. Especially interesting would be a port of it to X (probably using the excellent Qt toolkit).

Downloading

Distributions are available from www.andreasen.org/mcl/ (check MD5 sums):

NOTE: The Debian and RPM packages were built using a Debian unstable system. The binary RPM is unlikely to work, use the source RPM.

Ancient versions:

The RPMs were provided by Rodrigo Parra Novo.

Remember to use the Download feature of your web browser, in case it does not automatically recognize a binary file.

mcl is under GPL.

What's new
Nov 16 A few user contributions to LeakTracer
Sep 19 The wonderful world of CSS
Feb 13 New XEmacs elisp -- C/C++ utilities

Site navigation


External links for this page
ZMUD (Windows)
Mud Master Another Windows client
Papaya GTK/X based UNIX client
MushClient an extremely fast Windows client with MXP support
TinyFugue Powerful UNIX client
xpertmud
Perl-Scriptable Multi-Window MUD Client for KDE2
KMUD
KDE client with mapping, aliases, triggers etc.
gMUDix
lightweight Linux client for X or console with aliases, triggers etc.