ページ内コンテンツ
XoopenSim と Modlos の共通初期設定
- 以下,XOOPS_URL は Xoops Cube のサイトトップのURL, MOODLE_URL は MoodleのトップサイトのURLを示す.
- また CMS_MODULE_PATH は XoopenSim/Modlos をインストールしたディレクトリを指す.
画像処理用プログラム
- XoopenSim/Modlos のアバタープロフィールに画像を表示させるには,JPEG2000の処理のために,一般設定 で以下のいずれかのプログラムを指定する必要がある.
- この機能は,MS Windowsでは恐らく動作しない.MS Windowsでの JPEG2000のプロセッサ(変換コマンド)についてご存知の方が居られましたら,是非教授ください.
Imagick of PHP
- PHP で ImageMagickの機能を使用するための
- ディストリビューションのパッケージに無い場合は Peclを使用してインストールする
- 運がよければ,MS Windows でも動くかもしれない
ImageMagick
- 殆どの Linux ディストリビューションに存在すると思われるが,JPEG2000 の処理機能が含まれているとは限らない.
- CentOS の ImageMagickには JPEG2000の処理機能はない.
JasPer
- JPEG2000用ツール&ライブラリ
- ImageMagick のJPEG2000処理機能も,このライブラリを利用している.
- ImageMagick でJPEG2000が使用できない場合は,このプログラムをインストールする必要がある.(必ずしも ImageMagickは再コンパイルする必要は無い)
- OpenSimの透過型の JPEG2000 を処理しようとすると,タイプ判別でエラーが出る.
- JasPer のインストール方法はここ
- もし透過型のイメージも扱いたい場合は,JasPer と OpenJpeg の j2k_to_image コマンドをインストールすれば良い.
Helper URI
- Second Life Viwerを使用している場合は,起動時の引数として -helperuri に下記のような URIを指定する.
- 例) XoopenSimの場合: -helperuri XOOPS_URL/modules/xoopensim/helper/
- 例) Modlosの場合: -helperuri MOODLE_URL/blocks/modlos/helper/
- ただし,XoopenSimの場合は,ゲストユーザにモジュールのアクセス件が無いと XOOPS_URL/modules/xoopensim/helper/ にアクセスできなくなる.
- Hippo ビューアなどを使用している場合,下記URIを Gridの設定画面で Helper URIとして設定する.
- XoopenSimの場合: XOOPS_URL/modules/xoopensim/helper/
- Modlosの場合: MOODLE_URL/blocks/modlos/helper/
- Hippo ビューアのように Get Grid Info機能を持つビューアでは,Robust.ini の [GridInfoService]セクションの economyに Helper URIを指定すれば,自動的にViewerがこの情報を獲得することができるようになる.
- XoopenSimでの Robust.iniの設定例
[GridInfoService] ; helper uri: optional: if it exists if will be used to tell the client to use ; this for all economy related things ; currently unused economy = http://www.nsl.tuis.ac.jp/xoops/modules/xoopensim/helper/
- XoopenSimでの Robust.iniの設定例
Helper URI を指定した場合の追加機能
- currency helper 機能:
- L$0 でのオブジェクト,土地の販売が可能になる.
- 所持金の表示部分をクリックした時に現れる L$購入画面においてエラーが発生しない(L$の購入は不可能)
- landtool helper 機能:
- 土地の分割,統合が可能となる.
- 土地の販売設定が可能となる.
ログイン スクリーン
- XoopenSim/Modlos のv1.5.0以降ではログインスクリーンをサポートしている.
- SL Viwerを使用している場合は,起動時の引数として -loginpage に下記のような URIを指定する.
- 例) XoopenSimの場合: -loginpage XOOPS_URL/modules/xoopensim/helper/loginpage.php
- 例) Modlosの場合: -loginpage MOODLE_URL/blocks/modlos/helper/loginpage.php
- ただし,XoopenSimの場合は,ゲストユーザにモジュールのアクセス件が無いと XOOPS_URL/modules/xoopensim/helper/ にアクセスできなくなる.
- Hippo ビューアなどを使用している場合,下記URIを Gridの設定画面で Login Pageとして設定する.
- XoopenSimの場合: XOOPS_URL/modules/xoopensim/helper/loginpage.php
- Modlosの場合: MOODLE_URL/blocks/modlos/helper/loginpage.php
- Hippo ビューアのように Get Grid Info機能を持つビューアでは,Robust.ini の [GridInfoService]セクションの welcomeに Login Pageを指定すれば,自動的にViewerがこの情報を獲得することができるようになる.
- Modlosでの例
[GridInfoService] ; login page: optional: if it exists it will be used to tell the client to use ; this as splash page ; currently unused welcome = http://el.nsl.tuis.ac.jp/moodle/blocks/modlos/helper/loginpage.php
- Modlosでの例
- XoopenSim/Modlosの管理画面から,ログインスクリーンの アラート情報ボックスの内容を変更 することが可能である.
- ログイン スクリーンの画像ファイルは CMS_MODULE_PATH/opensimwiredux/images/login_screens ディレクトリの login1.jpg~login4.jpg であるので,このファイルを取り替えれば,ログイン スクリーンの画像を変更することが可能である.
- また,ロゴファイルは CMS_MODULE_PATH/opensimwiredux/images/login_screens/logo.png である.
World Map
- OpenSim.ini で下記のモジュールを有効にする
WorldMapModule = "WorldMap" MapImageModule = "MapImageModule"
- OpenSim 0.7.x ではバグのため,World Mapで SIMのアイコンが表示されない場合がある.この場合は,次のパッチをソースコードに適用してから,最コンパイルすること patch code. このパッチは,NSLで公開している 0.7用パッチ にも含まれている.
- この0.7用NSLパッチを 0.7.0.2 に適用した場合,rejファイルが生成されるが,これは正常な動作であり問題はない.
Region Statistics
- OpenSim.ini で [WebStats]セクションで以下の設定を有効にすると,リージョンリストの IPアドレスのリンク(管理者にのみ表示) からリージョンサーバの統計情報を表示させることが可能となる.
- ただし,IPアドレスのリンクは管理者にのみ表示されるが,URLを直に入力すれば,一般ユーザでも見ることが可能である.
[WebStats] enabled=true
Flotsam Group 機能
- OpenSimでグループ機能が使用できるようになる.
- グループ用のDBテーブルは XoopenSim/Modlosのインストール時に自動的に生成される.
- 一般設定で 「Flotsam グループデータベース読み込み/書き込みアクセスキー」を設定し,そこで設定したものと同じキーを OpenSim.ini の [Groups]セクションの「読み込み/書き込みアクセスキー」 に指定する.
- XoopenSimの場合,ゲストユーザにモジュールのアクセス権がないと,xmlgroups.php を起動できず,ログインに失敗するので,ゲストユーザにモジュールのアクセス権を設定する.
設定 (0.7)
- OpenSim.iniの [Groups]セクションに XoopenSim/Modlos の一般設定で指定した「読み込み/書き込みアクセスキー」と xmlgroups.phpのURIを指定する
[Groups] Enabled = true Module = GroupsModule NoticesEnabled = true MessagingModule = GroupsMessagingModule MessagingEnabled = true ServicesConnectorModule = XmlRpcGroupsServicesConnector GroupsServerURI = XOOPS_URL/modules/xoopensim/helper/xmlgroups.php XmlRpcServiceReadKey = "読み込みキー" XmlRpcServiceWriteKey = "書き込みキー"
- Modlos の場合の GroupsServerURI は以下のようになる,
GroupsServerURI = MOODLE_URL/blocks/modlos/helper/xmlgroups.php
設定 (0.6.9)
- OpenSim.iniの [Group]セクションに XoopenSimの一般設定で指定した「読み込み/書き込みアクセスキー」と xmlgroups.phpのURLを指定する
[Groups] Enabled = true Module = GroupsModule NoticesEnabled = true MessagingModule = GroupsMessagingModule MessagingEnabled = true XmlRpcServiceURL = XOOPS_URL/modules/xoopensim/helper/xmlgroups.php XmlRpcServiceReadKey = "読み込みキー" XmlRpcServiceWriteKey = "書き込みキー"
- ModlosではこのバージョンのGroup機能は未検証です.
Offline メッセージとMute リスト機能
- offlineメッセージ,Muteリストの設定は,OpenSim.ini の [Messaging]セクション で行う.
- MuteList機能を使用する場合は,XoopenSim/Modlos の nsl.modules/bin の中の NSLModules.Messaging.MuteList.dllを OpenSimの binディレクトリにコピーする.
- offlineメッセージ,Muteリスト用のDBテーブルは XoopenSim/Modlosのインストール時に自動的に生成される.
OpenSim.ini の設定
- NSLのMuteListモジュールを使用する場合の MuteListModule のモジュール名は NSLMuteListModule となるので注意する.
- XoopenSimの場合の例
[Messaging] InstantMessageModule = InstantMessageModule MessageTransferModule = MessageTransferModule OfflineMessageModule = OfflineMessageModule OfflineMessageURL = XOOPS_URL/modules/xoopensim/helper/offline.php MuteListModule = NSLMuteListModule MuteListURL = XOOPS_URL/modules/xoopensim/helper/mute.php
- XoopenSimの場合の例
モジュールの再コンパイル
- NSLModules.Messaging.MuteList.dll を再コンパイルする場合は,nsl.modules を OpenSimのインストールディレクトリにコピーし,build.sh コマンドを実行する.
# cp -Rpd nsl.modules OPENSIM_INSTALL_DIR # cd OPENSIM_INSTALL_DIR/nsl.modules # ./build.sh
Osprofile 機能
- osprofile 機能を使用するには,OpenSimのリージョンサーバにモジュールを追加する必要がある.
- モジュールのバイナリ OpenSimProfile.Modules.dll は osprofile/bin または nsl.modules/bin に存在する.これを OpenSim の bin ディレクトリにコピーする.
- osprofile用のDBテーブルは XoopenSim/Modlosのインストール時に自動的に生成される.
OpenSimの設定
- OpenSim.ini に [Profile]セクション を追加し,ProfileURL を以下のように設定する.
- XoopenSim の場合
[Profile] ProfileURL = XOOPS_URL/modules/xoopensim/helper/profile.php
- XoopenSim の場合
モジュールの再コンパイル
- OpenSimProfile.Modules.dll を再コンパイルする場合は,osprofile を OpenSimのインストールディレクトリにコピーし,build.sh コマンドを実行する.
# cp -Rpd osprofile OPENSIM_INSTALL_DIR # cd OPENSIM_INSTALL_DIR/osprofile # ./build.sh
Ossearch 機能
- ossearch 機能を使用するには,OpenSimのリージョンサーバにモジュールを追加する必要がある.
- モジュールのバイナリ OpenSimSearch.Modules.dll は osprofile/bin または nsl.modules/bin に存在する.これを OpenSim の bin ディレクトリにコピーする.
- osprofile用のDBテーブルは XoopenSim/Modlosのインストール時に自動的に生成される.
OpenSim.ini の設定
- OpenSim.ini の [DataSnapshot],[Modules],[Search]セクションを以下のように設定する([SEARCH]セクションは追加する).
- XoopenSim の場合
[DataSnapshot] index_sims = true gridname = "Your Grid Name" data_services = "XOOPS_URL/modules/modlos/helper/register.php" [Modules] LandServices = "RemoteLandServicesConnector" [Search] SearchURL = "XOOPS_URL/modules/xoopensim/helper/query.php"
- XoopenSim の場合
- 0.7.1Dev では [Modules]セクションの LoandService は設定する必要はない(他で設定済み)
cron の設定
- 検索情報を更新するために,定期的に CMS_MODULE_PATH/include/cron.php を cron などで動かす必要がある.
- Linux/Unix での設定コマンド
# crontab -u apache -e
- 設定例
*/30 * * * * /usr/local/bin/php /usr/local/apache/htdocs/xoops/modules/xoopensim/include/cron.php 1>/dev/null 2>&1
- Linux/Unix での設定コマンド
- 外部のマシンから wget などで,cron.php を呼び出しても良い.この場合のURLは以下のようになる.
- XoopenSim での例
*/30 * * * * wget XOOPS_URL/modules/xoopensim/include/cron.php -O /dev/null 1> /dev/null 2>&1
- XoopenSim での例
- Modlos の場合で,admin/cron.php を既に定期的に動かしている場合は,改めて設定する必要はない.
RemoteLandServicesConnector
- 0.7, 0.7.0.x では [Modules]セクションに LandServices = "RemoteLandServicesConnector" を指定すると,実行時にエラーを起こす.
09:26:23 - [REGIONMODULE]: Adding scene TEST to shared module RemoteLandServicesConnector 09:26:23 - [APPLICATION]: APPLICATION EXCEPTION DETECTED: System.UnhandledExceptionEventArgs Exception: System.Exception: No IGridService available. This could happen if the config_include folder doesn't exist or if the OpenSim.ini [Architecture] section isn't set. Please also check that you have the correct version of your inventory service dll. Sometimes old versions of this dll will still exist. Do a clean checkout and re-create the opensim.ini from the opensim.ini.example. at OpenSim.Region.Framework.Scenes.Scene.get_GridService () [0x00000] in <filename unknown>:0 at OpenSim.Region.CoreModules.ServiceConnectorsOut.Land.RemoteLandServicesConnector.AddRegion (OpenSim.Region.Framework.Scenes.Scene scene) [0x00000] in <filename unknown>:0 at OpenSim.ApplicationPlugins.RegionModulesController.RegionModulesControllerPlugin.AddRegionToModules (OpenSim.Region.Framework.Scenes.Scene scene) [0x00000] in <filename unknown>:0 at OpenSim.OpenSimBase.CreateRegion (OpenSim.Framework.RegionInfo regionInfo, Boolean portadd_flag, Boolean do_post_init, IScene& mscene) [0x00000] in <filename unknown>:0 at OpenSim.OpenSimBase.CreateRegion (OpenSim.Framework.RegionInfo regionInfo, Boolean portadd_flag, IScene& scene) [0x00000] in <filename unknown>:0 at OpenSim.ApplicationPlugins.LoadRegions.LoadRegionsPlugin.PostInitialise () [0x00000] in <filename unknown>:0 at OpenSim.OpenSimBase.StartupSpecific () [0x00000] in <filename unknown>:0 at OpenSim.OpenSim.StartupSpecific () [0x00000] in <filename unknown>:0 at OpenSim.Framework.Servers.BaseOpenSimServer.Startup () [0x00000] in <filename unknown>:0 at OpenSim.Application.Main (System.String[] args) [0x00000] in <filename unknown>:0
- この場合は,次のパッチをソースコードに適用してから,OpenSimを最コンパイルすること patch code. このパッチは,NSLで公開している 0.7用パッチ にも含まれている.
- このパッチを 0.7.0.2 に適用すると rejファイルが生成されるが,必要な変更は行われているので,問題はない.
- 0.7.1Dev では config-inculde/Grid.ini などで RemoteLandServicesConnector は既に読み込まれているので,OpenSim.ini で指定する必要はない.
モジュールの再コンパイル
- OpenSimSearch.Modules.dll を再コンパイルする場合は,ossearch を OpenSimのインストールディレクトリにコピーし,build.sh コマンドを実行する.
# cp -Rpd ossearch OPENSIM_INSTALL_DIR # cd OPENSIM_INSTALL_DIR/ossearch # ./build.sh
データベースの同期
- v1.40 以降では,XoopenSim/ModlosのDBとOpenSimのDBとは自動的に同期します.
- アバター情報の同期
- OpenSim/Modlos側にアバターのデータがある場合は,XoopenSim/Modlos側のアバターのデータを OpenSim側に合わせる.
- OpenSim側にXoopenSim/Modlos側のアバターと対応するアバターデータが無い場合は,XoopenSim/Modlos側のアバターのデータを削除する.
エステート(リージョン)のオーナの変更
- リージョンリスト画面でリージョン名をクリックした場合,管理ユーザはリージョン(エステート)のオーナを変更することができる.
- DBの操作では,リージョンとエステートの両方のオーナを変更している.ただし,最近のOpenSimではregionsテーブルのオーナより,estate_settingsテーブルのオーナ(エステートオーナ)をリージョンのオーナとして処理しているようだ.
- OpenSim.ini の[StartUp]セクションの storage_plugin に SQLite を指定している場合は,当然のことながら,この機能は使用できない.
ボイスチャットのモードの設定
- リージョンリスト画面でリージョン名をクリックした場合,管理ユーザはそのリージョンでのボイスチャットのモードを設定できる.
- 一つのリージョンには複数のパーセルが存在し,ボイスチャットの設定は正確にはパーセル単位で行われるので,リージョン単位での設定は非常に大雑把な設定である.
- リージョン情報画面で表示されるモードは,複数のパーセルのモードの論理積(つまり複数のパーセルの中で一番下のモード)である.
- リージョン情報画面でボイスチャットのモードを設定した場合,リージョンに含まれるパーセル全てがそのボイスチャットのモードになる.
- この処理で変更されるのはデータベース上の情報のみなので,実際にボイスチャットのモードの変更を反映させるには,リージョンの再起動が必要である.
- SL Viewerの V1.23ではボイスチャットのモードを変更できなくなっているので,XoopenSim/Modlosにこの機能が追加された.
- OpenSim.ini の[StartUp]セクションの storage_plugin に SQLite を指定している場合は,当然のことながら,この機能は使用できない.
- 注) ボイスチャットを行うには別途 FreeSwitch(SIP Server) のインストールが必要.
スタンドアロンモードのサポート (0.7以降)
- 0.7以降では,スタンドアロンモードでも XoopenSim/Modlos を使用することが可能である.
- 0.7以降のスタンドアロンモードでも XoopenSim/Modlos を使用できるようにするにはbin/config-include/StandaloneCommon.ini の [GridService] セクションのStorageProvider を以下のように変更して,DBとしてMySQLを使用するように設定する.
[GridService] ;; For in-memory region storage (default) ; StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" ;;--- For MySql region storage (alternative) StorageProvider = "OpenSim.Data.MySQL.dll:MySqlRegionData"
マネーサーバ
- マネーサーバは XoopenSim/Modlos とは別の機能なので,マネーサーバについては こちら を参照すること.
データベース変換
- 0.6.x から 0.7のデータベースへアップデートを行う
- 0.6.x から 0.7へのデータベースアップデート機能は次のように動作する.
- データベース移行対応 (0.6.7/0.6.8/0.6.9 -> 0.7)
- 可能な限り 0.6.7/0.6.8/0.6.9 のデータベース上の情報を 0.7のデータベースにコピーする.対応するデータがすでに0.7のデータベース上にある場合はコピーしない.
- OpenSim を0.7にした後,ログインすると(現状では)そのアバタの情報が中途半端に0.7のデータベースにコピーされる.OpenSimを0.7にした場合は,R.O.B.U.S.T.サーバとリージョンサーバ立ち上げ後,ユーザがログインする前にデータベースのアップデートを行うことをお勧めする.(可能なら 0.7にする前にデータベースのバックアップを!!)
アップデート手順
- DBをアップデートする前に必ず一度は Robustサーバを起動すること.また,リージョンサーバを起動する前に実行しなければならない.
- Robustサーバ(0.7) の起動
- Robustサーバ(0.7) の停止 (安全のため,念を入れて一度停止させる)
- データベースのアップデート
- Robustサーバ(0.7) の起動
- リージョンサーバ(0.7) の起動
テクスチャキャッシュのクリア
- XoopenSim/Modlos でOpenSim からロードしたテクスチャのキャッシュをクリアする.画像処理用プログラム を変更した場合や,テクスチャの表示がおかしくなった場合に実行する.
ログイン情報のクリア
- リージョンサーバやビューアが異常終了した場合に,アバタがログインした状態のままデータベース上に残る場合がある(アバタリストなどでログインしていないのにログインしていると表示される).この場合に,このコマンドを実行すると,アバタのログイン情報を格納したデータベースのテーブルをクリアすることができる.
Robust.ini
- Modlos の場合
[GridInfoService] login = http://......:8002/ gridname = "Your Grid Name" economy = MODLOS_URL/blocks/modlos/helper/ welcome = MODLOS_URL/blocks/modlos/helper/loginpage.php
OpenSim.ini
- Modlos の場合
[Startup] WorldMapModule = "WorldMap" MapImageModule = "MapImageModule" [Groups] Enabled = true Module = GroupsModule NoticesEnabled = true MessagingModule = GroupsMessagingModule MessagingEnabled = true ServicesConnectorModule = XmlRpcGroupsServicesConnector GroupsServerURI = MODLOS_URL/blocks/modlos/helper/xmlgroups.php XmlRpcServiceReadKey = "読み込みキー" XmlRpcServiceWriteKey = "書き込みキー" [Messaging] InstantMessageModule = InstantMessageModule MessageTransferModule = MessageTransferModule OfflineMessageModule = OfflineMessageModule OfflineMessageURL = MODLOS_URL/blocks/modlos/helper/offline.php MuteListModule = NSLMuteListModule MuteListURL = MODLOS_URL/blocks/modlos/helper/mute.php [WebStats] enabled=true [DataSnapshot] index_sims = true gridname = "Your Grid Name" data_services = "MODLOS_URL/blocks/modlos/helper/register.php" [Modules] LandServices = "RemoteLandServicesConnector" [Profile] ProfileURL = "MODLOS_URL/blocks/modlos/helper/profile.php" [Search] SearchURL = "MODLOS_URL/blocks/modlos/helper/query.php"
Counter: 5326,
today: 1,
yesterday: 0
最終更新: 2014-09-13 (土) 09:48:09 (JST) (3647d) by iseki