OSDN Git Service

shogi_server/league.rb: Improved performance of Persistance#get_players.
[shogi-server/shogi-server.git] / changelog
index 0fbeba5..18fb40c 100644 (file)
--- a/changelog
+++ b/changelog
@@ -1,3 +1,282 @@
+2010-07-11  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - shogi_server/player.rb: Set initial values to BasicPlayer's
+           instance variables.
+         - shogi_server/league.rb: Improved performance of
+           Persistant#get_players. It took about 20 seconds for a large
+           size of players (5,300 lines in players.yaml). Now it completes in an
+           instance.
+
+2010-06-22  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - A new command line option: 
+             --floodgate-names GameStringA[,GameStringB[,...]]
+           where a game string should be a valid game name such as
+           floodgate-900-0.  
+           .
+           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
+           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
+           "<game_name>.conf". The file will be re-read once just after a
+           game starts. 
+           .
+           For example, a floodgate-3600-30 game group requires
+           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.
+           File format is:
+             Line format: 
+               # This is a comment line
+               DoW Time
+               ...
+             where
+               DoW := "Sun" | "Mon" | "Tue" | "Wed" | "Thu" | "Fri" | "Sat" |
+                      "Sunday" | "Monday" | "Tuesday" | "Wednesday" | "Thursday" |
+                      "Friday" | "Saturday" 
+               Time := HH:MM
+            
+             For example,
+               Sat 13:00
+               Sat 22:00
+               Sun 13:00
+
+2010-06-01  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - shogi_server/command.rb: Fixed an issue that MONITOR2OFF did not
+           work. Thanks to HIDECHI and koudayu.
+
+2010-05-10  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - test/*.rb: Improved performance and stability of tests
+         - shogi_server/player.rb: Help the write_thread to terminate
+
+2010-05-06  Daigo Moriwaki <daigo at debian dot org>
+
+       * [mk_rate]
+         - Previously mk_rate did not count in draw games. Now a draw game
+           is considered to weight 0.5 win and 0.5 loss. Respect
+           Inaniwa-shogi which strategically aims to draw.
+         - a new command line option, --skip-draw-games. In this mode, draw
+           games are just ignored as mk_rate previously did.
+
+2010-04-25  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - shogi_server/player.rb:
+           Log a warning message in a case that a player closes a
+           connection suddenly.
+
+2010-04-13  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - shogi_server/command.rb:
+           Equality of MonitorHandler class was wrong. %%MONITOROFF and
+           %%MONITOR2OFF may cause unexpected behavior. This issue has been
+           fixed. Thanks to Kota Fujiwara for reporting.
+
+2010-03-07  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - If two sequential moves from a player are identical, the last
+           one will be ignored and a game is in play. This situation might
+           happen with human players, especially on slow network,
+           impatiently sending a move twice. 
+
+2010-02-27  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - The server now provides more accurate time control. Previouslly,
+           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.
+
+2010-01-22  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - Experimental feature: support handicapped games.
+           Game names that have the following prefixes are recognized as
+           handicapped games. Turn symbols "+" and "-" mean Uwate (expert)
+           and Shitate (beginner) respectively (i.e. Uwate players first).
+           "*" is not available. 
+           - hclance_
+           - hcbishop_
+           - hcrook_
+           - hcrooklance_
+           - hc2p_
+           - hc4p_
+           - hc6p_
+           - hc10p_
+
+2010-01-16  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - shogi_server/command.rb, test/TC_command.rb
+           Proposal implementation of a new command called MONITOR2{ON,OFF}.
+           When the MONITOR2ON command is issued by a player, the server
+           immediately sends the player the entire contents of a record
+           file of the game, i.e. history of moves and so on, at that time.
+           Then, the server will forward subsequent moves like they are
+           appended to the record file.
+         - Behavior changed: A player monitoring a game with MONITORON will
+           not receive Game#show again when a gaming player resigns (:toryo).
+
+2010-01-10  Daigo Moriwaki <daigo at debian dot org>
+
+       * Converted the repository from Subversion to Git.
+
+2009-12-26 Daigo Moriwaki <daigo at debian dot org> 
+
+       * [shogi-server]
+         - The server can now provide multiple floodgate modes such as
+           floodgate-900-0 and floodgate-3600-0.
+
+2009-12-25 Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - shogi-server: The command line option --floodgate-history has
+           been deprectated. 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.
+
+2009-12-20 Daigo Moriwaki <daigo at debian dot org>
+
+       * [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'.  
+           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
+           previous class: StartGame.
+         - shogi-server, shogi_server/league/floodgate.rb:
+           Changed the argument of Floodgate.new.
+
+2009-12-04 Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - The HUP signal is not supported by Ruby on Windows.
+
+2009-11-11 Daigo Moriwaki <daigo at debian dot org>
+
+       * [mk_rate]
+         - Added a new command line option: --base-date. You can specify a
+           base date to calculate rating scores. Games in the `future' are
+           ignored for the calculation.
+
+2009-11-10 Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - The server logs a result of each game to a file named '00LIST',
+           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
+              mk_game_results
+              % ./mk_game_results dir_of_csa_files > 00LIST
+           2. Run the server. It appends a result of each game to
+              '00LIST' when the game finishes.
+           3. From the list of game results, calculate rating scores of
+              players.
+              % ./mk_rate 00LIST > players.yaml
+
+2009-11-08 Daigo Moriwaki <daigo at debian dot org>
+
+       * [mk_rate]
+         - Split a pre-process collecting game results from csa files into
+           a new command, mk_game_results. Now, Generating players.yaml
+           requires two steps as follows:
+             % ./mk_game_results dir_of_csa_files > 00LIST
+             % ./mk_rate 00LIST > players.yaml
+             or
+             % ./mk_game_results dir_of_csa_files | ./mk_rate > players.yaml 
+           (Closes: #19454)
+
+2009-08-06 Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - A experimental new feature, codenamed Buoy: it allows players to
+           play a game starting with a specified position. First, a player
+           sets a buoy game with moves to a specific position. Then, two
+           players can play a new game with the game name.
+           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
+             - 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.
+             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
+             when the game finishes. If the count reaches zero, the buoy
+             game is removed automatically by the server.
+             ex. 10
+           + %%DELETEBUOY <game_name>
+             Delete a buoy game. The only owner who set up the game is
+             allowed to delete it.
+             ex. %%DELETEBUOY buoy_foo-900-0
+             - game_name is the buoy game name that was created.
+           + %%GETBUOYCOUNT <game_name>
+             Show a current count of the buoy game or -1 for non-existing
+             games.
+
+
+2009-07-11 Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - shogi_server/command.rb: refactored commands out of player.rb.
+
+2009-06-18 Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - An emtpy floodgate_history.yaml caused a server error. This
+           issue has been fixed. 
+           (Closes: #15124)
+
+2009-06-17 Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - If a new game matched between two players is not started within
+           a certain time (default 120 seconds) (i.e. the agree_waiting or
+           start_waiting state lasts too long), the Server REJECTs the game.
+           (Closes: #14425)
+
+2009-06-15 Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - When a Gote player AGREEd a new game and then a Sente player
+           logged out (LOGOUT), the Gote incorrectly received a LOGOUT message 
+           from the server. Since Gote's state was not AGREEd or STARTed yet,
+           the Gote should be REJECTed. This issue has been fixed. 
+           (Closes: #17335)
+
+2009-06-14 Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - The Board could not recognize a certain pattern of
+           Oute-Sennichite. This issue has been fixed.
+           (Closes: #13966)
+
+2009-03-22 Daigo Moriwaki <daigo at debian dot org>
+
+       * [utils/correct-bug14635.rb]
+         - Added a new file. This program corrects illegal lines introduced
+           by the #14635 bug.
+
 2009-03-07 Daigo Moriwaki <daigo at debian dot org>
 
        * [csa-file-filter]