Skip to content

Problem with old xboard engines sending resign w/o result #645

@rwbc

Description

@rwbc

While doing some tests for a new tool, I had to check a few old engines with unusual eval output while playing with own books.
Here I noticed that CuteChess GUI doesn't understand 'computer resigns' if it has no result attached with it.
CuteChess then just waits and after a while after the time was run out it reports the usual 'connection stalled'.

With Inbetween I can modify the sent string 'computer resigns' to e.g. 1-0 computer resigns', but of course
it will be a wrong result claim in some cases (I cannot know the colour being played at runtime), but at least it saves
time before the engine will be considered as 'stalled'.

295.092: < computer resigns
295.092: > force
295.092: > result 1-0 {White wins by adjudication: Invalid result claim}
519.062: <    3   -564       0    534 a8b8 b5a5 e7d8
519.062: <    5   -583       0   2441 a8b8 b5a6 b8a8 a6b7 a8a1
519.062: <    6   -661       0   3162 a8b8
519.062: <    6   -661       0   4592 a8b8 b5a5 b8a8 a5b6 e7d7
519.093: <    9   -669       0  32206 a8b8 b5a6 b8a8 a6b6 a8a1 b3b2 a1b1 f3b3
519.140: <   10   -700       0  78151 a8b8 b5a5 b8a8 a5b6 a8b8 b6c7 b8b4 f3c3 g7g8 g4g8
519.187: <   11   -700       0 144632 a8b8 b5a5 b8a8 a5b6 a8b8 b6c7 b8b4 f3c3 g7g8 g4g8
519.920: <   12   -724      10 942867 a8b8 b5a5 b8c8 h3h2 c8a8 a5b6 a8b8
520.388: <   13   -779      10 1445951 a8b8
525.411: <   13   -823      60 6965124 a8b8 b5a5 b8c8 h3h2 c8a8 a5b6 a8a1 g4g7 f8g7 c4f1
529.108: <   16   -878     100 10891163 a8b8
545.785: <   16   -892     270 29032457 a8b8 b5a5 b8a8 c4a6 a8d8 h3h2 d8d1 g4g7 f8g7 f3f1 d1d4 b3b2 e7e6 a6c8 e6e7 h2h1
545.785: < computer resigns
642.817: > ?

According to the specs this is/was allowed once (probably what is called protover1).
It should be easy to fix, as CuteChess already reads the string 'resign'.
(Some of them have resigning hardcoded and it cannot be switched off at all)

To support older engines, certain additional commands from the engine to xboard are also recognized.
(These are commands by themselves, not values to be placed in the comment field of the PGN result code.)
These forms are not recommended for new engines; use the PGN result code commands or the resign command instead. 

Command | Interpreted as
-- | --
White resigns | 0-1 {White resigns}
Black resigns | 1-0 {Black resigns}
White | 1-0 {White mates}
Black | 0-1 {Black mates}
Draw | 1/2-1/2 {Draw}
computer mates | 1-0 {White mates} or 0-1 {Black mates}
opponent mates | 1-0 {White mates} or 0-1 {Black mates}
computer resigns | 0-1 {White resigns} or 1-0 {Black resigns}
game is a draw | 1/2-1/2 {Draw}
checkmate | 1-0 {White mates} or 0-1 {Black mates}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions