NPCがいないので CorradeでBot Agentを作る

Second Life は、アバター ≒ ユーザー なので、他のゲームのように NPC が「基本的には」存在しません。
アバターを Bot Agent に設定して、常にログイン。LSLで処理を作り込めばNPCを作ることも出来ますが、かなり手間もかかります。

Corrade : Second Life Bot Agent

今回は Second Life のアバターを Bot Agent にするための Corrade を使用してガイドNPCを構築してみました。

Corrade は、バージョンアップしたことで、WEBからアバターの設定などができるように変わりました。

古いバージョンの Mono GUI でアバター設定して、Mono Serviceで起動する方法だけしか知らなかったので、公式を見ながら作業します。

インストールと基本の立ち上げ

公式サイトは、以下のURLになります。

https://grimore.org/secondlife/scripted_agents/corrade

新しいバージョンでは、以下の環境のパッケージが提供されています。

  • Linux Arm
  • Linux Arm64
  • Linux x64
  • Windows Arm
  • Windows 64bit(x64)
  • Windows 32bit(x86)

Linux Arm にも対応しているので、ちょっと試したりするのであれば RaspberryPi で動かすこともできます。

今回は、外部サービスとの連携などをしたかったので、Azure クラウド上の Ubuntu Server 20.04 LTS に Linux x64 で構築しました。
22.04 LTS も試しましたが openssl ライブラリのバージョンが対応していないため起動できませんでした。

関連ライブラリのインストール

公式にもあるとおり Corrade は、画面処理をする関係で GDI ライブラリが必要になります。
Ubuntu の GDIライブラリ (libgdiplus) を事前にインストールしておきます。
ついでに使いそうなツールもインストールしておくと作業が止まることがありません。

sudo apt install libgdiplus

sudo apt install unzip
sudo apt install build-essential

これで必要な環境は整います。

パッケージの展開 と 設定ファイルのコピー

公式サイトから 配布パッケージをダウンロードして、展開します。

sudo mkdir -p /opt/corrade/Corrade_Resident/
sudo chown -Rf ubuntu:ubuntu /opt/corrade/Corrade_Resident/
cd /opt/corrade/Corrade_Resident/
wget https://corrade.grimore.org/download/corrade/linux-x64/Corrade-11.0.297.383-linux-x64.zip
unzip ./Corrade-11.0.297.383-linux-x64.zip

これで カレントディレクトリ (/opt/corrade/Corrade_Resident/) に Corrade が解凍できます。
次ぎに、起動するための設定ファイルを準備します。

cp CorradeConfiguration.xml.default CorradeConfiguration.xml

CorradeConfiguration.xml は、Corrade のパスワードや、アバターの情報、接続するAPIなどが設定されています。

Corrade の起動

設定ファイルをコピーして準備が整ったら、Corradeを起動します。
サービス化することも出来ますが、最初はログを確認しながらがよいのでターミナルから直接起動します。

sudo ./Corrade

Corrade が起動すると 54377 ポートで、Corrade の管理WEB画面が使えるようになります。
Chrome などの Webブラウザから http://[HOST-IP-ADDRESS]:54377/ で接続します。

Corrade の設定

Corrade が起動したら管理画面で基本的な設定をします。

  • ログイン画面で、初期パスワード「nucleus」でログインします。
  • 「CONFIGURE」を選択
  • 「Login」で 使用するアバターのアカウント情報を入力
  • 「Commit Configuration」で設定を保存
  • 「Groups」で 画面の下にある 「ADD」をクリック
  • アバターを操作する SecondLife グループ名を入力
  • 操作時のパスワードを入力
  • Group List から初期で入っている [Wizardry and Steamworks]:Support を選択
  • 画面下の「DELETE」でグループを削除
  • 「Commit Configuration」で設定を保存

基本的には、これで Corrade で操作するアバターの設定が終わりです。
一度、ターミナルで Ctrl-C して Corrade プロセスを kill します。

もう一度同じ手順で Corrade を立ち上げると、設定したアバターが SecondLife に現れます。

初期設定は last になっていますので、Home などに変えたい場合は、先ほどの CONFIGURE で、右上の「Normal」をクリックして「Advance」に切り替えて設定を変更します。

Corrade を自由に操作する

今回は、Corrade で SecondLife のアバターを誕生させるまですすめました。
基本的に Corrade のアバターを制御するには、SecondLife のオブジェクトなどから Instant Message を送信して操作します。

Advance 設定で、Corradeの簡易WEBサーバーでHTTPからコマンドで操作する こともできます。

たまにですが、実験的に IMONI SIM に、Corrade Agent を起動してます。

RaspberryPi Zero W でも動作するようなので、複数の Corrade を動かすのも面白いかもしれませんね。

Follow me!