ドキュメント

サッカーサーバの設定

サッカーサーバ(rcsserver)には多くの設定パラメータが用意されている. これらのパラメータはrcssserver起動時に指定することができ,サーバプログラムのソースを変更すること無く,シミュレーションの条件を柔軟に変更できる. rcssserver起動時にパラメータを与える方法は以下の2つ.

  • 設定ファイル
  • コマンドラインオプション

名前空間

設定パラメータの数が多いため,パラメータの目的に応じて名前空間を使い分けるようになっている. rcssserverバージョン15では,以下の名前空間が使用されている.

  • CSVSaver
    試合結果をCSVファイルとして記録するための設定パラメータ群が属する.
  • player
    ヘテロジーニアスプレイヤに関する設定パラメータ群が属する. このパラメータ群は'player_param'メッセージによってプレイヤやコーチへ送信される.
  • server その他のシミュレーション全般の設定パラメータ群が属する. このパラメータ群は'server_param'メッセージによってプレイヤやコーチへ送信される.

設定ファイル

rcssserverは起動時に設定ファイルを読み込もうとし,ファイルが存在しなけ れば新規に設定ファイルを生成する.

設定ファイルの位置

通常,設定ファイルはホームディレクトリ直下の .rcssserver ディレクトリ(Windowsではrcssserverの作業フォルダ内)に置かれる. .rcssserverディレクトリが存在しなかった場合は,rcssserverの初回起動時にこのディレクトリも生成される.

環境変数 RCSS_CONF_DIR によって設定ファイルの位置を変更することができる. 例えば,以下のようにrcssserverを実行すると,.rcssserver/15.0.1 以下の設定ファイルが使用される(または生成される).

$ RCSS_CONF_DIR=$HOME/.rcssserver/15.0.1 rcssserver

必要に応じて"~/.bashrc"などにRCSS_CONF_DIRを設定しておけば良い

設定ファイルの種類

設定ファイルは名前空間ごとに個別に用意される. rcssserverバージョン15では以下の設定ファイルが使用されている.

  • CSVSaver.conf
    名前空間"CSVSaver"に対応する設定ファイル.
  • player.conf
    名前空間"player"に対応する設定ファイル.
  • server.conf
    名前空間"server"に対応する設定ファイル.

設定ファイルのフォーマット

設定ファイル中では,コメント記号としてC++スタイルのコメント記号('/**/'と'//')と'#'を使用できる. '//'または'#'が現れると,そこから行末まではコメントとして扱われる. 各パラメータは以下のように記述する.

 server::half_time = 300

'::'と'='は区切り文字である. この例では,名前空間"server"のパラメータ"half_time"の値を300に設定していることを意味する.

コマンドラインオプション

設定ファイルに記述されているすべてのパラメータは,rcssserver起動時のコマンドラインオプションでも与えることができる. 設定ファイルよりもコマンドラインオプションのほうが優先される. 使い方の例は以下のとおり.

 $ rcssserver server::half_time = 300

"include"という特殊オプションによって特定の設定ファイルを読みこませることができる. 以下のように使う.

 $ rcssserver include = '~/tournament.conf'

これは,ホームディレクトリ直下の'tournament.conf'という設定ファイルを読み込むことを指定している.

よく使うパラメータ

名前取りうる値説明
server::game_loggingtrue または falseゲームログ(.rcg)ファイルを記録するかどうかを決定する .
server::text_loggingtrue または falseテキストログ(.rcl)ファイルを記録するかどうかを決定する.
server::game_log_fixedtrue または falseゲームログ(.rcg)ファイルの名前を固定するかどうかを決定する.trueの場合,server::game_log_fixed_nameで指定したファイル名でログファイルが生成されるようになる.
server::text_log_fixedtrue または falseテキストログ(.rcl)ファイルの名前を固定するかどうかを決定する.trueの場合,server::text_log_fixed_nameで指定したファイル名でログファイルが生成されるようになる.
server::game_log_dir'文字列'ゲームログ(.rcg)ファイルを記録するディレクトリを指定する.
server::text_log_dir'文字列'テキストログ(.rcl)ファイルを記録するディレクトリを指定する.
server::coach_w_refereetrue または falsetrueの場合,自動審判を有効にしたままトレーナエージェントの使用が許可される.
server::nr_normal_halfs0以上の整数通常ハーフの数を指定する.デフォルト値は2となっており,前後半が実行される.
server::nr_extra_halfs0以上の整数延長線のハーフ数を指定する.
server::penalty_shoot_outstrue または false延長戦終了後にペナルティキックを使用するかどうかを指定する.nr_normal_halfsとnr_extra_halfを0にすると,キックオフ直後にペナルティキックを開始することができる.
server::half_time整数通常ハーフでの1ハーフの長さを指定する.この値x10が実際のサイクル数になる.負の値にすると無限に試合が実行されるようになる.
server::extra_half_time整数延長戦での1ハーフの長さを指定する.
server::synch_modetrue または falsetrueの場合,同期モードでシミュレータが起動される.通常モードでは,シミュレータは1サイクルが100ミリ秒になるように内部で待ち時間が調整されている.これに対して,同期モードでは待ち時間を設けず,シミュレーション時間を圧縮することができる.実験などで大量の試合を実行する場合に,試合実行時間を大幅に短縮することができる.ただし,同期モードを使用するには,同期モードに対応したクライアントが必要である.
server::auto_modetrue または false自動でキックオフするかどうかを指定する.trueの場合,キックオフが自動化されるだけでなく,試合終了後にrcssserver が自動で終了するようになる.このオプションによって,スクリプトによる試合の自動実行が容易になる.rcssserverが起動してから両チームが接続するまで,server::connect_waitで指定された時間だけ待機する.両チーム接続後,自動キックオフまでserver::kick_off_waitで指定された時間だけ待機する.そして,試合終了後はserver::game_over_waitで指定された時間待機した後にrcssserver自身を終了させる.
server::team_l_start'文字列'左サイドのチームを起動するコマンドを指定する.通常,server::auto_modeと組み合わせて使用する.
server::team_r_start'文字列'右サイドのチームを起動するコマンドを指定する.通常,server::auto_modeと組み合わせて使用する.

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-03-14 (月) 14:51:37 (2014d)
SourceForge.JP
Creative Commons License
RoboCup tools by Hidehisa Akiyama is licensed under a Creative Commons 表示-非営利 2.1 日本 License.