設定
From OpenSimulator
Contents |
OpenSim シミュレータ設定ファイル
地域シミュレータの設定は OpenSim.ini と呼ばれるファイルで行われます。このファイルは SIM がスタンドアロンモードで動作していてもグリッドモードで動作していても同じように使用されます。このファイルは config-include/ ディレクトリの中にある追加の設定情報を参照します。各種設定についての情報は OpenSim.ini ファイル自体にあります(または OpenSim.ini.example が参考となります)。
OpenSim.ini という名前は、コマンドライン引数で変更される場合があります。
INI ファイルを 2 つのファイルに分けて配布することができます。 OpenSim を複数起動して、一部の設定以外は全く同じ設定にしたいときに便利です。マスターファイルが最初に呼ばれ、 INI ファイルが次に呼ばれます。 INI ファイルに記述された設定はマスターファイルに記述された設定を上書きします。マスターファイルには INI ファイルと同じフォーマットで同じキーワードで書かれていますので、INI ファイルについての説明がマスターファイルについてもあてはまります。
各設定ファイルの日本語訳
- bin/OpenSim.ini.example
- bin/Robust.ini.example
- bin/config-include/StandaloneCommon.ini.example
- bin/config-include/GridCommon.ini.example
- bin/config-include/FlotsamAssetCache.ini.example
- bin/config-include/CenmoeAssetCache.ini.example
データベース
OpenSim は以下のデータベースエンジンをサポートします。設定の詳細は、 OpenSim.ini.example ファイルや、その他 bin/config-include にある各種サンプルファイルにあります。
- SQLite (標準) - OpenSim にバンドルされている、軽いデータベースで、特に設定をすることなく使用できます。手っ取り早く立ち上げるためのオプションであり、商用利用には適していません。ここに書かれている機能の中には(例えばアタッチメントの不揮発化など)、完全に実装されていないものがあります。
- MySQL (完全にサポートされています)。これは推奨のデータベースで、本格的に使用したり、小さなスタンドアロンアプリケーションを作成したりする場合に適しています。
- MSSQL (一部サポートされています - 最近の OpenSim の機能の中には実装されていないものがあります)。設定に関する情報は、 MSSQL-config を参照してください。
スタンドアロン vs グリッド
最初のうちは、グリッドに接続したりグリッドを作ったりするまでは、 OpenSim をスタンドアロンモードで動かすことをお薦めします。OpenSim は何も設定しないとスタンドアロンモードで動作します。
OpenSim 設定は地域(地域シミュレータによって動作する)とバックエンドデータサービス(ユーザ、アセット、インベントリの管理など)で構成されています。
スタンドアロンモードで動作するシステムでは、 OpenSim.exe を起動すると、地域シミュレータと全てのデータサービスが同一プロセスで動作します。このモードでは、地域を好きなだけ起動させることができますが、マシンは1つに制限されます。
グリッドモードでは、データサービスは地域サーバプロセスから分離されています。その代わり、それぞれ Robust.exe と呼ばれる実行可能プログラムで動作します。Robust シェルは全てのサービスを動作させたり、任意の数の Robust インスタンスに分割して動作させたりすることができます。これにより、必要であれば、全く別のマシンで動作させることもできます。このモードでは、 OpenSim.exe は単なる地域サーバとして動作して、1つ以上の地域と分離したデータサービスとの間の通信を受け持ちます。現在のところ、 OpenSim.exe の地域シミュレータを別々のマシンで複数立ち上げることができます。
グリッドモードで動作させるのは、スタンドアロンモードで動作させるより難しいです。 UUID 、 XY座標、サーバハンドシェークパスワード、不動産や不動産オーナー、その他諸々の設定についての知識が必要です。設定は、注意深く、忍耐強く行わなければなりません。あなたがものすごく忍耐強く器用な人でなければ、グリッドモードで動作させようとしないことを強くお薦めします。
OpenSim をスタンドアロンモードで動作させる
OpenSim のバイナリディストリビューションをダウンロードするのなら、スタンドアロンモードで動作させるのは比較的単純です。デフォルトでそのように設定されているからです。もしソースディストリビューションをGit リポジトリから取得してビルドするのなら、以下の手順が必要となります。
- bin/OpenSim.ini.example ファイルを bin/OpenSim.ini にコピーします。
- bin/config-include/StandaloneCommon.ini.example ファイルを bin/config-include/StandaloneCommon.ini にコピーします。
OpenSim.exe を起動すると、 OpenSim が起動したことになります。
Windows コマンドプロンプトでは、 OpenSim の bin ディレクトリから OpenSim.exe 64 ビット版 Windows で、デフォルトの ODE 物理プラグインを使う場合は OpenSim.32BitLaunch.exe これは、64 ビット版 Windows 向けに ODE がまだコンパイルされていないために必要な手順となっています。 Linux を使っているのであれば mono OpenSim.exe ODE 物理エンジンを使う場合は、32 ビットモードでも 64 ビットモードでもこの手順で起動します。
OpenSim を最初に起動する
OpenSim を最初に起動すると、起動時にいくつかの質問がコンソールに表示されます。この質問に答えると、あなたに代わって1個の地域を設定してくれます。この設定は bin/Regions/Regions.ini に格納され、後でアクセスして編集することができます。
多くの質問にはデフォルトの答えがあります。ここで、質問の意味を説明します。
- New region name - 地域の名前です。空白にしないでください!
- Region UUID - 地域のユニークな ID です。よっぽどのことがない限り、角括弧に囲まれて表示されている、ランダムに生成されたデフォルト値をそのまま採用すればよいでしょう。既にある地域データに対して設定を行おうとしている場合のみ、やってはいけません。しかし、このケースではおそらく Regions.ini ファイルを直接編集したほうがいいと思うでしょう。
- Region Location - これはグリッドの中における地域の位置です。スタンドアロンモードではデフォルト値 (1000,1000) のままにするほうが安全です。後で Regions.ini に別の地域を追加するとき、違うグリッド座標 (1000,1001など) にする必要が出てくるでしょう。 OpenSim の地域は 65536 × 65536 のグリッドの中のどこにでも設置することができます。
- Internal IP address - これは常に 0.0.0.0 でなければなりません(0.0.0.0 は「全てのインターフェースの接続を監視する」という意味で、要はワイルドカードです)。インターネットや内部ネットワークの他のサーバからこのサーバにアクセスできるようにしたいのであれば、 OpenSim サーバに割り当てられた IP アドレスを指定しましょう。また、サーバには固定 IP アドレスを割り当て、 DHCP は使用しないようにしましょう。
- Internal port - これはクライアント接続の受け口となる IP ポートです。この名前は少し誤解を招きがちです。これは内向きだけでなく、外向きの通信にも(例えば Second Life ビューアなどで)使用されるからです。好きなポートを指定して構いませんが、 9000 にしておくのが安全です。サーバ上の地域には、それぞれ別々のポートが設定されていなければなりません。
- Allow alternate ports - これは現在試行中です。デフォルトの False のままにしてください。
- External host name - これをデフォルトの 'SYSTEMIP' のままにすると、マシンの LAN ネットワークアドレス(例えば 192.168.1.2) となります。 LAN の中からのみ接続する場合は、この設定で大丈夫です。インターネット上のクライアントから接続させる場合は、これはルータの外部 IP アドレスにしなければなりません。 Fully Qualified Domain Names (FQDNs) でも動くはずです。
OpenSim 0.6.9 以前では以下も質問されます。
- Master Avatar UUID - これはレガシーな OpenSim 機能で、 00000000-0000-0000-0000-000000000000 のままで結構です。後々、地形編集で問題が発生したら、Regions.ini でこれを自分のアバターの UUID に変更するとよいでしょう。
- Master Avatar first name - マスターアバターを指定するもう一つのやり方です。 UUID でなくアバター名で指定します。ここでエンターキーを押すと、このフィールドと last name フィールドが空となります。デフォルトの空白のままで結構です - これは後からいつでも Regions.ini で変更できます。
- Master Avatar last name - マスターアバターのラストネームです。
- Master Avatar sandbox password - マスターアバターのパスワードです。
OpenSim 0.7-rc1 以降では、 OpenSim は質問で、地域のマスターアバターでなく、不動産や不動産管理者を設定します。同じような質問ですが、 UUID は聞かれません。
マスターアバター(0.6.9 の場合)や不動産管理者(0.7-rc1以降)を設定するのに使ったアカウント情報を忘れないようにしてください。初期状態ではこのユーザだけが地域のインワールド設定を行うことができるようになります。
地域の設定 に、質問によって生成された Regions.ini ファイルについての追加情報があります。
不動産管理者以外のユーザを作成したいときは、
create user
をサーバコンソールに入力します。ユーザ作成に必要な(ファーストネーム、ラストネーム、パスワードなどの)質問をしてきます。
OpenSim に接続する
自分のユーザ名で新しい SIM に接続するには、次のコマンドライン引数で Second Life ビューアを起動します。
OpenSim を同じマシンにあるクライアント: -loginuri http://127.0.0.1:9000/ -loginpage http://127.0.0.1:9000/?method=login
OpenSim と同じ LAN ネットワークにあるクライアント: -loginuri http://lan_ip:9000/ -loginpage http://lan_ip:9000/?method=login
他のマシンや、インターネット上にあるクライアント: -loginuri http://external_ip:9000/ -loginpage http://external_ip:9000/?method=login
それから先の手順で設定したユーザ名とパスワードを入力すると、新しいユーザでログインできるはずです。
「外部の」設定を使ってビューアとサーバを同じマシン (LAN) で動作させる場合は、ループバック 問題に気をつけてください。 (地域のハンドシェークで永遠に待たされることになります。) トラブルシューティングのヒント も参照してください。接続に関して問題がある場合は、必ずネットワーク設定のページを読んでください。地域ハンドシェークにまつわるトラブルを理解するのに重要な資料です。
OpenSim をグリッドモードで動作させる
OpenSim をグリッドモードで動作させるのは、相当大変です。グリッドサービスを設定したり、元からあるスタンドアロンモードの代わりにグリッドモードを使用するように、地域シミュレータの設定を変更したりする必要があります。
グリッドサービスを設定する
注意: 2009 年 7 月から、グリッドサーバは徐々に仕様変更されつつあります。現在既に共通の 'ROBUST' サーバシェルで動作しているサービスもあれば、まだ別のレガシーサーバとして動作しているサービスもあります。 ROBUST の詳細はこちら -->ROBUST <-- UGAIM から UGRM (0.6.6 -> 0.6.7) や、 UGRM から URM (0.6.7 -> 0.6.8) への移行方法も載っています。 |
注意: 0.7-rc1 は 0.7 リリースの最初のリリース候補です。全てのサービスが ROBUST サーバシェルに移行されています。詳しい案内は近日掲載される予定ですが、一番単純なケース(同一 ROBUST インスタンスの中で全てのサービスが動作する)では、 Robust.exe を起動さえすれば良くなっているはずです(OpenSim.Server.exe は変名されたため)。OpenSim.Grid.UserServer.exe と MessageServer.exe はもはや必要ではありません。 |
...
現在既に共通の 'ROBUST' (Basic Universal Server Technology) サーバシェルで動作しているサービスもあれば、まだ別のレガシーサーバとして動作しているサービスもあります。
OpenSim 0.6.8 時点では、R.O.B.U.S.T. にはアセット (A) 、グリッド (G) 、インベントリ (I) 機能へのコネクタがあります。レガシーサーバにはさらにユーザ (U) とメッセージング (M) 機能を動作させる必要があります。以下のステップで初期設定して起動することができるようになります。現在のディレクトリが OpenSim ディストリビューションの bin/ になっているという前提で説明しています。
- ユーザサーバの設定
- OpenSim.Grid.UserServer.exe を実行します。
- 設定に関する質問をたくさんされます。1つのマシンに全部のグリッドサーバがある場合、ほとんどデフォルトのままにしておくのが安全です。設定は UserServer_Config.xml ファイルに格納され、必要に応じて後で変更することができます。
- ユーザサーバが起動し、コマンドプロンプトに次のように表示します:
- R.O.B.U.S.T. の設定
- OpenSim.Server.ini.example を OpenSim.Server.ini にコピーします。ConnectionString を自分のデータベース設定に書き換えるのを忘れないようにしてください。(バージョン 0.6.6 では、OpenSim.Services.ini.example を OpenSim.Services.ini にコピーします - そして OpenSim.Server の代わりに OpenSim.Services を使用します)
- OpenSim.Server.exe を実行します。
- サーバはアセット、インベントリ、グリッドコンポーネントを配備し、 R.O.B.U.S.T. プロンプトに次のように表示します:
- R.O.B.U.S.T. 設定ファイルに関する詳しい情報や、古い版の OpenSim からの移行に関する詳しい情報は、 R.O.B.U.S.T. を参照してください。
- メッセージングサーバの設定
- OpenSim.Grid.MessagingServer.exe を実行します。
- 設定に関する質問に答えます。こちらも、同一マシンで全てのサーバを動かす場合、全ての質問でエンターキーを押すのが安全です。設定は MessagingServer_Config.xml に格納されます。
- サーバが起動し、コマンドプロンプトに次のように表示されます:
User#
Linux bin$ cp OpenSim.Server.ini.example OpenSim.Server.ini Windows C:\OpenSim\bin> copy OpenSim.Server.ini.example OpenSim.Server.ini
R.O.B.U.S.T.#
Messaging#
レガシーサーバを動かす際の情報、特に ROBUST フレームワークのない 0.6.7 以前の版を使っている場合は、 LegacyServers を参照してください。
グリッドサービス実行可能プログラムを起動するコマンドのまとめ
Windows cd bin OpenSim.Grid.UserServer.exe OpenSim.Server.exe OpenSim.Grid.MessagingServer.exe
Linux / Mac OS X cd bin mono OpenSim.Grid.UserServer.exe mono OpenSim.Server.exe mono OpenSim.Grid.MessagingServer.exe
地域を設定する
最初に起動すると、新しい OpenSim インストーラは1つの地域を設定するのに一連の質問をしてきます。この設定を変更したり、複数の地域を設定したい場合は、 地域の設定 を参照してください。
地域シミュレータを設定し、起動する
- [Architecture] セクションを探し、以下の行をコメントアウトします。
- OpenSim.ini を保存し、 config-include ディレクトリに移動します。
- 以下のファイルをコピーします。
- これらのファイル (Grid.ini, GridCommon.ini, CenomeCache.ini and FlotsamCache.ini) を全て開いて適宜編集します。
- これで、 SIM を起動する準備ができました。 OpenSim.exe の起動モードは、通常 OpenSim.ini に書かれた設定に基づきます。設定されていなかったり、ファイルが存在しなかったりすると、デフォルトではスタンドアロンモードとなります。お望みなら、次のようにコマンドラインで OpenSim を強制的にグリッドモードで起動することができます。
- ユーザサーバのコンソールを開き、 'create user' と入力して新しいアバターを作成します。名前とパスワード、ホームロケーションとなる SIM の XY 座標を尋ねてきます。 1000 と 1000 、もしくはスタンドアロンモードで作成したときに設定した SIM の位置を指定します。これらのサーバのコンソールで 'help' と入力するとコマンドのリストが表示されるはずです。
- これで、新しいグリッドに SecondLife クライアントで接続する準備ができました。クライアントには SIM のサーバでなくユーザサーバを指定します:
Include-Standalone = "config-include/Standalone.ini" そして、以下の行のコメントを外します。 Include-Grid = "config-include/Grid.ini
GridCommon.ini.example を GridCommon.ini に CenomeCache.ini.example を CenomeCache.ini に FlotsamCache.ini.example を FlotsamCache.ini に
OpenSim.exe -gridmode=true ODE 物理プラグインを 64 ビット版 Windows で使用している場合は、 OpenSim.32BitLaunch.exe Mono を Linux や Mac OSX で使用している場合は、 mono OpenSim.exe -gridmode=true
運が良ければ、致命的なエラーもなく最後まで進むでしょう。
OpenDynamicsEngine を *nix で使用していて問題が発生している場合は、次のコマンドでスタック領域をデフォルトよりも大きく設定してみてください。 ulimit -s 262144 もしくは、 opensim-ode.sh で OpenSimulator を起動してください。
secondlife -loginuri http://127.0.0.1:8002/
8002 はユーザサーバのデフォルトポートです。同じマシンの中になければ、 IP アドレスをユーザサーバが動作しているサーバに変更しなければなりません。 Happy OpenSimming!
注意: Windows Vista を使用している場合は、必ず管理者としてサーバを起動しましょう。そうしないと、コンソールに "Error - Access denied" のようなエラーが表示されることになります。
自分の SIM を他人のグリッドに接続する
地域サーバ(例えば OpenSim.exe)を設定してグリッドに接続するためには、 bin ディレクトリにある OpenSim.ini ファイルを編集する必要があります。このファイルには、 [Network] セクションがあり、グリッド、ユーザ、アセットサーバの URL があり、さらに(簡易セキュリティに使用する)送受信キーがあります。アドレスや送受信キーは接続先グリッドによって異なります。グリッド管理者が何を指定すればよいか教えてくれるはずです。
変更の必要があるかもしれない他のファイルは bin/Regions ディレクトリにあります。個のディレクトリは個々の地域の設定ファイルが格納される場所です。1つの地域しかなければ、OpenSim 0.6.7 以降では Regions.ini 、OpenSim 0.6.6 以前では regions.xml となります。
このファイルはテキストエディタで編集できます。グリッド管理者が、SIM の設置先 XY 座標を指示してくることもあります(グリッドの同じロケーションに複数の SIM を設置することはできません)。その場合は、このファイルの sim_location_x と sim_location_y のフィールドを書き換える必要があります。external_host_name に SIM サーバ(例えば、OpenSim.exe が動作しているマシン)のホスト名か IP アドレスを設定しなければなりません。 SIM を接続できる公共グリッドのリストが グリッドリスト にあります。
追記
OpenSim 0.6.7 以降を 64 ビット版 Windows でを動作させる
OpenSim 0.6.7 から、OpenSim のデフォルトの物理エンジンが ODE エンジンに変更されました。これは ODE が現在 OpenSim に同梱されている物理エンジンプラグインの中で今のところ最も先進的なものだからです。残念なことに、 64 ビット版 Windows ではライブラリの互換性がないという欠点があります。このため、64 ビット版 Windows のユーザは
OpenSim.32BitLaunch.exe
を
OpenSim.exe
の代わりに実行して地域シミュレータを起動する必要があります。
代替の方法として、基礎物理エンジンや OpenSim に同梱されている他の物理エンジンを使うこともできますが、ODE プラグインに比べると断然機能性の面で劣ります。
Mono に関する注意
Mono を使用している場合、Mono の環境変数 MONO_THREADS_PER_CPU をデフォルトの 5 から SIM で動作する値まで増加させなければなりません。正確な数字は様々な要因によって左右されます: マシンの CPU の数、マシンの他の用途、SIM にある地域の数、隣接する SIM の数、スクリプトの数、アバターの同時滞在予定数などです。参考までに、OSGrid の Wright Plaza という、1つの SIM で1つの地域を動作させていて、約 20 名のアバターで定期的にミーティングを開いている SIM では、値は 125 にしています。
値が小さすぎると、SIM の挙動がいろいろな点でおかしくなってきます。よくある症状は、新しいアバターがログインするときにフリーズすることです。他の症状はこれに比べればはるかに軽いです。
例: $ export MONO_THREADS_PER_CPU=125
レガシー設定に関する情報
正確かどうかはわかりませんが、レガシー設定に関する情報について書かれているページがいくつかあります。
OpenSim 0.6.6 legacy configuration information
追加の設定作業(上級者向け)
OpenSim.exe コマンドラインオプション
OpenSim.exe にはコマンドラインオプションがあり、これを使って他のディレクトリから設定ファイルを読みこむといったことができます。詳細は OpenSim.exe Command Line Options を参照してください。
スクリプトエンジン
OpenSim は複数のスクリプトエンジンをサポートします。詳細は ScriptEngines を参照してください。何を言っているのかわからないかもしれませんが、デフォルトのスクリプトエンジンはちゃんと動くので安心してください。
権限設定
OpenSim には複雑な権限の集合があります。詳細は OpenSim:Permissions(Server) を参照してください。デフォルトでは、権限は地域シミュレータで有効となっていません。
ログ出力
デフォルトでは、OpenSim は bin ディレクトリの中の OpenSim.log と呼ばれるファイルに情報をログ出力します。必要であれば、設定方法の詳細が Logging にあります。
地域モジュールの設定
Metaverse Exchange Protocol (MXP) の設定
Web サーバや Web ページの設定
OpenSim は Web サーバを同梱しており、様々なページを公開することができます。外部ファイルを表示するページもあれば、内部で生成されるページもあります。