Yet Another Telnet Client. RosMud++ is a rewrite of Daniel Kelly's GMud (see ftp://papa.indstate.edu/winsock-l/mud/ which is the most official site I can find), originally to improve in a few certain areas and remove a few certain limitations; it has outgrown the original specification significantly.
Note that RosMud is now (as of 20140103) in extended support. New development is being done on its successor, Gypsum, but RosMud is still supported for bugfixes only.
So what's so great about RosMud? Why write another client?
RosMud was developed primarily for Threshold RPG, but can be used for any TELNET-based purpose.
Note that slimline RosMud has no installer. Simply extract it to whatever directory you wish to run it from, and run it. RosMud will create a number of .INI files in that directory (if it can - see Running from CD), but that is all. Deinstallation is as simple as deleting the directory and all its contents. (This also ensures that Windows Vista and 7 will not complain about unauthorized program installation.)
Auto-connect on startup
If you have a world file set up, you can create a shortcut which will automatically connect to one of the worlds when RosMud starts. Simply create a shortcut to RosMud.exe that passes it, as a parameter, the world name (not the host name, the RosMud world name), which can be abbreviated.
Passive mode
RM's default mode is "Active", which is the way most clients work. A connection is opened to a pre-existing server, for instance Threshold RPG (thresholdrpg.com, port 23), and the server responds.
Passive mode inverts that, and turns RosMud into the server. Select the port you want to use, and choose Passive mode, and then use whatever other client you wish (RosMud++, GMud, any telnet client) to connect to that port. RosMud will create a new subwindow for each client connection, so you can actually juggle several of them independantly.
Some possible uses of this:
If all this is too confusing, just remember: Leave "Active" selected and it's just like GMud or any other client.
Pause Scroll
Unlike the Pause key in a text-based client, which pauses until another key is pressed, and unlike GMud's pause mode, which prevents further lines of text from being accepted, RosMud's pause mode simply pauses the scrolling - new lines will come in as normal, but they will be below your scroll point. When scrolling is paused, all windows are paused (if multiple subwindows are active). Pause status is indicated by a check mark against the menu item, and the pushed-in appearance of the toolbar icon.
After unpausing (or while paused), you can snap down to the bottom of the scroll view by pressing Ctrl-PgDn.
Special prompt handling
RosMud has two prompt handling modes: the original "detection" mode, and, as of version 1.5.0, the new "telnet" mode.
Detection mode relies on the recognition of typical prompt endings. If a partial received line ends with "> " or ": ", it is considered a prompt. If a prompt does not end with "> ", it will usually be detected, but behaviour may be less than perfect. Also, sometimes it will mistakenly interpret something as a prompt when it isn't (eg due to latency and half a line arriving).
Telnet prompt mode is near to perfect, but relies on the server sending IAC GA after every prompt, or else to finish the prompt with the exact string "==> ". Many MUDs do this. Turning on this option for a world disables detection mode, but even if it's off, IAC GA will tell RosMud that this is a prompt. Make sure this is OFF when using RosMud to talk to a web/mail/FTP server, but when working with a MUD, it should be safe to try with it ON, and then turn it off if prompts don't look good.
Whichever prompt detection mode is active, prompts will be shown on the line immediately above the input field, and will be shown separately from any other lines of text: an inputted command is displayed with the prompt, but spam from the MUD is not. This will generally produce the "cleanest" results.
Boss keys
Press the boss key at any time, regardless of what program has focus, and RosMud will snap hide itself, removing itself from the list of running applications as well. (It doesn't animate on the way down, either, even if most windows do when they are minimized.) To restore it, press the other boss-key. Configured in "Keyboard Settings". (Not active by default.)
Local command language
Local command language - commands beginning with a slash are interpreted by RosMud. To bypass this interpretation, double the slash (eg if you enter "//find this text", the MUD will be sent "/find this text"). At present, the only command actually implemented is "/about", which displays detailed version information, but plugins can define more commands which are "safe" and can't accidentally go through to the MUD, and can also communicate between themselves this way.
Plugins (DLL hooks)
Third party plugins can be written to hook into input and/or output, and can create local output, send commands to the MUD, or perform any UI action desired (eg open a window on screen, beep, etc). Note that piling in too many plugins can result in a performance penalty as each one has to be given a "go" at the lines of text before they can be processed. But on a decently modern computer, with well-written plugins, the delay won't be too noticeable.
*Caution* A badly written plugin can cause havoc to RosMud. If loading a plugin causes problems such that you cannot start RosMud, go to the RosMud directory and edit Plugins.ini - simply remove the line naming the offending plugin, and it won't be loaded. (Or just delete Plugins.ini and then NO plugins will be autoloaded.)
A number of plugins are included with the standard distribution (you can obtain other plugins too). The source code for each of these plugins, along with the crucial header file and a sample/template plugin, can be found in the RosMud plugin SDK, rmplugin.zip. See "Plugin.H" and "PlugSamp.cpp" for implementation details - the documentation is in the source.
A plugin window (if created according to the SDK guidelines) can be manipulated using the Plugins menu on the main RosMud screen. Any window which has been misplaced off screen, or otherwise hidden, can be restored by selecting its name here. Also, any plugin window which you don't presently need (but you need the plugin itself) can be hidden, by Shift-clicking its name.
Idle-Killer
Made primarily for Threshold RPG, but suitable for any other server that follows the Telnet protocol (which means most MUD servers, but not (for instance) web/mail servers), the idle-killer can help you dodge an early idle cutoff. The Threshold server allows you to idle for an hour safely, but many routers and ISPs have much lower cutoffs that disconnect you prematurely. The best solution, of course, is to crank up the timeout at your end, but sometimes this is not possible; for times like that, you need t
he Idle Killer. Rather than sending an actual command (eg a blank line, or "glance" or something), it sends the special command IAC GA ("Go-Ahead"), which does not interfere with the Threshold's measure of your idle time. (If you wish to use this with other MUDs, test it before relying on it; obviously if the MUD administration do not mind people idling, then this option is safe.)
To utilize this option, go to Options, Advanced, and enter a number of minutes into the "Idle Killer" box. Generally, set this to one less than the number of minutes before you get timed out. (If you get timed out after one minute or less, talk to Rosuav about a solution. Setting the time to 0 will disable it completely.) Then ensure that "Telnet Prompt Mode" is selected for the world you're connecting to, and connect. (Note that Telnet Prompt Mode has to be selected when you connect ; disconnect and reconnect to engage it.) RosMud will then send IAC GA every that-many minutes, and if all's well, that should keep you alive successfully.
Running RosMud++ from a CD
RosMud can be run directly from removable media, even a floppy disk, or read-only media such as a CD-R. Simply configure the world list, options, etcetera, as required, and then burn the entire directory to a CD. Nothing is stored in the registry, or outside of RosMud's own directory. Of course, if run from a CD-R, RosMud won't be able to save its settings; but there will be no error messages.
The one thing to check is the plugin list. All plugins must be in the RosMud directory, or a subdirectory of it, or else they will be referenced by absolute paths (which may not be valid on another system).
On a CD-ROM, you could even capitalize on autoplay by creating a shortcut to autoconnect to your favourite world and an autorun.inf to point to it. Then as soon as you insert the CD into any computer, you'll be connected directly to the MUD.
On a floppy disk, there's ample room for RosMud, a collection of plugins, associated INI files, and then a collection of log files. The barest minimum for RosMud is under 150KB.
Programmers - rmplugin.zip contains source code for these plugins, and full structural and interface definitions for writing your own plugins.
Wealth
A very simple output monitor, but more useful than a mere example. Whenever it detects a line saying "Total Wealth:", it prepends a line of local output showing the first wealth sighted this session, the immediately preceding wealth, and the difference between this and the last. (Mainly for Threshold RPG. Could be adjusted for other MUDs without too much trouble.) Maintains a separate record for each subwindow you open in RosMud. Type "/sub" to see full stats. Note that this plugin, though still functional
ly identical to its original form with one of the first RosMud releases, has been kept up to date with changes to the Threshold wealth format, so you will need the latest version if you want to use this successfully.
Monitor
Opens a new window to monitor lines of spam matching specified patterns. Create a new monitor by executing a command "monitor substring" - any line of spam with the word "substring" will be displayed in the miniwindow.
Sounds
Plays a sound when a given line of spam is received. Simple and fairly self-explanatory.
Decide
Timer
In its configuration dialog (which can also be invoked by double-clicking anywhere inside its window), create new timers by filling in values and hitting Add. The Keyword is shown in the timer window, and should be short; the Text is what comes from the MUD. Note that, in current version, this is a substring - that is, if the specified text is found anywhere in the line, it is considered a match. No regexp as yet.
Timer can also show your HP/SP/EP regeneration time -- Threshold RPG only. Enter your regen rates into the configuration dialog, and every time a HP spam comes up, the times will be updated. Uncannily accurate if you have a good connection; slightly imperfect otherwise.
The timer window, like many plugin windows, can be moved by clicking inside it and dragging. It will remember its position across sessions.
ThreshTime
ThreshTime maintains a conversion between RL time (aka Terra time) and Threshold time. Requires that your computer's clock tick accurately - does not require that it be set perfectly. The time is synchronized whenever you look at a clock/timepiece IC - there are two separate ways to synchronize, but it'd break 'help areas' to tell you, and if you have access to them you probably know already :) A sync-point is embedded, but may not be accurate to your computer's clock. Synchronization can also be done by u
sing the default 'time' command (which only gives time accurate to one hour) - this is done only if the time is at least 2 game hours (10 RL minutes) wrong, and always sets to the middle of the hour (eg Thresh says "10th toll", the time will be set to 10:30).
Double-click on the display window to bring up the configuration / time converter dialog. Conversion between Thresh time and RL time is straightforward; note that the program neither knows nor cares whether it is EST or EDT that should be used, and relies on you to choose. (It also relies on Windows knowing the correct timezone.) The current date/time can be selected via the "Set Today" button, or the date/time of most recent synchronization with "Set sync time". Unticking the "Auto-synchronize" box improv
es performance (ThreshTime will no longer monitor the spam coming from Threshold), and can be done as soon as you've successfully synchronized.
HPGraph
Every time your hitpoints display is shown, HPGraph picks it up and displays three bars, graphically. The window can be sized and positioned as required. The colors of the three bars can be configured.
After a (configurable, default 60 second) delay, the display will fade gently to white, as the information is considered "stale".
TinyURL
Enter the TinyURL plugin! It will automatically all commands you type, and any time it sees a URL that's too long to go out unwrapped, it pops up and asks if you wish to use TinyURL. If you say yes, the line is suppressed and a request sent off to TinyURL.com. (Note: If your network requires that you use a proxy, its details can be entered into the plugin's configuration dialog.) Upon receipt of a response, the short URL will be parsed out and shown. The method of showing depends on the version of RosMud -
prior to v1.2.0 there was no facility for a plugin to execute a command, so the short URL would simply be echoed locally. Version 1.2.0 brought in that very facility, so on newer versions of RM, the short URL will automatically be posted to the MUD.
Optionally (enabled by default), this plugin can also monitor all lines received, looking for URLs. (Note that a URL must be completely contained within one line, but it needn't be the entire line.) A simple command will copy the URL to the clipboard, or invoke your default web browser (as configured by Windows) to view it.
OOCBox
Hurkle (Ray Scharton) died May 7th 2007 - he was riding his bicycle and a truck collected him. He will not be forgotten. His death as reported on a cycling forum. RIP, Ray/Hurkle.
Editor
Documents are stored as plain text files, so they can easily be edited by an external program.
Calc
In the middle of any other command, include an embedded expression, such as $[1+2] - it will be translated into 3 before being transmitted to the MUD.
Another handy feature is automatic continuation. Start an expression with an operator and it will implicitly use the most recent result (eg $[+5] will add five to whatever was last calculated). Can be used for simple counters, etcetera, etcetera.
Note: At present, this uses integer arithmetic only, no decimals. 20/3 == 6.
Having trouble connecting from behind a firewall? Try GetThresh, a proxy server that you can run on your own computer.
A magic 8-ball - with a slight twist! Ask it questions on the main MUD input line: "decide
Set up a few timers, and each will run independantly. Whenever the specified line of spam is sighted, the timer begins counting down - or up. Count-down timers blank out when they hit zero; count-up timers continue to infinity.
Suitable only for Threshold RPG - could be coded to handle time in other MUDs too, but it would need to be altered.
Specific to Threshold RPG, but easily modified to suit other MUDs.
TinyURL is a web site that provides redirections to allow short URLs to represent long ones. When you want to post a lengthy URL on a MUD channel, this is an excellent way to avoid the problems of word wrap. But it's tedious to go to your browser, fire up www.tinyurl.com, put in your URL, wait for it, and then get the response back and paste it into your MUD client.
For Threshold RPG. Courtesy of Hurkle, the OOCBox picks up all text sent to Out Of Character channels and diverts it to a separate box, instead of to your main MUD window. Simple but effective.
A full text editor, right there alongside the MUD window. The Editor will manage text files stored in a single directory, and allow you to send one instantly to the MUD. It manages word wrapping, and can un-wrap a document too (helps if you want to edit it and then rewrap it, possibly to a different width).
A relatively simple command-line calculator. So far it can only perform basic arithmetic functions (add, subtract, multiply, divide), but it correctly handles order of operations (including parentheses). Type "calc (expression)" to see the result - for instance, "calc 4+5-3*2" will show the result 3.
Download
File: (All are current version, 1.7.0) Choose between:
Requires: Windows (tested with both 32-bit and 64-bit versions of XP, Vista, and 7)
Installation: Run rminstall to extract all files to c:\rosmud
Operation: Run.
De-installation: Delete directory
Distribution: Free.