OSDN Git Service

[shogi-server] Bump up the revision to 20201206
[shogi-server/shogi-server.git] / changelog
index 40e2302..0dc1e9b 100644 (file)
--- a/changelog
+++ b/changelog
@@ -1,3 +1,220 @@
+2020-12-06  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server] Improve timed-up detection (continued).
+         The server now checks timed up when it receives a-single-space keep
+         alive messages as well.
+         Thanks to mizar for reports and patches.
+         (Closes #40821)
+       * [shogi-server] Support listening on IPv6 addresses
+         Thanks to mizar for a patch.
+         (Closes #40822)
+       * [shogi-server] Make invalid comments illegal
+         Some client sent moves with comments in an invalid format like
+         "+7776FU '* 30 -3334FU +2726FU". Such messages are now deemed
+         illegal.
+         Thanks to mizar for a report.
+       * [shogi-server] Bump up the revision to 20201206
+
+2020-10-04  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server] Improve timed-up detection.
+         Previously, the server checked if a game got timed up when a player
+         in turn sent no message for a certain amount of time mainly defined
+         by Default_Timeout. If the player sent keep alive frequently, the
+         timed-up detection could be quite delayed.
+         This issue has been addressed. The server now checks timed up with
+         keep alive received as well. Players are notified with TIME_UP not
+         long before games gets timed up.
+
+2018-08-25  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server] Support a graceful shutdown.
+         A file named "STOP" in the base directory prevents the server from
+         starting new games including Floodgate matches.
+         (Closes #38544)
+       * [shogi-server] Create a directory for a PID file.
+         To put a PID file such as /var/run/shogi-server/shogi-server.pid, if
+         directories do not exist, they will be created recursively.
+         (Closes #38546)
+
+2018-04-07  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server] Give more penalty on assigning matches with same
+         players.
+         (Closes #38178)
+
+2017-09-03  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server] Write game results in categorical files
+         The shogi-server now writes down game results in the following
+         files, depending on a game class:
+         - 00LIST: all games
+         - 00LIST.floodgate: floodgate games
+         - 00LIST.others: non-floodgate games
+         (Closes  #37492)
+
+2017-09-02  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server] Write more game results in record files
+         As the CSA Record Format standard states, "%TIME_UP" and
+         "%SENNICHITE" are now recorded in CSA files when a game ends for
+         timed up or sennichite respectively.
+         (Closes #37490)
+       * [shogi-server, mk_game_results, mk_rate] Change schema to add number of
+         moves The format of an internal game result summary file, '00LIST',
+         has been changed to add number of moves of a game, which would be of
+         help for a script calculating rating scores.
+         (Closes #37491)
+       * Update Revision to 20170902
+
+2017-02-26 Daigo Moriwaki <daigo at debian dot org>
+
+       * utils/csa-filter.rb: Allow csa-filter.rb to filter games by a winner or loser
+         New command lines, --winner <player> or --loser <player>, are now
+         supported to supply extra filtering conditions. Note that each
+         filter is combined as AND condition.
+         E.g.
+         - % ./csa-filter.rb ~/Downloads/20160314 --white gpsfish_xeon --loser gpsfish_xeon
+         - % ./csa-filter.rb ~/Downloads/20160314 --white gpsfish_xeon --winner gpsfish_xeon
+         (Closes #37023)
+
+2016-12-11  Daigo Moriwaki <daigo at debian dot org>
+
+       * Update Revision to 20161211.
+       * Fix Dockerfile.
+
+2016-12-09  Daigo Moriwaki <daigo at debian dot org>
+
+       * Allow util/statistics.rb to set a filtering condition of found files
+         Regarding util/statistics.rb, add a new command line option,
+         --filter regexp, to process files that are matched with a regexp.
+         It would make it easier to calculate statistics of certain games.
+         (Closes #36855)
+
+2016-11-26  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server] Allow to customize maximum lenght of a login indentifier
+         (Closes #36821)
+         - The current maximum length of a login identifier is 32. Some
+           private uses require longer player names to distinguish each other
+           by specifying randomly generated tokens. It would of help to add a
+           new command line option --max-identifier to overwrite the default
+           maximum length.
+       * Build a Docker image for Shogi-server
+         (Closes #36822)
+         - Build a Docker image
+             % make image-build
+         - Running a local shogi-server would look like
+             % docker pull shogiserver/shogiserver
+             % docker run -p 4081:4081 -v `pwd`/logs:/logs shogiserver/shogiserver
+       * [shogi-server] shogi_server/game.rb:
+         - Remove a debug message
+
+2016-04-09  Daigo Moriwaki <daigo at debian dot org>
+
+       * utils/eval_graph.rb
+         - Support Fischer time control.
+       * [shogi-server] Bump up the revision to 20160409.
+
+2016-04-02  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server] Support Fischer Time Control
+         (Closes #36230)
+         - Fischer time control means that:
+           Before a player has made their move, a specified time increment is
+           added to their clock. Time can be accumulated, so if the player
+           moves within the delay period, their remaining time actually
+           increases.
+           (https://en.wikipedia.org/wiki/Chess_clock)
+         - New syntax of game names:
+           An 'F' suffix denotes a Fisher time in seconds. For example,
+           "floodgate-600-10F" specifies
+             + A floodgate game
+             + Total allotted time is 600 seconds for each player
+             + 10-second increment before a player's move in a Fischer way
+         - The server now proposes game conditions upon a game start with
+           - "Protocol_Version 1.2"
+           - "Increment:<n>" for Fischer Time Control
+         - Kifu files can include the following comment for Fischer Time
+           Control:
+           - "'Increment:<n>"
+       * [shogi-server] Fix some lint warnings.
+
+2015-12-13  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server] Enhance capability of Floodgate configuration file
+         - New parameter: Max_Moves, defined in the CSA protocol
+           ex. set Max_Moves 256
+         - New parameter: Least_Time_Per_Move, defined in the CSA protocol
+           ex. set Least_Time_Per_Move 0
+         - Proposed messages distributed to each player upon starting a new
+           game will include Max_Moves as well as Least_Time_Per_Move.
+         - CSA files produced by the server will include settings of
+           Max_Moves and Least_Time_Per_Move in comment lines as follows:
+             'Max_Moves:256
+             'Least_Time_Per_Move:0
+         - The official Shogi-server on wdoor.c.u-tokyo.ac.jp will
+           be running with different parameters, depending on game names.
+           a) Max_Moves will be 256 for floodgate-600-10 games;
+              otherwise, 0.
+           b) Least_Time_Per_Move will be 0 for floodgate-600-10 games;
+              otherwise 1.
+         (Closes: #35839)
+       * [shogi-server] shogi_server/pairing.rb:
+         - LeastDiff attempts more trials, depending of a number of players
+           to be matched, top achieve more optimized matching combinations.
+
+2015-11-27  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server] shogi_server/time_clock.rb:
+         - A time consumed could be -1.
+           * The start time of a move is captured after sending a move to a
+             player of the next turn at the end of the giant lock
+           * The end time of the move is captured at the exact time when the
+             server receives it before the giant lock
+           Therefore, end_time < start_time is possible when a player returns a
+           move instantly.
+           Thanks to Tomoyuki Kaneko for reporting this issue.
+           (Closes: #35795)
+
+2015-02-14  Daigo Moriwaki <daigo at debian dot org>
+
+       * util/statistics.rb:
+         - Updated to investigate floodgate-600-10 games.
+           Consult the result at
+           http://www.sgtpepper.net/hyspro/diary/20150214.html.
+         - Added a companion R script: histogram.R 
+
+2015-02-01  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - shogi_server/login.rb: When players are logged in, log their
+           player_id if they have it.
+
+2015-01-20  Daigo Moriwaki <daigo at debian dot org>
+
+       * [mk_rate]
+         - Getting an absolute path of this file was wrong if it was a
+           symbolic link. This issue has been addressed.
+       * [mk_html]
+         - Links to details pages for players now use a relative path so
+           that it works on a testing site.
+
+2015-01-17  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - shogi-server, shogi_server/{command,game_result,player}.rb:
+           The change at 2014-10-13 was not worked as expected. Reworked.
+           A player, attempting to login with the current live player
+           stalling for more than a day, can forcibly override the current
+           player.
+
+2015-01-12  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - shogi_server.rb: Follow an API change in a upstream class:
+           LogDevice.previous_period_end
+
 2014-12-27  Daigo Moriwaki <daigo at debian dot org>
 
        * [shogi-server]
            participate in Floodgate as the spec web page
            [http://shogi-server.sourceforge.jp/rating.html] describes.
 
+2014-12-23  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - Addressed Ruby incompatibility on ShogiServer::Usi::alphabetToDan.
+           It (and usiToCsa.rb) did not work with Ruby 1.9.3. This issue
+           has now been fixed.
+           Thanks to Hiraoka-san for debugging.
+
+2014-12-18  Daigo Moriwaki <daigo at debian dot org>
+
+       * utils/eval_graph.rb:
+         - Gnuplot 4.6.6 drew evaluation-value lines with a dashed style.
+           This issue has now been addressed so that solid lines are used.
+
 2014-11-30  Daigo Moriwaki <daigo at debian dot org>
 
        * [mk_html]
        * [shogi-server]
          - Addressed a warning of duplicated range in a regular expression.
 
+2014-10-13  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - A player, attempting to login with the current live player
+           stalling for more than a day, can forcibly override the current
+           player.
+         - Kifu record files now includes rating scores of players at the
+           time when games start.  Previously, for rating games, a record
+           file includes player IDs of both players with a line starting with
+           "'rating".  Now it also shows rating scores for players who have
+           valid scores.  The formats for black and white players are as
+           follows:
+             'black_rate:<player_id>:<score>
+             'white_rate:<player_id>:<score>
+           A sample output:
+             'rating:Test_sente+275876e34cf609db118f3d84b799a790:Test_gote+275876e34cf609db118f3d84b799a790
+             'black_rate:Test_sente+275876e34cf609db118f3d84b799a790:2763.0
+             'white_rate:Test_gote+275876e34cf609db118f3d84b799a790:2345.0
+
+2014-10-12  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi_server]
+         - New feature: max moves
+           - New command line option: --max-moves n
+             When a game with the n-th move played does not end, make the
+             game a draw (default 256 in compliance with CSA Protocol V1.2
+             or later).  Setting 0 disables this feature for
+             CSA Protocol V1.1.2 or before.
+           - Players will receive a new message, "#MAX_MOVES", upon an end
+             of such a game:
+               #MAX_MOVES
+               #CENSORED
+           - A new log summary type, "max_moves", has been assigned for games
+             drawing with max moves.
+             'summary:max_moves:name_sente draw:name_gote draw
+         - Least time per move:
+           - New command line option: --least-time-per-move n
+             This option specifies a least time in second per move, which
+             is 0 second by default, meaning that a decimal
+             fraction of time for a move will be truncated in compliance
+             with CSA Protocol V1.2 or later.
+             Set 1 for CSA Protocol V1.1.2 or before.
+
 2014-07-19  Daigo Moriwaki <daigo at debian dot org>
 
        * [mk_rate]
        * [shogi-server]
          - Released: Revision "20131215"
 
+2013-12-14  Daigo Moriwaki <daigo at debian dot org>
+
+       * [usiToCsa]
+         - Added a new program, bin/usiToCsa.rb, which is a bridge for a
+           USI engine to connect to the Shogi-server.
+         - bin/usiToCsa is a sample wrapper script.
+
 2013-12-13  Daigo Moriwaki <daigo at debian dot org>
 
        * [shogi-server]
            factory function name generating a pairing method which will be
            used in a specific Floodgate game.
            ex. set pairing_factory floodgate_zyunisen 
+         - Implemented conversion of move representation between CSA format
+           and USI one.
 
 2013-11-24  Daigo Moriwaki <daigo at debian dot org>