2011年7月30日土曜日

OpenSim on FreeBSD8.x (その4 - 設定・ログイン)

さて、いよいよOpemSimの設定を完了させて、SIMにログインしてみます。

SIMとリージョン

日本の多くのSLのユーザーは256m×256m(65536㎡)の土地の事をSIMと呼ぶことが多いのですが、正確にはその領域はリージョン(Region)と呼びます。SIMは本来はシミュレーター(Simulator)を表す用語です。一台のコンピュータには1つ以上のシミュレーターが動作しており、個々のシミュレーターは一つもしくは複数のリージョンを管理しています。
OpemSimの用語では、これらが区別されていますのでご注意ください。

スタンドアロンモードの設定

OpenSimの設定は、スタンドアロンモードとグリッドモードがあります。ここでは、一番簡単なスタンドアロンモードで設定してみましょう。設定の詳細に関しては、次を参照してください。

INIファイルの設定

binディレクトリ以下にある、INIファイルを設定します。
% cd bin
% cp OpenSim.ini.example OpenSim.ini
% cd config-include
% cp StandaloneCommon.ini.example  StandaloneCommon.ini

OpenSim.iniを編集して、ファイルの最後の方にある [Architecture] セクションで、 Standalone.ini の行のコメントを外し、スタンドアロンモードで起動するようにします。
% diff -c OpenSim.ini.example OpenSim.ini
*** OpenSim.ini.example Sat May 28 06:54:03 2011
--- OpenSim.ini Sat Jul 23 21:57:06 2011
***************
*** 735,741 ****
      ;; "config-include/StandaloneCommon.ini.example" to "config-include/StandaloneCommon.ini" before
      ;; editing it to set the database and backend services that OpenSim will use.
      ;;
!     ; Include-Architecture = "config-include/Standalone.ini"
      ; Include-Architecture = "config-include/StandaloneHypergrid.ini"
      ; Include-Architecture = "config-include/Grid.ini"
      ; Include-Architecture = "config-include/GridHypergrid.ini"
--- 735,741 ----
      ;; "config-include/StandaloneCommon.ini.example" to "config-include/StandaloneCommon.ini" before
      ;; editing it to set the database and backend services that OpenSim will use.
      ;;
!     Include-Architecture = "config-include/Standalone.ini"
      ; Include-Architecture = "config-include/StandaloneHypergrid.ini"
      ; Include-Architecture = "config-include/Grid.ini"
      ; Include-Architecture = "config-include/GridHypergrid.ini"

あと、bin/Regions/Regions.ini というファイルも必要なのですが、これはOpenSim.exeの初回実行時に自動的に作成されます。

DllMapの設定

DllMapとは、Windowsのライブラリ(.dll)とLinuxやUnixのライブラリ(通常 .so)の名前を対応づけるものです。DllMapの詳細は、Monoプロジェクトの「Config DllMap」のページを参照してください。
opensim-0.7.1.1-source.tar.gz を展開したときに binディレクトリにあらかじめ存在する .soライブラリはLinux用ライブラリのようですが、ここでは、その2・その3でコンパイルしたFreeBSD用の共有ライブラリ(.so)へ対応づけます。

Mono.Data.Sqlite.dll.config
以下の一行を追加。これで /usr/local/lib/libsqlite3.so を使うようになります。
% diff -c Mono.Data.Sqlite.dll.config.orig Mono.Data.Sqlite.dll.config
*** Mono.Data.Sqlite.dll.config.orig    Sat Jul 23 21:59:11 2011
--- Mono.Data.Sqlite.dll.config Sat Jul 23 21:59:30 2011
***************
*** 2,5 ****
--- 2,6 ----
    <dllmap os="osx" dll="sqlite3" target="./libsqlite3.dylib" />
    <dllmap os="!windows,osx" cpu="x86-64,ia64" wordsize="64" dll="sqlite3" target="./libsqlite3_64.so" />
    <dllmap os="!windows,osx" cpu="x86" wordsize="32" dll="sqlite3" target="./libsqlite3_32.so" />
+   <dllmap os="freebsd" cpu="x86" dll="sqlite3" target="libsqlite3.so" />
  </configuration>

OpenMetaverse.dll.config
以下の一行を追加。これで bin/libopenjpeg-dotnet-2.1.3.0-dotnet-1-i386.so を使うようになります。
% diff -c OpenMetaverse.dll.config.orig OpenMetaverse.dll.config
*** OpenMetaverse.dll.config.orig       Sat Jul 23 22:00:00 2011
--- OpenMetaverse.dll.config    Sun Jul 24 13:52:52 2011
***************
*** 4,7 ****
--- 4,8 ----
      <dllmap os="!windows,osx" cpu="x86-64,ia64" dll="openjpeg-dotnet-x86_64.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1-x86_64" />
      <dllmap os="!windows,osx" cpu="x86" dll="openjpeg-dotnet.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1-i686" />
      <dllmap os="!windows,osx" cpu="x86" dll="openjpeg-dotnet-x86_64.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1-i686" />
+     <dllmap os="freebsd" cpu="x86" dll="openjpeg-dotnet.dll" target="./libopenjpeg-dotnet-2.1.3.0-dotnet-1-i386.so" />
  </configuration>

Ode.NET.dll.config
たまたま何も変更しなくても、/usr/local/lib/libode.so を使います。

OpenSim起動!

いよいよ OpenSim の起動です。次のコマンドを入力し、OpenSimを起動してください。初回起動時には、リージョンに関する問い合わせと、リージョンが属する土地名、土地のオーナー名とパスワードが問い合わせられます。アンダーラインの部分はユーザーが入力するところですので必要に応じて変更してください。デフォルトを選択する場合はそのまま改行を入力してください。
ここでは以下のとおり設定しました。
  • リージョン名:  TestSim
  • 外部ホスト名: 192.168.1.123 (DNS等が設定されていてFQDNでアクセスできるなら、その名前でもOK)
  • 土地名: My Estage
  • 初期土地所有ユーザー名: Test User
% mono OpenSim.exe
...
...
=====================================

We are now going to ask a couple of questions about your region.

You can press 'enter' without typing anything to use the default

the default is displayed between [ ] brackets.

=====================================

New region name []: TestSim
Region UUID [d607753e-8d74-4550-8b39-544f3d30b4dc]:
Region Location [1000,1000]:
Internal IP address [0.0.0.0]:
Internal port [9000]:
Allow alternate ports [False]:
External host name [SYSTEMIP]: 192.168.1.123 (FQDNもしくはIPアドレス)
...
...
Region TestSim is not part of an estate.
No existing estates found.  You must create a new one.
New estate name [My Estate]:
...
...
Estate My Estate has no owner set.
Estate owner first name [Test]:
Estate owner last name [User]:
Password: パスワードを入力します
Email []:
...
...
Region (TestSim) #
起動後は、ユーザーからのコマンド入力待ちになっています。「help」を入力すればコマンド一覧が表示されます。また、リージョンの設定情報は「bin/Regions/Regions.ini」に保存されています。

OpemSimを終了するには、「shutdown」もしくは「quit」コマンドを入力してください。
Region (TestSim) # shutdown

ビュアーの設定とログイン

OpenSimへの接続URIは、今回の設定の場合次のようになります。
http://ExternalHostName:InternalPort/
http://192.168.1.123:9000/  (<-- 今回の設定の場合はコレ)
ビュアーのソフトウェアはいろいろありますが、ここではOSgridのDownloadページにある、「Imprudence Viewer」を使うことにします。Imprudenceをインストールし、起動後にGrid Managerでグリッドを追加します。


手順は次の通りです。
  1. [Grid Manager]ボタンを押し、パネルを開きます。
  2. [Add New Grid]ボタンを押し、新規グリッドの入力フォームを追加します。
  3. Grid name: フィールドに「TestSim」を入力します(自分が識別できるならTestSimでなくても構いません)。
  4. Login URI:フィールドに接続URIの「http://192.168.1.123:9000/」を入力します。
  5. OKボタンを押してパネルを閉じた後、Grid:リストボックスから、3.で入力したTestSimを選択します。
  6. ユーザー名・パスワードを入力し、
  7. [ログイン]ボタンを押してログインします。

ログイン後の状態はこんな感じです。


SIMの真ん中に無人島(たこ焼に見える人もいるらしい :-)がポツリとあります。


これが初期のアバターです。名前はルース(Ruth)というらしいです。目玉がありませんし、なんか顔が怖い(^_^;)。


このまんまだと、無人島に1人で寂しいので、土地に音楽でも流してみます。

  1. メニューバーのリージョン名の部分をクリックするか、メニューの[世界]→[About Land]をクリックして、「土地情報」のパネルを開きます。
  2. 音楽のURL:に、お好みのネットラジオや音楽ストリーミングのURLを入力します(Web検索すればいっぱいみつかると思います)。また、Webサーバー等に置かれているmp3ファイルのURLを入力すれば、ストリーミングではなくダウンロード再生されます。
まあ、物つくったりスクリプトいじってみたりして、いろいろと遊んでみてください。

とりあえず完了

これで、FreeBSD8.xでOpenSimを動かすまでは完了です。しかし、ODEまわりがWindowsでOpenSimを動かした場合となんとなく違う挙動をするとか、FreeBSDのデフォルトのスタックサイズが64MBと、ODEうごかすにはちょっと小さいらしいとか...、データベースをMySQLにしたいとか、まだまだなところはいっぱいあります。
まあ、それは今後の課題ということで、気が向いたときに書くことにします(^_^;)。

0 件のコメント:

コメントを投稿