opensim-0.9.0.1 Release を使ってJOGに接続するためのJOG独自モジュール、諸設定についていろいろ調べたので、ここに報告します。
自宅あるいはVPSからJOGに接続するためにJOGが配布しているバイナリは、現在のところ OpenSim-0.9.0Dev が最新です。
opensim本家が公式配布の opensim-0.9.0.1 Release を使ってJOGに接続するためのスクリプトを公開しています。
http://shino.pos.to/secondlife/blog/?viewDetailed=00025
これで立ち上げたSIMでアバターのプローフィールは表示されますが、編集書き込みはできません。
ピックの保存などプローフィールの編集書き込みには、現在のところ OpenSimProfile.dll を、えくすさんのものと差し替える必要があります。設定ファイル GridCommon.ini も一部変更が必要です。
https://www.jogrid.net/wi/mod/forum/discuss.php?d=1353#p4865
0.9.0Dev同梱のOpenSim.Modules.Currency.dll は 0.9.0.1などで使うとエラーとなります。削除しても大きな不都合はありませんが、JOGのsubversionにある0.9.0用の OpenSim.Modules.Currency.dll と入れ替えると動作します。
http://www.nsl.tuis.ac.jp/svn/opensim/jogrid.config/trunk/config/JOG_HG/0.9.0/
結論は以上ですが、各モジュールと諸設定について検討した詳細を以下の記事で順次報告します。
さきの記事に書いたように、JOG独自モジュールはJOGのsubversionにまとめられています。
http://www.nsl.tuis.ac.jp/svn/opensim/jogrid.config/trunk/config/JOG_HG/0.9.0/
このうち Messageing.NSLMutekist.dll, OpenSimProfile.Modules.dll, OpenSimSearch.Modules.dll の3つは、SQLiteをつかう opensimサーバーでは使えません(エラーでサーバーが立ち上がらない)。
https://www.jogrid.net/wi/mod/forum/discuss.php?d=1114
OpenSimProfile.Modules.dll は えくすさんのものが使えることは前記事で書きました。
Messageing.NSLMutekist.dll と OpenSimSearch.Modules.dll の2つについては、 0.9.0Dev同梱のものが opensim-0.9.0.1 Releaseでも使えます。
ここでSearchですが、opensim-0.9.0.1 Release にもサーチ機能が含まれていて、これがJOGでも使えます。ですからJOGのモジュール OpenSimSearch.Modules.dll を削除してしまうという手もあります。
Messageing.NSLMutekist.dll についての補足情報です。JOGのsubversionにある0.9.0用のものがSQLiteの下で使えないことはすでに書きましたが、0.8.2用とされているものも動きません(モジュールが読み込まれない)。
ただひとつ 0.9.0Dev同梱の Messageing.NSLMutekist.dll(このソースの入手場所を私は知りません)だけが opensim-0.9.0.1 Releaseで使えます。
0.9.0Dev同梱の設定ファイルをベースに最小の変更とするならば、えくすさんの OpenSimProfile.dll を使うために GridCommon.ini 内の1行のみの変更でOKです。
https://www.jogrid.net/wi/mod/forum/discuss.php?d=1353#p4866
しかしこのさいですので、 opensim-0.9.0.1 Release の標準設定から最小の変更ということを考えました。
0.9.0Dev同梱の設定に私が気に入らないことは、 osslの設定が標準設定と大きく異なっていることがひとつ。
http://shino.pos.to/secondlife/blog/?viewDetailed=00013
いまひとつ、SIMを立ち上げたときに隣接リージョンへの通知に失敗すること。
https://www.jogrid.net/wi/mod/forum/discuss.php?d=1346
これは GridHypergrid.ini にJOG独自の変更を加えて配布しているために、本家 opensim配布のものとの乖離が生じたことが原因になっています。
opensim本家の意図としては、 GridHypergrid.ini には手を加えず、GridCommon.ini のほうで変更して欲しいとのこと。
この考え方で設定ファイルを検討した結果については続報します。
opensim-0.9.0.1 Release を JOGに接続する設定ファイル群のシノバー案をアーカイブにまとめました。jogrid-settings-0.9.0.1-sb2.tar.gz
(以下は設定ファイルの解説です。差分は煩雑なので、別記事に纏めます。)
標準設定から最小の変更ということで設定ファイルを検討しました。GridHypergrid.ini には手を加えず、JOG独自の設定はGridCommon.iniあるいはOpenSim.iniに加えます。
まずは config-includ/GridCommon.ini。JOG独自というよりも、HG接続のほぼ標準的な設定となっています。サーチモジュールについてコメントアウトされていますが、もし JOGの独自モジュールの OpenSimSearch.Modules.dll を使うのであれば、これを活かしてください。
次にOpenSim.iniです。JOG独自の設定はほとんど OpenSim.ini に集めています。えくすさん改造の OpenSimProfile.Modules.dll を使う設定もこちらへ持ってきています。
[Architecture]のセクションを最後に持ってきたのは、私の美感というか趣味です。セクションの順番が前後しても動作に影響ありません。
# diff GridCommon.ini.example GridCommon.ini
45c45
< ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
---
> HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
53c53
< ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
---
> GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
73a74,75
> ;SearchModule = "OpenSearchModule"
>
117c119
< ;LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataRemoteConnector"
---
> LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataRemoteConnector"
249c251
< MuteListServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
---
> ;MuteListServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
# diff OpenSim.ini.example OpenSim.ini
56c56
< BaseHostname = "127.0.0.1"
---
> BaseHostname = "jogrid.net"
678c678
< ; OfflineMessageModule = "Offline Message Module V2"
---
> OfflineMessageModule = "OfflineMessageModule"
683a684
> OfflineMessageURL = http://www.jogrid.net/wi/blocks/modlos/helper/offline.php
698c699
< ; MuteListModule = MuteListModule
---
> MuteListModule = NSLMuteListModule
701c702
< ; MuteListURL = http://yourserver/Mute.php
---
> MuteListURL = http://www.jogrid.net/wi/blocks/modlos/helper/mute.php
833c834
< ; index_sims = false
---
> index_sims = true
844c845
< ; gridname = "OSGrid"
---
> gridname = "JOGrid"
861c862
< ; data_services="http://metaverseink.com/cgi-bin/register.py"
---
> data_services="http://www.jogrid.net/wi/blocks/modlos/helper/register.php"
869a871
> EconomyModule = DTLNSLMoneyModule
947c949
< ; DeleteScriptsOnStartup = true
---
> DeleteScriptsOnStartup = false
1040c1042
< ; LocalServiceModule = OpenSim.Services.Connectors.dll:RemoteFreeswitchConnector
---
> LocalServiceModule = OpenSim.Services.Connectors.dll:RemoteFreeswitchConnector
1043,1044c1045
< ; FreeswitchServiceURL = http://my.grid.server:8004/fsapi
<
---
> FreeswitchServiceURL = http://jogrid.net:8004/fsapi
1049c1050
< ; Enabled = false
---
> Enabled = true
1061a1063
> Module = "GroupsModule"
1074c1076
< ; ServicesConnectorModule = XmlRpcGroupsServicesConnector
---
> ServicesConnectorModule = XmlRpcGroupsServicesConnector
1090c1092
< ; GroupsServerURI = ""
---
> GroupsServerURI = "http://www.jogrid.net/wi/blocks/modlos/helper/xmlgroups.php"
1104c1106
< ; MessagingModule = "Groups Messaging Module V2"
---
> MessagingModule = GroupsMessagingModule
1114c1116
< ; MessageOnlineUsersOnly = false
---
> MessageOnlineUsersOnly = true
1124,1125c1126,1127
< ; XmlRpcServiceReadKey = 1234
< ; XmlRpcServiceWriteKey = 1234
---
> XmlRpcServiceReadKey = JOG6809
> XmlRpcServiceWriteKey = JOG8086
1133c1135
< ; UpdatePrioritizationScheme = BestAvatarResponsiveness
---
> UpdatePrioritizationScheme = FrontBack
1147c1149
< ; Enabled = false
---
> Enabled = true
1201a1204,1235
>
> [ServiceThrottle]
> Interval = 4000
>
>
> [Attachments]
> ThrottlePer100PrimsRezzed = 500;
>
>
> [BulletSim]
> UseSeparatePhysicsThread = true
> TerrainImplementation = 0
>
> AvatarStopZeroThreshold = 0.5
>
>
> [Profile]
> Module = "OpenSimProfileModule"
> ; Change it to your own HTTP server to have the Profile server work
> ProfileURL = http://www.jogrid.net/wi/blocks/modlos/helper/profile.php
>
>
> [Search]
> ; This is the URL needed for Search server to work
> ; Change it to your own HTTP server to have Search inworld working
> SearchURL = http://www.jogrid.net/wi/blocks/modlos/helper/query.php
>
>
> [WebStats]
> enabled = true
>
>
1217c1251
< ; Include-Architecture = "config-include/GridHypergrid.ini"
---
> Include-Architecture = "config-include/GridHypergrid.ini"
>> Messageing.NSLMutelist.dll(このソースの入手場所を私は知りません)
モジュール関連のリポジトリは
http://www.nsl.tuis.ac.jp/svn/opensim/opensim.modules/trunk
(Mutelist は Messaging 以下)
です.
また,以下にJOGで公開しているリポジトリの一覧を載せました.
https://www.jogrid.net/wi/course/view.php?id=34
変更:https://www.jogrid.net/wi/course/view.php?id=21
参考にしてください.
資料倉庫の公開ありがとうございます。
>> Messageing.NSLMutelist.dll(このソースの入手場所を私は知りません)
言い方を変えます。opensim-0.9.0.1 Releaseで使える唯一のものが0.9.0Dev同梱の Messageing.NSLMutelist.dll(サイズ 8704バイト)です。これと同じものが、各バージョン用バイナリを集めた http://www.nsl.tuis.ac.jp/svn/opensim/jogrid.config/trunk/config/JOG_HG/ 内に見つかりません。
opensim-0.9.0.1 Release を JOGに接続するモジュールと設定ファイル群のシノバー案をアーカイブにまとめました。
jogrid-settings-0.9.0.1-sb2.tar.gz
これに含まれる JOGモジュールの内訳を以下に纏めます。
0.9.0 は http://www.nsl.tuis.ac.jp/svn/opensim/jogrid.config/trunk/config/JOG_HG/0.9.0/ から
0.9.0Dev は OpenSim-0.9.0Dev から
mitsuki は https://www.jogrid.net/wi/mod/forum/discuss.php?d=1353#p4865 から
AForge.Math.dll 0.9.0
Messaging.NSLMuteList.dll 0.9.0Dev
OpenSim.Modules.Currency.dll 0.9.0
OpenSimProfile.Modules.dll mituki
OpenSimSearch.Modules.dll 使用せず
SimpleFluidSolverWind.dll 0.9.0
なお、jogrid-settings-0.9.0.1-sb2.tar.gz の設定で OpenSimSearch.Modules.dll があると、opensimのBasic Searchと併存しておかしなことになるので、bin/OpenSimSearch.Modules.dll が残っていたら削除してください。