Duck Chess

Discussion of chess software programming and technical issues.

Moderator: Ras

rgrosz789
Posts: 121
Joined: Sat Dec 03, 2022 9:28 pm
Full name: Rick Groszkiewicz

Re: Duck Chess

Post by rgrosz789 »

Now I am testing by using ssh at the command prompt in Windows. Now I am getting this error message:
Permission denied (publickey)

Lots of possible sources for this problem to test out ...
Retired actuary and software developer. I love chess, coffee, wine and food
rgrosz789
Posts: 121
Joined: Sat Dec 03, 2022 9:28 pm
Full name: Rick Groszkiewicz

Re: Duck Chess

Post by rgrosz789 »

I decided to give up on communication between PCs running Winboard on Windows and Xboard on Linux.

I have now set up a new PC with KDE Neon. After loading numerous packages, I was finally able to compiling both xboard and uci2wb.

The weird problem is that MayhemDuck gives an error when I load it as a new engine:
"Variant duck not supported by MayhemDuck".

I was able to get around this by loading it in the terminal:
xboard -debug -fcp "uci2wb mayhem18" -variant duck

I can play against MayhemDuck or against FSFDuck. But I can NOT get MayhemDuck engines to play against each other.

I can load the first engine as described above. I don't get an error when I load the second engine. But when I choose Mode / Two machines, I get a different error:
"second engine does not play this"

Here is the xboard.debug output file. Note - the error message about (unknown command) also appears when I play against MayhemDuck.

locale = en_US.UTF-8
recognized 'duck' (-1) as variant duck
recognized 'duck' (-1) as variant duck
recognized 'duck' (-1) as variant duck
shuffleOpenings = 0
shuffleOpenings = 0
Version: xboard 4.9.1 + uci2wb ()
Reset(1, 0) from gameMode 0
recognized 'duck' (-1) as variant duck
GameEnds(0, (null), 2)
shuffleOpenings = 0
StartChildProcess (dir=".") uci2wb mayhem18
300 >first : xboard
protover 2
303 <first : feature setboard=1 usermove=1 debug=1 ping=1 name=1 reuse=0 exclude=1 pause=1 sigint=0 sigterm=0 done=0
303 >first : accepted setboard
303 >first : accepted usermove
303 >first : accepted debug
303 >first : accepted ping
303 >first : accepted name
303 >first : accepted reuse
303 >first : accepted exclude
303 >first : accepted pause
303 >first : accepted sigint
303 >first : accepted sigterm
303 >first : accepted done
303 <first : feature option="UCI2WB debug output -check 0"
303 >first : accepted option
303 <first : feature option="ponder always -check 0"
303 >first : accepted option
539 <first : feature myname="MayhemDuck 1.8 (UCI2WB)"
539 >first : accepted myname
539 <first : feature option="duck960 -check 0"
539 >first : accepted option
539 <first : feature option="Level -spin 100 0 100"
539 >first : accepted option
539 <first : feature option="MoveOverhead -spin 100 0 10000"
539 >first : accepted option
539 <first : feature variants="duck"
539 >first : accepted variants
539 <first : feature smp=1 memory=0 done=1
539 >first : accepted smp
539 >first : accepted memory
539 >first : accepted done
540 >first : cores 1
540 >first : new
random
540 >first : variant duck
540 >first : level 0 3 2
540 >first : post
540 >first : hard
540 >first : ping 1
Impossible move , type = 0
541 <first : Error (unknown command): cores
541 <first : pong 1
Unload second
Reset(1, 1) from gameMode 0
recognized 'duck' (-1) as variant duck
GameEnds(0, (null), 2)
8335 >first : quit
shuffleOpenings = 0
StartChildProcess (dir=".") uci2wb mayhem18
8397 >first : xboard
protover 2
8397 >first : cores 1
8397 >first : new
random
8397 >first : variant duck
8397 >first : level 0 3 2
8397 >first : post
8397 >first : hard
8397 >first : ping 2
Impossible move , type = 0
8418 <first : feature setboard=1 usermove=1 debug=1 ping=1 name=1 reuse=0 exclude=1 pause=1 sigint=0 sigterm=0 done=0
8418 >first : accepted setboard
8418 >first : accepted usermove
8418 >first : accepted debug
8418 >first : accepted ping
8418 >first : accepted name
8418 >first : accepted reuse
8418 >first : accepted exclude
8418 >first : accepted pause
8418 >first : accepted sigint
8418 >first : accepted sigterm
8418 >first : accepted done
8418 <first : feature option="UCI2WB debug output -check 0"
8418 >first : accepted option
8418 <first : feature option="ponder always -check 0"
8418 >first : accepted option
8705 <first : feature myname="MayhemDuck 1.8 (UCI2WB)"
8705 >first : accepted myname
8706 <first : feature option="duck960 -check 0"
8706 >first : accepted option
8706 <first : feature option="Level -spin 100 0 100"
8706 >first : accepted option
8706 <first : feature option="MoveOverhead -spin 100 0 10000"
8706 >first : accepted option
8706 <first : feature variants="duck"
8706 >first : accepted variants
8706 <first : feature smp=1 memory=0 done=1
8706 >first : accepted smp
8706 >first : accepted memory
8706 >first : accepted done
8706 <first : Error (unknown command): cores
8706 <first : pong 2
13907 >first : force
StartChildProcess (dir="") polyglot -noini -ec "mayhem24" -ed "." -uci NalimovCache=4 -pg ShowTbHits=true
13910 >second: xboard
protover 2
13915 <second: PolyGlot 2.0.4 by Fabien Letouzey.
14153 <second: feature done=0
14153 >second: accepted done
14153 <second: feature analyze=1
14153 >second: accepted analyze
14153 <second: feature exclude=1
14153 >second: accepted exclude
14153 <second: feature colors=0
14153 >second: accepted colors
14153 <second: feature draw=1
14153 >second: accepted draw
14153 <second: feature ics=1
14153 >second: accepted ics
14153 <second: feature myname="MayhemDuck 2.4"
14153 >second: accepted myname
14153 <second: feature name=1
14153 >second: accepted name
14153 <second: feature pause=0
14153 >second: accepted pause
14153 <second: feature ping=1
14153 >second: accepted ping
14153 <second: feature playother=1
14153 >second: accepted playother
14153 <second: feature sigint=1
14153 >second: accepted sigint
14153 <second: feature reuse=1
14153 >second: accepted reuse
14153 <second: feature san=0
14153 >second: accepted san
14153 <second: feature setboard=1
14153 >second: accepted setboard
14153 <second: feature sigint=0
14153 >second: accepted sigint
14153 <second: feature sigterm=0
14153 >second: accepted sigterm
14153 <second: feature time=1
14153 >second: accepted time
14153 <second: feature usermove=1
14153 >second: accepted usermove
14153 <second: feature nps=1
14153 >second: accepted nps
14153 <second: feature memory=1
14153 >second: accepted memory
14153 <second: feature smp=0
14153 >second: accepted smp
14153 <second: feature egt=""
14153 >second: accepted egt
14153 <second: feature variants="normal"
14153 >second: accepted variants
14153 <second: feature option="UCI_Variant -value duck *duck"
14153 >second: accepted option
14153 >second: rejected option UCI_Variant -value duck *duck
14153 <second: feature option="Duck960 -check 0"
14153 >second: accepted option
14153 <second: feature option="Debug -check 0"
14153 >second: accepted option
14153 <second: feature option="OwnBook -check 1"
14153 >second: accepted option
14153 <second: feature option="Level -spin 100 0 100"
14153 >second: accepted option
14153 <second: feature option="MoveOverhead -spin 100 0 10000"
14153 >second: accepted option
14154 <second: feature option="Polyglot exclude move -string "
14154 >second: accepted option
14154 <second: feature option="Polyglot SettingsFile -file /home/rick/.polyglot/MayhemDuck_2.4.ini"
14154 >second: accepted option
14154 <second: feature option="Polyglot Log -check 0"
14154 >second: accepted option
14154 <second: feature option="Polyglot LogFile -file polyglot.log"
14154 >second: accepted option
14154 <second: feature option="Polyglot Resign -check 0"
14154 >second: accepted option
14154 <second: feature option="Polyglot ResignMoves -spin 3 0 10000"
14154 >second: accepted option
14154 <second: feature option="Polyglot QueenNeverResigns -check 1"
14154 >second: accepted option
14154 <second: feature option="Polyglot ResignScore -spin 600 0 10000"
14154 >second: accepted option
14154 <second: feature option="Polyglot Handledraws -check 0"
14154 >second: accepted option
14154 <second: feature option="Polyglot ContemptScore -spin 30 0 10000"
14154 >second: accepted option
14154 <second: feature option="Polyglot Book -check 0"
14154 >second: accepted option
14154 <second: feature option="Polyglot BookFile -file book.bin"
14154 >second: accepted option
14154 <second: feature option="Polyglot BookRandom -check 1"
14154 >second: accepted option
14154 <second: feature option="Polyglot BookDepth -spin 256 0 256"
14154 >second: accepted option
14154 <second: feature option="Polyglot ShowTbHits -check 1"
14154 >second: accepted option
14154 <second: feature option="Polyglot STFudge -spin 20 0 1000"
14154 >second: accepted option
14154 <second: feature option="Polyglot SyncStop -check 0"
14154 >second: accepted option
14154 <second: feature option="Polyglot Save -save"
14154 >second: accepted option
14154 <second: feature done=1
14154 >second: accepted done
GameEnds(0, (null), 2)
GE(0, (null), 2) bare king k=16 color=66
14161 >first : quit
14211 >second: force
14211 >second: ping 1
StartChildProcess (dir=".") uci2wb mayhem18
14212 >first : xboard
protover 2
14212 >first : cores 1
14212 >first : new
random
14212 >first : variant duck
14212 >first : level 0 3 2
14212 >first : post
14212 >first : hard
14212 >first : ping 3
Impossible move , type = 0
Feeding moves 0 through 0 to first chess program
14213 >first : force
14215 <first : feature setboard=1 usermove=1 debug=1 ping=1 name=1 reuse=0 exclude=1 pause=1 sigint=0 sigterm=0 done=0
14215 >first : accepted setboard
14215 >first : accepted usermove
14215 >first : accepted debug
14215 >first : accepted ping
14215 >first : accepted name
14215 >first : accepted reuse
14215 >first : accepted exclude
14215 >first : accepted pause
14215 >first : accepted sigint
14215 >first : accepted sigterm
14216 >first : accepted done
14216 <first : feature option="UCI2WB debug output -check 0"
14216 >first : accepted option
14216 <first : feature option="ponder always -check 0"
14216 >first : accepted option
14216 <second: pong 1
14464 <first : feature myname="MayhemDuck 1.8 (UCI2WB)"
14464 >first : accepted myname
14464 <first : feature option="duck960 -check 0"
14464 >first : accepted option
14464 <first : feature option="Level -spin 100 0 100"
14464 >first : accepted option
14464 <first : feature option="MoveOverhead -spin 100 0 10000"
14464 >first : accepted option
14464 <first : feature variants="duck"
14464 >first : accepted variants
14464 <first : feature smp=1 memory=0 done=1
14464 >first : accepted smp
14464 >first : accepted memory
14464 >first : accepted done
14464 <first : Error (unknown command): cores
14464 <first : pong 3
GameEnds(30, xboard exit, 2)
20228 >first : quit
20278 >second: quit
Retired actuary and software developer. I love chess, coffee, wine and food
User avatar
hgm
Posts: 28353
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Duck Chess

Post by hgm »

Not much of a mystery there. As you can see you use Polyglot as UCI adapter for the second engine. Polyglot does not know how to play DuckChess. So indeed "the second engine cannot play this".
rgrosz789
Posts: 121
Joined: Sat Dec 03, 2022 9:28 pm
Full name: Rick Groszkiewicz

Re: Duck Chess

Post by rgrosz789 »

Not sure why it tries to use polyglot. I did specify UCI in the engine definitions:

Image
Retired actuary and software developer. I love chess, coffee, wine and food
User avatar
hgm
Posts: 28353
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Duck Chess

Post by hgm »

It seems that mayhemduck18 is the only engine that does run. But I don't see it in your engine list. So I have no idea how you got XBoard to load it. But it seems likely that -fUCI never works, (i.e. always invokes Polyglot) because the -adapterCommand is set for polyglot rather than uci2wb.
MTaktikos
Posts: 59
Joined: Fri Oct 25, 2019 7:58 pm
Full name: Michael Taktikos

Re: Duck Chess

Post by MTaktikos »

rgrosz789 wrote: Fri May 19, 2023 11:14 pm Not sure why it tries to use polyglot. I did specify UCI in the engine definititions
Perhaps it works better to copy the uci2wb executable in the same folder as mayhemduck and to call it explicitly. Example for the first mayhemduck line:
"Mayhem23" -fcp "uci2wb mayhem23" -variant duck
User avatar
hgm
Posts: 28353
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Duck Chess

Post by hgm »

There should be no reason to copy uci2wb anywhere: if it is correctly installed, it would be in a folder in the system's search path ($PATH), so the command would work from any directory. In fact if it was in the engine's directory, it would refuse to execute, unless you would invoke it as ./uci2wb.

But there should be no problem invoking the UCI adapter through -fUCI, provided you have configured XBoard to use the adapter you want. In this case through

-adapterCommand {uci2wb debug "%fcp" "%fd"}

(The 'debug' here is optional, but it could be helpful because it also makes the adapter-engine communication visible in the xboard.debug file.)
rgrosz789
Posts: 121
Joined: Sat Dec 03, 2022 9:28 pm
Full name: Rick Groszkiewicz

Re: Duck Chess

Post by rgrosz789 »

hgm wrote: Sat May 20, 2023 5:41 pm But there should be no problem invoking the UCI adapter through -fUCI, provided you have configured XBoard to use the adapter you want. In this case through

-adapterCommand {uci2wb debug "%fcp" "%fd"}

(The 'debug' here is optional, but it could be helpful because it also makes the adapter-engine communication visible in the xboard.debug file.)
Thank you - that solved the problem. I thought this was handled as part of the make file for uci2wb:

xboard -ncp -uxiAdapter {uci2wb -%variant "%fcp" "%fd"} -autoClose || true
Retired actuary and software developer. I love chess, coffee, wine and food
User avatar
hgm
Posts: 28353
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Duck Chess

Post by hgm »

That does it for the adapter that gets invoked as a result of the -fUCCI (or -fUSI) option. I suppose you could have tried to use either of those options instead of -fUCI. But it is a bit tricky, as the command is defined such that it also passes the variant name to uci2wb, and I am nor sure what it would do with duckchess.
rgrosz789
Posts: 121
Joined: Sat Dec 03, 2022 9:28 pm
Full name: Rick Groszkiewicz

Re: Duck Chess

Post by rgrosz789 »

I finally had success using connect with the shamax engine. But it failed when I used mayhem81 (non-duck) on the PC that was NOT running xboard.

I gave up using connect with duck chess. I kept getting the message "variant duck not supported by connect".
Retired actuary and software developer. I love chess, coffee, wine and food