MUMEjc Details
History & Improvements
MUMEjc started its life as a few minor MUDjc bug-fixes in 2011, but the project soon turned into an almost-total-rewrite and then sat dormant for two years before being polished in 2013. In Feb 2013, MUMEjc had about seven times as many source lines as the 1999 version of MUDjc. Today MUMEjc is almost completely free of any code derived from the original MUDjc, but its MUDjc heritage is honored in the name MUMEjc.
MUMEjc's major improvements over MUDjc include:
- negotiates Telnet ECHO, NAWS (window size) and TERM-TYPE options
- understands the server echo protocol
- uses gray-on-white in password mode
- doesn't echo passwords to the terminal
- keeps passwords out of the up-arrow history
- handles MUME's client-side editing protocol
- parses MUME's XML mode
- starts in UTF-8 and automatically switches to Latin-1 if necessary
- has better ANSI support
- renders ANSI bold/italic/strike/underline and 256 colors (i.e. 16 foreground x 16 background colors)
- can replace ANSI escape with <ESC>, and it can strip out ANSI codes
- has several standard ANSI color schemes (e.g. HTML, putty, VGA, xterm)
- has several "default background" color options
- understands ^H (CTRL+H, backspace), ^W (delete word) and ^U (delete line) in the input box; also clears the input if you hit the ESC (escape) key
- allows up to 10k lines of scrollback (vs. 320 lines in MUDjc)
- includes rudimentary function-key and number-pad key-bindings, and includes an option to do "keypad walking" by translating the number pad bindings to direction commands
Known Limitations
- Doesn't attempt to detect or thwart manual interference with the client-side editing protocol (this is a pseudo-feature for advanced use; technically it should modify newlines to prevent interference, but MUME apparently doesn't honor the LF-only part of the protocol that it uses when it sends the protocol).
- Allows UTF-8 input but only supports Latin-1 output; MUME allows clients that read UTF-8 and write Latin-1, but other MUDs may not.
- Doesn't attempt to handle ANSI codes like blink, dim, conceal or double-underline, and it ignores all cursor-movement ANSI codes.
- Doesn't completely conceal passwords; it just makes the text gray-on-white. There is a technical trade-off between having standard editor movements and having the ability to show stars. MUMEjc's maintainer thinks usability trumps a false sense of privacy.
- Large scrollback buffers or edits can cause the JVM to crash after running out of memory; no attempt has been made to detect an impending out-of-memory exception, so the user has to avoid making too many edit windows or making the edits too large; this is slightly helped by the fact that MUME edits cannot be larger than 128 kiB (131 kB).
- Doesn't support searching of scrollback buffer, edits or views.
- Doesn't support text justification in the edit window, but it does display line and column information.
- Java forbids unsigned applets to access the system clipboard, but it's still possible to copy-and-paste between windows created by the same applet.
Applet Requirements
- Requires Java 7 or higher (note: Oracle stopped supporting Java 6 in Feb 2013).
- Requires a web-browser that supports
<APPLET>tags. - Requires at least 64 MB (61 MiB) of RAM available to the Java process.
That may seem like a lot, but that's slightly below the typical default minimum for applets (64 MiB = 67.1MB). Also, Java's "Swing" UI uses tons of RAM for double-buffering (approx 12MB in HD full-screen on Linux), and the JTextPane also uses a ton of RAM (approx 1 MB per 1k lines).
Watch the memory display carefully if you plan to edit large files, because each editor has its own potentially-huge back buffer.
If you're worried of running out of memory, you can modify the memory available to applets by adding either or to the runtime parameters field in your Java Control Panel.
Stand-Alone Mode
MUMEjc can be run in stand-alone mode by typing on the command line from the directory where you've downloaded mumejc.jar from the MUME website.
You can specify a limit of 128 MB of RAM by typing ; this option is recommended if you plan to use the client-side editing feature.
The requirements for stand-alone mode are the same as the ones for the Applet mode, except it does not require a web browser.
Stand-Alone Pros
- Doesn't require you to enable the Java plug-in in your web browser.
- Can connect to a different MUD (other than MUME) or to a mapper program running on your PC (or laptop).
- Can access the system clipboard because it runs with fewer security restrictions than an applet; this is a major advantage for builders and mudllers using the client-side editing feature.
Stand-Alone Cons
- The stand-alone version will not be updated when the website's version is updated, so you will need to manually check for updates and download them yourself.
Version Numbers
MUMEjc's version numbers are of the form YYYY.MM.DD.{git-revision}. The git revision is a non-consecutive 7-digit hex number that is only meaningful as a pointer to source control information. MUMEjc's version number is displayed in the status prompt. It can also be found by typing in the client.
Older revisions of the client may be kept on the MUME website for "a while" after a newer release becomes available. This will allow users to download the JAR file for the specific version for use as a stand-alone client.
License
MUMEjc is free-to-use, closed-source software. MUMEjc's copyright information can be obtained by typing . Feel free to use MUMEjc on another MUD's website; it will connect to the host website's IP address on port 23 by default, but you can use the applet tag to specify another port.
