X-Git-Url: http://git.sourceforge.jp/view?p=shogi-server%2Fshogi-server.git;a=blobdiff_plain;f=changelog;h=71c5d9294920233f3f2cea2d9726253d44337147;hp=d3531d4dde016effff53baa5a82c543266c153d0;hb=335c9f947ec1752b706e416fbd1aab93abd138b6;hpb=26fb98417a51320d196881d6df34cb4e2c22f70e diff --git a/changelog b/changelog index d3531d4..71c5d92 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,412 @@ +2010-08-05 Daigo Moriwaki + + * [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 + + * [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 + + * [shogi-server] + - shogi_server/command.rb: + + 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. + + 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 + + * [shogi-server] + - shogi_server/league/floodgate_thread.rb: When the server run + with DEBUG mode, it ended up with an undefined variable error. + This issue has been fixed. + +2010-07-17 Daigo Moriwaki + + * [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(). + +2010-07-11 Daigo Moriwaki + + * [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 + + * [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 + ".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 + + * [shogi-server] + - shogi_server/command.rb: Fixed an issue that MONITOR2OFF did not + work. Thanks to HIDECHI and koudayu. + +2010-05-10 Daigo Moriwaki + + * [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 + + * [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 + + * [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 + + * [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 + + * [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 + + * [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 + + * [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 + + * [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 + + * Converted the repository from Subversion to Git. + +2009-12-26 Daigo Moriwaki + + * [shogi-server] + - The server can now provide multiple floodgate modes such as + floodgate-900-0 and floodgate-3600-0. + +2009-12-25 Daigo Moriwaki + + * [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 + + * [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 + + * [shogi-server] + - The HUP signal is not supported by Ruby on Windows. + +2009-11-11 Daigo Moriwaki + + * [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 + + * [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 + + * [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 + + * [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 [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 + 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 + Show a current count of the buoy game or -1 for non-existing + games. + + +2009-07-11 Daigo Moriwaki + + * [shogi-server] + - shogi_server/command.rb: refactored commands out of player.rb. + +2009-06-18 Daigo Moriwaki + + * [shogi-server] + - An emtpy floodgate_history.yaml caused a server error. This + issue has been fixed. + (Closes: #15124) + +2009-06-17 Daigo Moriwaki + + * [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 + + * [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 + + * [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 + + * [utils/correct-bug14635.rb] + - Added a new file. This program corrects illegal lines introduced + by the #14635 bug. + +2009-03-07 Daigo Moriwaki + + * [csa-file-filter] + - Improved performance. + +2009-02-15 Daigo Moriwaki + + * [shogi-server] + - A duplicated comment that is the one of the previous (or older) + move might be erroneously recorded in a csa file. This issue has + been fixed. (Closes: #15080) + +2009-02-11 Daigo Moriwaki + + * [utils/csa-filter.rb] + - Added a new file. This program filters CSA files. + +2009-02-01 Daigo Moriwaki + + * [shogi-server] + - The shogi-server records csa files of games in an illegal + format. This issue has been fixed. (Closes: #14635) + - A ##[MONITOR] command for showing a game result such as %TORYO + was not correct. This issue has been fixed. + +2009-01-13 Daigo Moriwaki + + * [shogi-server] + - It failed to proccess a game result, OuteKaihiMoreWin where a + checked king does not escape. This issue has been fixed. + +2009-01-02 Daigo Moriwaki + + * [shogi-server] + - shogi_server/timeout_queue.rb: the timeout parameter of the + constructor was not respected erroneously. This issue + has been fixed. + - shogi_server/players.rb: When a player was finishing with its + write socket broken, there was a chance that the thread of the + player in the giant lock had to wait for a long time (about 20 + seconds), which might cause threads of other players stop and + time out. (Closes: #14469) + +2008-12-30 Daigo Moriwaki + + * [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 + wdoor should be written by using this option. + (Closes: #14470) + - It does no more depend on RDoc. RDoc::usage does not work well + (due to RDoc). + +2008-12-28 Daigo Moriwaki + + * [mk_rate] + - Check kifu files more carefully so that files that contain + incomplete records are skipped. + - mk_rate might have failed to alloc due to out of memory. Now it + consumes less memory (about 200MB instead of 2GB). + - File names can be put into STDIN instead of specifying directory + names in command line arguments. + * [csa-file-filter] + - New file. It filters kifu files and is of use for a pre-filter + of mk_rate. + +2008-12-13 Daigo Moriwaki + + * [shogi-server] + - Improved an existance check and etc. of directories specified + by command line options, expecially in case of the daemon mode. + (Closes: #14244) + - A lotated log file is moved to $topdir/YYYY/MM/DD. + (Closes: #14245) + +2008-11-27 Daigo Moriwaki + + * [shogi-server] + - Added sample/*.sh for command line samples. + 2008-11-24 Daigo Moriwaki * [shogi-server]