== Shogi-server
-Shogi-server is a server that implements the Server Protocol Ver 1.1 defined
+Shogi-server is a server that implements the Server Protocol Ver 1.2.1 defined
by Computer Shogi Association (CSA[http://www.computer-shogi.org/index_e.html])
in order for computer shogi players to play games.
=== Pre-requires
-Ruby 1.9.3 or 1.8.7
-
-As of January 2012, Shogi-server supports both Ruby 1.9.3 and 1.8.7. In
-future, however, it will only work with Ruby 1.9.x. The Ruby community
-claimed that Ruby 1.8 had no future. It is recommended that you soon
-upgrade to Ruby 1.9.3.
+Ruby 2.1 or later
For Debian,
- $ sudo aptitude install ruby1.9.1
-Note that the latest ruby1.9.1 package in Debian originates from Ruby 1.9.3.
-"1.9.1" in the package name is Ruby internal API version, not release version.
+ $ sudo aptitude install ruby
=== Install
- $ git clone git://git.sourceforge.jp/gitroot/shogi-server/shogi-server.git
+ $ git clone git://git.sourceforge.jp/gitroot/shogi-server/shogi-server.git
The following files are required to run Shogi-server:
-- shogi-server
-- shogi_server.rb
-- shogi_server/**/*.rb
+ - shogi-server
+ - shogi_server.rb
+ - shogi_server/**/*.rb
=== Run
Examples:
- $ ./shogi-server hoge 4000
+Run the server with CSA Protocol V1.2 or later
+
+ $ ./shogi-server hoge 4000
+
+With CSA Protocol V1.1.2 or before
- $ ruby1.8 ./shogi-server hoge 4000
+ $ ./shogi-server --max-moves 0 --least-time-per-move 1 hoge 4000
- $ ruby1.9.1 ./shogi-server --pid-file shogi-server.pid \
- --daemon . \
- --player-log-dir player-log-dir \
- --floodgate-history floodgate_history.yaml \
- floodgatetest 4000
+See others written in the 'shogi-server' file.
== Other tools
Tested:
-- ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
- Finished tests in 83.667928s, 4.2669 tests/s, 11.7249 assertions/s.
- 357 tests, 981 assertions, 0 failures, 0 errors, 0 skips
-
-- ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
- Finished in 69.885457 seconds.
- 357 tests, 977 assertions, 0 failures, 0 errors
-
+- ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin13]
+ Finished in 55.025733 seconds.
+ 383 tests, 1370 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
+ 100% passed
+ 6.96 tests/s, 24.90 assertions/s
+ ruby TC_ALL.rb 1.97s user 0.34s system 4% cpu 55.424 total
---
-2012-01-07 Daigo Moriwaki <daigo at debian dot org>
+2015-01-17 Daigo Moriwaki <daigo at debian dot org>
- 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). 0 disables this feature.
- - Players will receive a new message, "#MAX_MOVES_DRAW", upon
- an end of such a game:
- #MAX_MOVES_DRAW
- #DRAW
- - A new log summary type, "max_moves_draw", has been assigned for games
+ 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_draw:name_sente draw:name_gote draw
+ 'summary:max_moves:name_sente draw:name_gote draw
- Least time per move:
- New command line option: --least-time-per-move n
- This opotion specifies a least time in second per move, which
- is 1 second by default. Setting 0 means that a decimal
- fraction of time for a move will be truncated.
+ 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 <daigo at debian dot org>
Run the shogi-server. Then clients can connect to port#4081.
The server output logs to the stdout.
- 2. % ./shogi-server --daemon . --pid-file ./shogi-server.pid \
+ 2. % ./shogi-server --max-moves 0 --least-time-per-move 1 test 4081
+ Run the shogi-server in compliance with CSA Protocol V1.1.2 or before.
+
+ 3. % ./shogi-server --daemon . --pid-file ./shogi-server.pid \
--player-log-dir ./player-logs \
test 4081
Run the shogi-server as a daemon. The server outputs regular logs
to shogi-server.log located in the current directory and network
messages in ./player-logs directory.
- 3. % ./shogi-server --daemon . --pid-file ./shogi-server.pid \
+ 4. % ./shogi-server --daemon . --pid-file ./shogi-server.pid \
--player-log-dir ./player-logs \
--floodgate-games floodgate-900-0,floodgate-3600-0 \
test 4081