SIMとリージョン
日本の多くのSLのユーザーは256m×256m(65536㎡)の土地の事をSIMと呼ぶことが多いのですが、正確にはその領域はリージョン(Region)と呼びます。SIMは本来はシミュレーター(Simulator)を表す用語です。一台のコンピュータには1つ以上のシミュレーターが動作しており、個々のシミュレーターは一つもしくは複数のリージョンを管理しています。OpemSimの用語では、これらが区別されていますのでご注意ください。
スタンドアロンモードの設定
OpenSimの設定は、スタンドアロンモードとグリッドモードがあります。ここでは、一番簡単なスタンドアロンモードで設定してみましょう。設定の詳細に関しては、次を参照してください。- OpenSimのサイトの設定のページ まずはここを見てください。
- OpenSimサーバシステム構築入門 (v0.7対応) PDF版 v1.0.1 非常に参考になります!
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でグリッドを追加します。
手順は次の通りです。
- [Grid Manager]ボタンを押し、パネルを開きます。
- [Add New Grid]ボタンを押し、新規グリッドの入力フォームを追加します。
- Grid name: フィールドに「TestSim」を入力します(自分が識別できるならTestSimでなくても構いません)。
- Login URI:フィールドに接続URIの「http://192.168.1.123:9000/」を入力します。
- OKボタンを押してパネルを閉じた後、Grid:リストボックスから、3.で入力したTestSimを選択します。
- ユーザー名・パスワードを入力し、
- [ログイン]ボタンを押してログインします。
ログイン後の状態はこんな感じです。
SIMの真ん中に無人島(たこ焼に見える人もいるらしい :-)がポツリとあります。
これが初期のアバターです。名前はルース(Ruth)というらしいです。目玉がありませんし、なんか顔が怖い(^_^;)。
このまんまだと、無人島に1人で寂しいので、土地に音楽でも流してみます。
- メニューバーのリージョン名の部分をクリックするか、メニューの[世界]→[About Land]をクリックして、「土地情報」のパネルを開きます。
- 音楽のURL:に、お好みのネットラジオや音楽ストリーミングのURLを入力します(Web検索すればいっぱいみつかると思います)。また、Webサーバー等に置かれているmp3ファイルのURLを入力すれば、ストリーミングではなくダウンロード再生されます。
とりあえず完了
これで、FreeBSD8.xでOpenSimを動かすまでは完了です。しかし、ODEまわりがWindowsでOpenSimを動かした場合となんとなく違う挙動をするとか、FreeBSDのデフォルトのスタックサイズが64MBと、ODEうごかすにはちょっと小さいらしいとか...、データベースをMySQLにしたいとか、まだまだなところはいっぱいあります。まあ、それは今後の課題ということで、気が向いたときに書くことにします(^_^;)。