Symbolic is not sending a draw OFFER. In fact, there currently is no code in the program to send a draw OFFER. Symbolic is sending a draw CLAIM. How did this CLAIM get changed into an OFFER?
Also, the time values given with the time/otim inputs to the local engine always seem to be rounded up to the nearest multiple of 100 centiseconds.
The one exception is where the opponent is out of time; in this case the suspicious value of one centisecond is sent with the otim input to the local engine.
ICS servers do not have a different command for offer vs claim draw. But as to why the first repetition didn't get claimed, That would probably be a bug somewhere. Does your log show if the draw was sent to the server before or after you moved?
krazyken wrote:ICS servers do not have a different command for offer vs claim draw. But as to why the first repetition didn't get claimed, That would probably be a bug somewhere. Does your log show if the draw was sent to the server before or after you moved?
There was never any "draw" sent by Symbolic to xboard.
In both repetitions, the move was sent (from Symbolic to xboard) first and was immediately (i.e.; less than one millisecond later) followed by the 1/2-1/2 claim (again, from Symbolic to xboard). Symbolic has no way to log the data flow between xboard and the server. Only the terminal window showed the "draw offer sent" message and I can't say if that was sent before or after Symbolic's draw claim.
krazyken wrote:ICS servers do not have a different command for offer vs claim draw. But as to why the first repetition didn't get claimed, That would probably be a bug somewhere. Does your log show if the draw was sent to the server before or after you moved?
There was never any "draw" sent by Symbolic to xboard.
In both repetitions, the move was sent (from Symbolic to xboard) first and was immediately (i.e.; less than one millisecond later) followed by the 1/2-1/2 claim (again, from Symbolic to xboard). Symbolic has no way to log the data flow between xboard and the server. Only the terminal window showed the "draw offer sent" message and I can't say if that was sent before or after Symbolic's draw claim.
I guess I wasn't clear enough, when on an ICS, 1/2-1/2 is treated exactly the same as "draw". As for the timing of the event, you'd have to check the xboard debug log. What I suspect is that if the server received the move 96. Qd5 before your claim reached the server, your claim was no longer valid. There is a race condition here, and I believe that the way ICC handles it is you must make the draw claim before your move. There are a few recent marathon threads discussing the intricacies of claiming a draw in xboard. Including some recently changed behavior in Xboard. http://www.talkchess.com/forum/viewtopic.php?t=27612 http://www.talkchess.com/forum/viewtopic.php?t=27570 http://www.talkchess.com/forum/viewtopic.php?t=27600
When playing on an ICS, XBoard has a passive function. It is the ICS that controls the scoresheet, and if XBoard would say things to the ICS like "the game is done and I have won", the ICS would simply forfeit you on time, and your "win" would show uplike a big fat zero in the ICS records.
So all XBoard can do is make kind requests to the ICS. If your engine claims a draw, it cannot terminate the game by itself, but forwards the claim to the ICS. The command in ICS protocol for this is "draw". This is the same command as ICS protocol uses for _offering_ draws. And the ICS can refuse such claims, even when they are perfectly valid, when you send them after your move. Even if you send them within 1 msec after your move. Becasue it is not at all sure that the ICS will _receive_ that command then within 1 msec after your move. The opponent might already have moved by the time the ICS receives your claim.
The workaround the ICS provides for this is to send "draw" before a move that draws. This is treated as an offer before the move, but if the opponent refuses the offer it is still claimed as a draw afterwards.
To have your engine send "draw" to the ICS, you can use "offer draw" (recommeded) or "tellics draw" in WB protocol.
About the time:
I think the ICS only tells you the time left on your clock in seconds. Again, there is not much XBoard can do about this.
Symbolic is not sending a draw OFFER. In fact, there currently is no code in the program to send a draw OFFER. Symbolic is sending a draw CLAIM. How did this CLAIM get changed into an OFFER?
We have been around and around this issue. There seems to be little interest in fixing the protocol to make it appear rational for both offering and claiming draws, so we are stuck with something that is clumsy.
I think the solution I originally proposed was quite logical. But it was rejected.
For the case at hand, (ICS play) nothng was changed, b.t.w. The problem is that the solution to the race condition you coocked up with the ICC site maintainer requires the claim to be sent before the move, which to most people is counter-intuitive. And that the ICS calls the draw claim a draw offer, and refuses it.
This is purely a problem of ICS protocol. You are barking up the wrong tree.