flagflag  If you want to see English page, please click "English" Button at Left.
  • カテゴリ セカンドライフ の最新配信
  • RSS
  • RDF
  • ATOM

ブログ - セカンドライフカテゴリのエントリ

Sorry bad English.

This problem is http://www.nsl.tuis.ac.jp/xoops/modules/d3forum/index.php?topic_id=110

Protocol of this Message is MoneyBalanceReply (UDP, Low 314)
See also http://wiki.secondlife.com/wiki/MoneyBalanceReply
But, recently, this protocol was extended. TransactionInfo block was added.

At Second Life, example, this udp packet is

40 00 00 01 df 00 ff ff 01 3a 31 58 ca 38 cd 95 @ . . . . . . . . : 1 X . 8 . .
4a 23 9e 22 b5 5f 7c f8 a6 66 2b 73 c8 9f 3c 9c J # . " . _ | . . f + s . . < .
de 37 03 36 5f af c1 e1 a7 4a 01 fe f5 01 00 00 . 7 . 6 _ . . . . J . . . . . .
22 00 00 c0 1f 00 00 21 59 6f 75 20 70 61 69 64 " . . . . . . ! Y o u p a i d
20 46 75 6d 69 6b 61 20 43 61 6e 6e 69 6e 67 20 F u m i k a C a n n i n g
4c 24 31 32 33 34 35 2e 00 89 13 00 00 31 58 ca L $ 1 2 3 4 5 . . . . . . 1 X .
38 cd 95 4a 23 9e 22 b5 5f 7c f8 a6 66 00 f5 d6 8 . . J # . " . _ | . . f . . .
f0 17 60 b7 46 89 96 24 67 1f 09 81 9e 80 00 39 . . ` . F . . $ g . . . . . . 9
30 00 00 10 42 42 42 42 42 42 42 42 42 42 42 42 0 . . . B B B B B B B B B B B B
42 42 42 00 B B B .

Namely

40 00 00 01 df 00 ff ff 01 3a Header
31 58 ca 38 cd 95 4a 23 9e 22 b5 5f 7c f8 a6 66 AgentID
2b 73 c8 9f 3c 9c de 37 03 36 5f af c1 e1 a7 4a TransactionID
01 TransactionSuccess
fe f5 01 00 MoneyBalance
00 22 00 00 SquareMetersCredit
c0 1f 00 00 SquareMetersCommitted
21 Length of Description
59 6f 75 20 70 61 69 64 20 46 75 6d 69 6b 61 20 Description
43 61 6e 6e 69 6e 67 20 4c 24 31 32 33 34 35 2e
00

89 13 00 00 TransactionInfo: TransactionType
31 58 ca 38 cd 95 4a 23 9e 22 b5 5f 7c f8 a6 66 TransactionInfo: SourceID
00 TransactionInfo: IsSourceGroup
f5 d6 f0 17 60 b7 46 89 96 24 67 1f 09 81 9e 80 TransactionInfo: DestID
00 TransactionInfo: IsDestGroup
39 30 00 00 TransactionInfo: Amount
10 TransactionInfo: Length of ItemDescription
42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 00 TransactionInfo: ItemDescription

However, At OpenSim, this packet is

c0 00 00 06 1b 00 ff ff 01 3a 75 1c 15 31 03 b5 . . . . . . . . . : u . . 1 . .
48 a9 8f 2d 51 a0 52 7b e7 ca 07 44 fa 48 3c 02 H . . - Q . R { . . . D . H < .
48 aa b4 14 49 9f 7f 87 94 ba 01 da 14 01 00 09 H . . . I . . . . . . . . . . .
21 53 65 6e 74 20 47 69 66 74 20 4c 24 31 30 20 ! S e n t G i f t L $ 1 0
74 6f 20 61 6c 69 63 65 20 49 6e 66 6f 73 79 73 t o a l i c e I n f o s y s
2e 00 2b 05 4e 4f 4e 45 00 01 . . + . N O N E . .

This is Zerocoded packet. Namely

c0 00 00 06 1b 00 ff ff 01 3a Header
75 1c 15 31 03 b5 48 a9 8f 2d 51 a0 52 7b e7 ca AgentID
07 44 fa 48 3c 02 48 aa b4 14 49 9f 7f 87 94 ba TransactionID
01 TransactionSuccess
da 14 01 00 MoneyBalance
00 00 00 00 SquareMetersCredit
00 00 00 00 SquareMetersCommitted
21 Length of Description
53 65 6e 74 20 47 69 66 74 20 4c 24 31 30 20 74 Description
6f 20 61 6c 69 63 65 20 49 6e 66 6f 73 79 73 2e
00

00 00 00 00 TransactionInfo: TransactionType
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 TransactionInfo: SourceID
00 TransactionInfo: IsSourceGroup
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 TransactionInfo: DestID
00 TransactionInfo: IsDestGroup
00 00 00 00 TransactionInfo: Amount
05 TransactionInfo: Length of ItemDescription
4e 4f 4e 45 00 TransactionInfo: ItemDescription

So, at OpenSim, TransactionInfo: SourceID and DestID are NULL.

On the other hand, source code of Viewer 3 (llviewermessage.cpp) is

static void process_money_balance_reply_extended(LLMessageSystem* msg)
{
.................
.................
msg->getS32("TransactionInfo", "TransactionType", transaction_type);
msg->getUUID("TransactionInfo", "SourceID", source_id);
msg->getBOOL("TransactionInfo", "IsSourceGroup", is_source_group);
msg->getUUID("TransactionInfo", "DestID", dest_id);
msg->getBOOL("TransactionInfo", "IsDestGroup", is_dest_group);
msg->getS32("TransactionInfo", "Amount", amount);
msg->getString("TransactionInfo", "ItemDescription", item_description);
msg->getBOOL("MoneyData", "TransactionSuccess", success);
LL_INFOS("Money") << "MoneyBalanceReply source " << source_id
<< " dest " << dest_id
<< " type " << transaction_type
<< " item " << item_description << LL_ENDL;

if (source_id.isNull() && dest_id.isNull())
{
// this is a pure balance update, no notification required
return; // <- Return Here!!!!
}
.................

As a result, at OpenSim, notification dialog is not displayed.

SLKinect

カテゴリ : 
開発日誌 » セカンドライフ
執筆 : 
iseki 2011-11-4 18:46
SLKinect リリースしました.

本当は年内の予定だったんだけど,あんまりゆっくりやっていると,世間から忘れ去られそうで.
激務で死にそう....
明日は子供と動物園だ.休みたい...

次は OpenSim の物理エンジンですか....
まだまだ続く,デスマーチ....

あれ~.改行はどうやるんだっけ? そうか,Auto break か.

SnowGlobe v1.3 + SocksCap + Socks5

カテゴリ : 
開発日誌 » セカンドライフ
執筆 : 
iseki 2010-6-24 19:00
フリーの SL Viewerである SnowGlobe には Socks5 の設定画面がある.ただし,v1.3 はまだ完全ではないようだ.
接続時のエラーメッセージから察するに,どうも最初のHTTPS接続で失敗しているようだ.実際にログイン時のTCP接続を調べると,確かにSocksサーバを経由していない.

一方,(配布元ページはなくなっているが) SocksCap という, MS Windows ソフトをラップしてSocks対応にしてしまうプログラムがある.
こちらを試すと,今度はUDP転送に失敗した時の特徴のあるエラーメッセージをだす.

それならば,ということで,SnowGlobe をSocksCap でラップして,しかも ネットワーク設定で Socksサーバ経由を指定したらどうなるかやってみたら.....あらあら. FWを超えて繋がっちゃたよ.... まいったな sl_proxy いらないじゃん.

どうしよう. でもでも,sl_proxy なら Socksサーバ,SocksCap 2つもいらない.Macでも動く.設定も簡単だよ~.速度も sl_proxyの方が早い気がする!! プロトコル解析もできちゃうよ!!

Linden Lab はやる気なし

カテゴリ : 
開発日誌 » セカンドライフ
執筆 : 
iseki 2009-12-26 19:07
先日の授業で,学生に Second Life のアバタを登録させたら,登録数の制限に引っかかってアバタの新規登録ができなかった.
大学では学外の WEBサイトを見る場合 Proxy Server を使用していて,登録側からみると同一IPから複数のアバタを登録しているように見えるためだ.
一般家庭などとは違い大学の教育で使いたいと思っているので,大学の固定IPの範囲について制限を解除できないか Linden Lab に問い合わせた所.
「学生には自宅で登録させてください」 とのこと.
ふつう学生は顧客獲得の狙い目なのに,まるっきりやる気なしですね.

sl_proxy-1.7.0 リリース

カテゴリ : 
開発日誌 » セカンドライフ
執筆 : 
iseki 2009-3-4 15:25
一応 sl_proxy の 1.7.0 をリリースしました.

結局 Berkeley DBのロックではお茶を濁しましたが(若干sl_cacheのパフォーマンスが落ちる),Berkeley DB自体がそんなに早くないので,いいかな

次の仕事のスタックが溢れそうだし.....
バグがでないといいなー(儚い望みであることは重々承知)

(Re) Berkeley DB

カテゴリ : 
開発日誌 » セカンドライフ
執筆 : 
iseki 2009-2-28 22:09
Berkeley DB のロック機能って,スレッドが対象....? 使えない.....

Berkeley DB

カテゴリ : 
開発日誌 » セカンドライフ
執筆 : 
iseki 2009-2-28 1:31
sl_proxy v1.7.0 に向けて,キャッシュのExpire機能の追加を行うことにする.

でもこの機能を入れるには,ファイルの Lockを行わないといけないのだが,Berkeley DBでつまづく.
sl_proxy は Berkeley DB対応と言っても,実際のところは Ndbm形式の互換モードみたいなやつでちょこちょこ書いてあるだけなので,ファイル(DB)のロックを行うには,最初から勉強しなおす必要がある.

で,Internet上でサンプルコードを探したんだけど,これが見つからない!!! APIはたくさんあったのだが,頭が良くないので,ソースコードがないとチンプンカンプンである.

やっと一日かかってOracleのページでサンプルコード付の Getting Start のドキュメントを見つけたのだが,なんでこんなにかかったかと言うと,このページが FireFox で見えないのある.IEなら見えるのに!! 私の FireFoxだけ?

http://www.oracle.com/technology/documentation/berkeley-db/db/index.html

追伸:
 IBMのブレードサーバの納品が遅れに遅れている.このままでは春休みが終わってしまうんじゃないか?

SLVoiceのプロキシ (再)

カテゴリ : 
開発日誌 » セカンドライフ
執筆 : 
iseki 2009-2-25 2:25
今度こそできた....と思う.

説明文書く方が面倒なような気がしないでもない.
眠い..... 顔記号はどこだ?  Zzzzzzz  

おっと.つっ次の仕事は...また画像処理か.......sl_cacheの Expireもまだだった..... Zzzzzzzzzzzzzzzzzzzzzzzzzzzz

あらあらあら

カテゴリ : 
開発日誌 » セカンドライフ
執筆 : 
iseki 2009-2-17 19:23
SLVoiceの中継ができたと思ったら,ローカルチャットしかできん!!

まだまだ道は遠そう.

SLVoiceのプロキシだぜ!!

カテゴリ : 
開発日誌 » セカンドライフ
執筆 : 
iseki 2009-2-16 23:37
でへでへ
ついに SLVoiceのProxyに成功!!!
ここ2週間くらい,かみさんに怒られつつ,平均睡眠時間4時間で頑張った甲斐がありました.

プログラムはまだなぶり書きで,処理が決め打ちだったり,グローバル変数が山のようにあったりしてるので,これから書き直ししないといけないけど,次期 sl_proxyは slvoiceの Proxy機能(β版)付です.
でも書き直ししている最中に動かなくなることも結構あるんだよね.しかし,subversion があるので結構心強い.

サイト内 検索

ログイン

ユーザー名:

パスワード:


パスワード紛失
新規登録

カテゴリ一覧

サブ メニュー

ミニカレンダー

前月2024年 5月翌月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
<今日>

オンライン状況

32 人のユーザが現在オンラインです。 (1 人のユーザが ブログ を参照しています。)

登録ユーザ: 0
ゲスト: 32

もっと...

アクセスカウンタ

今日 : 543543543
昨日 : 3775377537753775
総計 : 2369682823696828236968282369682823696828236968282369682823696828
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com