Bone Guardian beta 0.9.85
Bone Guardian is basically a stand-alone IRC bot, able to...
- Category Gaming
- Size 9.5 MB
- Program by Rotten
Bone Guardian beta 0.9.85
Bone Guardian is basically a stand-alone IRC bot, able to connect to any IRC server without the use of third-party software.
The Guardian is meant to be the perfect companion and tool for an online D&D game played via IRC, coming to the aid of both DM and player alike, to make online gaming better and easier.
-- Bone Guardian --
- IRC construct -
beta v 0.9.85
!!!!! Foreword:
This is a beta version of Bone Guardian, mostly untested and definitely
not the final release. This is actually a pre-release, meant for
last-minute testing in 'live' environments. I have no internet connection
myself so all testing was done locally with a simulated server, and that is
why the construct really needs some 'field testing'. Locally it works perfectly
but I really don't know how it holds itself in a 'live' environment. Also, the
mimir database is just a sample meant to show the user the format used by the
construct, and is by no means complete (more about this in section 3.4).
If any error occurs or the bot refuses to connect, send me the 'debug.log' file
found in the installation directory.
!!!!!
- Contents:
-----------
1. Disclaimer
2. System Requirements
3. The Bone Guardian
3.1 General Aspects
3.2 The Interface
3.3 Commands
3.4 The Mimir
3.5 The mimir merging utility
3.6 Troubleshooting
4. Additional information and credits
5. Version details
1. Disclaimer:
-------------
Just about everything in there belongs to Rotten (tm), thus is copyright
R.O.T.E.N. The only exceptions are the calendar contents, which are (c) to
their respective creators, namely TSR for the Toril Calendar and Ken Lipka
for the Sigil Calendar (see Section 4 for more details).
Animals were harmed during the creation of this program, and yes, it was
tested on humans! If you find any offensive materials inside this program,
write a essay of exactly 213915 words (with plenty of metaphors and vivid
descriptions to emphasize your opinion) and deliver it personally to me on
the Negative Energy Plane (trust no one).
2. System Requirements:
----------------------
Usage of this program requires a computer running Microsoft Windows 9x/Me/NT/XP(?)
and connected to the Internet. No additional software is necessary as this is a
stand-alone application.
Other than that I couldn't really say, but it should run just fine on any low-end
computer (lowest on test was an Pentium Pro 166/32 RAM, and it worked). The only
important aspect is the Internet connection. Basically, if you can use an IRC client
(mIRC,IRC-X,etc) OK, than you're all set.
3 The Bone Guardian:
-------
3.1 General Aspects
- Bone Guardian?
First things first. Bone Guardian is an IRC bot (Internet Relay Chat Robot). Unlike
many other so-called IRC bots, Bone Guardian is a stand-alone application, with a
built-in mini IRC client, so you don't need mIRC or any other third party software to
use it.
- What does it do?
Well, it's functions are rather limited at the moment, but I'm always adding new
features to it. Basically, it is an automated construct which responds to user input
in a predefined way. Cone Guardian aims to be the perfect companion for an online
D&D game played via IRC, useful for both the DM and the player alike. The currently
supported features are listed in Commands section.
- How does it work?
You launch the application, and a small interface appears. Once you supply it the
necessary information and click 'Connect', the bot tries to connect to the specified
IRC server. If successful, it will login, appearing as a normal client to both the
server and the other users. It will then join the specified channel, where it will
monitor user input (the users chatting) and respond whenever necessary.
- So how do I use it?
As already mentioned, you must first supply the server information. Then, if all is
OK, the bot connects and begins it's vigil. Now, you must keep in mind that the bot
is a separate entity (from you), so I you want to use it to roll dice, you will have
to connect to mIRC yourself using whatever client you prefer (such as mIRC) and
!(this is important) CONNECT TO THE SAME SERVER NETWORK. You don't necessarily have to
connect to the same exact server, but yours and the bot's must be in the same network
(for example the both have to be part of eu.undernet.org network) otherwise you won't
see the bot once you connect. Now this could prove a bit tricky since some servers only allow
one connection from one computer, so it's almost impossible to be on the same server with
the bot. But, as I said, any other linked server will suffice. (For more information on
servers and IRC protocol you should read the documentation which comes with your IRC client).
Anyway, once the bot is connected, you can very well minimize it and leave it alone.
Connect to the IRC yourself and watch it in action if you so desire, but it isn't necessary,
as the bot's connection status can be monitored from it's interface.
Now, in order to use the bot, whether it is you who ran it or somebody else (only one
person needs to run a bot), you use the bot by giving it commands via the IRC. Thus, you
connect to the IRC using your client, join the same channel the bot is in, and then type
the commands in the channel (or in private) preceded by the ! character. (More on this in
the 'commands' section.)
- Can I keep the bot in two or more channels simultaneously?
Well no, but you could run two or more bots (i.e. instances on the bot), each in a separate channel. Of course, there's the server issue again...
- What about this 'mimir' thing, what's it all about?
The mimir function is supposed to act as an all-round source of knowledge. Think of it as an
encyclopedia describing people, places, monster, items and just about anything you can think
of. The Bone Guardian comes with 2 small databases (mimir.mdb and mimir_local.mdb located in
the installation directory) which you are encouraged to edit, adding everything you consider relevant, especially if you're a DM running his campaign. Use it to give players information on places, NPCs, past events, anything. The default database that comes with Bone Guardian will be periodically updated on the Rotten website, so be sure to check time and anon. For more about
this, see section 3.4 hereinafter.
3.2 The Interface
The interface is simple and straight-forward. It has only 4 editable fields and 3 buttons,
namely:
* Editable Fields:
- Server: This in the where you specify the server you want the bot to connect
to. You can use either the name or the IP of the server.
Example: eu.undernet.org
Example: 121.73.19.1
- Port: This is where you specify the port used to connect. Note that the
default IRC port is 6667.
Example: 6667
! The server and port fields can only be edited while offline.
- Nickname: This is the nickname the bot will use when it connects. Note that if
the nickname is already used, the connection will be rejected, so the
bot will disconnect, change his nick by adding _# (and subsequently
increasing the # until it finds an unclaimed nick) and try to reconnect.
The downside to this is that all server have a nick length limit
(usually 9), so it the new alias exceeds 9 characters, the efforts of
the bot will be futile. However, if this occurs, that status (window
caption) changes to "Guardian - Finding a new alias", so you should
manually disconnect and try a different nickname.
Example: Guardian
- Channel: This is the channel the bot will guard once it connects.
Example: #Avernus
* Buttons:
- Connect/Disconnect: Once you enter the necessary data, use this to connect to
the server/disconnect from it.
- Change: This button is used only while online, if you want to change the bot's
nickname. To do so, you enter the new nick in the appropriate field
and then hit this button.
- Join: This button is used only while online, if you want to change the bot's
monitored channel. Just enter a new channel name in the appropriate
field and hit this button. Note that the channel name format is defined
by the server you're connected to, so names like w4H#$@_+ might not work.
Also, keep in mind that before joining a new channel, the bot leaves the
one it is currently in. To keep it in 2 channels just launch another
instance of the bot.
Remember that the bot's status if reflected in the it's window's caption and icon, and in the
skull in the main interface. Thus, red eyes mean 'offline', blue eyes mean 'trying to connect', and green eyes mean 'vigilant'(connected).
Also, besides the options available through the interface, there are some advanced options
accesible by editing the .ini file. Now this procedure is not recommended unless you know
what you're doing, since an error here might cause the entire program to cease working. So far,
the only advanced option is the editing of the message the bot will transmit on the QUIT event
(when it leaves the server). Fell free to add your own message here.
3.3 Commands
Commands are given via IRC, either in-channel or as private message. The difference is that
a command given in-channel will be replied to in-channel (seen by all the other users), while
a private message will be forwarded only to you (keep this in mind when you roll dice). Also, commands are always preceded by the ! character, as in "!roll 3d20-2". For the command syntax,
(something) means mandatory, while {something} means optional.
Current supported commands are:
!HELP The bot will list all available commands (to you only).
Example: !help
!INTRODUCE The bot will introduce itself, with current version and all.
Example: !introduce
!ROLL {dice}d(sides){+/-}{modifier}
The bot will roll dice, in-channel or private
according to the specified formula.
Example: !roll 3d20-2
Example: !roll d8
!ROLLTO nick{,nick}{,channel} {dice}d(sides){+/-}{modifier}
Like !roll, except that the result is only given
to the specified recipients, which can be both
user nicks and channel names.
Example: !rollto Bane,Bhaal,Myrkul 3d20+1
Example: !rollto Jozan,#Arcadia d8
!DATE {location} The bot will tell you the current date in the specified location.
If the location argument is missing, the bot will give you the date from all it's known locations. Currently, the only used
calendars are that of Toril (the calendar of Harptos) and that of
Sigil (by Ken Lipka). See the credits for more info on these systems.
Example: !date Toril
Example: !date
!MIMIR (notion) The bot will tell you what it knows about you inquiry. The
result is entirely dependant on the construct's database, which
can be edited while offline. For more info on this see the next
section. The bot will also refine the search and if that does
not work, search for similar words.
Example: !mimir xaositects
3.4 The Mimir
- A Mimir you say?
The Mimir is a database system, stored locally and used by the construct for online queries
from users. These databases can contain anything from people, places or monsters to knowledge relevant exclusively to a particular campaign, such as information on NPCs, past events or locations of interest in your game world.
- How does it work?
The actual mimir consists of two files, 'mimir.mdb' and 'mimir_local.mdb' which can be found
in the construct's installation directory. Both files have the same structure but their uses
are slightly different. The main database, 'mimir.mdb' is meant to be the default repository
of information, but also it is the one used by the creator of the Guardian, namely myself. After
the release of the construct, there will be periodical updates to this database, available
at the official site (devoted.to/rot). The other file, 'mimir_local.mdb' is meant for you, the
master of the Guardian. This you should edit and add important information for your players
to access in-game as well as any other sort of knowledge you find appropriate for the construct
to possess. So why 2 files? Easy. When a new update for the main repository is released, it is
supposed to overwrite the old 'mimir.mdb', and just so you don't lose any valuable information
that you have added yourself, I made a separate database just for you ;), so you are free to
overwrite the 'mimir.mdb' while your data is safe in the secondary repository.
One important aspect to remember is that when somebody uses the !mimir command, the construct
will first look in your database (mimir_local.mdb) and only if it doesn't find anything relevant
there will it search the main database. Thus, if both the main (given) and your own database
contain a reference to the word 'xaositects', the !mimir command will only display the info in
your database.
- Does the 'mimir' command search for similar words as well?
Yes, it does. The bot will first refine the search and then, if no exact occurence is found,
move on to search for similar words.
- How do I add my own data to the mimir?
The database files were created with Microsoft Access 97, so to edit them you need the same
or newer version of this program. For info on the actual process of editing a mdb database, read
the documentation that comes with Ms Access (it's rather obvious and straight-forward). As noted
previously, it is recommended that you use the 'mimir_local.mdb' file instead of the main 'mimir.mdb' if you wish to prevent the loss of your data. This file can be found in the
directory where you installed the Bone Guardian.
- I have a separate mimir.mdb from a friend. Do I need to update mine manually?
No, you do not. You can simply use the 'mimir merge' utility as described below (see the next
section) to merge two mimir databases.
- Anything else I should know before starting to edit?
When editing the mimir database, keep in mind that IRC messages are limited to a particular
number of characters each (as defined by the server you're connected to), so the 'data' field
should not exceed this limit lest the particular message might not be shown. This is usually
500 characters so when adding data, go for brevity.
3.5 The mimir merging utility
This small utility is meant to facilitate the updating process of your local mimir database.
If you get a local database from a friend and want to add the info within to your own, just
use this utility and it will be done faster than you can recite the Unbroken Circle of
Zerthimon backwards (and easier, too). The interface is simple and intuitive, with only three
editable fields, namely:
Data to add: Select the file you wish to update from - any mimir .mdb file
Data to update: Select the file you wish to update (to) - always a mimir_local.mdb
Overwrite duplicates: Choose whether you want to overwrite duplicate entries
Choose the mimir database files, and hit the 'UPDATE' button. That's it.
Do keep in mind, however, that this utility is also in beta phase, so it might hold some bugs
still. None were found so far, but if you do find any, contact us and we'll take care of it.
3.6 Troubleshooting
The creator of the Bone Guardian, Saroth the Great is missing and presumed mad (was last seen
somewhere in Pandemonium, "searching for spell components to further enhance my creation", but
if you find any bugs in the program, or other faults that you consider should not be there,
contact Rotten ( [email protected] ) for feedback and/or help/support.
! Keep in mind the fact that this is a beta version so it is not error-free. Email me with any
problems you find.
- Make sure you read all of this file carefully.
- If an error occurs, or if you can't connect, close the program, and send me the
'debug.log' file located in the installation directory and hopefully I'll be able to track
down the problem.
- For now I know of no bugs, the only problem you might encounter being the server you use. Some
older servers do not support certain commands so errors might appear, but there is nothing I
can do about that. This shouldn't be a problem though as it's highly unlikely to occur.
- For connection problems, see the interface section above which discusses nickname conflicts.
- If you experience connection problems, the cause is probably the server you use. Some servers
seem to disregard the IRC protocol, and so the bot and the server might have trouble communicating with each-other. I try to make it as 'reasonable' and 'understanding' as possible
but still, if you can connect to a server normally with your IRC client (mIRC) but the bot doesn't connect, send me an email with the server's address and I'll look into it.
- Be sure to visit the official web-site for the latest troubleshooting information and help at
http://devoted.to/rot
4. Additional information and credits:
--------------------------------------
Bone Guardian is considered freeware and should be treated as such. It is strictly for personal use, and using it for commercial purposes is prohibited (except is you cut us in
on the dough). Donations are highly appreciated though, and would help continue work on this
project. For any feedback or the like, you are welcome to contact Rotten via email
at [email protected] or visit http://devoted.to/rot
As far as the credits go, the only one to note other than us would be Ken Lipka, whose
calendar of Sigil we loved so much that we felt we just had to use it. You can find it at:
http://www.deathstar.org/~krlipka/ps/things/thoughts/sigilcal.html
Also, we must mention TSR/WotC whose materials, including the calendar of Harptos were used
profusely. All the (c) for those belongs to TSR/WotC and we claim no rights over them.
Credits: Bone Guardian kreated by Rotten
5. Version Details:
-------------------
- Beta 0.9.85 released 06/20/2002.
- added: The mimir merging utility; first release, in beta phase
- added: an editable quit message
- improved: the mimir command (refined the search process)
- improved: some small mechanics
- improved: the debugging process (yet again)
- change: minor interface aspects (such as the status icons)
- fix: a bug with special PING response
- Beta 0.9.84 released 06/13/2002.
- change: included the ADO drivers; this however boosted the package size from 1.60 Mb
to a huge 9.38 Mb. Unfortunate, but it had to be done.
- improved: the connection process so that now given a problem, the bot will
automatically retry a set number of times and then give up
- improved: the debugging process which now works on a connection level
- fix: a bug concerning the active states of buttons
- Beta 0.9.83 released 05/23/2002.
- change: converted the database system (and the database files) to Jet 3.51, i.e.
Ms Access 97, the drivers to which should come with Windows
- Beta 0.9.82 released 04/04/2002.
- fix: a small problem with the !rollto command not working on some servers
- fix: a small problem with the !date command
- change: merged the debug_mode into the main executable, so no more console
- improved: the code and some mechanincs -> increased stability
- improved: instead of making the bot crash, minor errors are now ignored and noted in the log
- Beta 0.9.81 released 03/30/2002.
- fix: !roll command not working
- fix: program crashing on some servers
- Beta 0.9.8 released 03/29/2002. First public release.
(c) 2002 Rotten