Shinobar Martinek による投稿

> SandBox (8000,7999) で TrustBinaries を false にしたところ,エラーが出ませんでした.

花火(パーティクルを使った物)で確認したところ、JOG meets でエラーが出るが、SandboxでOKでした。

Jaguar はどちらのリージョンでもエラーは出ませんが、JOG meets で動かなかったものが、SandBoxでは動きます。

乗物などのリージョン越えに不具合はないかも気になったので、テストしました。SandBoxにJaguarをRezし、乗り込んで JOG meets へリージョン越えできました。Jeepはリージョン越えに引っ掛かりはありますが、変数値などは保持されているようです。装着物や乗物の場合は別扱いなのかな。

AllowScriptCrossing との関係がよく分かりませんが、これらはデフォルトで

AllowScriptCrossing = true
TrustBinaries = false

みたいです。

 Shinobar Annex周辺のSIMは0.8.2.1の上記デフォルト設定で、リージョン越えできています。ときどき失敗はありますが。

> リージョンサーバが再起動すると,SIMにおいてある該当のスクリプトも正常に動くようになりますので,

DeleteScriptsOnStartup = true

> は,SIMが再起動したときに再コンパイルするということではないでしょうか?

ですよねえ、だから不可解です。持ち込みのオブジェクトに含まれるスクリプトの場合は別の原因があるのか?

車のほかにパーティクルを仕様するスクリプトが軒並みにエラーを出します。

JOGの標準が

DeleteScriptsOnStartup = true

であるとすると不可解ですが、念のため bin/ScriptEngines をディレクトリごと削除してみるというのはいかがでしょう。

いずれかのサンドボックスで試していただけるとありがたいです。

AppDomainLoading = true

にしたら、SIM起動時のメモリ使用量が2倍〜3倍になりました。trueでははなから大きく、falseだと最初小さくて、必要に応じて増える感じです。自前のSIMで実験しました。けっきょく、JOG標準どおり

AppDomainLoading = false

としました。

 

JOG配布バイナリ 0.9.0Dev にある OpenSim.ini の設定で、気になることがあります。

[XEngine] のセクションで

DeleteScriptsOnStartup = false

が設定されています(デフォルトは true)。SIM再起動でスクリプトを再コンパイルするかどうかです。SIM上にあるスクリプトだけなのか、今回のような持ち込みのスクリプトにも影響するのかどうかは不明です。

ここで話題の問題とは別に、もう一つ気になる設定が同じセクションに(さきのもののちょっと上のほう)

AppDomainLoading = false

デフォルトは true です。SIMが知らぬうちに out of memory で落ちていることがあることと関係あるかも。