== shogi-serverとは * [http://www.computer-shogi.org コンピュータ将棋協会 (CSA)]規定の[http://www.computer-shogi.org/protocol/tcp_ip_server_11.html TCP/IPプロトコル]を実装したネット対局用サーバ * shogi-server独自の拡張プロトコルを定め、対局観戦機能などを加えている * ライセンスはGPL * [http://wdoor.c.u-tokyo.ac.jp/shogi/ wdoor]にて実際に運用されている * [http://wdoor.c.u-tokyo.ac.jp/shogi/LATEST/players-floodgate.html Floodgate]モードでは、レーティングが表示されている == サーバを使うには 1. [http://www.ruby-lang.org Ruby] 1.8系統を用意する。または、[http://exerb.sourceforge.jp exerb]を使ってMicrosoft Windows用バイナリを作れば、Rubyをインストールしなくても使うことも可能なはず。 1. shogi-serverをダウンロードする。 * svn:shogi-server:/shogi-server/trunk/ * {{{svn checkout http://svn.sourceforge.jp/svnroot/shogi-server/trunk/}}} 1. 動かし方: `ruby ./shogi-server ''event_name'' ''port_number''` * ''event_name'' 棋譜整理用の文字列。特になければ test でも何でも。 * ''port_number'' ポート番号を指定する。CSAでは4081が標準らしい。 == サーバと接続するには 標準プロトコル対応のクライアント、もしくは、拡張プロトコル対応のクライアントで接続する。 === 人間が接続する場合 対局をするだけなら標準プロトコルでも可能。誰がログインしているか調べたり観戦などをするには、拡張プロトコル対応クライアントを用意する必要がある。(対応クライアント情報募集中) 1. 標準プロトコル対応クライアント * [http://www.junichi-takada.jp/sficp/ SFICP] (Shogi Framework Implements CSA Protocol) 1. 拡張プロトコル対応クライアント * [http://www.geocities.co.jp/SiliconValley-SanJose/8766/kshogi.html K-Shogi] Ver 1.7.00 以降 * [http://gm.a-ark.net/%7Eshogi/clip/img/51.zip bulbul](.net) * [http://homepage1.nifty.com/Ike/usapyon/ うさぴょん] V1.2.4以降</li> * [http://tokyo.cool.ne.jp/progn/shogi-0.12.tgz 手動クライアント for Emacs] (version 0.12)[[BR]] emacs が使える方には一番お勧め ("M" で観戦が可能です) * [http://gm.a-ark.net/%7Eshogi/clip/img/22.zip 拡張モード用チャットクライアント](java) === 将棋プログラムを接続する場合 プログラムを標準プロトコルに対応する必要がある。拡張プロトコル対応にすると、連続対戦時に接続が安定する(keep aliveが可能)といった利点がある。 1. 標準プロトコルでの接続: * 適当なパスワードでログイン: そのようなクライアントが二つ揃うと対局開始。25分切れ負けモード。先手後手はランダムで決まる。 * 対局条件指定用の[protocol.html#gamename]文法をパスワードにしてログイン: * 対局開始条件: * 同じ条件で待っているクライアントがある(標準/拡張モード) * その条件に同意した拡張モードクライアントから挑戦がある * 同じパスワードで標準モードのクライアントがログインした * 持ち時間の調整や秒読みも可能。例: test-0-30 なら30秒将棋。test-2400-40 なら持ち時間40分秒読み40秒。 1. 拡張プロトコルでの接続: [#extended 拡張プロトコルの詳細]を参照 * RS232Cプロトコルでの接続: SFICP や K-Shogi などを、RS232Cと標準プロトコルを中継できるプログラムをブリッジに用いると、RS232Cプロトコルしか使わないプログラムも接続可能。 === 接続可能なサーバ [http://wdoor.c.u-tokyo.ac.jp/shogi/ wdoor:4081] == [extended 拡張プロトコルの詳細/クライアントを開発する] === 拡張プロトコルの便利なところ [protocol.html#extended-commands 拡張コマンド]が利用可能: * 誰がログインしているかが分かる * 相手や対局条件を選んで対局できる。 * 観戦ができる * チャットが出来る === 拡張プロトコルの詳細 * [protocol.html プロトコルの詳細] * 開発の際の議論など (@2ch) * [http://usapyon.dip.jp/shogi/computer/log/o3.html おまいら最強の将棋プログラムしてみろよ Part3] * [http://usapyon.dip.jp/shogi/computer/log/o4.html おまいら最強の将棋プログラムしてみろよ Part4] === その他: 将棋プログラム作成に有用な情報など * [http://gm.a-ark.net/~shogi/clip/img/28.zip 将棋駒のTrueTypeFontとJava サンプルプログラム] (Part3の884さん作) [http://gm.a-ark.net/~shogi/clip/img/29.png 画面写真] * [http://gm.a-ark.net/~shogi/clip/img/11.zip 将棋駒画像] (Part3の884さん作) ---- project:shogi-server