Using icsdrone

Discussion of chess software programming and technical issues.

Moderator: Ras

User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Using icsdrone

Post by sje »

Using icsdrone
icsdrone acts as an interface between an ICS (Internet Chess Server) and a chess engine supporting the XBoard/WinBoard protocol. Unlike XBoard/WinBoard it does not use a graphical interface so it is suitable for use on embedded systems.
See: http://sourceforge.net/projects/icsdrone/

I'm considering a switch from xboard to icsdrone for both FICS and ICC. However, icsdrone claims compatibility with Linux (and Windows), but not with Mac OS/X.

Has anyone here had much experience with icsdrone? Has anyone gotten it to work under OS/X? I'd guess that if it works under Linux and does not use a GUI, then it should be able to be easily ported to a Mac.
flok

Re: Using icsdrone

Post by flok »

It should work is my "guess". Maybe libreadline is not available for mac but not a hard requirement.
jdart
Posts: 4423
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Using icsdrone

Post by jdart »

Last time I tried it there were problems. See http://sourceforge.net/p/icsdrone/bugs/9/.

--Jon
User avatar
Kempelen
Posts: 620
Joined: Fri Feb 08, 2008 10:44 am
Location: Madrid - Spain

Re: Using icsdrone

Post by Kempelen »

sje wrote:Using icsdrone
icsdrone acts as an interface between an ICS (Internet Chess Server) and a chess engine supporting the XBoard/WinBoard protocol. Unlike XBoard/WinBoard it does not use a graphical interface so it is suitable for use on embedded systems.
See: http://sourceforge.net/projects/icsdrone/

I'm considering a switch from xboard to icsdrone for both FICS and ICC. However, icsdrone claims compatibility with Linux (and Windows), but not with Mac OS/X.

Has anyone here had much experience with icsdrone? Has anyone gotten it to work under OS/X? I'd guess that if it works under Linux and does not use a GUI, then it should be able to be easily ported to a Mac.
I recently compile it from Linux and I have no problems when playing at FICS. I guess it should not be a big problem for a Mac OS compilation....
Fermin Serrano
Author of 'Rodin' engine
http://sites.google.com/site/clonfsp/
mvk
Posts: 589
Joined: Tue Jun 04, 2013 10:15 pm

Re: Using icsdrone

Post by mvk »

Most, if not all, 24/7 bots on FICS use icsdrone or some derivative of it. Non-24/7 bots typically use xboard/winboard. I used icsdrone on a ppc mac for several years without any issues. Now my bots run on a Xeon with FreeBSD. Therefore I don't expect problems getting it running on an Intel Mac and OSX.

If you want to observe the games it is best to use a second 'owner' handle for that purpose. The owner can also control the computer account. Although you can use console mode to control the bot as well (run it in screen), you won't see the games in console mode.

There is a modest learning curve, but not much different from learning how to setup xboard with all its options.

In response to Jon's remark, I don't see the reported "-resign off" issue with Rookie, who also resigns on its own behalf.

I do the book learning with the pgnFile option and supplying it with a pipe-filename, which triggers the running of a shell script that handles the completed game, as follows:

Code: Select all

        env TERM=vt100 ./icsdrone\
                -icsHost freechess.org\
                -icsPort 5000\
                -timeseal ./openseal\
                -program "$PROGRAM"\
                -dontReuseEngine on\
                -owner marcelk\
                -console off\
                -loginScript Settings/icsdronerc\
                -autoJoin on\
                -tourneyFormula "python tourneyFormula.py '%s'"\
                -sendGameEnd "seek 5 0 r m f\nseek 20 0 r m f\n"\
                -issueRematch on\
                -limitRematches 100\
                -resign off\
                -acceptDraw off\
                -easyMode off\
                -shortLogging off\
                -pgnFile "|tee -a Logs/Rookie-$TIMESTAMP.pgn | ./learn-pgn Data/results.csv"\
                -logFile Logs/$LOGFILE
Games always have a result tag when I see them. (Rookie doesn't have the "result" command).

When I check now, I see the icsdrone program has last needed a restart in August:

Code: Select all

Interface: "icsdroneng-0.25 + Rookie 3.9x6 (4 cores). Online since Tue Aug 18 21:57:40 2015 GMT (4686 games played)."
[Account deleted]
jdart
Posts: 4423
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Using icsdrone

Post by jdart »

Looks like you are not on the latest version, which is 0.28.

--Jon
Michel
Posts: 2292
Joined: Mon Sep 29, 2008 1:50 am

Re: Using icsdrone

Post by Michel »

Rookie wrote:In response to Jon's remark, I don't see the reported "-resign off" issue with Rookie, who also resigns on its own behalf.
It is true though. It appears that ArasanX uses the Result {comment} syntax for resigning (instead of just "resign") which icsdrone currently does not parse (by oversight).

I will try to fix it. But it needs some testing.

BTW It is best to compile icsdrone from the master branch.

http://sourceforge.net/p/icsdrone/code/ci/master/tree/

I stopped making releases but I put in an occasional bugfix.
Ideas=science. Simplification=engineering.
Without ideas there is nothing to simplify.
mvk
Posts: 589
Joined: Tue Jun 04, 2013 10:15 pm

Re: Using icsdrone

Post by mvk »

jdart wrote:Looks like you are not on the latest version, which is 0.28
Correct. Rookie/mscp are both on 0.25. Floyd/Bliep are on 0.28. blik is on a private version from >10 years ago. I tend not to upgrade a configuration when something works well.
[Account deleted]
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: Using icsdrone

Post by sje »

Motivation for switching to icsdrone comes in part from a newly discovered bug in xboard/XQuartz on OS/X 10.11 where text entry in xboard dialog boxes completely fails. This means having to manually edit the xboard configuration file each time when changing some parameter which can't be easily set via a command line call. I can live with this, but I can't help but wonder what the next problem will be and I just don't have the time to participate with further bug hunting.

Removing xboard also removes the need for XQuartz and the entire macports installation. The only loss is the GUI, but I can use Symbolic's colorized character based GUI instead. It's not as pretty, but it is extremely fast and is easily viewed remotely via an ssh terminal connection. I might even make another try with using the Unicode chessmen glyphs:

♙♘♗♖♕♔ ♟♞♝♜♛♚

With ANSI color:

♙♘♗♖♕♔ ♟♞♝♜♛♚

Since icsdrone seizes an engine's standard streams, I'll have to have Symbolic do its GUI I/O directly to /dev/tty which should work, I hope.
Michel
Posts: 2292
Joined: Mon Sep 29, 2008 1:50 am

Re: Using icsdrone

Post by Michel »

jdart wrote:Last time I tried it there were problems. See http://sourceforge.net/p/icsdrone/bugs/9/.

--Jon
I have now fixed both reported issues in the master branch

http://sourceforge.net/p/icsdrone/code/ci/master/tree/

icsdrone now recognizes result commands from the engine and it will also send result commands to the engine (the reason it was not doing this was that a boolean condition based on strcmp condition was inverted).
Ideas=science. Simplification=engineering.
Without ideas there is nothing to simplify.