Contents:
1. What are plugins?
2. What plugins are available, and where can I get them?
3. How do I run plugins?
4. Security
5. Writing a plugin
1. What are plugins?
Blitzin 2, the ICC's interface software for Windows, supports
helper applications called "plugins". A plugin is a separate program
that is launched by Blitzin and communicates with Blitzin, but
otherwise runs independently of it.
Plugins are intended to provide extra functionality that can
be added to Blitzin by third-party programmers.
2. What plugins are available, and where can I get them?
Currently, there are six plugins available in that directory:
SpeakMove, which does voice synthesis for Blitzin. Author: Slimemold.
See http://download.chessclub.com/blitzin2/plugins/SpeakMove
Very cool. You'll need Blitzin 2.30 or higher to use this during
a rated game. Current version is 1.2.
Logit, which logs games in PGN form, including variations and
commentary. Author: fishbait. Current is 1.3 beta, no installer.
WoodIn, which gets moves from the DGT Electronic Board. Author:
hajewiet@home.nl. See also http://www.dgtprojects.com. Current
version is 3.00, released Feb 2004. Very cool! Best for playing
slower games. Also has voice synthesis for moves, and can be used
for that in place of SpeakMove even if you don't have the DGT board.
You'll need Blitzin 2.30 or higher to use WoodIn during a rated game.
Broadcaster, which gets moves from a PGN file, and updates an
examined game. E.g. this can be used with the DGT Electronic Board
in conjunction with the Lost Boys software. Broadcaster is a
beta release. Author: Slimemold.
ExtraButtons, which provides an extra set of user-configurable
buttons, which appear as a floating toolbar. Author: Slimemold.
BettingBot Better, which makes it easy to bet chips on players
in tournaments etc. See help BettingBot for a description of the
betting game, but note that you don't need to learn the commands
for it if you use this plugin to place your bets instead.
Plugin author: Kewlper. BettingBot author: Kiebitz.
More plugins available elsewhere:
Two plugins by adam16mr (Mike Adams) can be downloaded at
http://www.adam16mr.org/projects.html Observer1 allows you to follow
multiple people who are on your gnotify list or in a group like GM.
You can specify how many boards you want to open, or a specific time
control you want to follow like 3 0. Autogame will allow you to send
an alias at the start or end of a game. You can use these aliases to
send specific greetings after a game, or to turn kibs off and on before
and after a game.
Plstat, which keeps track of your results and tells you how you
scored against other players. You can read about it and download
a copy at http://bgoeke.de/. Author: fledermaus
WinBoard Adaptor, lets you connect WinBoard-protocol-compatible
chess engines to ICC via Blitzin. http://www.winboardadaptor.com
Author: yruMyFoe
All plugins are provided as-is, with no warranty of any kind.
3. How do I run plugins?
Blitzin must know at run-time which plugins to run. Thus, it
is necessary to specify the plugins on the Blitzin "command line".
Some plugins come with installers which create an icon for you
that will run Blitzin + the plugin. If not (or if you want to
run two or more plugins simultaneously), then you'll want to make
such an icon yourself. Here's how:
a. Create a copy of your Blitzin 2 icon: right-click on the icon
and select Copy, then right-click on the desktop and select Paste.
If you wish, you can also rename this new icon by right-clicking
on it and selecting Rename.
b. Edit the icon's command line: right-click on the new icon,
select Properties, click on the Shortcut tab, and go to the
textfield labelled Target.
c. Specify the filename of the plugin: in the Target textfield,
after c:\blitzin2\Blitzin2.exe (or similar), add a space, then
add /plugin=filename.exe, or if there are spaces in the filename,
add /plugin="file name.exe". This assumes the plugin is in the
same directory as Blitzin 2; if not, you need to specify the full
path as well, for example /plugin=c:\blitzin2\myplugins\filename.exe.
4. Security
A plugin, like all applications, is capable of doing mean and
nasty things to your system. Do not run a plugin unless you
trust the source.
IMPORTANT:
On the other side of the security issue, Blitzin does not
"trust" just any plugin. To prevent computer cheating all
all communication from Blitzin to a plugin is suspended during
a rated game, unless you have a (C) label on your account.
BlitzIn 2.30+ includes the ability to have "trusted" plugins,
that can receive information while playing a rated game. This
mechanism is used to allow the SpeakMove plugin to vocalize
moves, tells, and kibitzes while playing. SpeakMove is
available at http://download.chessclub.com/blitzin2/plugins/SpeakMove.
WoodIn is also trusted.
5. Writing a plugin
A "Plugin Development Kit" is available at the plugin ftp site
(ftp://ftp.chessclub.com/pub/icc/interface/blitzin2/plugins).
The sample code and communication code in the devkit is written
in Microsoft Visual C++ (version 6). I doubt it is very portable
to non-C languages, although you are welcome to try. If there is
sufficient demand, I might compile the communication code as a
DLL, for easier access by languages like Visual Basic.
Currently, the devkit simply contains example VC++ code for
2 simple plugins. To write your own plugin, you will need
to copy IPCConduit.* and PluginUtil.* into your own project.
Read PluginUtil.h for internal documentation. And see
the main .cpp files in the two samples for examples of use.
Please do not ask us to solve your programming problems. Any
questions can be asked to channel 126 (the programming channel).
Questions about formats.txt or other ICC-specific issues can
be addressed to Metamorphy, although you might try channel 2
or channel 126 first.