Shinobar Martinek による投稿

この問題、その後どうなっているでしょうか?

あるSIMでは動くのに、別のSIMでは動かないことが、最近多発してます。

TrustBinaries = true とするメリットよりも、デメリットのほうが大きく思います。

TrustBinaries = false

でお願いしたい。

以下4つのSIMでそれぞれテストしました。

Shinobar Annex (テストのため opensim-0.8.2.1 に変更)
M&Fcreations01 (opensim-OSgrid 0.9.1.0Dev  4320758: 2017-06-03)
Sandbox (OpenSim 0.9.1.0 Dev 07c3962)
JOG meets (同上)

こちらでコンパイルしたものをあちらへとテストしてみると、 Shinobar Annex と M&F Creations01 では、いずれでコンパイルされたものでも動きます。

Shinobar Annex(0.8.2.1)や Sandbox, JOG meets でコンパイルされたものはどちらでも動きます。

M&Fでコンパイルされたものは Sandbox や JOG meets では動きません。

手持ちのオブジェクトで Sandboxなどでは動くが JOG meetsでのみ動かないものがあります。SandboxとJOG meetsでバージョンあるいは設定が異なるのでしょうか?

 

たぶん Varregionの場合に、SIMの配置がTP障害の原因となることもあるということで、その法則性は分かっていません。

シノバーSIM群は 256, 512, 1024 と、異なった大きさのSIM群でできています。そういう場合に配置によってはこんなことが起きるのかもしれません。本家OpenSimのブログではVarregionについて、異なった大きさのSIMを接するように配置するのはよくないとの記述があります。シノバーSIM群ではあえてそれをやって実験しています。

http://opensimulator.org/wiki/Varregion

いま読み返すと、そういう制限は opensim-0.9系では解消されているとのことです。0.8系では配置によってSIM間の行き来ができないということがあって、それは0.9系で改善されていることは確かです。だがまだ問題が残っているのでしょう。

Shinobar Annex, Izumoはいずれも256の標準サイズですが、その西側に接して 1024のWadatsumiが opensim-0.8系で運用されているので、それが関係してる可能性もあります。

みなさん、情報ありがとうございます。

この問題に解決のきざしが見えてきました。分かったことはSIM配置が強く関係しているということです。

実験をしていて、 Shinobar Annex → Dejima で生じていたTP障害が、Canyon → Dejimaではほとんど現れないということに気づきました。Shinobar Annex と Canyon はどちらも自宅サーバで、 opensimのバージョンや設定もほとんど同じです。

Shinobar Annexを、近傍に他のSIMの無い、孤立した位置に移動してみました。すると Dejimaとの間のTP障害がなくなりました。次に Shinobar Annexを元の位置から南へ2コマ移動させました。西隣りの Wadatsumi、東隣は Boraboraで、3つのSIMの大きさは違いますが南端は揃っています。そうすると Dejima との間でのTP障害は無くなりました。

南に2コマ移動した Shinobar Annexに合わせて、その北側に接していた Izumoも南に2コマずらし、以前のごとく南北に接するようにしました。すると、 Shinobar Annex → Dejima でTP障害が再発しました。

現在は Izumoなどは元の位置、Shinobar Annex だけ元の位置から南へ2コマ移動させて様子を見ています。Shinobar Annex → Dejima のTP障害は無くなりました。シノバーSIM群内でのTP障害は時々発生しています。サイズの違うSIM群が隣接してることが問題を引き起こしてるのかもしれません。引き続き調査中。

いつごろからか、たぶんJOGが opensim 0.9系に更新されたことから、TP障害に悩まされ続けています。他の人に聞くと、みなさんあまり問題にされていないようで、深刻に悩んでいるのは私だけなのかも。そこでみなさんにお聞きします。

私が悩んでいるTP障害は、TP直後にビューアーが落ちてしまうということです。2とおりあるようで、TPができたと思われる瞬間にビューアーが落ちるのと、いちおうTPは成功するが、その後数秒から数十秒後にビューアーが落ちるというものです。

Shinobar Annex などシノバーSIM群を起点としたときに起こります。すなわち Shinobar Annex → Dejima で高頻度で起こりますが、 Dejima → Shinobar Annex は問題ありません。 Dejima → JOG meets では問題なく、 Shinobar Annex → Canyonでときどき起こります。

みなさんにお尋ねしたいのは、次の2つです。

(1) TP直後にビューアーが落ちるということを経験されてますか?その頻度は?

(2) Shinobar Annex → Dejima あるいは Shinobar Annex → Canyon でこのような TP障害を経験されてますか?

 

どうもシノバーSIM群固有の問題なのか。シノバーSIM群は自宅PCでJOGへグリッド接続です。opensimのバージョンや monoを換えてみたり、設定もいろいろ試していますが、いっこうに改善しません。常用のビューアーは FSですが、 Singでも起きます。我が家のネット環境の問題なのか? データベースは opensim内蔵のSqliteですが、 MySQLではどうなのか、まだ試してません。

 

 

JOG Stuff のところで、ひとつ抜けていました。OpenSim.Modules.Currency.dll です。

このモジュールは本来(JOG独自の)マネーサーバと通信するためのもので、マネーサーバに接続しないならば必要ありません。また opensim-0.8用に作られたものが 0.9系では不都合あったために、外しておりました。しかし JOG配布の 0.9.0Dev に同梱されているものは opensim-0.9系でちゃんと動作します。

マネーサーバに接続しないSIMで、このモジュールがあると無いとでどこが違うかというと、ビューアーの所持金の表示だけです。マネーサーバに接続している Dejimaと、接続しない Shinobar Annexとを往還する場合で説明します。

Dejimaに(JOGアバタでもHGアバタでも同じ)アバタが入ると何がしかの所持金が表示され、これで Dejimaで買い物ができます。マネーサーバに接続しない Shinobar Annexなどに移動すると、所持金は 0 となるはずです。ここで Shinobar Annexに OpenSim.Modules.Currency.dll があると、ビューアーの所持金表示も 0となりますが、このモジュールが無いとビューアーの所持金表示は Dejimaのときの表示から変化しません。ビューアーの表示では何がしかの所持金があることになります。しかしもし Shinobar Annexに JP1 の商品があったとして、それを購入することはできません。JP0 の商品は購入できます。つまりビューアーの表示に所持金があるように見えても、じっさいは所持金0とおなじです。

マネーサーバに接続しないSIMで、このモジュールがあると無いとで、商品の購入に関しては同じです。このモジュールがあっても無くても、実用上問題はありませんが、ビューアーの所持金表示に関してしてはこのモジュールを含めるほうがきれいです。

さきのスクリプトの JOG Stuff に関する部分の修正を以下に示します。すでに以前のスクリプトで移行済みの方は、手動で JOG配布の 0.9.0Devの中から bin/OpenSim.Modules.Currency.dll を見付け、新しい OSGの bin ディレクトリの中にコピーしてください。

# JOG stuff
cp -vf $SRC/bin/{Messaging.NSLMuteList.dll,OpenSimProfile.Modules.dll,OpenSimSearch.Modules.dll,OpenSim.Modules.Currency.dll} $DEST/bin
cp -vf $SRC/bin/config-include/{FlotsamCache.ini,GridCommon.ini,GridHypergrid.ini} $DEST/bin/config-include