Page 4 of 4

Re: Banksia - Yet another Chess Tournament Manager

Posted: Thu Aug 01, 2019 12:32 am
by phhnguyen
Guenther wrote: Wed Jul 31, 2019 7:18 pm Is this an ordinary pgn produced by Banksia?
I am asking because there is no eval/depth + times - I guess they can be saved?
Yes, that information can be turned on/off via JSON controller file.
JSON:

Code: Select all

  "logs" : 
  {
      "pgn" :
      {
          "mode" : true,
          "one file" : true,
          "game title surfix" : true,
          "path" : "/BanksiaMatch/logs/games.pgn",
          "rich info" : true,
          "guide" : "one file: if false, games are stored in multi files using game indexes as surfix; game title surfix: use players names, results for file name surfix, affective only when 'one file' is false; rich info: log more info such as scores, depths, elapses"
      },
    "engine" :
    {

A PGN with some more info:

Code: Select all

[Event 	"Computer event"]
[Site 	"Somewhere on Earth"]
[Date 	"2019.08.01"]
[Round 	"1"]
[White 	"Crafty-25.2"]
[Black 	"Asymptote 0.6.2"]
[Result 	"0-1"]
[TimeControl 	"40/6:0.5"]
[Time 	"08:16:00"]
[Board 	"1"]
[Termination 	"adjudication"]
[ECO 	"B06"]
[Opening 	"Robatsch defence"]
[Variant 	"two knights, Suttles variation"]

1. e4 g6 2. d4 Bg7 3. Nc3 d6 4. Nf3 c6
5. a4 {B06: Robatsch defence, two knights, Suttles variation}  a5 6. Be2 Nf6 7. O-O O-O 8. h3 Qc7
9. Be3 e5 10. Qd2 Nbd7 {End of opening}  11. Rad1 {+0.8/14 0.2}  d5 {-0.5/12 0.8}  12. exd5 {+0.6/14 0.2}  Nxd5 {-0.6/15 1.1} 
13. Nxd5 {+0.8/16 0.2}  cxd5 {-0.6/17 1.0}  14. dxe5 {+0.6/17 0.2}  Nxe5 {-0.9/16 0.7}  15. Nxe5 {+0.6/15 0.2}  Bxe5 {-0.9/17 0.9}  16. Qxd5 {+0.8/16 0.2}  Bf5 {-0.9/14 0.8} 
17. Qb5 {+0.8/13 0.2}  Be4 {-1.2/12 0.9}  18. Bb6 {+1.2/14 0.5}  Qb8 {-1.2/12 0.7}  19. Qb3 {+1.5/14 0.2}  Bh2+ {-1.5/13 0.8}  20. Kh1 {+1.7/10 0.0}  Bf4 {-1.4/14 0.8} 
21. f3 {+1.5/17 0.6}  Bc6 {-1.4/15 0.7}  22. Bc4 {+1.6/17 0.5}  Qe5 {-1.2/15 0.7}  23. Rfe1 {+1.4/16 0.4}  Qg5 {-1.2/14 0.7}  24. Kg1 {+1.4/16 0.2}  Rac8 {-1.2/14 0.7} 
25. Kf1 {+1.5/16 0.5}  Bc7 {-1.1/14 0.7}  26. Bxc7 {+1.3/16 1.0}  Rxc7 {-1.2/15 0.6}  27. Bd5 {+1.1/16 0.5}  Rd8 {-1.1/15 0.6}  28. Bxc6 {+1.1/17 0.2}  Rxc6 {-1.1/15 0.6} 
29. Qe3 {+0.9/17 0.9}  Qf6 {-1.1/17 0.6}  30. Rxd8+ {+0.9/16 0.2}  Qxd8 {-1.1/18 0.6}  31. c3 {+0.9/16 0.3}  Re6 {-0.9/60 0.6}  32. Qc1 {+1.0/16 0.4}  Rd6 {-0.9/70 0.6} 
33. Qf4 {+1.0/15 0.2}  h5 {-0.9/80 0.6}  34. Qe3 {+0.9/14 0.8}  Re6 {-0.8/56 0.6}  35. Qc1 {+0.9/15 0.3}  Rd6 {-0.8/59 0.6}  36. Qf4 {+0.9/14 0.2}  h4 {-0.8/68 0.5} 
37. b4 {+1.0/13 0.2}  Rc6 {-0.8/58 0.5}  38. Re3 {+1.0/15 0.6}  axb4 {-0.8/52 0.5}  39. cxb4 {+1.0/13 0.2}  Rc1+ {-0.6/41 0.5}  40. Re1 {+0.4/17 0.3}  Qd3+ {+0.0/51 0.5} 
41. Kf2 {+0.2/17 0.4}  Rxe1 {+0.0/19 0.9}  42. Kxe1 {+0.2/16 0.2}  Qb1+ {+0.0/21 1.1}  43. Ke2 {+0.1/16 0.4}  Qc2+ {+0.0/21 0.6}  44. Qd2 {+0.1/16 0.3}  Qxa4 {+0.0/20 1.0} 
45. Ke3 {+0.0/15 0.2}  Qb3+ {+0.1/14 0.7}  46. Kf2 {+0.0/16 0.4}  Qc4 {+0.1/18 1.0}  47. Qb2 {+0.0/18 0.3}  Kh7 {+0.2/15 0.9}  48. Ke3 {+0.0/16 0.2}  Qe6+ {+0.1/15 0.9} 
49. Kd3 {+0.0/17 0.2}  b5 {+0.1/16 0.8}  50. Qd4 {+0.0/15 0.2}  Qe1 {+0.1/16 0.8}  51. Qf4 {+0.0/15 0.2}  Kg8 {+0.2/16 0.8}  52. Qd2 {+0.0/16 0.3}  Qe5 {+0.2/14 0.7} 
53. Qf2 {+0.0/17 0.3}  Qd5+ {+0.2/16 0.7}  54. Qd4 {+0.0/18 0.2}  Qa2 {+0.2/17 0.7}  55. Qd8+ {+0.0/16 0.2}  Kg7 {+0.0/16 0.7}  56. Qxh4 {+0.0/16 0.2}  Qxg2 {+0.1/16 0.7} 
57. Qd4+ {+0.0/16 0.2}  f6 {+0.1/16 0.7}  58. Qd7+ {+0.0/16 0.2}  Kh6 {+0.2/17 0.6}  59. Qg4 {+0.0/17 0.4}  Qf1+ {+0.2/14 0.6}  60. Ke3 {+0.0/15 0.2}  Qe1+ {+0.2/15 0.6} 
61. Kd3 {+0.0/16 0.2}  f5 {+0.6/16 0.6}  62. Qd4 {+0.0/16 0.2}  Kh5 {+0.9/15 0.6}  63. Qc5 {-0.8/15 1.7}  Kh4 {+1.2/13 0.6}  64. Kd4 {-1.3/15 0.6}  Qe8 {+1.2/13 0.6} 
65. Qc7 {-1.1/14 0.8}  Qh8+ {+1.2/13 0.6}  66. Ke3 {-1.0/14 0.7}  Kxh3 {+1.2/14 0.6}  67. Qc5 {-1.3/15 0.6}  Qb8 {+1.3/15 0.6}  68. Ke2 {-1.3/15 0.3}  Qh2+ {+1.3/14 0.5} 
69. Ke3 {-1.3/16 0.2}  Qg1+ {+1.3/39 0.5}  70. Kf4 {-1.6/16 0.6}  Qg3+ {+1.3/42 0.5}  71. Ke3 {-1.6/10 0.0}  Qb8 {+1.3/59 0.5}  72. Ke2 {+0.0/27 0.2}  Qh2+ {+1.3/67 0.5} 
73. Ke3 {+0.0/24 0.4}  f4+ {+1.3/57 0.5}  74. Kd3 {-1.1/15 0.3}  Qa2 {+1.5/57 0.5}  75. Ke4 {-1.6/14 0.9}  Qd2 {+1.3/53 0.5}  76. Qc8+ {-2.2/15 0.7}  Kh2 {+1.5/57 0.5} 
77. Qc5 {-2.2/15 0.2}  Kh1 {+1.5/50 0.5}  78. Ke5 {-2.5/15 0.6}  Qe3+ {+2.1/63 0.5}  79. Kf6 {-2.7/15 0.4}  Qxf3 {+2.1/60 0.5}  80. Qxb5 {-3.0/15 0.7}  Qg2 {+2.4/127 0.5} 
81. Qe5 {-4.1/17 0.6}  f3 {+2.9/16 1.0}  82. Qe1+ {-4.1/15 0.2}  Qg1 {+3.6/18 1.1}  83. Qh4+ {-4.2/15 0.3}  Qh2 {+4.1/20 1.0}  84. Qe1+ {-4.1/15 0.2}  Kg2 {+4.1/19 1.0} 
85. Qe4 {-4.1/17 0.2}  Qg3 {+4.2/18 0.9}  86. Qd5 {-5.1/16 2.0}  Kh2 {+5.1/14 0.6}  87. Qc4 {-10.3/15 1.0}  f2 {+5.1/17 0.9}  88. Kg7 {-11.7/16 2.0}  g5 {+5.1/17 0.8} 
89. Kg6 {-11.8/15 0.3}  Qf3 {+5.2/17 0.8}  90. Qf1 {-11.9/16 0.3}  g4 {+10.9/14 0.8}  91. Qa1 {-27.5/12 0.9}  f1=Q {+13.1/14 0.6}  92. Qa2+ {-327.5/13 0.3}  Q1e2 {+0.0/16 0.7} 
93. Qxe2+ 0-1


Re: Banksia - Yet another Chess Tournament Manager

Posted: Thu Aug 01, 2019 5:36 am
by Ferdy
I run help in console and have some suggestions.

Code: Select all

Banksia, Chess Tournament Manager, by Nguyen Pham - version 3.0
Usage: banksia <option>
Options:
  -h               Show this help message
  -jsonpath PATH   Main json path to manage the tournament
  -yes             auto answer yes when being ask (to resume a tournament)
  -no              auto answer no when being ask
  -u               update
  -c               concurrency (for updating only)
  -d PATH          main engines' folder, may have subfolder (for updating only)
  -v on|off        turn on/off verbose (default on)
  -profile         profile engines (cpu, mem, threads)

Examples:
  banksia -jsonpath c:\tour.json
  banksia -u -d c:\mainenginefolder
  banksia -u -c 4 -jsonpath c:\tour.json -d c:\mainenginefolder
  To update tour.json and engines.json in current folder:
  banksia -u -c 4
Suggestions:

(1)

Code: Select all

  -jsonpath PATH   Main json path to manage the tournament
Use -t instead of -jsonpath. -t is for tournament, note there are other json file such as engines.json and playing.json. Also put the example immediately, so that it is easier to find what is the use of the option.

Code: Select all

-t PATH    A path to json tour file and is also used to run/manage tournament/matches, ex.
           banksia -t c:\t5.json, to run a tournament whose conditions are specified in t5.json file.

(2)

Code: Select all

  -yes             auto answer yes when being ask (to resume a tournament)
How a about

Code: Select all

-yes    A flag to auto answer yes when being ask (to resume a tournament). ex.
        banksia -yes -t c:\t5.json, to resume the tournament that was stopped before, without waiting for y/n answer.

(3)

Code: Select all

  -u               update
This one needs more explanation, how about

Code: Select all

-u    A flag to create/update engines and tournament json files. ex. 
      banksia -u -d c:\myengines, to create/update engines.json file and tour.json file, where
      engines are located in c:\myengines. engines.json and tour.json files will be located on
      the folder where banksia.exe is.
      banksia -u -t c:\t5.json, to update t5.json file, it will not run the tournament.

(4)

Code: Select all

  -c               concurrency (for updating only)
How about

Code: Select all

-c VALUE    Concurrency, it is used to execute a task faster. ex.
      banksia -u -c 4, to update tour.json and engines.json files.
      banksia -u -c 4 -d c:\myengines, to create and update engines.json file based on the engines found
      in c:\myengines.

(5)

Code: Select all

  -d PATH          main engines' folder, may have subfolder (for updating only)
How about

Code: Select all

-d PATH    PATH is the location of the engines and may contain subfolders. It is also used to
           create engines.json and tour.json files. ex.    
           banksia -u -d c:\myengines, will create engines.json and tour.json files at the folder where
           banksia.exe is located. banksia will search the engines located in c:\myengines in this case.

(6) Also add a FAQ section in console after the user types banksia -h.

Code: Select all

FAQ:
Q1. How to create engines.json file?
A1. banksia -u -d c:\chess\engines
where:
    c:\chess\engines is the path of your engines and engines.json file will be
    created in the same folder where banksia.exe is.
That command line also creates a tour.json file that can be edited and used to
run a tournament.

Q2. How to run a tournament?
A2. Create a tournament file say tour.json then type,
banksia -t c:\banksia\tour.json


Re: Banksia - Yet another Chess Tournament Manager

Posted: Thu Aug 01, 2019 8:41 am
by phhnguyen
Thank you a lot, Ferdy! Will add to the next release.