In the midwest?
Check out the
Michigan Renaissance Festival!
Aug 22-Oct 4 2020
Spread the word!
Download a flyer!
BoneClient is a simple java based MUD client that is designed to be highly portable and very fast. The desire is that BoneClient is useful for those that are stuck with telnet. One can think of BoneClient as a telnet with aliases and triggers.
BoneClient doesn't offer the advanced features of modern MUD clients, however the plan is to improve the client over time and move closer to clients like Portal. Since BoneClient is written in Java, it is highly portable and runs anywhere a Java Virtual Machine is present.
BoneClient is a rather spartan MUD client. Function over form was a driving factor in the development. Since Java isn't known for its speed, great care has been taken to ensure the performance delivered by BoneClient is more then adequate for your mudding needs.
BoneClient was designed using OS X and has been extensively tested in this environment. BoneClient has been tested with Windows XP, Windows Vista (32 bit), and Centos5 (linux varient).
Two steps are required to get BoneClient up and running on your system.
Click the boneclient.jar link to download the file.
Create a folder then put the freshly downloaded boneclient.jar into this folder.
In order to download Java go to the following website: The website: http://java.com/en/download/index.jsp
At this website there is a big blue button that says: "Free Java Download"
Click the big blue button and follow the instructions for installing Java onto your system. Once you have successfully installed Java you are now ready to start BoneClient.
Simply double click on the file boneclient.jar. BoneClient will appear as a window with gray borders and a black background. At the top of the window the text "Bone Client (1.00)" will appear. This is followed with 17 boxes that are either red, blue, green or gray. These boxes are actually the 17 buttons used by BoneClient. Below the boxes are two text areas, one large, the other very small at the bottom. The large text area is where the output from the MUD is displayed. The small text area is w
BoneClient can be resized to be any size, typically it is adjusted to accomidate the width of the text being sent from the MUD.
BoneClient fonts can be adjusted with the 'f' and 'F' buttons and the spacing between the horizontal lines can be adjusted with the '-' and '+' buttons. This set of configurability is provided so BoneClient provides optimal viewing pleasure on any operating system or monitor.
Connecting to the MUD:
First time connect to MUD server:
Problems with connecting to the MUD:
- Click the O button. This brings up the options window.
- Remove all text from Name field.
- Remove all text from Password field.
- Set the MUD Hostname to the hostname of the MUD. For example to connect to 3k.org enter 3k.org into the MUD Hostname field.
- Set the MUD Port to the proper port to connect to the MUD server. Typically this is port 23, the same port used by telnet.
- Click fsave button to save options.
- Press the red I button. This will initiate a connection to the MUD server. At this time you will be asked for a character name and a password. Follow the additional instructions required for creating a new character on the MUD server and have a happy MUD experience.
- When disconnected from the MUD the I button will be red.
- When connected to the MUD the I button will be green.
- When attempting to connect to the MUD the I button should start out red and transition to green. If there is a problem with the connection the I button will remain red and diagnostic information will be displayed.
Connect to server with established character:
- There are a variety of reasons for connection problems.
- Bad MUD hostname --> Verify the MUD hostname in the options window is valid
- Invalid MUD port --> Verify the MUD port is valid. The most common port to use is 23.
- Bad internet connection --> Try to use an alternate means to connect to the internet. If you are unable to connect to a common website with a browser then you might be having internet connection issues.
- MUD is down --> It is always possible the MUD you're trying to connec to is not available for connection. A typical way of checking this is to try to connect to the MUD's website with a browser. If you are unable to connect to the MUD's website then that is a reasonable indication the MUD is down.
NOTE: This has been tested for 3k.org only.
- Click the O button. This brings up the options window.
- Enter character name into the Name field.
- Enter password into the Password field.
- If not already present, enter the server hostname into the MUD Hostname field, 3k.org for example.
- If not already present, enter the server port into the MUD Port field, 23 for example.
- Click fsave button to save options.
- Click the I button. This will auto connect to the MUD server with your character name and password.
Disconnecting from the MUD
When the I button is green you're connected to the MUD. Clicking a green I button will instruct BoneClient to disconnect from the MUD. BoneClient prints diagnostics messages and turns the I button red when it has disconnected from the MUD. Closing the BoneClient application will also disconnect from the MUD.
Toggle connection to the server.
- When red clicking this will attempt to connect to the MUD hostname and MUD port specified in the options window.
- When green clicking this will disconnect from the MUD.
Reset interline spacing. Resets the spacing between the horizontal lines to the default value.
Decrease interline spacing. Decrease the spacing between horizontal lines.
Increase interline spacing. Increase the spacing between horizontal lines.
Decrease font size. Decrease the font size when clicked.
Increase font size. Increase the font size when clicked.
Options. Open the options window.
Triggers. Open the triggers window.
Toggle the global trigger state.
- When red all triggers in BoneClient are disabled.
- When green all triggers in BoneClient are enabled.
Aliases. Open the alias window.
Help button. Prints out a brief description of each button
Unlabled buttons are reserved for future use.
An alias is a mechanism to convert an easy to remember set of characters into a complex set of commands. The easy to remember set of characters is called the name of the alias. The complex set of commands is called the body. An example of this is below:
When text is entered into the input window and the return key is pressed BoneClient will compare the text to all of the alias names. If there is a match, BoneClient will replace the text with the body of the matching alias and send that to the MUD. So using the example above if the text "fantasy" is typed into the input window, followed by the return key, the actual text sent to the MUD would be: "s2wn3wportal"
- name: fantasy
- body: s,2w,n,3w,portal
BoneClient has the ability to have an alias name in the body of an alias. This allows an alias to call an alias and so on. The maximum depth of an alias calling an alias is 25. Here is an example of this:
Notice the alias whetstone is entered into the input window it will expand to: s,2w,n,3w,portal,10w,3s,20n,3e This is referred to as a nested alias. Notice the whetstone alias looks deceivingly simple, however due to the use of nesting it is has a quite complex body. Nested aliases allow simple aliases to be used to build increasingly complex aliases.
- name: fantasy
- body: s,2w,n,3w,portal
- name: antcave
- body: fantasy,10w,3s
- name: whetstone
- body: antcave,20n,3e
The nesting is limited to 25 levels. Aliases with a depth of 25 or more are simply not allowed. There is a pathalogical case where a set of nested aliases form a loop. This kind of error is detected by BoneClient and will be flagged as a recursive error. Here is an example of a resursive alias:
When this set of aliases is expanded it cannot terminate and if left unchecked would crash BoneClient.
- name: a
- body: b
- name: b
- body: a
Name: The name of the alias. This is typically easy to remember, short set of characters.
Body: A set of comma delimited characters that make up a set of commands that are sent to the MUD when the name is entered into the input window of BoneClient. Up to a two digit number may preceed each command.
Add: Adds the alias to BoneClient. The alias will be added to the file: alias_file.
- 10w,10n translates to: 10 west then 10 north
- w,w,w,w,w,w,w,w,w,w,n,n,n,n,n,n,n,n,n translates to: 10 west then 10 north
- 99w translates to: 99 west
- s,2w,n,3w,portal translates to: cot to fantasy
Delete: Deletes the selected alias from BoneClient. The alias will be removed from the file: alias_file. There is no undelete so be careful.
Clear: Clears the name and body text fields.
Reload: This reloads the aliases from the file: alias_file. This is not necessary unless the alias_file was edited while BoneClient was active.
Recursive Error: This indicates the expansion of the alias would lead to unbounded nesting. An alias that has this box set is not usable.
A trigger is a mechanism that scans text received by the server and looks for matches. Upon finding a match a set of commands will be sent to the server. A trigger is made up of three parts, a name, a body and an action. The name of the trigger is a simple set of characters to help identify the trigger. A typical name might be: "killingblow". The body of a trigger is a set of characters that will be matched against any text received from the server. If the text contained in the body of the trigg
When fighting a monster hopefully you eventually kill the monster and land what is called a killing blow. The server indicates this by sending the text "... dealt the killing blow ...". The trigger above will see this text, get a hit, and send the commands: "wrap all""get all" immediately to the MUD. This trigger would then automate the tedius task of handling the kiling of a monster.
- Name: killingblow
- Body: dealt the killing blow
- Action: wrap all, get all
It is possible to create pathalogical triggers. These triggers react to something simple from the server and send the action to the server. This causes the server to respond and the trigger to again get a hit. This loop repeats forever unless terminated by the client. Caution must be used when creating too simple of a trigger. If a trigger loop is detected simply toggle the trigger master arm and delete the offending trigger.
BoneClient triggers are primitive. They perform simple string matches on incoming text from the server. Future releases will improve this situation.
Name: The name of the trigger.
Body: A set of text that is matched against incoming text from the server. If this text matches the incoming text exactly then a trigger hit occurs.
Action: A set of comma delimited characters that make up a set of commands that are sent to the server then a trigger hit occurs. Some examples are:
Add: Adds the trigger to BoneClient. The trigger will be added to the file: trigger_file.
- wrap all, get all
- eat corpse, get bag, get coins
Delete: Deletes the selected trigger from BoneClient. The alias will be removed from the file: trigger_file. There is no undelete so be careful.
Clear: Clears the name, body, and action text fields.
Reload: This reloads the triggers from the file: trigger_file. This is not necessary unless the trigger_file was edited while BoneClient was active.
Master Arm: The button labeled 'r' functions as the global trigger kill switch. If this button is red all triggers are disabled. If this button is green all triggers are enabled.
Trigger Disarm Timeout: A text field located in the options panel that sets the number of minutes of inactivity before all triggers are disabled. The minimum time is one minute, the maximum time is 15 minutes.
A window that contains a set of useful options ranging from your character name to whether logs are enabled or not.
Name: The name of the character
Password: The password used to log into the server. This field is protected by printing dots instead of characters.
Trigger Disarm Timeout: See Triggers
MUD Port: The port to use to connect to the server with. Typically this is port 23, however some servers offer special functionality with different ports.
MUD Hostname: The hostname of the MUD. BoneClient will perform a DNS lookup to generate the IP address of the server.
Logs Enabled: When the client is started with this flag enabled a file called logfile is created and all text received from the server is logged to this file.
Fsave: Save text in the options panel to the file: option_file. Changes to the options panel will only be saved if the fsave button is pressed.
Fload: This will reload the options panel from the file: option_file. This is really only useful if the option_file has been updated outside of BoneClient. This is not typical.
Multiple BoneClient instances
It is possible to run more then one instance of BoneClient at the same time. This is particularly useful on 3k.org since the default port (23) connects to 3k and port 3200 connects to 3scapes.
Each instance of BoneClient needs a different folder. The easiest way to do this is to create two folders, perhaps the first named boneclient3s and the second boneclient3k. Make sure each folder has a copy of boneclient.jar in it. Now double click on boneclient.jar in the boneclient3s folder and double click on boneclient.jar in the boneclient3k folder. You now have two instances of BoneClient running.
Alas BoneClient is not perfect and there are likely many defects to be found. In addition to defects there are obvious features missing. Remember this that when reporting a bug be as clear and consise as possible. If a bug can't be reproduced it most likely cannot be fixed. To report a bug, send an email to boneclient_at_me.com.