Windows
ゲームサーバーとコントローラープログラムを同じコンピューターで実行する
Section titled “ゲームサーバーとコントローラープログラムを同じコンピューターで実行する”まず、ゲームサーバーと自分のコントローラープログラムを同じコンピューターで実行してみましょう。競技での構成とは異なりますが、ローカルでデバッグするときに便利です。
リモートモードを切り替える
Section titled “リモートモードを切り替える”ワールドを開き、コントロールウィンドウで「TOGGLE REMOTE」を押します。リモートモードがオンになると、ボタンがオレンジ色に変わります。

コントロールウィンドウが表示されない場合は、Scene Tree で「DEF MAINSUPERVISOR Robot」を右クリックし、「Show Robot Window」を選んでください。

プログラムを実行する
Section titled “プログラムを実行する”PowerShell を開きます。通常はアプリの一覧にあります。

PowerShell で次のコマンドを実行します。<Your controller path> は、コントローラープログラムのパスに置き換えてください。
webots-controller.exe <Your controller path>
コマンドが見つからない場合は、フルパスを使ってください。デフォルトでは C:\Program Files\Webots\msys64\mingw64\bin\webots-controller.exe です。
コントローラープログラムのパスがわからない場合は、そのファイルを PowerShell のウィンドウにドラッグ&ドロップすると、パスが自動で入力されます。

Enter キーを押してコマンドを実行します。コントローラーは Webots に接続し、ゲームが始まるまで待機します。
ゲームを開始する
Section titled “ゲームを開始する”コントロールウィンドウのスタートボタンを押して、シミュレーションを開始します。

ゲームを終了する
Section titled “ゲームを終了する”ゲームを止めるには、PowerShell で Ctrl+C を押してプログラムを停止します。
シミュレーションが終了すると、Erebus のゲームマネージャーも停止します。もう一度ゲームを実行するには、ワールドを再読み込みしてください。

ゲームサーバーを別のコンピューターで実行する
Section titled “ゲームサーバーを別のコンピューターで実行する”これは公式の競技で使われる構成です。コントローラーを実行するコンピューター(クライアント)と、ゲームを実行するコンピューター(サーバー)は、同じネットワークに接続されている必要があります。
- (サーバー)サーバーで Webots を起動し、ワールドを開いて、コントロールウィンドウでリモートモードをオンにします。
- (サーバー)サーバーの IP アドレスを調べます。Windows で IP アドレスを確認するを参照してください。
- (クライアント)PowerShell で次のコマンドを実行します。
<Your controller path>はコントローラープログラムのパスに、<Server IP address>は前の手順で調べた IP アドレスに置き換えてください。
webots-controller.exe --protocol=tcp --ip-address=<Server IP address> <Your controller path> - (サーバー)スタートボタンを押してゲームを開始します。
トラブルシューティング
Section titled “トラブルシューティング”コントローラーが接続できない場合は、2 台のコンピューターが互いに通信できること、サーバーのファイアウォールが TCP ポート 1234 を許可していること、Webots の設定(Preferences)の Network タブにある許可 IP のリストが空か、クライアントを含んでいることを確認してください。
公式ドキュメント
Section titled “公式ドキュメント”この構成について詳しくは、Webots のガイドを参照してください。
