Trial of new ICS

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

TonyJH
Posts: 183
Joined: Tue Jun 20, 2006 4:41 am
Location: USA

Re: Trial of new ICS

Post by TonyJH »

Here is a snippet of the debug output. I'll also send the file to you.

Code: Select all

>ICS: set tell 1\012
<ICS: You will now hear tells from unregistered users.\012\015trics% 
ics input 0, castling = 7 0 4 7 0 4
<ICS: \012\015Challenge: Test (++++) TJchess (++++) unrated Capablanca 5 3 Loaded from \012\015\   capablanca/capablanca.\012\015You can "accept" or "decline", or propose different parameters.\012\015trics% 
ics input 0, castling = 7 0 4 7 0 4
recognized '' (-1) as variant normal
>ICS: $tell Test This computer can't play  [normal], only capablanca\012$decline Test\012
<ICS: (told Test)\012\015trics% 
ics input 0, castling = 7 0 4 7 0 4
<ICS: You decline the match offer from Test.\012\015trics% 
One thing I noticed is that in this text: "This computer can't play [normal]" there are two spaces between play and [normal], as if there is a string missing there. Normally you could see something like "This computer can't play blitz [normal]".
User avatar
hgm
Posts: 28391
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Trial of new ICS

Post by hgm »

OK, this is what happens if I look at the corresponding part for Fairy-Max:

Code: Select all

<ICS: \012\015Challenge: admin (----) FairyMax (----) unrated Capablanca 5 3 Loaded from \012\015\   capablanca/capablanca.\012\015You can "accept" or "decline", or propose different parameters.\012\015fics% 
ics input 0, castling = 7 0 4 7 0 4
recognized '' (-1) as variant normal
>ICS: $accept admin\012
<ICS: You accept the challenge of admin.\012\015\012\015Creating: admin (0) FairyMax (0) unrated Capablanca 3000 30\012\015\012\015{Game 1 (admin vs. FairyMax) Creating unrated Capablanca match.}\012\015\012\015<12> rnabqkbcnr pppppppppp ---------- ---------- ---------- ---------- PPPPPPPPPP RNABQKBCNR W -1 1 1 1 1 0 1 admin FairyMax -1 5 3 59 59 300 300 1 none (0:00) none 1 0\012\015\012\015\015fics% 
ics input 0, castling = 7 0 4 7 0 4
Ratings from 'Creating:' admin 0, FairyMax 0
Parsing board: rnabqkbcnr pppppppppp ---------- ---------- ---------- ---------- PPPPPPPPPP RNABQKBCNR W -1 1 1 1 1 0 1 admin FairyMax -1 5 3 59 59 300 300 1 none (0:00) none 1 0

recognized 'ICS unrated Capablanca match' (-1) as variant capablanca
Switch board from normal to capablanca
Apparently the variant from the challenge is not recognized correctly (as somehow it is an empty string), and based on that the challenge is declined for TJchess. But Fairy-Max also plays normal, so it does accept the challenge. Only when, in reaction to this, the match is created, WinBoard recognizes the true variant.

This is clearly a WinBoard error, which will only become apparent in engines that do not support 'normal'. It somehow parses the wrong string after the challenge. I will try to fix it straight away. (For which I will have to take the server off line, to reboot under Windows.)
User avatar
hgm
Posts: 28391
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Trial of new ICS

Post by hgm »

OK, it seems to be fixed now. Problem might be that in the challenge "capablanca/capablanca" appears on a new line. It was this parameter that WinBoard tried to match to extract the variant from the challenge message, apparently because on FICS the variant itself is always "wild", and you have to figure out from the "board" what you are really playing.

I changed it in WinBoard, when it gets an empty string for the board, it tries to get the variant from the earlier name (which appears after "unrated"). In Fairy-Max this now works; it gets the correct variant already from the Challenge.

You will have to reload the ICSclient.zip to get the adapted version.
TonyJH
Posts: 183
Joined: Tue Jun 20, 2006 4:41 am
Location: USA

Re: Trial of new ICS

Post by TonyJH »

Yes, it's working now. Thanks.
TonyJH
Posts: 183
Joined: Tue Jun 20, 2006 4:41 am
Location: USA

Re: Trial of new ICS

Post by TonyJH »

I've seen a problem happen a couple of times in capablanca games between TJchess and FairyMax. In both games, TJ had promoted a pawn to chancellor, and then I saw an error message from the server: "Don't understand that move." FairyMax doesn't make anymore moves and runs out of time, but the server doesn't enforce the loss on time. I have the autoflag setting enabled in WinBoard. I get repeated messages saying "Your opponent is not out of time!" while the clock keeps running forever.
krazyken

Re: Trial of new ICS

Post by krazyken »

Well in reality, it is probably TJchess that ran out of time since the server is still waiting for a legal move from you. Sounds like you are in a dead zone where your client thinks the move is legal but the server doesn't. will probably require patching the server to make sure all the different promotions are taken care of.
User avatar
hgm
Posts: 28391
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Trial of new ICS

Post by hgm »

Indeed, it sounds like I still overlooked a place in the promotion code when converting the server to also recognize A and C as valid pieces. Now that I know what to look for I can trace it down by some hand-played games.

This creates exactly the situation as Ken describes. Fairy-Max did not flag you either, as I now see the "auto Flag" option again reverted to not being ticked, as I re-loaded a patched version of the ICSclient WinBoard yesterday evening (the new version recognizes continuation lines that were split off by the Lasker ICS, and join them with the preceeding line before parsing). I really should make sure that next time I upload the ICS client, I include a winboard.ini with it that has autoCallFlag switched on...
User avatar
hgm
Posts: 28391
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Trial of new ICS

Post by hgm »

I think I have crazyhouse running now as well. There still might be an issue with recognition of the variant, and relaying it to the engine. This has always been a bit shaky for Crazyhouse in WinBoard. I am not sure the engine playing white will always know it is playing Crazyhouse from the beginning. Nevertheless, I could have Sunsetter play itself over the server.

To start a Crazyhouse game, do

match sunsetter 5 1 u w23

I also restructured the variant recognition by the server. As a consequence, the 1 at the end is no longer needed. The following commands work:

match joker 5 1 u gothic
match joker 5 1 u capablanca
match joker 5 1 u capablanca gothic
match joker 5 1 u capablanca capablanca
match joker 5 1 u capablanca carrera
match joker 5 1 u capablanca bird
match joker 5 1 u capablanca embassy
match fairymax 5 1 u knightmate

The subtle difference between the first two and the second two commands is that the first two are understood to start from the default position of the variant, and will not print a board with the smoves command (or a FEN in the pgn). The other variants are considered as having started from a setup position, and do print a board in the header of the 'moves' command, so that observing them now works properly. This also opens the way for shuffle variants, but before it can do Chess960, I will have to overhaul the castling code.
TonyJH
Posts: 183
Joined: Tue Jun 20, 2006 4:41 am
Location: USA

Re: Trial of new ICS

Post by TonyJH »

Crazyhouse is working for me too. I did see two problems:
1. The problem you mentioned: The engine playing white doesn't know it's playing a crazyhouse game until it has already made its first move. This messes up TJchess's book move selection.
2. I get a popup error message in WinBoard at the beginning of each game that says "Failed to parse board string: "W"". The error message doesn't seem to cause any problem, though.
User avatar
hgm
Posts: 28391
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Trial of new ICS

Post by hgm »

Hmm, interesting. I never got that particular message. But It might be because I had already patched WinBoard to pre-empt it. Try to download ICSclient.zip again, and if the problem remains, send me a debug. But I think this has to do with the way the Lasker server breaks too-long lines (like the board) in continuation lines, and then it should be fixed in this latest version.

There should be another problem, that the server will declare you checkmated when you still can interpose with drops. For Bughouse it checks if interposing is possible in theory, even when your current holdings are empty, and then suppresses the checkmate verdict. But I have the feeling this is also wrong, as the partner game might be in a similar position, and then you are collectively checkmated. I also did not discover any code for checking if the other game is already finished.

So I guess I will have to put in code that first tests if you can interpose with your current holdings, and if not, checks if the partner game is still running and not similarly dead-locked.