Skip to content

Latest commit

 

History

History
34 lines (24 loc) · 2.56 KB

README.md

File metadata and controls

34 lines (24 loc) · 2.56 KB

IS Othello Server

FL演習のオセロのあれ用のサーバーです。HTTPで提供される人間用インターフェースとISOP(IS Othello Protocol)で提供される審判サーバーから成ります。

インストール方法

  1. git clone https://github.com/uhyo/is-othello.gitで手元にコードをコピーします。
  2. 好きな方法でnode.jsをインストールします(apt-get install nodejsでも入りますが、なぜかnodeではなくnodejsの名前で入るので自分でシンボリックリンクを貼る必要があります)。
  3. is-othelloディレクトリに入りnpm installします(必要なモジュールがnode_modules/以下にインストールされます)。
  4. 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を無効化してください。オリジナルの審判サーバーを同じポートで起動するとそのサーバーを利用します。

既知の問題

  • 審判サーバーが起動していないときにブラウザからアクセスすると先に進まない
  • 名前のバリデーションをしてない

Changelog

  • 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