next up previous contents index
Next: 試合の記録方法と再生方法 Up: サッカーモニタ Previous: Version 2   Contents   Index


モニタからサーバへの通信

モニタは,以下のコマンドをサーバへと送ることができる(全てのコマンドに おいて,<variable>は適切な値で置き換えられる変数である).

(dispinit) | (dispinit version <version>)
最初に,モニタとして登録するためのメッセージをサーバへ送信する(プレイ ヤとの区別のため.プレイヤとモニタは同じポート番号6000でサーバと接続す る). "(dispinit)" のみの場合は,バージョン1の情報が送られてくる. "(dispinit version 2)" とすれば,バージョン2の情報が送られてくる. モニタの設定パラメータを変更することで,バージョンを変更することができ る.

(dispstart)
サーバに試合開始,後半の開始,延長戦の開始のための(kick off)の合図を送 信する. 試合が既に実行中の場合は無視される.
(dispfoul <x> <y> <side>)
ファウルの状況を指定して送信する.x と y はファウルの発生した位置座標 である. side が LEFT (1) の場合,左チームへフリーキックが与えられる. side が NEUTRAL (0) の場合,ドロップボールが行われる. side が RIGHT (-1) の場合,右チームへフリーキックが与えられる.
(dispdiscard <side> <unum>)
プレイヤのレッドカードを与える(退場させる)指示を送信する. side は LEFT または RIGHT で,unum はプレイヤの背番号(1 - 11)である.
(dispplayer <side> <unum> <posx> <posy> <ang>)
プレイヤを指定の位置へ移動させる指示を送信する.体の向きも同時に指定可 能である. side は LEFT (1) または RIGHT (-1)で,unum はプレイヤの背番号(1 - 11) である. posx と posy によってプレイヤの新しい位置を指定するが,サーバ内部で実 際に使用される値は,これらを SHOWINFO_SCALE で割った値である. ang は,プレイヤの新しい体の方向を度数で示す. このコマンドは,サーババージョン7.02で追加された.
(compression <level>)
バージョン8.03以降,サーバはクライアントとの圧縮通信をサポートする.モ ニタは,上記の圧縮要求をサーバへ送信することで、圧縮通信を開始できる. サーバがZLib無しでコンパイルされていれば,上記コマンドに対して,サーバ は (warning compression_unsupported) という応答を返す. また,<level> が 0 から 9 の間でなければ,サーバは (error illegal_command_form) という応答を返す. それ以外の場合は,(ok compression <level>) という応答を返し,それ 以降のクライアントへのメッセージは全て,そのレベルで圧縮される. ただし,新しいcompressionコマンドが送信されれば,その時点で再びレベル が変更される. 圧縮レベルとして0以上が選択されると,モニタからサーバへのコマンド自体 も圧縮されているとみなされる. レベルを0に設定することは,圧縮を完全に解除すること(デフォルト設定)に なる.



Hidehisa Akiyama 2004-11-21