Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/uhyo/is-othello

オセロプロトコルのあれです。
https://github.com/uhyo/is-othello

Last synced: about 1 month ago
JSON representation

オセロプロトコルのあれです。

Awesome Lists containing this project

README

        

# IS Othello Server

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

## インストール方法
1. `git clone https://github.com/uhyo/is-othello.git`で手元にコードをコピーします。
2. 好きな方法で[node.jsをインストール](http://nodejs.org/)します(`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/](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