2013/05/16

装着物の子プリムに入れたスクリプトが、RCのSim境を越えると取得済みのPERMISSION_TAKE_CONTROLSを失ってしまいます

昨日RCのBluesteel,LeTigre,Magnumサーバーが改定されましたが、装着物の子プリムに入れたスクリで異常が発生しています。
装着Only型の乗り物で、上記Simでの越境時以降で左右旋回ときにバンクしないなどの異常が出ます。

Bugレーポートをリンデンに発行する前に、まず日本語のレーポート練習です・・・m( )m





(再現方法)
1)2個のプリムをBuildしてリンクし、子プリムの方に以下のスクリプトを入れます。

//test of PERMISSION_TAKE_CONTROLS
key decKey;

default
{
state_entry()
{
//
}

attach(key attached)
{
if (attached == NULL_KEY) // object has been detached
{
//
}
else // object has been //attached//
{
decKey = llGetOwner();
llRequestPermissions(decKey, PERMISSION_TAKE_CONTROLS);
}
}


run_time_permissions(integer perms)
{
if (perms & PERMISSION_TAKE_CONTROLS) {
llTakeControls( CONTROL_ROT_LEFT | CONTROL_ROT_RIGHT, TRUE, TRUE );
}
}

control(key id, integer level, integer edge) {
if (level & CONTROL_ROT_LEFT && edge & CONTROL_ROT_LEFT ) {
llSay(0,"Left Turn");
}
if (level & CONTROL_ROT_RIGHT && edge & CONTROL_ROT_RIGHT ) {
llSay(0,"Right Turn");
}
}
}


2)これをいったんインベントリーに取り込んだ後、RC_Magnum, LeTigre, BlueSteelのTest-sandで、「Attach to」を使ってアバターの体に装着します。


3)左矢印キーあるいは右矢印キーを押すと、装着物は"Left Turn"あるいは"Right Turn"としゃべってくれます。

4)前矢印キーを使って前進し、同じRCのSim境を越します。

5)左右矢印キーを押してみますが、今度はしゃべってくれません。スクリプト上では、PERMISSION_TAKE_CONTROLSを失ったような現象になっています。

6)メインサーバーのSimへ移動して、上記のオブジェクトを装着しなおします。

7)左矢印キーあるいは右矢印キーを押すと、装着物は"Left Turn"あるいは"Right Turn"としゃべってくれます。

8)前矢印キーを使って前進し、同じメインサーバーのSim境を越します。

9)左右矢印キーを押してみますと、装着物は"Left Turn"あるいは"Right Turn"としゃべってくれます。スクリプト上では、PERMISSION_TAKE_CONTROLSを正常に保持している現象になっています。

装着Only型の乗り物では、これの被害を受けますので、これから英訳と格闘しながらBugレポートを書いてみます。。。><


(環境)
Second Life 3.4.5 (270263) Feb 12 2013 04:43:00 (Second Life Release)
Release Notes

You are at 262,176.0, 243,971.0, 22.9 in LeTigre Sandbox 2 located at sim4218.agni.lindenlab.com (216.82.4.179:13000)
Second Life RC LeTigre 13.05.14.275813
Error fetching server release notes URL.

CPU: Intel(R) Core(TM)2 Duo CPU E7500 @ 2.93GHz (2926.02 MHz)
Memory: 3328 MB
OS Version: Microsoft Windows 7 32-bit (Build 7600)
Graphics Card Vendor: NVIDIA Corporation
Graphics Card: GeForce GTS 250/PCIe/SSE2

Windows Graphics Driver Version: 9.18.0013.1106
OpenGL Version: 3.3.0

libcurl Version: libcurl/7.21.1 OpenSSL/0.9.8q zlib/1.2.5 c-ares/1.7.1
J2C Decoder Version: KDU v7.0
Audio Driver Version: FMOD version 3.750000
Qt Webkit Version: 4.7.1 (version number hard-coded)
Voice Server Version: Vivox 3.2.0002.10426

Built with MSVC version 1600
Packets Lost: 11/144,421 (0.0%)

------------------------------------------------------------------------------
(追記)
BUG-Trackerへアップしました。



https://jira.secondlife.com/browse/BUG-2606

2013/05/13

OSgridでの持ち物を、Stand-aloneのOpenSimへ持ち出しました

OSgridでは、インベントリの持ち物類は自宅サーバーには無くて、OSgridのAsset-server保存されています。
これを『save iar ***』を使用してAsset-serverからダウンロードし、自PCで起動させたStand-aloneのOpenSimで『load iar ***』を使用してAsset-serverに保存しました。



SSの画面はWindows7機のもので、右はImprudenceで見たOSgrid、左はSingularityで見たStand-aloneのOpensimとServer操作用のcommand窓です。
ちょうど新規追加したNew-boatのフォルダーをimigしたところです。

この作業のために、Viewerを2個とOpensim1個をPC1台で稼動させても、CPU負荷率は安心しておれる範囲に収まっています。

Second-Lifeに対する『ノアの方舟』目的でOSgridを始めたのですが、これでOSgridに対する『ノアの方舟』もできました~ ^^)

2013/05/11

『非公式のL$交換禁止』は米国財務省ガイドラインに沿うためとのこと?

NWNの記事にアップされていました。
『リンデンが米国財務省ガイドラインに従わなければ罰則を受ける』からだって。


http://nwn.blogs.com/nwn/2013/05/linden-dollar-terms-of-service-change-1.html?utm_source=feedly

SLの両替業者は困るかもしれませんが、住人はBasic-accountでも『支払い情報登録』さえ済ませておけば、特に不自由は起きないと思いますよ^^)

対US$で円安になっていますが、今朝L$をUS$に公式交換してみますと、10,000L$が37.8US$でしたから、ほとんど変化なく安定していますね。

2013/05/03

USBメモリーでOpenSimサーバーの稼動実験

備忘録です。

PCのOSに関係なしで、しかもハードディスクなしで稼動させるのが目的です。
1年前には『Tiny Core Linux』でトライしましたが、今回もRAM上で稼動する『Puppy Linux』で挑戦しました。

しかも、Puppy最新版「Precise」では豊富なUbuntuのライブラリーが簡単に使用できるからです。
特にmono-completeが取り出せるのが魅力です。

(1)『Barry's blog』(下)から、live-CD ISO file (167.5M)をダウンロードします。
http://bkhome.org/blog2/?viewDetailed=00172
(ダウンロードしたファイル名は、『precise-5.5』でディスクイメージファイルです)

(2)Windows7機でunetbootin-windows-568を立ち上げ、precise-5.5を指定してインストールUSBメモリーを作成します。
(これはインストール用CDの代用です ^^)

(3)http://101.143.161.76/puppy/opt/から、日本語化のためにlang_pack_ja-1.5b.sfsをダウンロードして、上記USBメモリーへコピーしておきます。

(4)上記USBメモリーをBoot指定で立ち上げてから、lang_pack_ja-1.5b.sfsをPuppyのファイラーでクリックすれば、まずインストーラを日本語化できます。

(5)2個目のUSBメモリーを追加で装着して、Puppyの『ユニバーサルインストーラ』を使用すれば、常時使用するUSBメモリーが製作できます。
(参考) http://www.inohara.net/~kazuyoshi/lan-puppy_precise_543-linux.htm

さて次が本題です ^^)



(6)puppyのPETgetマネージャを立ち上げ、検索窓に『mono-complete』っていれて「Search all repositories」で検索をかけますと、2.10.8.1版が見つかりますので、これをクリックしてインストします。(SS1)
よくみると、ubuntuからのライブラリーですよね ^^) 

なおインスト時に「Examine dependencies」ボタンクリックを忘れないようにしてください。これは関連するパッケージのインストも併せて実行する便利な機能です^^)
(SS2は、べつのKtermパッケージをインストするときのものです)




(7)あとはOpenSimをダウンロードして、その/binディレクトリーで端末から『mono OpenSim.exe』とやれば、OpenSimサーバーが立ち上がります。
(SS3は、Windows7機でViewerを起動して、Lanで接続されているPuppy機をVNCで遠隔操作しているところです。)





あたしは、mono以外にnvidiaのドライバーとx11vncをPuppyにインストしていますが、9個の何もないSimを持つOpenSimも含めてメモリー使用量は740KBで、あと2.7GB残っていますので、まだまだ余裕がありそうです ^^)

でもあまり増やすと、Puppy機の電源OFF時にこれらがUSBメモリーへ自動BackUpされる時間が長くなってしまう欠点があります・・・・


これで、ハードディスクなしにOSgridへ常時接続できるようになりました。
(電気代が節約できるかな?)

USBメモリーの代わりにSSDを使用しても、これへの書き込みが電源Off時だけになるはずですから、寿命の心配も払拭されそうですw

そだ、Mysqlもインストしてみようかな?・・・・・・

しばらくは、SLを離れて遊べそうです~ ^^)

--------------------------------------------------------------------------------------------------------
(追記 20130505)
nvidiaのドライバーをはずしました。
Fire-Wall設定用で、ufw_0.31.1-1をインストしました ^^)