OSDN Git Service
Daigo Moriwaki [Mon, 4 Nov 2013 09:49:32 +0000 (18:49 +0900)]
Rleased: Revision "
20131104"
Daigo Moriwaki [Mon, 4 Nov 2013 09:47:58 +0000 (18:47 +0900)]
[mk_game_results] Flush after each output line.
Daigo Moriwaki [Mon, 4 Nov 2013 06:05:57 +0000 (15:05 +0900)]
Merge branch '201303-yamashita_matching' into wdoor-stable
Conflicts:
changelog
Daigo Moriwaki [Mon, 4 Nov 2013 04:35:02 +0000 (13:35 +0900)]
* [mk_rate] - Added a new option, --ignore, which is imported from mk_rate-from-grep.
Daigo Moriwaki [Sun, 8 Sep 2013 02:02:41 +0000 (11:02 +0900)]
[shogi-server] - shogi_server/{game,time_clock}.rb:
When StopWatchClock is used, "Time_Unit:" of starting messages
in CSA protocol supplies "1min".
Daigo Moriwaki [Sat, 7 Sep 2013 07:52:57 +0000 (16:52 +0900)]
Merge branch 'wdoor-stable-fork' into wdoor-stable
Daigo Moriwaki [Sun, 7 Apr 2013 15:39:32 +0000 (00:39 +0900)]
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".
Daigo Moriwaki [Sun, 31 Mar 2013 05:25:15 +0000 (14:25 +0900)]
Followed the change of the error message format.
Daigo Moriwaki [Sun, 31 Mar 2013 05:15:47 +0000 (14:15 +0900)]
command.rb: More elaborate error messages for the %%GAME command.
Daigo Moriwaki [Sun, 31 Mar 2013 04:44:13 +0000 (13:44 +0900)]
Improted %%FORK command.
%%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.
Daigo Moriwaki [Sun, 24 Mar 2013 13:01:51 +0000 (22:01 +0900)]
Fixed a bug which was found in a long test.
Daigo Moriwaki [Wed, 20 Mar 2013 08:23:36 +0000 (17:23 +0900)]
[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.
Daigo Moriwaki [Sun, 17 Mar 2013 05:49:40 +0000 (14:49 +0900)]
Improved %%FORK command. Thinking times of each move are also provided.
Daigo Moriwaki [Sun, 24 Feb 2013 07:32:57 +0000 (16:32 +0900)]
Implemented a new command: %%FORK
Daigo Moriwaki [Sun, 30 Dec 2012 08:24:33 +0000 (17:24 +0900)]
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.
Daigo Moriwaki [Sun, 30 Dec 2012 08:18:15 +0000 (17:18 +0900)]
Backported
a5c94012656902e73e00f46e7a4c7004b24d4578: test/TC_logger.rb depeneded on a specific directory where it was running on. This issues has been fixed.
Daigo Moriwaki [Fri, 28 Dec 2012 08:21:44 +0000 (17:21 +0900)]
Merge branch 'human_vs_human' into wdoor-stable
Daigo Moriwaki [Fri, 28 Dec 2012 06:23:45 +0000 (15:23 +0900)]
- 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.
tkaneko [Tue, 17 Jul 2012 04:35:58 +0000 (13:35 +0900)]
add derivatives of mk_rate, currently used @wdoor.
daigo [Sat, 30 Oct 2010 11:11:39 +0000 (20:11 +0900)]
- Added a new debug message.
- Added a testing line that is default commened out.
daigo [Sat, 30 Oct 2010 11:10:19 +0000 (20:10 +0900)]
Corrected namespace of GSL::Vector. This line is not reached, though.
daigo [Wed, 6 Oct 2010 13:39:22 +0000 (22:39 +0900)]
- mk_rate: the usage was not updated. (Closes: #23358)
Thanks to Hoki-san to report this issue.
daigo [Sat, 18 Sep 2010 02:45:54 +0000 (11:45 +0900)]
Fixed a bug #23245.
For hadicapped games, wrong initial positions were delivered to players and
monitors. This issue has been fixed. (Closes: #23245)
daigo [Sat, 18 Sep 2010 02:18:38 +0000 (11:18 +0900)]
Refactoring: Changed the name of a constant.
daigo [Sat, 18 Sep 2010 02:04:26 +0000 (11:04 +0900)]
Added a test-time-run target which runs a test for day changes
daigo [Sun, 5 Sep 2010 14:27:23 +0000 (23:27 +0900)]
Enhanced the CSA Login mode to accept a turn preference.
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.
daigo [Sun, 5 Sep 2010 13:27:55 +0000 (22:27 +0900)]
Added some test cases.
daigo [Sun, 5 Sep 2010 07:59:33 +0000 (16:59 +0900)]
Update changelog
daigo [Sun, 5 Sep 2010 06:13:44 +0000 (15:13 +0900)]
Enhanced the Buoy feature: Players are allowed to start buoy games with specific turns.
ex. %%GAME buoy_foo-1500-0 +
daigo [Sat, 4 Sep 2010 08:18:47 +0000 (17:18 +0900)]
Refactored Player#set_sente_from_str().
daigo [Sat, 4 Sep 2010 07:10:35 +0000 (16:10 +0900)]
Refactored methods: League#find_rival and Game::decide_turns.
daigo [Sat, 4 Sep 2010 06:06:48 +0000 (15:06 +0900)]
The Buoy behaivor is changed.
Starting a buoy game, players are notified a starting game
position with the initial position and moves, instread of a
targeting position.
daigo [Thu, 5 Aug 2010 14:06:22 +0000 (23:06 +0900)]
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.
daigo [Tue, 3 Aug 2010 13:21:09 +0000 (22:21 +0900)]
../shogi_server/game.rb: mkdir_p will be performed in a global mutex of ShogiServer::Mkdir.
daigo [Tue, 3 Aug 2010 13:12:36 +0000 (22:12 +0900)]
../shogi_server.rb, ../shogi_server/util.rb: Refactored mkdir_for to Mkdir.mkdir_for.
daigo [Tue, 3 Aug 2010 12:44:26 +0000 (21:44 +0900)]
shogi_server/league/floodgate_thread.rb: SetupFloodgate#start now returns an instance correctly.
daigo [Tue, 3 Aug 2010 12:31:52 +0000 (21:31 +0900)]
Added building blocks to test an issue where mtime of log files is earlier that system time.
daigo [Tue, 3 Aug 2010 12:27:38 +0000 (21:27 +0900)]
Support multiple clients to test.
daigo [Tue, 3 Aug 2010 12:26:34 +0000 (21:26 +0900)]
Added test cases.
daigo [Tue, 3 Aug 2010 12:25:25 +0000 (21:25 +0900)]
Convert syntax: Time::now to Time.now
daigo [Sun, 25 Jul 2010 12:39:49 +0000 (21:39 +0900)]
Provided a test case for Logger.logdev.mkdir_for()
daigo [Sun, 25 Jul 2010 08:43:31 +0000 (17:43 +0900)]
- shogi-server: Improved fault tolerance of the server.
daigo [Sun, 25 Jul 2010 08:38:49 +0000 (17:38 +0900)]
shogi_server.rb: Fixed a race condition in a case of switching log files
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.
daigo [Sun, 25 Jul 2010 06:17:43 +0000 (15:17 +0900)]
Merge branch 'logger'
Conflicts:
changelog
daigo [Sun, 25 Jul 2010 06:15:23 +0000 (15:15 +0900)]
- shogi_server/command.rb: Commands specific to 81Dojo, startig with '%%%', are just ignored instead of causing unknown command errors.
daigo [Sun, 25 Jul 2010 05:40:57 +0000 (14:40 +0900)]
- shogi_server.rb: Refactoring. Added test/TC_logger.rb to test ShogiServer::Logger class.
daigo [Sun, 25 Jul 2010 05:46:19 +0000 (14:46 +0900)]
- shogi_server/command.rb: For an unknown error command log, an empty line is no longer logged.
daigo [Sun, 25 Jul 2010 03:41:32 +0000 (12:41 +0900)]
Added new targets to test the server: test-run-daemon and stop-daemon
daigo [Sat, 24 Jul 2010 03:54:36 +0000 (12:54 +0900)]
Resolved merge conflict
daigo [Fri, 23 Jul 2010 10:20:26 +0000 (19:20 +0900)]
* [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.
daigo [Sat, 17 Jul 2010 11:31:35 +0000 (20:31 +0900)]
* [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().
daigo [Sun, 11 Jul 2010 09:34:23 +0000 (18:34 +0900)]
shogi_server/league.rb: Improved performance of Persistance#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.
daigo [Sun, 11 Jul 2010 09:22:05 +0000 (18:22 +0900)]
Set initial values to BasicPlayer's instance variables.
Daigo Moriwaki [Sat, 10 Jul 2010 10:17:05 +0000 (19:17 +0900)]
Updated usage.
daigo [Thu, 8 Jul 2010 12:57:00 +0000 (21:57 +0900)]
Added a sample command line to run the server.
daigo [Fri, 2 Jul 2010 02:57:56 +0000 (11:57 +0900)]
* [shogi-server]
- A new command line option:
--floodgate-names GameStringA[,GameStringB[,...]]
- 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.
daigo [Sat, 26 Jun 2010 06:14:14 +0000 (15:14 +0900)]
Added some module functions related to DateTime or Time.
Daigo Moriwaki [Tue, 22 Jun 2010 00:27:23 +0000 (09:27 +0900)]
Merge branch 'master' of git.sourceforge.jp:/gitroot/shogi-server/shogi-server
daigo [Sat, 19 Jun 2010 08:19:59 +0000 (17:19 +0900)]
Improved stability of test results.
TestClientAtmark#test_toryomight sometimes fail. Adding a short
sleep interval makes this issue happen less likely. 10 of 10 trials
were successful.
daigo [Sat, 19 Jun 2010 08:06:06 +0000 (17:06 +0900)]
Improved stability of test results.
TestTwoSameMoves#test_two_same_moves might sometimes fail. Adding a short
sleep interval makes this issue happen less likely. 10 of 10 trials
were successful.
Daigo Moriwaki [Sun, 6 Jun 2010 13:55:59 +0000 (22:55 +0900)]
Added a test case for Floodgate#game_name?
Daigo Moriwaki [Sun, 6 Jun 2010 13:46:18 +0000 (22:46 +0900)]
Refactored MockLogger class.
Daigo Moriwaki [Tue, 1 Jun 2010 14:22:04 +0000 (23:22 +0900)]
Provided more test cases for Monitor features.
Daigo Moriwaki [Tue, 1 Jun 2010 13:52:50 +0000 (22:52 +0900)]
- shogi_server/command.rb: Fixed an issue that MONITOR2OFF did not
work. Thanks to HIDECHI and koudayu.
Daigo Moriwaki [Mon, 10 May 2010 12:25:22 +0000 (21:25 +0900)]
Help the write_thread to terminate
Daigo Moriwaki [Mon, 10 May 2010 12:23:47 +0000 (21:23 +0900)]
Improved performance and stability of tests.
Daigo Moriwaki [Sat, 8 May 2010 04:58:49 +0000 (13:58 +0900)]
Added a benchmark program.
ex: time ruby1.9.1 benchmark.rb csa/wdoor+floodgate-900-0+gps_normal+gps_l+
20100507120007.csa 10
Daigo Moriwaki [Sat, 8 May 2010 02:22:52 +0000 (11:22 +0900)]
* [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.
daigo [Sun, 25 Apr 2010 04:25:52 +0000 (13:25 +0900)]
- shogi_server/player.rb:
Log a warning message in a case that a player closes a connection suddenly.
I investigated this issue: http://d.hatena.ne.jp/mkomiya/
20100424/
1272095860
daigo [Sun, 25 Apr 2010 04:25:24 +0000 (13:25 +0900)]
Added a comment for gets_safe()
daigo [Tue, 13 Apr 2010 13:50:11 +0000 (22:50 +0900)]
- 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.
daigo [Sun, 7 Mar 2010 12:56:01 +0000 (21:56 +0900)]
* [shogi-server] Ignore the last move of two sequential ones
- 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.
Daigo Moriwaki [Sat, 27 Feb 2010 14:52:14 +0000 (23:52 +0900)]
* [shogi-server] The server now provides more accurate time control.
Previouslly, a player's thinking time included a time waiting to get th
e giant lock. This may have caused games to time up, especially, during
byo-yomi etc.
Daigo Moriwaki [Sat, 23 Jan 2010 08:37:44 +0000 (17:37 +0900)]
Forgot to add this file at the previous commit.
Daigo Moriwaki [Sat, 23 Jan 2010 08:35:29 +0000 (17:35 +0900)]
* [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_
Daigo Moriwaki [Fri, 15 Jan 2010 10:25:39 +0000 (19:25 +0900)]
Proposal implementation of a new command called MONITOR2{ON,OFF}.
* [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).
Daigo Moriwaki [Sun, 10 Jan 2010 07:47:20 +0000 (16:47 +0900)]
* Converted the repository from Subversion to Git.
beatles [Sun, 27 Dec 2009 04:26:46 +0000 (04:26 +0000)]
Floodgate games were not started. This issue has been fixed.
beatles [Sat, 26 Dec 2009 01:40:20 +0000 (01:40 +0000)]
* [shogi-server]
- The server can now provide multiple floodgate modes such as
floodgate-900-0 and floodgate-3600-0.
beatles [Sat, 26 Dec 2009 01:40:19 +0000 (01:40 +0000)]
The game_name attribute has been moved to the super class, BasicPlayer.
In order to test cases using BasicPlayer class, it now requires the game_name attribute.
beatles [Sat, 26 Dec 2009 01:40:18 +0000 (01:40 +0000)]
- shogi-server, shogi_server/league/floodgate.rb: Changed the argument of Floodgate.new.
beatles [Sat, 26 Dec 2009 01:40:17 +0000 (01:40 +0000)]
Moved TestPairing class to test/TC_pairing.rb.
Refactoring.
beatles [Sat, 26 Dec 2009 01:40:16 +0000 (01:40 +0000)]
- shogi_server/pairing.rb: Added a new class: StartGameWithoutHumans.
This tries to make pairs trying to avoid a human-human match. This is now enabled instread of the previous class: StartGame.
beatles [Sat, 26 Dec 2009 01:40:15 +0000 (01:40 +0000)]
- 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'
beatles [Fri, 4 Dec 2009 10:32:07 +0000 (10:32 +0000)]
Took (a bit) care of Windows platforms.
The HUP signal is not supported by Ruby on Windows. Now it is disabled on Windows.
beatles [Sun, 29 Nov 2009 14:52:39 +0000 (14:52 +0000)]
Corrected.
beatles [Wed, 25 Nov 2009 09:00:59 +0000 (09:00 +0000)]
Added a tool to investicate statistics of csa kifu files
beatles [Sun, 15 Nov 2009 13:24:45 +0000 (13:24 +0000)]
* [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.
beatles [Sun, 15 Nov 2009 13:24:44 +0000 (13:24 +0000)]
Added a new feature, LoggingObserver, which logs a result of each game.
beatles [Sun, 15 Nov 2009 13:24:44 +0000 (13:24 +0000)]
Corrected typo
beatles [Sun, 15 Nov 2009 13:24:43 +0000 (13:24 +0000)]
In a case of the Errno::ECONNRESET error, the error is correctly logged to the server log file.
beatles [Sun, 15 Nov 2009 13:24:42 +0000 (13:24 +0000)]
Split GameResult related classes to shogi_server/game_result.rb
beatles [Sun, 8 Nov 2009 14:38:12 +0000 (14:38 +0000)]
One more correction.
beatles [Sun, 8 Nov 2009 14:36:33 +0000 (14:36 +0000)]
Corrected.
beatles [Sun, 8 Nov 2009 13:48:48 +0000 (13:48 +0000)]
* [mk_rate]
- Split a pre-process collecting game results from csa files into
a new command, mk_game_results. Now, Generating players.html
requires two steps as follows:
% ./mk_game_results dir_of_csa_files > 00list
% ./mk_rate 00list > players.html
or
% ./mk_game_results dir_of_csa_files | ./mk_rate > players.html
(Closes: #19454)
beatles [Sun, 8 Nov 2009 13:48:48 +0000 (13:48 +0000)]
Removed the deprecated method.
tkaneko [Wed, 4 Nov 2009 11:57:32 +0000 (11:57 +0000)]
specify size
beatles [Sun, 1 Nov 2009 13:32:36 +0000 (13:32 +0000)]
Corrected the expected results.
beatles [Sun, 1 Nov 2009 13:32:35 +0000 (13:32 +0000)]
test_not_uchifuzume was not erronously executed. Now the method is tested.
beatles [Sun, 1 Nov 2009 13:32:34 +0000 (13:32 +0000)]
Improved stability of the test result.