Mmucl is a mud client written in tcl/Tk. Tcl is a scripting language and Tk is its toolkit for building graphical interfaces.
Mmucl comes with three interfaces. Two, xmmucl and winmmucl, are graphical interfaces using Tk, and one, cmmucl, is a console interface. Xmmucl is a floating tool bar that uses a xterm to display mud output. Winmmucl provides its own window to display output.
On unix systems the Makefile installs three scripts, xmmucl, winmmucl, and cmmucl to start the three different Mmucl interfaces. On mac and windows machines the startup script is start_winmmucl.tcl. (Only winmmucl will work on those platforms.)
The scripts that start Mmucl can take the following two command line arguments: -safe makes the user interpreter a safe interpreter. (Read your tcl documentation on safe interpreters for more information.) -exec arg ?arg ...? executes the given tcl script in the mmucl interpreter. To load your favorite character, Dave, automatically in xmmucl you might use "xmmucl -exec charload Dave".
When Mmucl starts it checks to see if you have a file called mmucl.rc located in the directory .mmucl off of your home directory. (Mmucl determines the home directory by checking the HOME environment variable. You can "#echo $env(HOME)" in Mmucl to check it.) Mmucl.rc is evaluated as a tcl script in the user interpreter. All of the Mmucl procedures are available to it. It can be used to add all kinds of useful things to Mmucl. Look at the sample mmucl.rc for examples of what you can do.
Xmmucl and winmmucl use the .Xdefaults style file, mmuclGui.conf, to configure fonts and many other aspects of their graphical interfaces. MmuclGui.conf should be located where you installed Mmucl. In Mmucl type "#echo $env(MMUCL_DIR)" to see where that is. The file itself contains instructions on its modification.
Mmucl is a mud client. It's basic function is to get send input from the user to the mud, the server, and to display output from the mud to the user. Telnet performs the that basic task well enough, but real mud clients add all sorts of enhancements. Common enhancements include performing an action when a specific pattern is found in mud output and shortcuts for executing complicated commands on the mud.
The user interacts with Mmucl primarily through a command line. From the command line you can send text to the mud, evaluate a tcl script, or execute an alias. The parse procedure determines which happens.
Executing a tcl procedure is fairly simple. Just type "#command ?arg ...?" to execute command. To make an alias for "t" that sends "tell" followed by any arguments given to the alias to the mud you would type: "#alias t {mudputs "tell %0"}". The second argument to alias is itself a tcl script!
If there was an error in the script, mmucl will display an error message in red. For more information about what went wrong you can type, "#echo $errorInfo" to get a stack trace.
All this talk of tcl scripts may be intimidating, but while certainly useful, knowledge of tcl is not by any means necessary to use mmucl. The dialog boxes which are interfaces to Mmucl procedures should stand you in good stead. However tcl is a very simple language and knowledge of it will let you exploit mmucl to its fullest. To learn about tcl read through the documentation provided with it and take a look at the sample mmucl.rc and perhaps mmucl itself to get a feel for the syntax.