LoginSignup
2
1

More than 5 years have passed since last update.

CorradeでSecondLife/OpenSimulatorのボット入門(その1:ボット作成〜ログイン〜Windowsサービス化)

Last updated at Posted at 2017-12-03

ボットアドベントカレンダー4日目(のはず)です。今日はどんなチャットボットかなと期待していた方、すみません。仮想空間のボットのお話です。

SecondLifeOpenSimulatorなどの仮想空間では、人間が操作するアバターの他に、仮想世界に入りっぱなしにした状態でスクリプト等で自動制御する、いわゆるボットアバターを作成できます。

2007年〜2008年頃は、キャンプボットという、他人の土地に常駐して小銭を稼いでいくボットが活躍していましたが、現在では、モデルや、店員としてグループ招待を配ったりIMで案内したりするボットが残っているようです。

今更ながら、SecondLifeでボットを作ってみます。SecondLife自体が過去のものになりつつある2017年においてもなお更新が継続しているCorradeで作成してみることにします。

ここから先は、一応、SecondLifeの経験がある前提で書きます。SecondLife自体の経験がない方、もしくは遠い昔すぎて忘れてしまった方は、とりあえずアバターを作成し、仮想世界である程度の操作を試してから続きを読まれることをお薦めします。

Corradeでボットをまともに動かすには、プログラミングの知識が必要です。Qiitaの住人は大丈夫だと思っていますが、SecondLifeの住人で検索等から飛んできた方はご注意ください。

Corradeサイト

使い方、API説明など、全てが載っています。前説が少し長いので、Requirementsの節から読み始めるのが良さそうです。

Windows Quickstart Videoのビデオは視聴必須です。たぶん、見ないとどう使っていいか全くわからないはず。無声のため、英語力不要。この記事の大部分が、ビデオで説明されている内容です。

2017年現在では、progressiveという版のみ利用するように注意書きされていますので、conservativeと書かれている段落は無視して構いません。

1. ボットアバター(と確認用アバター)を作成

SecondLifeの登録画面で、ボット用のアバターを作成します。容姿はあとでなんとでも変更できますので、どれを選んでも良いです。ただ、馬に乗っているアバターをボットにすると、周りの人に迷惑かかる可能性があるので、あまりお薦めしません。

「ユーザー名」として指定した名前は、First Nameとなります。Last Nameは固定でResidentとなります。

最初にインワールドに入るとオリエンテーションが始まります。適当なインフォハブ、例えば Hyles(42,32,22) にテレポートすると、オリエンテーションが終わります。インフォハブに飛んだら、上部メニューからWorld -> Set Home to Here(または世界->現在地をホームに設定)を選択し、今いる場所をホームに設定しておきます。

ここまで終わったら、SecondLifeから一旦ログアウトしておきます。

最後に、作成したアバターをボットとしてSecondLifeの中の人に認知してもらうための手続きをします。これをしてもしなくてもアバターの動作に変化はありませんが、手続きをしない状態でボットであるとバレると、何か良くないことが起こるらしいです。

SecondLifeのマイページにログインして、右側のメニューからアカウント->スクリプトエージェントステータスを選択します。変更をクリックし、はい、このアカウントをスクリプトエージェントまたはボット(Bot)と認定してくださいを選択して、変更を保存ボタンをクリックします。

これまでSecond Lifeに入ったことのない方、もしくは、通常のアバターで入るとIMの嵐になったりして面倒な方は、同様の手順で、ボットを確認するためのアバターを作成しておきます。

2. Corradeをインストール

Corradeの動作には .NET Framework 4.5 以降が必要ですので、無ければインストールします。

Download Binariesで、Corrade 9.169(バージョン番号は執筆当時)というリンクをクリックしてZIPをダウンロードします。ダウンロードしたら、普通に展開するだけでOKです。

展開したら、ZIPの中のCorradeというフォルダ名を、作成したボットのログイン名などに変更します。1個のCorrade.exeで起動できるボットアバターは1個のみです。もしボットを2体以上作りたい場合は、このフォルダを丸ごとコピーしたフォルダを別に作成します。

以降は、C:\Corrade\BotName Resident\Corrade.exeなどがある前提で説明します。なお、執筆時には、Windows 10 Enterprise 1703で試しています。

3. Corradeを設定

展開したCorradeフォルダの中のCorrade.ini.defaultという名前を、Corrade.iniに変名します。ファイルの中身を編集する必要はありません。この手順は、サイトには載っていませんので、注意。

その後、Configurator.exeを起動します。起動直後は、以下のような画面が表示されます。

configurator-started.png

ClientMastersGroupsタブだけ変更すれば、ボットは最低限動作します。

3.1 Client タブの設定

このタブで、ボットアカウントの情報を設定します。

configurator-client.png

  • First Name ... 登録時に指定したログイン名
  • Lsst Name ... Resident固定
  • Password ... 登録時に指定したパスワード
  • Terms of Service ... チェックを入れる
  • Start Locations ... homeが先頭になるように並び替え

3.2 Masters タブの設定

このタブで、ボットに指示を出すアバターの情報を設定します。

configurator-master.png

  • まず、Delete Masterボタンを2回押して、既に入っている名前を消します。
  • First Name ... 確認用アバターのログイン名
  • Last Name ... Resident固定(古参アバターは苗字)

3.3 Groups タブの設定

このタブで、ボットが動作に使用するグループの情報を設定します。とはいっても、ボットのためにグループを作成する必要はありません。グループ管理ボットなど、グループに対して操作を行うボットでなければ、ここで真面目にグループを設定しなくても、動作します。

スクリーンショット 2017-11-13 20.11.24.png

リストのMy Groupを選択して、Group Passwordに、ボットのパスワードに設定したい文字列を設定します。このパスワードは、SecondLifeのパスワードと同じである必要はありません。むしろ、安全のために、違うものにしておくことをお薦めします。

グループ管理ボットの場合は、Group NameGroupUUIDに実際の情報を設定し、Group PermissionsGroup Notificationsを適宜設定します。それ以外の場合は、パスワード以外の入力欄は一切触らないでください。

全部入力したら、Save File...ボタンをクリックしてCorrade.iniファイルを上書きし、ソフトウェアを終了します。

4. ボットがログインできるか確認

確認用アバターでSecondLifeにログインし、ボットのホームに設定した場所にテレポートします。テレポートしたら少しその場所から離れて、テレポートしたところにアバターを向かせます。

Hyles(42,32,22) であれば、ちょうどスポットライトが当たったところにテレポートしますので、スポットライトを見るようにして待ち構えていればOKです。

Corrade.exeを起動します。途中でファイアウォールやネットワーク周りで許可を求めるダイアログが出てきますので、クリックします。

login.png

appearance setという文字が出てくる頃には、ボットが表示されるはずです。現時点では、何もスクリプトを書いていないため、ボットは棒立ち以外何もできません。

5. Windows サービス化

棒立ちしかできない状態なのにサービス化するというのもいかがなものかとは思いますが、チュートリアルビデオで紹介されているので、一応。

各OSでのサービス化全般の説明は、auto_restart ページにあります。コマンドプロンプトを開いて、以下の例のように実行します。

C:\Corrade\BotName Resident> Corrade.exe install --service-name "Corrade: BotName"

サービス一覧を開いて、追加されていることを確認します。

スクリーンショット 2017-11-10 23.26.19.png

追加されたサービスを開始すると、しばらくしてから、ボットが画面に登場します。

Windows サービスの削除も、コマンドで実行できます。

C:\Corrade\BotName Resident> Corrade.exe uninstall --service-name "Corrade: BotName"

次回はいよいよ、スクリプトを書いてボットを動かします。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1