FL演習のオセロのあれ用のサーバーです。HTTPで提供される人間用インターフェースとISOP(IS Othello Protocol)で提供される審判サーバーから成ります。
git clone https://github.com/uhyo/is-othello.git
で手元にコードをコピーします。- 好きな方法でnode.jsをインストールします(
apt-get install nodejs
でも入りますが、なぜかnode
ではなくnodejs
の名前で入るので自分でシンボリックリンクを貼る必要があります)。 is-othello
ディレクトリに入りnpm install
します(必要なモジュールがnode_modules/
以下にインストールされます)。npm run build
を実行します(Macでglup default
が落ちる問題が確認されましたが、ファイルディスクリプタの上限数を超えている可能性があるためulimit -n 2560
とかやると通りました)。
npm start
でサーバーを起動します。TCPポート8080でHTTP、ポート3000でISOPのサーバーが起動します(デフォルトの場合)。
サーバーを起動した状態でhttp://localhost:8080/(デフォルトの場合)にアクセスするとGUIのオセロが表示されます。プログラムと戦いたい場合は、プログラムはポート3000につないで、人間側はブラウザからアクセスしてください。
プログラムが違法手を打つと反則負けになるらしいので、公平性のためこちらも石を置けない場所をクリックすると即座に負けになります。
1クライアントにつき1プレイヤーとして扱われるので、複数タブでアクセスすることで人間同士の対戦もできます。
審判サーバーはオリジナルのものを使用したい場合は、設定ファイル(config/default.yaml
)からISOPを無効化してください。オリジナルの審判サーバーを同じポートで起動するとそのサーバーを利用します。
- 審判サーバーが起動していないときにブラウザからアクセスすると先に進まない
- 名前のバリデーションをしてない
- 2015-07-14 v1.0.0 公開
- 2015-07-16 v1.1.0 ISOPサーバーを追加
- 2015-07-18 v1.1.1 接続切断時の処理を改善
- 2017-07-22 v1.2.0 パスが連続2回でない場合にDOUBLE_PASSと判定されるバグを修正
MIT