X-Git-Url: http://git.sourceforge.jp/view?p=shogi-server%2Fshogi-server.git;a=blobdiff_plain;f=changelog;h=01752798abffbbe623a05f71dbce7a8b7ae35ea6;hp=76e0c6979a5ebb0840cc6f10d372e09d6a83e05d;hb=a8d6c15f45f86d8f76ef441409a87df66c3965f8;hpb=615bd939e87eaefcf9bdca7c4f94336293a087cd diff --git a/changelog b/changelog index 76e0c69..0d9c640 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,879 @@ +2016-11-26 Daigo Moriwaki + + * [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 run -p 4081:4081 -v `pwd`/logs:/logs shogi-server/shogi-server + +2016-04-09 Daigo Moriwaki + + * utils/eval_graph.rb + - Support Fischer time control. + * [shogi-server] Bump up the revision to 20160409. + +2016-04-02 Daigo Moriwaki + + * [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:" for Fischer Time Control + - Kifu files can include the following comment for Fischer Time + Control: + - "'Increment:" + * [shogi-server] Fix some lint warnings. + +2015-12-13 Daigo Moriwaki + + * [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 + + * [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 + + * 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 + + * [shogi-server] + - shogi_server/login.rb: When players are logged in, log their + player_id if they have it. + +2015-01-20 Daigo Moriwaki + + * [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 + + * [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 + + * [shogi-server] + - shogi_server.rb: Follow an API change in a upstream class: + LogDevice.previous_period_end + +2014-12-27 Daigo Moriwaki + + * [shogi-server] + - When a non-rated player participates in Floodgate, the following exception + was thrown and a Floodgate game would not start: + undefined method `[]' for nil:NilClass + ["/home/shogi-server/www/x/shogi_server/pairing.rb:499:in `block + in calculate_diff_with_penalty'" + This issue has been resolved. Only players who have player ID + (i.e. those who log in with valid password) are now allowed to + participate in Floodgate as the spec web page + [http://shogi-server.sourceforge.jp/rating.html] describes. + +2014-12-23 Daigo Moriwaki + + * [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 + + * 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 + + * [mk_html] + - Corrected a url. + +2014-11-24 Daigo Moriwaki + + * Ruby 2.0: + - Ruby 2.0.0 or later is recommended to use with shogi-server + since Ruby 1.8 reached its End-of-Life on the end of July, 2014. + * [shogi-server] + - Addressed a warning of duplicated range in a regular expression. + +2014-10-13 Daigo Moriwaki + + * [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:: + 'white_rate:: + 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 + + * [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 + + * [mk_rate] + - Added a new option, --abnormal-threshold n: + Games that end with the 'abnormal' status are counted in + win/lost games for the rating calculation if a game plays more + than n plies. Otherwise (or if n is zero), abnormal games are + counted out of rating games. + +2014-01-07 Daigo Moriwaki + + * [shogi-server] + - Released: Revision "20140107" + +2013-12-29 Daigo Moriwaki + + * [shogi-server] + - Previously, parameters in Floodgate time configuration file were + not applied to actual instances. This issue has been fixed. + +2013-12-21 Daigo Moriwaki + + * [shogi-server] + - shogi_server/pairing.rb: Impose penalty on matches between + likely kin players. + +2013-12-15 Daigo Moriwaki + + * [webserver] + - Listen on only IPv4 explicitly. Under ruby 1.9.3p194, without + any bind addresses, ruby attempts to listen on both "0.0.0.0" + and "::". Specifying "::" on Linux leads to listen on both IPv4 + and IPv6, which results in a warning message saying "Address + already in use - bind(2)". + * [shogi-server] + - Released: Revision "20131215" + +2013-12-14 Daigo Moriwaki + + * [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 + + * [shogi-server] + - shogi_server/league/floodgate_thread.rb: + - Added a log message. + +2013-12-08 Daigo Moriwaki + + * [shogi-server] + - shogi-server/shogi_server/pairing.rb: + - Modified comment for LeastDiff match. + - Changed log messages and levels. + +2013-12-07 Daigo Moriwaki + + * [shogi-server] + - shogi_server/pairing.rb, player.rb: + Simplify estimated rate of unrated players (less memory). + - Enhanced syntax of Floodgate time configuration file. + Now it supports "set sacrifice "; it sets a + sacrificed player for a specific Floodgate game. + ex. set sacrifice gps500+e293220e3f8a3e59f79f6b0efffaa931 + +2013-12-05 Daigo Moriwaki + + * [shogi-server] + - Added a new pairing method, ShogiServer::ExcludeUnratedPlayers, + which filters out unrated players. + - Enhanced syntax of Floodgate time configuration file. + Now it supports "set pairing_factory "; it sets a + 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 + + * [shogi-server] + - shogi_server/league/floodgate.rb: Improved robustness against + empty file under ruby 1.9.3p194 + - shogi-server: + - Previously, reloading in daemon mode failed on + ruby 1.9.3p194. This issue has been fixed. + - Listen on only IPv4 explicitly. Under ruby 1.9.3p194, without + any bind addresses, ruby attempts to listen on both "0.0.0.0" + and "::". Specifying "::" on Linux leads to listen on both IPv4 + and IPv6, which results in a warning message saying "Address + already in use - bind(2)". + * [mk_game_results] + - Fixed for reading Japanese comments under ruby1.9.3p194. + * mk_rate-from-grep, mk_rate-grep: + - Removed files that are no longer used. + +2013-11-23 Daigo Moriwaki + + * [mk_rate] + - gsl library may be provided as a gem + - Now duplicated inputs are checked and skipped. + * test/TC_floodgate.rb + - Improved randomness check so that it works on Ruby 2.0.0 as well + +2013-11-04 Daigo Moriwaki + + * [mk_rate] + - Added a new option, --ignore, which is imported from + mk_rate-from-grep. + * [mk_game_results] + - Flush after each output line. + * Rleased: Revision "20131104" + +2013-09-08 Daigo Moriwaki + + * [shogi-server] + - shogi_server/{game,time_clock}.rb: + When StopWatchClock is used, "Time_Unit:" of starting messages + in CSA protocol supplies "1min". + +2013-04-07 Daigo Moriwaki + + * [shogi-server] + - shogi_server/{game,time_clock}.rb: + Adds variations of thinking time calculation: ChessClock + (current) and StopWatchClock (new). + StopWatchClock, which is usually used at official games of human + professional players, is a clock where thiking time less than a + miniute is regarded as zero. + To select StopWatchClock, use a special game name with "060" + byoyomi time. ex. "gamename_1500_060". + +2013-03-31 Daigo Moriwaki + + * [shogi-server] + - %%FORK command: %%FORK [] [] + The new_buoy_game parameter is now optional. If it is not + supplied, Shogi-server generates a new buoy game name from + source_game. + - command.rb: More elaborate error messages for the %%GAME command. + +2013-03-20 Daigo Moriwaki + + * [shogi-server] + - New pairing algorithm: ShogiServer::Pairing::LeastDiff + This pairing algorithm aims to minimize the total differences of + matching players' rates. It also includes penalyties when a match + is same as the previous one or a match is between human players. + It is based on a discussion with Yamashita-san on + http://www.sgtpepper.net/kaneko/diary/20120511.html. + +2013-02-23 Daigo Moriwaki + + * [shogi-server] + - New command: %%FORK [] + Fork a new game from the posistion where the n-th (starting from + one) move of a source game is played. The new game should be a + valid buoy game name. The default value of n is the position + where the previous position of the last one. + - The objective of this command: The shogi-server may be used as + the back end server of computer-human match where a human player + plays with a real board and someone, or a proxy, inputs moves to + the shogi-server. If the proxy happens to enter a wrong move, + with this command you can restart a new buoy game from the + previous stable position. + ex. %%FORK server-denou-14400-60+p1+p2+20130223185013 buoy_denou-14400-60 + +2012-12-30 Daigo Moriwaki + + * [shogi-server] + - Backported a5c94012656902e73e00f46e7a4c7004b24d4578: + test/TC_logger.rb depeneded on a specific directory where it was + running on. This issues has been fixed. + - Backported 87d145bd1f1a14a33f5f6fbc78b63a1952f1ca90 and + 2df8c798aeb7f0e77735e893fd1370c2c6f15c4d: + shogi_server/floodgate.rb: Generating next time around the new + year day by reading configuration files did not work correctly. + This issue has been fixed. + +2012-12-28 Daigo Moriwaki + + * [shogi-server] + - shogi_server/pairing.rb: + + There was a bug in the logic avoiding human-human match. + This issue has been fixed. + + Improved the logic avoiding human-human match. Human-human + matches will less likely happen. + +2012-01-07 Daigo Moriwaki + + * [shogi-server] + - Added shogi_server/compatible.rb, which implements compatible + methods and allows Ruby 1.8.7 to run the server. + - test/TC_floodgate.rb failed with Ruby 1.8.7. This issue has + been fixed. + - test/TC_uchifuzume.rb did not run with Ruby 1.8.7. This issue + has been fixed. + - test/TC_league.rb failed with Ruby 1.8.7. This issue has been + fixed. + * csa-file-filter,mk_game_results,mk_html,mk_rate: + - Updated documents in the command files. + Both Ruby 1.9.3 and 1.8.7 are supported. + - Make their shebang consistent (/usr/bin/ruby1.9.1) + * README: + - Both Ruby 1.9.3 and 1.8.7 are supported. + * Renewed year of copyright notice in each file. + +2012-01-06 Daigo Moriwaki + + * [shogi-server] + - test/TC_logger.rb depeneded on a specific directory where it was + running on. This issues has been fixed. + +2012-01-01 Daigo Moriwaki + + * [shogi-server] + - shogi_server/floodgate.rb: Generating next time around the new + year day by reading configuration files did not work correctly. + This issue has been fixed. + +2011-12-18 Daigo Moriwaki + + * [shogi-server] + - shogi_server/board.rb, piece.rb: Refactoring to cache OU pieces, + which was inspired by 81SquareShogi-server's change + (74b24b88c843f1dd767412475b117481d1d5e8eb). + - Added shogi-server-profile to take profile of shogi-server. + * [mk_rate] [mk_game_results] + - Supports Ruby 1.9.3. + +2011-12-12 Daigo Moriwaki + + * [shogi-server] + - Support Ruby 1.9.3. + - Result of test/benchmark.rb + - Environment: + - CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ + - RAM: 4GB + - OS: Debian Squeeze + - ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux] + - ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux] + - Server: ruby1.8 (or ruby1.9.1) ./shogi-server hoge 4000 + - Clients: ruby1.8 (or ruby1.9.1) -d ./benchmark.rb + csa/wdoor+floodgate-900-0+gps_normal+gps_l+20100507120007.csa 20 + - Scores in seconds: (the smaller, the better) + clients + 1.8.7 1.9.3 + server 1.8.7 20 sec 21 sec + 1.9.3 26 sec 27 sec + +2010-10-06 Daigo Moriwaki + + * [shogi-server] + - mk_rate: the usage was not updated. + Thanks to Hoki-san to report this issue. (Closes: #23358) + +2010-09-18 Daigo Moriwaki + + * [shogi-server] + - shogi_server/board.rb, game.rb: For hadicapped games, wrong + initial positions were delivered to players and monitors. This + issue has been fixed. (Closes: #23245) + Thanks to HIDETCHI for reporting the issue. + +2010-09-05 Daigo Moriwaki + + * [shogi-server] + - shogi_server/login.rb: Enhanced the CSA Login mode. + Logging in the server with the CSA mode, users are now allowed to + specify a turn preference in an enhanced gamename string which + looks like -