1.5.0 BSD License    
2.8/5 14
icsDrone is an application that tests your chess engine by making it available as an opponent for 100,000 players on the ICS.




icsDrone is an application that lets you to put your chess engine to the test by making it available as an opponent for the 100,000 players on the Internet Chess Servers.

icsDrone acts as an interface between an ICS (Internet Chess Server) and a chess engine. It knows how to create games, ask people to continue any adjourned games, ask for games when bored and much more. The engine itself can be administrated or configured remotely. It talks with the chess engine using pipes and the protocol specified in the protocol document. It's a subset of the 'Chess Engine Communication Protocol' with a few changes here and there. There are plans to make icsDrone into a library that the engine can link against, but that's only on the sketchbook right now.

The program was created back in '96 as a simple way to have N engines up and running 24/7 without taking up a workstation or X terminal (like XBoard does) as it runs in the background. If you instead intend to have your engine running just for some hours on you local workstation while watching it play, you might just aswell use XBoard/WinBoard.

What's New in This Release:

· Project renamed from RoboFICS to icsDrone and placed under a BSD license.
· Fixed a small bug in board setup as crafty doesn't support 'bd'
· Detection of nickname; fixes case problems and needed for guest login
· Changed softquit/restart cmds to use gameID to determine if we are playing instead of seeing if the engine is running (which it would always be if we're running with the '-haveCmdNew true' option)
· Reset the 'flag alarm' when a game has ended.
· Added some cmds from the Zippy v2 protocol.
· Added a special command for the FICS server to compensate for its poorly written move-parser.
· Fixed bug where a 'moretime' from an opponent would send the previous move to the engine one more time causing it to be confused and stall.
· It will now attempt to 'courtesyadjourn' a game where the opponent is 3 minutes down on time and can't be flagged because of timeseal (he's lagging). This will stop others having to wait forever for the opponent to timeout or get back.
· Fixed a potential problem with signals. They should be safe now.
· Fixed replies to opponent when using say ([] needed to be stripped).
· Totally rewrote limitRematches code. It now uses alarm() and gets the pending list from the server instead of maintaining it itself.
· Currently it waits a minute before accepting a challenge from the same player when the limit has been met.
· Changed the -sendGameEnd option to send the argument following the option as a command to the server (instead of just 'gameend'). It also allows multiple commands if you seperate them by "n" (ie. "seek 1 0nseek 2 0")
· Changed the way it detects start of a new game.
· Was necessary as games started using seeks weren't correctly detected.
· Attempt to fix bad options given on commandline by interpreting some of the feature cmds from the engine (if it supports them).
· Now sends "force" cmd in addition to the "new" cmd to the engine when a game has ended. An attempt to solve a problem with crafty hanging when opponent resigned when crafty was thinking.
· New option -autoConfigure. If set to true, it will attempt to configure itself by looking at the filename of the engine and set all engine-specific options correctly.
· New option -haveCmdPing. If set to true, it will send a ping to the engine on startup and wait for it to respond with pong before continuing. This allows the engine to complete slow initialization tasks (like TBs) without icsDrone starting a game before it's actually ready for operation.
· Added -logFile. If logFile ends with .gz, it will use zlib to write compressed data to the log.
Last updated on February 4th, 2008

0 User reviews so far.