bob wrote: My point in the previous discussion was that I can not tell whether I am playing another engine in a local match, or playing on ICS. And we at least need consistent behavior for both cases.
The current protocol provides this: you don't need to know if you are running in ICS or local mode. In all cases you have to do exactly the same to claim "after-the-move draws": send offer draw, and send your move, and then send the 1/2-1/2. This sequence works in all modes on all versions of xboard.
The current protocol specs cleary point out the problem for the new benefit of new engine authors, bot in th description of the offer draw and the RESULT command.
My point in the previous discussion was that I can not tell whether I am playing another engine in a local match, or playing on ICS.
I think winboard sends the host command when playing on a chess server. And if I remember correctly it sends "-" as host when playing locally.
Never seen a "host" command, and I don't handle such and crafty would complain...
You are quite correct, it is the "ics" command, i just called the argument to this command "host" in my program. But my point was that you could know if playing on server or locally.
My point in the previous discussion was that I can not tell whether I am playing another engine in a local match, or playing on ICS.
I think winboard sends the host command when playing on a chess server. And if I remember correctly it sends "-" as host when playing locally.
Never seen a "host" command, and I don't handle such and crafty would complain...
You are quite correct, it is the "ics" command, i just called the argument to this command "host" in my program. But my point was that you could know if playing on server or locally.
I am not seeing any "ics" command either. It is not in the winboard protocol specification I have.
bob wrote: My point in the previous discussion was that I can not tell whether I am playing another engine in a local match, or playing on ICS. And we at least need consistent behavior for both cases.
The current protocol provides this: you don't need to know if you are running in ICS or local mode. In all cases you have to do exactly the same to claim "after-the-move draws": send offer draw, and send your move, and then send the 1/2-1/2. This sequence works in all modes on all versions of xboard.
The current protocol specs cleary point out the problem for the new benefit of new engine authors, bot in th description of the offer draw and the RESULT command.
Correct, but notice we are _not_ talking about winboard at the moment. This is another interface that uses the winboard protocol and missed this important nuance of offering/claiming a draw before making the move. If someone does this just like xboard currently does, all is well. Otherwise there are issues and a race condition that is ugly.
My point in the previous discussion was that I can not tell whether I am playing another engine in a local match, or playing on ICS.
I think winboard sends the host command when playing on a chess server. And if I remember correctly it sends "-" as host when playing locally.
Never seen a "host" command, and I don't handle such and crafty would complain...
You are quite correct, it is the "ics" command, i just called the argument to this command "host" in my program. But my point was that you could know if playing on server or locally.
I am not seeing any "ics" command either. It is not in the winboard protocol specification I have.
ics HOSTNAME
If HOSTNAME is "-", the engine is playing against a local opponent; otherwise, the engine is playing on an Internet Chess Server (ICS) with the given hostname. This command is new in protocol version 2 and is not sent unless the engine has enabled it with the "feature" command. Example: "ics freechess.org"
My point in the previous discussion was that I can not tell whether I am playing another engine in a local match, or playing on ICS.
I think winboard sends the host command when playing on a chess server. And if I remember correctly it sends "-" as host when playing locally.
Never seen a "host" command, and I don't handle such and crafty would complain...
You are quite correct, it is the "ics" command, i just called the argument to this command "host" in my program. But my point was that you could know if playing on server or locally.
I am not seeing any "ics" command either. It is not in the winboard protocol specification I have.
ics HOSTNAME
If HOSTNAME is "-", the engine is playing against a local opponent; otherwise, the engine is playing on an Internet Chess Server (ICS) with the given hostname. This command is new in protocol version 2 and is not sent unless the engine has enabled it with the "feature" command. Example: "ics freechess.org"
I have about a million log files from playing on ICC and I have _never_ seen that command sent to crafty. I just did a grep for "ics" in the log files and it is not present in a single one. Which simply means xboard is not sending it to crafty..
That's all I have said. I just looked and one has to enable that feature to get it which is probably why I don't see it. But it is a moot point in my opinion. The point is that a protocol is a _standard_ that you follow all the time. Not one that you modify for playing online or when playing locally, or anything else. I really don't care how I (Crafty) am playing. I accept the same commands whether playing online or not, although some commands will not normally be sent (rating, name, etc). But I make no distinction, and don't want to make a distinction. That only makes for more code and more bugs.