***** Plugins ***** 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? Plugins are available at http://download.chessclub.com/blitzin2/plugins/ 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 Mike Adams can be downloaded at http://www.lanternchess.com/blitzinplugins/ - 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 users to send commands at the start or end of a game. Users can alias these commands to send specific greetings after a game that vary by result of win, loss or draw or do something at game start. Autogame can also log all games the user observes to PGN and Autogame can log chat. There is also a noidle feature and Autogame can send the command iloggedon each time the user logs on to be aliased to do something. 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 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 (http://download.chessclub.com/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. Writing a plugin requires some familiarity with ICC's "datagram" protocol for server-to-client communication. This protocol is described at length in http://download.chessclub.com.s3.amazonaws.com/formats/formats.txt 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. See also: Blitzin, programmers