OSDN Git Service

[shogi-server] - Previously, parameters in Floodgate time configuration file were...
[shogi-server/shogi-server.git] / changelog
index 7c72303..fd7fe66 100644 (file)
--- a/changelog
+++ b/changelog
@@ -1,3 +1,290 @@
+2013-12-26  Daigo Moriwaki <daigo at debian dot org>
+
+       * [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 <daigo at debian dot org>
+
+       * [shogi-server]
+         - shogi_server/pairing.rb: Impose penalty on matches between
+           likely kin players.
+
+2013-12-15  Daigo Moriwaki <daigo at debian dot org>
+
+       * [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-13  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - shogi_server/league/floodgate_thread.rb:
+           - Added a log message.
+
+2013-12-08  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - shogi-server/shogi_server/pairing.rb:
+           - Modified comment for LeastDiff match.
+           - Changed log messages and levels. 
+
+2013-12-07  Daigo Moriwaki <daigo at debian dot org>
+
+       * [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 <player_id>"; it sets a
+           sacrificed player for a specific Floodgate game.
+           ex. set sacrifice gps500+e293220e3f8a3e59f79f6b0efffaa931
+
+2013-12-05  Daigo Moriwaki <daigo at debian dot org>
+
+       * [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 <function_name>"; 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 
+
+2013-11-24  Daigo Moriwaki <daigo at debian dot org>
+
+       * [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 <daigo at debian dot org>
+
+       * [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 <daigo at debian dot org>
+
+       * [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 <daigo at debian dot org>
+
+       * [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 <daigo at debian dot org>
+
+       * [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 <daigo at debian dot org>
+
+       * [shogi-server]
+         - %%FORK command: %%FORK <source_game> [<new_buoy_game>] [<nth-move>]
+           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 <daigo at debian dot org>
+
+       * [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 <daigo at debian dot org>
+
+       * [shogi-server]
+         - New command: %%FORK <source_game> <new_buoy_game> [<nth-move>]
+           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 <daigo at debian dot org>
+
+       * [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 <daigo at debian dot org>
+
+       * [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 <daigo at debian dot org>
+
+       * [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 <daigo at debian dot org>
+
+       * [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 <daigo at debian dot org>
+
+       * [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 <daigo at debian dot org>
+
+       * [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 <daigo at debian dot org>
+
+       * [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 <daigo at debian dot org>
+
+       * [shogi-server]
+         - mk_rate: the usage was not updated.
+           Thanks to Hoki-san to report this issue.  (Closes: #23358)
+
+2010-09-18  Daigo Moriwaki <daigo at debian dot org>
+
+       * [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 <daigo at debian dot org>
+
+       * [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 <gamename>-<time>-<time>-<turn>. The first three 
+           parts are a regular game definition. The last "-<turn>"
+           part is optional. 
+           + Without -<turn> (i.e. same as the previous behavior), there
+           is no turn preference. A user's turn will be defined randomly. 
+           + <turn> is either "B" for black or "W" for white.
+
+2010-09-04  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - shogi_server/{board,command,game,league,player}.rb
+           The Buoy behavior is changed.
+           + Starting a buoy game, players are notified a starting game
+             position with the initial position and moves, instead of a
+             targeting position.
+           + Players are allowed to start buoy games with specific turns.
+             ex. %%GAME buoy_foo-1500-0 +
+
+2010-08-05  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - shogi_server/command.rb: Prevent a possible password from be
+           logged in a log file when players send invalid LOGIN-like commands.
+           Thanks to Tomoyuki Kaneko for this idea.
+
+2010-08-03  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - sample/{check_file.rb,check_time.rb,check_time2.rb,test_time.rb}:
+           Added new files to test an issue where mtime of log files was
+           earlier than system time.
+         - shogi_server/league/floodgate_thread.rb: SetupFloodgate#start
+           now returns an instance correctly.
+         - ../shogi_server.rb, ../shogi_server/util.rb: Refactored
+           mkdir_for to Mkdir.mkdir_for.
+         - ../shogi_server/game.rb: mkdir_p will be performed in a global
+           mutex of ShogiServer::Mkdir.
+
 2010-07-25  Daigo Moriwaki <daigo at debian dot org>
 
        * [shogi-server]
            + For an unknown error command log, an empty line is no longer logged.
            + Commands specific to 81Dojo, starting with '%%%', are just
              ignored instead of unknown command errors.
-         - shogi_server.rb: Refactoring. Added test/TC_logger.rb to test
-           ShogiServer::Logger class.
+         - shogi_server.rb: 
+           + Refactoring. Added test/TC_logger.rb to test
+             ShogiServer::Logger class.
+           + Fixed race condition: creating a new directory to archive
+             logs may have caused race condition, which ended up with
+             making the server unavailable. This issue has been fixed. 
+         - shogi-server:
+           + Improved fault tolerance of the server.
 
 2010-07-23  Daigo Moriwaki <daigo at debian dot org>
 
        * [shogi-server]
          - shogi_server.rb, shogi_server/board.rb, shogi_server/move.rb
            - Refactoring: Board can now move_to() and move_back() a move
-             instread of deep_copy().
+             instead of deep_copy().
 
 2010-07-11  Daigo Moriwaki <daigo at debian dot org>
 
            .
            Note: Without this option, no floodgate games are started. If
            you want floodgate-900-0 to run, which was default enabled in
-           previous versions, you need to spefify the game name in this new
+           previous versions, you need to specify the game name in this new
            option.
          - Floodgate time configuration file:
            You need to set starting times of floodgate groups in
-           configuration files under the top directory. Each floodgat
-           e group requires a correspoding configuration file named
+           configuration files under the top directory. Each floodgate
+           group requires a corresponding configuration file named
            "<game_name>.conf". The file will be re-read once just after a
            game starts. 
            .
            floodgate-3600-30.conf.  However, for floodgate-900-0 and
            floodgate-3600-0, which were default enabled in previous
            versions, configuration files are optional if you are happy with
-           defualt time settings.
+           default time settings.
            File format is:
              Line format: 
                # This is a comment line
 2010-02-27  Daigo Moriwaki <daigo at debian dot org>
 
        * [shogi-server]
-         - The server now provides more accurate time control. Previouslly,
+         - The server now provides more accurate time control. Previously,
            a player's thinking time included a time waiting to get the giant
            lock. This may have caused games to time up, especially, during
            byo-yomi etc.
 
        * [shogi-server]
          - shogi-server: The command line option --floodgate-history has
-           been deprectated. The server will decide history file names such
+           been deprecated. The server will decide history file names such
            as 'floodgate_history_900_0.yaml' and
            'floodgate_history_3600_0.yaml', and then put them in the top
            directory.
        * [shogi-server]
          - shogi_server/player.rb: Added new methods: is_human? and
            is_computer?. 
-           A human player is recommened to use a name ending with '_human'.  
+           A human player is recommended to use a name ending with '_human'.  
            ex. 'hoge_human', 'hoge_human@p1'
          - shogi_server/pairing.rb: Added a new class:
            StartGameWithoutHumans, which tries to make pairs trying to
-           avoid a human-human match. This is now enabled instread of the
+           avoid a human-human match. This is now enabled instead of the
            previous class: StartGame.
          - shogi-server, shogi_server/league/floodgate.rb:
            Changed the argument of Floodgate.new.
            which will be used to generate players.yaml. If the file does
            not exist, the server will create one automatically.
            Instruction to use the game result list file:
-           1. Make a list of game results from exisiting CSA files with
+           1. Make a list of game results from existing CSA files with
               mk_game_results
               % ./mk_game_results dir_of_csa_files > 00LIST
            2. Run the server. It appends a result of each game to
            New commands:
            + %%SETBUOY <game_name> <moves> [count]
              Set a new buoy game.
-             ex. %%SETBUOYGAME buoy_foo-900-0 +7776FU 10
-             ex. %%SETBUOYGAME buoy_foo-1500-0 +7776FU-3334FU
+             ex. %%SETBUOY buoy_foo-900-0 +7776FU 10
+             ex. %%SETBUOY buoy_foo-1500-0 +7776FU-3334FU
              - game_name is a valid game name with a prefix "buoy_".
              ex. buoy_foo-900-0
              - moves are initial moves from the Hirate position to a
-             spcific position that you want to start with.
+             specific position that you want to start with.
              ex. +7776FU-3334FU+8786FU
              - count is an optional attribute to tell how many times the
              game can be played (default 1). The count is decremented
 2009-06-18 Daigo Moriwaki <daigo at debian dot org>
 
        * [shogi-server]
-         - An emtpy floodgate_history.yaml caused a server error. This
+         - An empty floodgate_history.yaml caused a server error. This
            issue has been fixed. 
            (Closes: #15124)
 
 
        * [mk_html]
          - Added a new option: --footer filename, which inserts contents of 
-           the filename at the bottom of a genrated page. A text specific to 
+           the filename at the bottom of a generated page. A text specific to 
            wdoor should be written by using this option. 
            (Closes: #14470)
          - It does no more depend on RDoc. RDoc::usage does not work well
 
        * [shogi-server]
          - Improved an existance check and etc. of directories specified
-           by command line options, expecially in case of the daemon mode. 
+           by command line options, especially in case of the daemon mode. 
            (Closes: #14244)
-         - A lotated log file is moved to $topdir/YYYY/MM/DD.
+         - A rotated log file is moved to $topdir/YYYY/MM/DD.
            (Closes: #14245)
 
 2008-11-27 Daigo Moriwaki <daigo at debian dot org>
 
        * [shogi-server]
          - .csa files will be located in a sub directory such as
-           "2008/05/05/*.csa". Thease days, we have many games in a day. 
+           "2008/05/05/*.csa". These days, we have many games in a day. 
            This change will help users browse a file list.
 
 2008-05-03 Daigo Moriwaki <daigo at debian dot org>