MAC Boot Camp Support Software 5.1.5621 / ビデオドライバー / OpenSim

BootCampが5.1にUPDATEされていましたので、5.0からUPDATEしました。

MacBook Pro (Retina, 13-inch, Late 2013)で、BootCamp 5.0 (Windows 7)の時は、
OpenSimのViewer Firestorm-Beta 4.5.1を使うと起動時に「サポート外のビデオカード・・」とダイアログが出ていました。
無視してログインすると一応画面が出てきますが全体的に金属光沢がかかったような画面になっていました。
また、Windowサイズを変更すると、メニューバーからのプロダウンが透明化されて白文字しか表示されず見づらかったのですが、これが解消されました!

まあ、綺麗な画面で見たいときは、MACで起動してFirestorm-Beta 4.5.1で
動かしていたのですが、これでBootCamp 5.1 (Windows 7)でも綺麗に表示されます。

※ビデオドライバーがUPDATEしたようにも思えないのですが、何がかわったのだろうか?BootCamp 5.1にUPDATEした時にビデオドライバーが再インストールされ治ったのかもしれません。(画面解像度とか初期化されていたので再設定した。)

OSgrid テレポート先のChannelVersionの取得:(OpenMetaverse libomv-0.9.1)

この記事は自分用です。
最近、OSgridのopensimのバージョンアップ更新頻度が高く、当方所有のSIM (aska) もUPDATEするのも手間です。
Viewer Firestormでテレポートすると、simulatorバージョンが異なると、↓のように
simulatorバージョン(ChannelVersion)の詳細を表示してくれます

この詳細バージョンのデータを何とか、OpenMetaverse libomvのDLLでChannelVersionを取得したく、FireStorm Viewerのソースコードとlibomv-0.9.1のソースコードを少し漁りました。
結局、サーバからAgentMovementCompleteのメッセージが来たときに、目的のデータが入っていました。

とりあえず、、OpenMetaverse libomvのNetworkManager.csに###部を追加して強制的に表示してみた。
これだと汎用性がないので、別途OpenMetaverse.Packetsをcallbackで自アプリの方に実装する予定。

//***NetworkManager.cs
        private void IncomingPacketHandler()
        {
            IncomingPacket incomingPacket = new IncomingPacket();
            Packet packet = null;
            Simulator simulator = null;

            while (connected)
            {
                // Reset packet to null for the check below
                packet = null;

                if (PacketInbox.Dequeue(100, ref incomingPacket))
                {
                    packet = incomingPacket.Packet;

                    simulator = incomingPacket.Simulator;

                    if (packet != null)
                    {
                        // Skip blacklisted packets
                        if (UDPBlacklist.Contains(packet.Type.ToString()))
                        {
                            Logger.Log(String.Format(“Discarding Blacklisted packet {0} from {1}”,
                                packet.Type, simulator.IPEndPoint), Helpers.LogLevel.Warning);
                            return;
                        }
//#################### 追加
                        if (packet.Type.ToString() == “AgentMovementComplete”)
                        {
                            Console.WriteLine(“#### Networkmanager.cs ####:…” + packet.Type.ToString());
                            string packetText = PacketDecoder.PacketToString(packet);
                            Console.WriteLine(packetText);
                        }    
//####################
                        // Fire the callback(s), if any
                        PacketEvents.RaiseEvent(packet.Type, packet, simulator);
                    }
                }
            }
        }
====

ChannelVersion: OpenSim 0.8.0 Dev          OSgrid 0.8.0 (Dev) 73891c7: 2014-05-09 (Unix/Mono)
が取得できてます。で、それがどうしたのと言われても特に何もありません・・。

関連:

FireStorm Viewer のビルド & サイズ制限解除(1024mまでok,メッシュも)

Windows Azure “仮想マシン”作成

マイクロソフト BizSpark審査承認されました。
http://www.microsoft.com/ja-jp/mic/bizspark/

MSDN サブスクリプション を無料で利用できます。
また、Windows Azure を3年間で最大 ¥454,500分を無償で利用できます。
(登録月¥17,000,以降毎月¥12,500分が提供される。)
Windows Azureを有効化するときに、携帯電話を使った認証(SMS認証)がありますが、
クレジットカードの登録とかは必要ありません。

今回、Windows Azureで“仮想マシン” Windows 2008 Server R2 Datacenterを作成してみました。
私は、さくらでVPS(仮想専用サーバ)を2台(LinuxとWindows)を借りていますがこれと似たようなものですがちょっと制限があります。

【Windows Azure 仮想マシン】注意事項

1)外部に公開するポートは、エンドポイントで登録しないといけない。
2)untrust側のpingは送受信ともフィルターされているっぽい。
3)IPアドレスの逆引きは設定されていない。
   *メールサービス関連を実装するときは要注意です。
    逆引きができないので、メールサーバによっては拒否されます。
    SMTP認証等を実装している外部のSMTPサーバを使う必要があります。

   *場合によっては、逆引きされているIPもあります。
    これは、たまたまマイクロソフトが別サービスのため設定しているものです。
    例)book.azurewebsites.net
      waws-prod-am2-003.cloudapp.net [137.117.224.218]
      nslookup 137.117.224.218
      名前:    dreamspark.ro
      Address:  137.117.224.218

4)使用制限(デフォルト)をかけていますので、無償分のクレジットを超えるとその月は停止されます。
   *これに関しては超えないような、構成を選択しているのでほぼ問題ないかと思います。
   *制限は削除できますが、削除したら制限を再度有効化できません。

5)”仮想マシン” の新規作成は“ギャラリー” から好きなものを選んで作成する。
   http://www.windowsazure.com/ja-jp/pricing/details/virtual-machines/
   *仮想マシン以外にクラウドサービス、ストレージが作成されます。
   *設置場所は、東アジアもありますが、米国西部にしました。
    これは、送信データ転送料が安いのと、踏み台サーバにした時に何かと良いので。
   *インストールモデルは英語版のみとなりますが、言語パックダウンロードして
    日本語を適用させると問題なく日本語化できます。こちら参照↓
    http://yomon.hatenablog.com/entry/2013/06/15/%E3%80%90Azure%E3%80%91%E8%8B%B1%E8%AA%9E%E7%89%88Windows_2008R2SP1%E3%82%92%E6%97%A5%E6%9C%AC%E8%AA%9E%E8%A1%A8%E7%A4%BA%E3%81%B8%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E6%89%8B%E9%A0%86

6)料金について
  ・仮想マシン :S (A1) 1CPU/ MEM 1.75GB ¥7.48 (~ ¥5,561/月)
  ・クラウド サービス:S (A1) 1CPU/ MEM 1.75GB ¥6.65 (~ ¥4,982.37/月)
    ・ストレージ: 最初の 1 TB 1/月 ¥7.89 (GB あたり) ¥5.82 (GB あたり)
    ・送信データ転送(Windows Azure データ センターから出ていくデータ):
       最初の 5 GB/月 1 無料
       5GB~10TB 2/月 ¥9.97 (GB あたり)

多分、無償でいけそう。

【仮想マシン Windows 2008 Server R2 Datacenter】
    CPU:AMD Opteron 4171HE 2.09GHz /MEM:1.75G

  とりあえず今のところ使い道がないので、テストでWEBOSGRID(opensim)に接続しました。
  OSGRID(opensim)は、1SIMの場合TCP,UDP 9000を開ければ良いので、Windows Azureの
  仮想マシンのエンドポイント設定で、TCP 9000、UDP 9000を登録しておきます。
  
  <サービス>
    ・Apache 2.2 / php5.4.7 / Mysql5.5
    ・Opensim 0.8.0

Twitter のAPI 変更 : Net::Twitter::Lite

TwitterのAPI 1.1へのバージョンアップで、とうとう6/12にNet::Twitter::Liteが動かなくなったので、
Net::Twitter::Lite::WithAPIv1_1をインストール。
ブログ連携のperlプログラムを、
use Net::Twitter::Liteから
use Net::Twitter::Lite::WithAPIv1_1にして動作するようになった。

その他、twitter APIを利用したOSGRIDからのtwitter連携も修正してまた動作するようになった。

FireStorm Viewer のビルド & サイズ制限解除(1024mまでok,メッシュも)

前回、OSgrid(OpenSim)にインポートしたメッシュオブジェクトの東京スカイツリー(244m)をLSLスクリプトでなんとか643mにしましたが、今回スケールが250mオーバーのMESH対応のViewerをFireStorm Viewerを改造しビルドして1024mまで拡大できるようにしました。(これでどんなものでも、ほぼ好きに拡大できます。)

まず、FireStorm Viewerのソースコードとそれをコンパイルする環境が必要です。
こちらを参考に必要なソフトウエア
http://www.metaverse.jp.net/reports/recompile-of-sl-viewer/needed-software/
FireStorm Viewer のビルド環境の構築
http://www.metaverse.jp.net/reports/recompile-of-sl-viewer/firestorm/

・FireStorm の fmod(オーディオ関係のライブラリ)関連は手当しなくてもエラーしなかったので何もせず。ですのでオーディオがもしかして鳴らないかも。
・QuickTime SDKは入れなかったけどエラーしなかったので何もせず。
(もしかして、既に入れていたかも)で、ビルドバージョンは、4.3.1.32323ができました。
1024mまで拡大できます。無論secondlifeでは通用しませんが・・
opensim系で巨大建造物を作る方で欲しい方はこちらからダウンロードできます。
http://dip.picolix.jp/free/soft/firestorm-bin.zip
回答して、FireStorm ViewerのFirestorm-Release.exeにあるフォルダーにコピーして下さい。firestorm-bin.exeを実行すると、初期設定の後、普通に使えます。

改修内容:
C:tempttphoenix-firestorm-lgplindrallmathxform.h

元:
const F32 SL_DEFAULT_MAX_PRIM_SCALE = 64.f;
const F32 SL_DEFAULT_MAX_PRIM_SCALE_NO_MESH = 10.f;
const F32 OS_DEFAULT_MAX_PRIM_SCALE = 256.f;

修正:
const F32 SL_DEFAULT_MAX_PRIM_SCALE = 1024.f;
const F32 SL_DEFAULT_MAX_PRIM_SCALE_NO_MESH = 1024.f;
const F32 OS_DEFAULT_MAX_PRIM_SCALE = 1024.f;

↓REZ直後(左側のオブジェクト)

↓643mに拡大できます(目盛が800m以上あります。通常版は240mぐらいまで)

OSgirdのログイン&テレポートチェッカーを作ってみた

LibOpenMetaverseで、OSgirdのログイン&テレポートチェッカーlogininfo.exeを作ってみた
この前、OSGridの予期しないリスタートで、それにたまたま気が付いて、自プロセスも再スタートさせましたが、
もし気が付かなかったら、OSGridの中心街(10000,10000)に近いこともあり、場所を他の人にとられることもあります。
(その後気づいたのですが、MANIAXXのOSG48からもリスタート連絡が来ていました。ありがとうございます。)

logininfo.exeは、logintime.txt(テレポート時間とSIM名が記載)を生成するので、この内容を見て一定時間ログインできてなかったらメールするなり、プロセスを再起動するなりのスクリプトを作成すればいいかと思います。
(また、後ほど作成する予定)

[logininfo.exe] ダウンロードはこちら
1.OpenSim.exeのある場所にコピーする。
2.起動方法:
【Windows】
1) OpenSim.exeのある場所に移動。
2) logininfo.exe firstname secondname password “simname/128/128/40” “http://login.osgrid.org”
を実行。成功した場合、戻り値0が返ります。また同フォルダーにlogintime.txt(テレポート時間とSIM名が記載)を生成。
戻り値:
0:成功
1:失敗(ログインタイムアウト)
2:ログインできたものの該当SIMに行けず
3:失敗(その他の例外エラー)

C:projetcsopensim>logininfo.exe xxxx xxxxx xxxxxxx “aska/128/128/40” “http://login.osgrid.org”
Login:…xxxx xxxxx
Login success Welcome to OSGrid…
Teleported [aska]
Logout:…
C:projetcsopensim>echo %ERRORLEVEL%
0
C:projetcsopensim>type logintime.txt
2013/02/09 22:11:47
aska

C:projetcsopensim>logininfo.exe xxxx xxxxx xxxxxxx “1aska/128/128/40” “http://login.osgrid.org”
Login:…xxxx xxxxx
Login success Welcome to OSGrid…
Cannot teleport [1aska] now [Lbsa Plaza]
Logout:…

C:projetcsopensim>echo %ERRORLEVEL%
2

3) Windowsのタスクスケジュールにセットするときは、
タスクスケジュールを起動してスケジュールを登録します。15分置きの場合。

引数の追加(オプション)には、firstname secondname password “simname/128/128/40” “http://login.osgrid.org”
をセット。
開始(オプション)には、OpenSim.exeがあるディレクトリーをセット

成功すれば15分置きに、OpenSim.exeがあるディレクトリーにlogintime.txtが生成されます。

【Linux】
1) OpenSim.exeのある場所に移動。
2) /usr/local/bin/mono logininfo.exe firstname secondname password “simname/128/128/40” “http://login.osgrid.org”
を実行。戻り値等、windowsと同様です。

[root@www8054ue opensim]# /usr/local/bin/mono logininfo.exe xxxx xxxxx xxxxxxx “aska/128/128/40” “http://login.osgrid.org”
Login:…xxxx xxxxx
Login success Welcome to OSGrid…
Teleported [aska]
Logout:…
[root@www8054ue opensim]# echo $?
0

[root@www8054ue opensim]# /usr/local/bin/mono logininfo.exe xxxx xxxxx xxxxxxx “1aska/128/128/40” “http://login.osgrid.org”
Login:…xxxx xxxxx
Login success Welcome to OSGrid…
Cannot teleport [1aska] now [Lbsa Plaza]
Logout:…
[root@www8054ue opensim]# echo $?
2

LinuxnのCRONにセットするとき、
このまま、セットすると場合によってプロセスが残ったままになります。一応、タイムアウトで必ず終了するように作ってあるのですが、どういうわけか,終了しない場合があるので、以下のperlスクリプトで必ず終了するようにします。 osgrid_login.plをCRONにセットすればOKです。

[osgrid_login.pl]

#!/usr/bin/perl
chdir “/projects/opensim/”;

$cmd = ‘/usr/local/bin/mono logininfo.exe firstname secondname password “simname/128/128/40” “http://login.osgrid.org”‘;

$cmd_flg = 1;
eval{
local $SIG{ALRM} = sub {
$cmd_flg = -1; #error
die “alarmn”;
};
alarm(100);
$pid = fork;
if ($pid == 0) {
exec($cmd);
#$result = `$cmd`;
#print $? . “n”;
#print $result;
}else{
wait;
}
alarm(0);
};
if($cmd_flg == -1){
kill(9,$pid);
print “Time outn”;
wait;
}

execコマンドに修正(2/10)

OpenSim OSGrid(aska SIM) 東京スカイツリー 634m メッシュオブジェクト

前回、2011年9月23日に作成途中だった東京スカイツリーで当初プリムで作成しようとしましたが、630mの壁に途中であきらめ放棄&削除しましたが、
https://www.picolix.jp/blog/osgrid-secondlife/668/
https://www.picolix.jp/blog/osgrid-secondlife/820/
今回、Ikushima’s Works のshigeki iさんがGoogle SketchUpで作られたTOKYO SKY TREEの3DデータをOpenSim OSGrid(aska SIM)にインポートしました。(shigeki iさんに
利用許可確認中。利用許可頂きました。ありがとうございます。!2/2)

・Viewer: Phoenix_Firestorm-Release_4-3-1-31155
・Google SketchUp 8 (プラグイン:OBJexporter.rb)
・blender-2.65a

まず、Google SketchUpで、TOKYO SKY TREE.skp(底面の写真台は削除)を読み込み、
TOKYO SKY TREE.objに変換。
blenderで、TOKYO SKY TREE.objを読み込みTOKYO SKY TREE.daeに変換。
これで、FirestormからOpenSimにmeshでUPLOADできます。描画詳細細度は、
「最低」を選択。三角の数は2480,頂点は2820
「高」三角の数66976,頂点66131にしてUPLOADするとこにした。
スケールはなぜか0.143倍ってなるので、x1にしようとしても修正できず。
小さいものならx1でできますが、まあ、オリジナル600mオーバーなオブジェクトなのでサイズ制限ががあるものと思われるが、ここでは深く考えていなかった。まあ、なんとかなるさと。
ウエイト計算&UPLOADで待つこと
10分 2分、イベントリーにオブジェクトが出来たー

*「高」でも「最低」でも結局プリム数換算で373個で一緒だった。(2/2)

さてREZですが、回りに迷惑をかけたらだめなので、ここは実験島のaska XIIで行うことに。
REZすると遠くの方にREZされました。(オリジナルの視点ポイントが遠かったためかな)
周りのSIMがある場合は、隣接SIMに入り込みます><で、中央に持ってきて、サイズ変更することに。
が、スケールが250mまでしか動かない・・ということで全長約240mの東京スカイツリーになってしまった。1/3モデルですね。

これをなんとか630mにするには・・・

1)スケールが250mオーバーのMESH対応のViewerを探す
このようなものはありませんでした><

   (追記) 2/12にFireStorm Viewerを改造し、1024mまで拡大できるようにした。
   https://www.picolix.jp/blog/2013/02/firestorm-viewer-1024mok.html

2)最悪、3分割してそれぞれ200mに拡大させて合体させる
リンク解除して再リンクしてみるもうまくいかず。
meshサイズ64mの壁もあるみたい。

3)LSLでスクリプト組んでx2.64倍して634mにする。
千尋 (Chihiro Owatatsumi)さんの
http://shop-chihiro.blogspot.jp/2010/05/blog-post_27.html
のスクリプトを借用してやってみた。

各部サイズは、それぞれ2.64倍になるものの位置情報がおかしく、中央に集まった感じになる。
meshで256mオーバーのものはだめなのかなーと思って諦めようと思ったけど、
もう一度、たまたま[サイズ変更]ボタンを押してみたところ、何mかズレた。で連続して押すと、なんと整列していくではないですか。このスクリプトでこのようになぜ動作するかは 不明・・・
結局、↓にあるように643mの東京スカイツリーができました。


OSgrid OpenSimulator 0.7.5.dev.290dc27 01-09-2013にバージョンアップ

OSgrid OpenSimulator 0.7.5.dev.290dc27 01-09-2013にバージョンアップさせました。
ついでに、使用しているviewerをImprudence ExperimentalからFirestorm Viewer
http://www.phoenixviewer.com/ に変えました。
以前は、Imprudence Experimentalはさくさく動いていたのですが、テレポートに何か難がありFirestorm Viewerに変えてみました。

1)テレポートもMAP(世界地図)表示も軽快
2)MESHもサポート
3)1km先まで表示(Imprudence Experimentalは512m)

これからはこちらを使用することに。
↓の地図は、日本人が運営しているSIM群の塊で、Wright Plaza(10000,10000)の
南のエリアに位置します。

OpenSim Version 0.7.5 のメモリーク

徐々にメモリー使用量が増加している。
http://xpyoda.blogspot.jp/2012/10/blog-post.html
http://kimikodover.blogspot.jp/2012/05/osgrid_12.html
にありますように、Warp3D Map module関連がリークしているようです。

http://opensimulator.org/mantis/view.php?id=6270&history=1#history

OpenSim/Region/CoreModules/World/Warp3DMap/Warp3DImageModule.cs

+ GC.Collect();
+ m_log.Debug(“[WARP 3D IMAGE MODULE]: GC.Collect()”);

のパッチを当てられたようですが、
2012-09-13,2012-10-08
に取り下げ要求が出ています。

OpenSim.iniを

[Startup]

;WorldMapModule = “WorldMap”
;MapImageModule = “Warp3DImageModule”
;GenerateMaptiles = true

徐々にメモリー使用量が増加している。
http://xpyoda.blogspot.jp/2012/10/blog-post.html
http://kimikodover.blogspot.jp/2012/05/osgrid_12.html
にありますように、Warp3D Map module関連がリークしているようです。

さくらのVPS ISOイメージインストール Windows 7 インストール

さくらのVPS は、8月から、 ISOイメージでもOSをインストールできるので、
Windows 7 ultimate 64bitをインストールしました。
WEBキャプチャーサーバとして、自宅サーバ(windows 7)を立てていたのですが、これで、自宅サーバもクローズできます。
BULK SERVER専用サーバも解約したので、だいぶコストダウンになりました。

現状の公開サービスメモ:

・WEBサーバ
・ダウンロードサーバ
・アイスバーブログパーツサーバ
・Opensim simulator (OSGRID) 4SIM(aska,aska I,aska II,aska III)
・とある検索サイト

・WEBキャプチャーサーバ
(ブログパーツサーバとのみハンドリング)

以前は、専用サーバ5,800円、自宅サーバ電気代200円で計6,000円/月
でしたが、2台で1,800円/月になりました。

vpsでの仮想サーバですが、アイスバーブログパーツサーバとWEBキャプチャーサーバのハンドリングパフォーマンスは、約6倍速(30秒かかってたのが5秒ぐらいになった^^。)
アイスバーブログパーツサーバ

OSgridに接続している、Opensim simulatorは、隣接SIMの移動は、前の専用サーバよりも体感的にスムーズになりました。
ただし、monoのCPU使用率が常時20~30%食ってます。専用サーバだと1%しか食ってなかったのに。
OSgrid / Aska /

*さくらのネットワークは、物理サーバを1Gbpsの超高速回線で接続、仮想サーバ側も100Mbps共有の高速回線なので、これが一番速度UPに効いているようです。
特にWEBキャプチャーサーバは、WEBページにアクセスして画像化するので。