Problems with Windboard saving PGN games
Posted: 27 May 2009, 03:16
Hello all,
I use an ICS emulator and Winboard_X to play games in Yahoo and I am having problems with the way the games are saved.
The games are saved perfectly fine if I am playing with or without an engine, the problems arise when I am just observing games.
If Winboard_x was launched with out an engine (omitting /zp), the game moves are saved correctly but the players elo is omited:
This is a short section of the winboard.debug file (does not correspond to the game shown above) where the saved game omits the player's elo.
Please observe that Winboard fails to write the player's elo despite these statements recorded by winboard.debug:
Ratings from 'Creating:' leonbeck 1889, vm_cezar 1710
Remembered ratings: W 1889, B 1710
If Winboard_x was launched with an engine via polyglot, the player's elo is now not omited but the first three half moves are replaced by a FEN notation:
This is a short section of the winboard.debug file, when polyglot is used and the first three half moves are "eaten":
I know my ICS emulator has the capability to do things right because when I join a table with a game in progress, the server sends the move history, which is in turn parsed to winboard and this is the only scenario where the game moves are saved correctly and the player's elo are included:
***************************************************************************
Having the ELO and all the moves saved correctly is very important for me and the
groups of people using this ICS Emulator (named YaY, and that I co-develop) because
we use these saved games to create bin books. For years we had been discarding the games that are not saved correctly but due to recent events I will have some more free time in my hands and I would like to tackle this problem with your help of course.
So, is there anything we are doing wrong? Or this a know bug/limitation of Winboard_X? Is there work around? Or there are some comands I should parse to Winboard to make this work as I expected to? By the way, in liue of this issues I just discovered the flag /debug and started using it but I am at lost. Is there a readme file somewhere that explains how to understand the info captured by winboard.debug file? Is there a website or readme file that explains the commands between the ICS server and winboard(not to be confuse with command between winboard and the engine ?
Thanks in advance for your kind help.
I use an ICS emulator and Winboard_X to play games in Yahoo and I am having problems with the way the games are saved.
The games are saved perfectly fine if I am playing with or without an engine, the problems arise when I am just observing games.
If Winboard_x was launched with out an engine (omitting /zp), the game moves are saved correctly but the players elo is omited:
- Code: Select all
[Event "ICS rated lightning match"]
[Site "127.0.0.1"]
[Date "2009.05.26"]
[Round "-"]
[White "meridapepe"]
[Black "r_seko"]
[Result "0-1"]
[TimeControl "60"]
1. e4 b6 2. g3 Bb7 3. Bg2 h5 4. h4 e6 5. d3 f6 6. Nc3 g5 7. hxg5 fxg5 8.
Nf3 h4 9. Bxg5 Be7 10. Bxh4 Bxh4 11. Rxh4 Rxh4 12. Nxh4 Qg5 13. Qf3 Nc6 14.
Qf4 Qg7 15. O-O-O O-O-O 16. d4 e5 17. Qe3 exd4 18. Qf4 dxc3 19. b3 Na5 20.
Nf5 Qf6 21. Nd4 Qxf4+ 22. gxf4 Ne7 23. f5 c5 24. Nb5 Nxf5 25. Nd6+ Nxd6
{r.seko wins} 0-1
This is a short section of the winboard.debug file (does not correspond to the game shown above) where the saved game omits the player's elo.
- Code: Select all
<ICS: \012\015{Game 61 (leonbeck vs. vm_cezar) leonbeck checkmated} 0-1\012\015\012\015fics% Table 61: leonbeck's old rating: 1915; new rating: 1889\012\015fics% Table 61: vm_cezar's old rating: 1685; new rating: 1710\012\015fics%
GameEnds(32, leonbeck checkmated, 0)
<ICS: Table 61: leonbeck requests to start the game.\012\015fics%
<ICS: Table 61: vm_cezar requests to start the game.\012\015fics%
<ICS: Table 61: Start requests reset.\012\015fics%
<ICS: \012\015Creating: leonbeck (1889) vm_cezar (1710) rated lightning 1 0\012\015{Game 61 (leonbeck vs. vm_cezar) Creating rated lightning match.}\012\015fics%
Ratings from 'Creating:' leonbeck 1889, vm_cezar 1710
<ICS: \012<12> rnbqkbnr pppppppp -------- -------- -------- -------- PPPPPPPP RNBQKBNR W -1 1 1 1 1 0 61 leonbeck vm_cezar 0 1 0 39 39 60 60 1 none 0:00 none 0\012fics% Table 61: leonbeck requests to start the game.\012\015fics%
Parsing board: rnbqkbnr pppppppp -------- -------- -------- -------- PPPPPPPP RNBQKBNR W -1 1 1 1 1 0 61 leonbeck vm_cezar 0 1 0 39 39 60 60 1 none 0:00 none 0
Reset(0, 1) from gameMode 11
recognized 'normal' (-1) as variant normal
GameEnds(0, (null), 2)
recognized 'ICS rated lightning match' (-1) as variant normal
Remembered ratings: W 1889, B 1710
<ICS: \012<12> rnbqkbnr pppppppp -------- -------- ----P--- -------- PPPP-PPP RNBQKBNR B -1 1 1 1 1 0 61 leonbeck vm_cezar 0 1 0 39 39 59 60 1 P/e2-e4 0:00 e2e4 0\012fics%
Parsing board: rnbqkbnr pppppppp -------- -------- ----P--- -------- PPPP-PPP RNBQKBNR B -1 1 1 1 1 0 61 leonbeck vm_cezar 0 1 0 39 39 59 60 1 P/e2-e4 0:00 e2e4 0
Please observe that Winboard fails to write the player's elo despite these statements recorded by winboard.debug:
Ratings from 'Creating:' leonbeck 1889, vm_cezar 1710
Remembered ratings: W 1889, B 1710
If Winboard_x was launched with an engine via polyglot, the player's elo is now not omited but the first three half moves are replaced by a FEN notation:
- Code: Select all
[Event "ICS rated lightning match"]
[Site "127.0.0.1"]
[Date "2009.05.26"]
[Round "-"]
[White "dcherizzann"]
[Black "pointstealer1964"]
[Result "0-1"]
[WhiteElo "1767"]
[BlackElo "1813"]
[TimeControl "60"]
[FEN "rnbqkbnr/pppp1ppp/4p3/8/3PP3/8/PPP2PPP/RNBQKBNR b KQkq - 0 2"]
[SetUp "1"]
{--------------
r n b q k b n r
p p p p . p p p
. . . . p . . .
. . . . . . . .
. . . P P . . .
. . . . . . . .
P P P . . P P P
R N B Q K B N R
black to play
--------------}
1... b6 2. Bd3 Bb7 3. f4 d6 4. Nf3 a6 5. O-O Nd7 6. e5 d5 7. c3 Qe7 8. f5
O-O-O 9. fxe6 fxe6 10. a4 g6 11. b4 h6 12. Na3 Bg7 13. a5 b5 14. Nxb5 axb5
15. Bxb5 Nb8 16. Qd3 c6 17. Ba4 Ba6 18. Qe3 Bxf1 19. Kxf1 Qb7 20. Qd3 Qa6
21. b5 cxb5 22. Bxb5 Qb7 23. a6 Qc7 24. a7 Nc6 25. Ba3 Kd7 26. Bd6 Qb7 27.
Ra6 Ne7 28. Bxe7 Kxe7 29. Rxc6 Qxa7 30. h3 Qa1+ 31. Kf2 Qa2+ 32. Kg3 Qa7
33. c4 Rc8 34. Rd6 Rc7
{pointstealer1964 wins} 0-1
This is a short section of the winboard.debug file, when polyglot is used and the first three half moves are "eaten":
- Code: Select all
WinBoard 4.2.7 + polyglot15.exe
Reset(1, 0) from gameMode 0
recognized 'normal' (-1) as variant normal
GameEnds(0, (null), 2)
StartChildProcess (dir="") polyglot15.exe polyglot.ini
562 >first : xboard
protover 2
562 <first : PolyGlot 1.4W10UCIb12 by Fabien Letouzey
1014 <first : feature done=0
1014 >first : accepted done
1014 <first : feature analyze=1
1014 >first : accepted analyze
1014 <first : feature colors=0
1014 >first : accepted colors
1014 <first : feature draw=1
1014 >first : accepted draw
1014 <first : feature ics=1
1014 >first : accepted ics
1014 <first : feature myname="Rybka 3"
1014 >first : accepted myname
1014 <first : feature name=1
1014 >first : accepted name
1014 <first : feature pause=0
1014 >first : accepted pause
1014 <first : feature ping=1
1014 >first : accepted ping
1014 <first : feature playother=1
1014 >first : accepted playother
1014 <first : feature reuse=1
1014 >first : accepted reuse
1014 <first : feature san=0
1014 >first : accepted san
1014 <first : feature setboard=1
1014 >first : accepted setboard
1014 <first : feature sigint=0
1014 >first : accepted sigint
1014 <first : feature sigterm=0
1014 >first : accepted sigterm
1014 <first : feature time=1
1014 >first : accepted time
1014 <first : feature usermove=1
1030 >first : accepted usermove
1030 <first : feature memory=1
1030 >first : rejected memory
1030 <first : feature smp=1
1030 >first : rejected smp
1030 <first : feature egt="nalimov"
1030 >first : rejected egt
1030 <first : feature variants="normal"
1030 >first : accepted variants
1030 <first : feature done=1
1030 >first : accepted done
1045 >first : new
random
1045 >first : ics 127.0.0.1
1045 >first : hard
1045 >first : ping 1
<ICS: Welcome
<ICS: to YaY 3.2.1 Ultimate Flash Edition!!\012\015YaY is a fork of
<ICS: YtoICS (by Chris Howie a.k.a. crazycomputers),\012\015Programmers: matematiko/dene\012\015For a list of commands available in YaY Ultimate 3, enter the command "commands", without the quotes (").\012\015For a list of variables, enter the command
<ICS: "variables", without the quotes (").\012\015 -------- or --------\012\015Right click in this window, doing this will show most of the commands and variables.\012\015
1061 <first : pong 1
<ICS: You were logged in to Advanced Lounge 3 as: mistabota029\012\015fics%
>ICS: alias $ @\015\012$set interface WinBoard 4.2.7 + polyglot15.exe\015\012$iset startpos 1\015\012$iset ms 1\015\012$iset nohighlight 1\015\012$iset lock 1\015\012$style 12\015\012
<ICS: Server alert:\012\015It appears as though you were already connected to the\012\015games server ... your previous connection has been killed.\012\015fics%
<ICS: Client option games_common_sound set to .\012\015fics%
<ICS: Client option prowler_g set to 1.\012\015fics% Client option games_common_profanity set to 2.\012\015fics%
<ICS: Client option games_common_hidestar set to .\012\015fics%
<ICS: mistabota029 shouts: Hi\012\015(shouted to 113 players)\012\015fics%
>ICS: find 1/0\015\012
<ICS: \012\015Searching for 1/0 games....\012\015\012\015 6 majstorpravi78(2184) vs EMPTY (----) Rated Public\012\015 16 justletxiong(1924) vs r.seko (1863) Rated Public\012\015 22 dcherizzann(1782) vs pointstealer19(1798) Rated Public\012\015 33 ar_parwani(1725) vs strogoffca (1778) Rated Public\012\015 46 mikekolnik2004(1748) vs diciem77 (1757) Rated Public\012\015 47 usama_ben_jala(1969) vs EMPTY (----) Rated Public\012\015 50 marceliano21(1731) vs chadvu (1575) Rated Public\012\015 70 shan.sush(1915) vs EMPTY (----) Rated Public\012\015\012\0158 games found.\012\015fics%
>ICS: obs 22\015\012
<ICS: This table options are:\012\015Rated game: Yes.\012\015Game timer: 1 minute(s).\012\015Increment per move: 0 second(s).\012\015\012\015fics%
<ICS: You are now observing game 22.\012\015fics%
<ICS: Subroutine top_moves executed.\012\015fics%
<ICS: Table 22: Host is now pointstealer1964.\012\015fics%
<ICS: Table 22: dcherizzann requests to start the game.\012\015fics%
<ICS: Table 22: pointstealer1964 requests to start the game.\012\015fics%
<ICS: Table 22: Start requests reset.\012\015fics%
<ICS: \012\015Creating: dcherizzann (1767) pointstealer1964 (1813) rated lightning 1 0\012\015{Game 22 (dcherizzann vs. pointstealer1964) Creating rated lightning match.}\012\015fics%
Ratings from 'Creating:' dcherizzann 1767, pointstealer1964 1813
<ICS: \012<12> rnbqkbnr pppppppp -------- -------- -------- -------- PPPPPPPP RNBQKBNR W -1 1 1 1 1 0 22 dcherizzann pointstealer1964 0 1 0 39 39 60 60 1 none 0:00 none 0\012fics%
Parsing board: rnbqkbnr pppppppp -------- -------- -------- -------- PPPPPPPP RNBQKBNR W -1 1 1 1 1 0 22 dcherizzann pointstealer1964 0 1 0 39 39 60 60 1 none 0:00 none 0
recognized 'ICS rated lightning match' (-1) as variant normal
Remembered ratings: W 1767, B 1813
<ICS: \012<12> rnbqkbnr pppppppp -------- -------- ----P--- -------- PPPP-PPP RNBQKBNR B -1 1 1 1 1 0 22 dcherizzann pointstealer1964 0 1 0 39 39 57 60 1 P/e2-e4 0:00 e2e4 0\012fics%
Parsing board: rnbqkbnr pppppppp -------- -------- ----P--- -------- PPPP-PPP RNBQKBNR B -1 1 1 1 1 0 22 dcherizzann pointstealer1964 0 1 0 39 39 57 60 1 P/e2-e4 0:00 e2e4 0
27476 >first : usermove 27476 >first : e2e4
27632 <first : move c7c5
Undoing extra move from first, gameMode 14
27632 >first : undo
27725 <first : move c7c5
Undoing extra move from first, gameMode 14
27725 >first : undo
27741 <first : move c7c5
Undoing extra move from first, gameMode 14
27741 >first : undo
27756 <first : move c7c5
Undoing extra move from first, gameMode 14
27756 >first : undo
27772 <first : move c7c5
Undoing extra move from first, gameMode 14
27772 >first : undo
27788 <first : move c7c5
Undoing extra move from first, gameMode 14
27788 >first : undo
27803 <first : move c7c5
Undoing extra move from first, gameMode 14
27803 >first : undo
27819 <first : move c7c5
Undoing extra move from first, gameMode 14
27819 >first : undo
27834 <first : move c7c5
Undoing extra move from first, gameMode 14
27834 >first : undo
27850 <first : move c7c5
Undoing extra move from first, gameMode 14
27850 >first : undo
27866 <first : move c7c5
Undoing extra move from first, gameMode 14
27866 >first : undo
27881 <first : move c7c5
Undoing extra move from first, gameMode 14
27881 >first : undo
27897 <first : move c7c5
Undoing extra move from first, gameMode 14
27897 >first : undo
27912 <first : move c7c5
Undoing extra move from first, gameMode 14
27912 >first : undo
27928 <first : move c7c5
Undoing extra move from first, gameMode 14
27928 >first : undo
<ICS: \012<12> rnbqkbnr pppp-ppp ----p--- -------- ----P--- -------- PPPP-PPP RNBQKBNR W -1 1 1 1 1 0 22 dcherizzann pointstealer1964 0 1 0 39 39 57 59 2 P/e7-e6 0:00 e7e6 0\012fics%
Parsing board: rnbqkbnr pppp-ppp ----p--- -------- ----P--- -------- PPPP-PPP RNBQKBNR W -1 1 1 1 1 0 22 dcherizzann pointstealer1964 0 1 0 39 39 57 59 2 P/e7-e6 0:00 e7e6 0
27928 >first : usermove 27928 >first : e7e6
27944 <first : move c7c5
Undoing extra move from first, gameMode 14
27944 >first : undo
27944 <first : Illegal move: e7e6
27959 <first : move c7c5
Undoing extra move from first, gameMode 14
27959 >first : undo
27975 <first : move c7c5
Undoing extra move from first, gameMode 14
27975 >first : undo
27990 <first : move c7c5
Undoing extra move from first, gameMode 14
27990 >first : undo
28006 <first : move c7c5
Undoing extra move from first, gameMode 14
28006 >first : undo
28022 <first : move c7c5
Undoing extra move from first, gameMode 14
28022 >first : undo
28037 <first : move c7c5
Undoing extra move from first, gameMode 14
28037 >first : undo
28053 <first : move c7c5
Undoing extra move from first, gameMode 14
28053 >first : undo
28068 <first : move c7c5
Undoing extra move from first, gameMode 14
I know my ICS emulator has the capability to do things right because when I join a table with a game in progress, the server sends the move history, which is in turn parsed to winboard and this is the only scenario where the game moves are saved correctly and the player's elo are included:
- Code: Select all
[Event "ICS Rated lightning match"]
[Site "127.0.0.1"]
[Date "2009.05.26"]
[Round "-"]
[White "meridapepe"]
[Black "r_seko"]
[Result "0-1"]
[WhiteElo "1654"]
[BlackElo "1728"]
[TimeControl "60"]
1. e4 b6 2. g3 Bb7 3. Bg2 h5 4. Nc3 e6 5. h4 g5 6. d3 gxh4 7. Rxh4 Nf6 8.
Bg5 Be7 9. Qf3 Ng4 10. Bxe7 Qxe7 11. Bh3 Qg5 12. Bxg4 Nc6 13. Rxh5 Rxh5 14.
Bxh5 O-O-O 15. g4 Nd4 16. Qd1 e5 17. Nge2 Ne6 18. Nd5 c6 19. Ne7+ Qxe7 20.
Qd2 d5 21. exd5 Rxd5 22. O-O-O Ng5 23. Nc3 Rd8 24. Re1 Nf3 25. Qe2 Nxe1 26.
Qxe1 c5 27. Ne4 f6 28. Qe3 Qe6 29. f4 Bxe4 30. Qxe4 Re8
{r.seko wins} 0-1
***************************************************************************
Having the ELO and all the moves saved correctly is very important for me and the
groups of people using this ICS Emulator (named YaY, and that I co-develop) because
we use these saved games to create bin books. For years we had been discarding the games that are not saved correctly but due to recent events I will have some more free time in my hands and I would like to tackle this problem with your help of course.
So, is there anything we are doing wrong? Or this a know bug/limitation of Winboard_X? Is there work around? Or there are some comands I should parse to Winboard to make this work as I expected to? By the way, in liue of this issues I just discovered the flag /debug and started using it but I am at lost. Is there a readme file somewhere that explains how to understand the info captured by winboard.debug file? Is there a website or readme file that explains the commands between the ICS server and winboard(not to be confuse with command between winboard and the engine ?
Thanks in advance for your kind help.