トレインシステム

トレインシステム

- 削除済みユーザ の投稿
返信数: 20

TUISで紹介されていたPlane and Train System (http://www.nsl.tuis.ac.jp/xoops/modules/d3downloads/index.php?page=singlefile&cid=8&lid=23)の特に鉄道がなかなかすぐれもののようなので試したいと思い5×5のメガリージョンをつくってページ下のoarをロードしてみたんですが

Plane and Train System OAR in Mega Region 

うまく読み込まれずにこんなエラーがでました。

Region (root) # load oar /tmp/plane_mega_region.oar
12:13:19 - [ARCHIVER]: Loading archive to region 1 from /tmp/plane_mega_region.oar
12:13:19 - [ARCHIVER]: Aborting load with error in archive file NONE System.IO.IOException: Corrupted data ReadInternal
at System.IO.Compression.DeflateStreamNative.CheckResult (Int32 result, System.String where) [0x00000] in <filename unknown>:0
at System.IO.Compression.DeflateStreamNative.ReadZStream (IntPtr buffer, Int32 length) [0x00000] in <filename unknown>:0
at System.IO.Compression.DeflateStream.ReadInternal (System.Byte[] array, Int32 offset, Int32 count) [0x00000] in <filename unknown>:0
at System.IO.Compression.DeflateStream.Read (System.Byte[] dest, Int32 dest_offset, Int32 count) [0x00000] in <filename unknown>:0
at System.IO.Compression.GZipStream.Read (System.Byte[] dest, Int32 dest_offset, Int32 count) [0x00000] in <filename unknown>:0
at System.IO.BinaryReader.ReadBytes (Int32 count) [0x00000] in <filename unknown>:0
at OpenSim.Framework.Serialization.TarArchiveReader.ReadHeader () [0x00000] in <filename unknown>:0
at OpenSim.Framework.Serialization.TarArchiveReader.ReadEntry (System.String& filePath, OpenSim.Framework.Serialization.TarEntryType& entryType) [0x00000] in <filename unknown>:0
at OpenSim.Region.CoreModules.World.Archiver.ArchiveReadRequest.FindAndLoadControlFile (OpenSim.Framework.Serialization.TarArchiveReader& archive, OpenSim.Region.CoreModules.World.Archiver.DearchiveScenesInfo& dearchivedScenes) [0x00000] in <filename unknown>:0
at OpenSim.Region.CoreModules.World.Archiver.ArchiveReadRequest.DearchiveRegion () [0x00000] in <filename unknown>:0

12:13:19 - [RegionReady]: Oar file load errors: System.IO.IOException: Corrupted data ReadInternal
at System.IO.Compression.DeflateStreamNative.CheckResult (Int32 result, System.String where) [0x00000] in <filename unknown>:0
at System.IO.Compression.DeflateStreamNative.ReadZStream (IntPtr buffer, Int32 length) [0x00000] in <filename unknown>:0
at System.IO.Compression.DeflateStream.ReadInternal (System.Byte[] array, Int32 offset, Int32 count) [0x00000] in <filename unknown>:0
at System.IO.Compression.DeflateStream.Read (System.Byte[] dest, Int32 dest_offset, Int32 count) [0x00000] in <filename unknown>:0
at System.IO.Compression.GZipStream.Read (System.Byte[] dest, Int32 dest_offset, Int32 count) [0x00000] in <filename unknown>:0
at System.IO.BinaryReader.ReadBytes (Int32 count) [0x00000] in <filename unknown>:0
at OpenSim.Framework.Serialization.TarArchiveReader.ReadHeader () [0x00000] in <filename unknown>:0
at OpenSim.Framework.Serialization.TarArchiveReader.ReadEntry (System.String& filePath, OpenSim.Framework.Serialization.TarEntryType& entryType) [0x00000] in <filename unknown>:0
at OpenSim.Region.CoreModules.World.Archiver.ArchiveReadRequest.FindAndLoadControlFile (OpenSim.Framework.Serialization.TarArchiveReader& archive, OpenSim.Region.CoreModules.World.Archiver.DearchiveScenesInfo& dearchivedScenes) [0x00000] in <filename unknown>:0
at OpenSim.Region.CoreModules.World.Archiver.ArchiveReadRequest.DearchiveRegion () [0x00000] in <filename unknown>:0

上のほう赤文字でat OpenSim.Framework.Serialization.とかあるのでmonoがらみのエラーかなという気がします。そもそもapt-get install mono-completeで安直にインストールしてるし^^;

うまくこのシステムをとりこめた方はいらっしゃるんでしょうか?

 

削除済みユーザ への返信

Re: トレインシステム

- teddy Dragoone の投稿
そのOAR読み込んだことあります。
たしか1024x1024サイズだったはず。
それと、読み込みする際のファイルの拡張子が間違って打ち込まれているような。。。
teddy Dragoone への返信

Re: トレインシステム

- Iseki Fumikazu の投稿

>> Aborting load with error in archive file NONE System.IO.IOException

ファイルの読み込みに失敗しているような気がします.
パスを間違ているか,読み込みのパーミッション(許可)がないように思えます.

それからメガリージョンは opensim-dev のメーリングリストで開発中止(コード削除)の話も出ていますので,この際 Varegion で動かしてみてはどうでしょう?
もの自体は SOLリージョン(8008,8000)の北東方面においてあります.
コピーのパーミッションがどうなっていたか覚えていませんが,今夜あたり見直しておきます.

なお,その辺りにある駅舎や橋や汽車は Matangdilis氏のページから頂いたものです.
http://matangdilis.blogspot.jp/2010/09/prim-train-cars.html 前後

汽車(および線路)のスクリプトは私が書いたもので差し替えていますが,たしか作成当時は listen()でのメッセージの受信に取りこぼしが多く,今からみるとかなり変則的なことをやっていたようなきがします.
スクリプトだけ抜き出してどこかに UPしても良いです.

Game や SOL の車とか飛行機とかのスクリプトも直したいのですが,なにせ現在デスマーチ状態で,(^^;;;;;
あまり大きな声では言えませんが,ドキュメントプロジェクトの原稿が.....  職場で「書く書く」と大見得切った原稿が..... (;_;


Iseki Fumikazu への返信

Re: トレインシステム

- 削除済みユーザ の投稿

コメントありがとうございます^^

$ ls -l /tmp
合計 479900
-rw-rw-r-- 1 motoko motoko 309221359 12月 6 2014 OTARU-Summer.oar
-rw-rw-r-- 1 motoko motoko 45750048 8月 15 10:59 OTARU2-Summer.oar
-rw-rw-r-- 1 motoko motoko 29470725 12月 14 2014 opensim-0.8.0.3.tar.gz
-rw-rw-r-- 1 motoko motoko 34314396 9月 5 14:50 opensim-0.8.1.1.tar.gz
-rw-rw-r-- 1 motoko motoko 72135680 9月 29 20:52 plane_mega_region.oar

OTARU-Summer.oarはちゃんと読み込めてるのでパスもパーミッションも問題ないはずなんですけど^^;

Varregionは近々試してみるつもりでおります^^

SOL動画で見たのと同じものがありました。飛行機は乗り込んで飛(?)ばせましたけど列車のほうは残念ながら動きませんでした。パーミッションもno copy, no mod, no transになってるようです。

お暇なときでいいですから中をのぞけるようにしていただけると嬉しいです^^

 

 

削除済みユーザ への返信

Re: トレインシステム

- Iseki Fumikazu の投稿

bin ディレクトリ直下に置いて,パスなしで読んでみてはどうでしょう?

 

汽車の場所はSOLの北東方向ではなく,北西方向でした.すみません.

一応 物は駅舎の前(裏?)の空き地に置いておきました(青い汽車とレール2種)
オブジェクトのコピーだとパーミッションがうまく反映されなかったので,販売にしてあります(J$0).
右クリックで Buy を選択してください.

念のため,スクリプトを添付しておきます.便宜上 .txt の拡張子が付いていますが使用する場合は .txt をとって使用してください.特にノートカードは必ず取ってください.

スクリプトの説明

  • Driver  外部からのメッセージ(コマンド)を受け付けて,エンジンをうごかします
    • /846 start    ... スタート
    • /846 stop    ... ストップ
  • Steam Engine メインエンジンです.線路上の四角いビーコンが出すメッセージを追いかけて移動します.
  • Beacon 線路上の四角のオブジェクトの中.汽車を誘導するメッセージを周りに送信します.設定はconffile です.汽車を一定時間止めたりすることもできます.緑色の場合はメッセージを送信しています.赤色の場合は送信を停止しています.クリックで送信,停止が切り替わります.
  • conffile Beacon の設定ファイル.詳細は...ほぼ忘れています.
  • point 完全に忘れている.線路上の丸いオブジェクトの中.たぶんポイント切り替え用スクリプトだと思う....
  • point_cont point用設定ファイル.

 

SOLでスクリプトが動かないのは,初期化の問題のようです(恐らく).OpenSim ではリージョンが再起動したときに,初期化するコードを入れておかないとスクリプトはうまく初期化されません.
これはここ1,2年で気付いたことで,今回のスクリプトには入っていません.

SOLの線路上の四角いオブジェクト(Beacon)と丸いオブジェクト(point)をすべてクリックして緑色にすれば,汽車は動くようです.(^^;
SOLは JOG users グループの人は物を置けるようにしますので,色々ためしてみてください.

ちなみに安全を考慮して Game リージョンも物を置いたりできるのは JOG usersグループとしますね.

Iseki Fumikazu への返信

Re: トレインシステム

- 削除済みユーザ の投稿

お世話になります^^

bin直下でもやっぱり同じエラーになるみたいです。長いし繰り返しですけど一応吐き出しをコピペしておきます^^;

Region (root) # load oar plane_mega_region.oar
13:05:27 - [ARCHIVER]: Loading archive to region 1 from plane_mega_region.oar
13:05:27 - [ARCHIVER]: Aborting load with error in archive file NONE System.IO.IOException: Corrupted data ReadInternal
at System.IO.Compression.DeflateStreamNative.CheckResult (Int32 result, System.String where) [0x00000] in <filename unknown>:0
at System.IO.Compression.DeflateStreamNative.ReadZStream (IntPtr buffer, Int32 length) [0x00000] in <filename unknown>:0
at System.IO.Compression.DeflateStream.ReadInternal (System.Byte[] array, Int32 offset, Int32 count) [0x00000] in <filename unknown>:0
at System.IO.Compression.DeflateStream.Read (System.Byte[] dest, Int32 dest_offset, Int32 count) [0x00000] in <filename unknown>:0
at System.IO.Compression.GZipStream.Read (System.Byte[] dest, Int32 dest_offset, Int32 count) [0x00000] in <filename unknown>:0
at System.IO.BinaryReader.ReadBytes (Int32 count) [0x00000] in <filename unknown>:0
at OpenSim.Framework.Serialization.TarArchiveReader.ReadHeader () [0x00000] in <filename unknown>:0
at OpenSim.Framework.Serialization.TarArchiveReader.ReadEntry (System.String& filePath, OpenSim.Framework.Serialization.TarEntryType& entryType) [0x00000] in <filename unknown>:0
at OpenSim.Region.CoreModules.World.Archiver.ArchiveReadRequest.FindAndLoadControlFile (OpenSim.Framework.Serialization.TarArchiveReader& archive, OpenSim.Region.CoreModules.World.Archiver.DearchiveScenesInfo& dearchivedScenes) [0x00000] in <filename unknown>:0
at OpenSim.Region.CoreModules.World.Archiver.ArchiveReadRequest.DearchiveRegion () [0x00000] in <filename unknown>:0

13:05:27 - [RegionReady]: Oar file load errors: System.IO.IOException: Corrupted data ReadInternal
at System.IO.Compression.DeflateStreamNative.CheckResult (Int32 result, System.String where) [0x00000] in <filename unknown>:0
at System.IO.Compression.DeflateStreamNative.ReadZStream (IntPtr buffer, Int32 length) [0x00000] in <filename unknown>:0
at System.IO.Compression.DeflateStream.ReadInternal (System.Byte[] array, Int32 offset, Int32 count) [0x00000] in <filename unknown>:0
at System.IO.Compression.DeflateStream.Read (System.Byte[] dest, Int32 dest_offset, Int32 count) [0x00000] in <filename unknown>:0
at System.IO.Compression.GZipStream.Read (System.Byte[] dest, Int32 dest_offset, Int32 count) [0x00000] in <filename unknown>:0
at System.IO.BinaryReader.ReadBytes (Int32 count) [0x00000] in <filename unknown>:0
at OpenSim.Framework.Serialization.TarArchiveReader.ReadHeader () [0x00000] in <filename unknown>:0
at OpenSim.Framework.Serialization.TarArchiveReader.ReadEntry (System.String& filePath, OpenSim.Framework.Serialization.TarEntryType& entryType) [0x00000] in <filename unknown>:0
at OpenSim.Region.CoreModules.World.Archiver.ArchiveReadRequest.FindAndLoadControlFile (OpenSim.Framework.Serialization.TarArchiveReader& archive, OpenSim.Region.CoreModules.World.Archiver.DearchiveScenesInfo& dearchivedScenes) [0x00000] in <filename unknown>:0
at OpenSim.Region.CoreModules.World.Archiver.ArchiveReadRequest.DearchiveRegion () [0x00000] in <filename unknown>:0

で現物のほうをSOLでゲットしました^^

線路をならべてビーコンとポイントを緑にしたらちゃんと動きました^^

とりあえずtakoyakiで海原電鉄にでも試してみたいと思います。ありがとうございました^^

 

削除済みユーザ への返信

Re: トレインシステム

- Iseki Fumikazu の投稿

もしかすると OARのバージョンが古いせいかもしれません(今はだいたい0.8)

SOLでも頑張って,ビーコンをオンにしたので一応動いています.

ちなみに,青い汽車の頭の写真は私の息子(の赤ちゃんの頃)です.(^^;;;;;;

teddy Dragoone への返信

Re: トレインシステム

- teddy Dragoone の投稿
ぼくが設置したことのあるOARファイルと同じ名前でしたが別物みたいです。
ぼくの拾ってきたファイルは拡張子がtarで、ファイルサイズも9MBほどのものでした。
というわけでwぼくも5x5で試しにやってみよw
teddy Dragoone への返信

Re: トレインシステム

- Iseki Fumikazu の投稿

OARファイルは中身は tar + gzip ですね.

よく Unix系では .tar.gz , Windows では .tgz などの拡張子が使用されますが,中身のフォーマットは同じです.

tar だけの場合は,ダウンロードの途中でダウンローダが勝手に gzip を解凍してしまったのではないでしょうか?

 

後,書き忘れましたが,汽車と線路のスクリプトは ODE用に書いたので,Bullet で動くかどうかはわかりません.

 

teddy Dragoone への返信

Re: トレインシステム

- teddy Dragoone の投稿
http://www.outworldz.com/cgi/freesculpts.plx

このサイトにも同じものかどうかわかりませんが、Plane mega region OAR.ZIPというものがあります。


http://9.gigafile.nu/fad94360009b9f2e9d8ecfe2243e48637-1009

GigaFile便に、以前ぼくが設置したときのファイルをアップロードしましたので、一度試してみてください。
plane_mega_region.tar
teddy Dragoone への返信

Re: トレインシステム

- 削除済みユーザ の投稿

探してくださってありがとう^^

でもどちらもやっぱりだめみたい^^;

上のはいままでとまったく同じで,下のはさらにコピペできないほど大量の赤いエラーでリージョンサーバーがクラッシュします^^; 

ま 現物はすでにtakoyakiで走ってておかげさまで目的は達成できましたのでご心配なく^^

削除済みユーザ への返信

Re: トレインシステム

- Yan Lauria の投稿

便乗質問なのですが、Sanctuaryにある”The Spirit of Arcadia”の14シム("TSoA 1" ~ "TSoA 16" )を周回するモノレールや鉄道の導入を試みて、どちらもうまくいっていないそうです。いずれも通常シムです。

何かお奨めの事例はあるでしょうか?

Yan Lauria への返信

Re: トレインシステム

- Iseki Fumikazu の投稿

物理エンジンが Bulletだと,推力かけて押すとガクガク動くんですよね.

汽車の場合はかえって雰囲気が出るんですが....

その SIMは何が問題になっているのでしょう?

 

 

Iseki Fumikazu への返信

Re: トレインシステム

- Yan Lauria の投稿

質問するための専門的知識が足らないもので。そのGridの物理エンジンの種類が何かを聞けばいいのでしょうか?

Friends of Arcadia AsylumというGoogle+コミュニティ

https://plus.google.com/communities/107054311789701522516

で、The Spirit of Arcadiaの制作の中心となっているBrian Landarが

sadly we are not able  (after repeated tries) to get the monorail working properly. the sl scripts  just are not compatible.
I will be removing the monorail (but saving the parts) and we will attempt this again at some later point in time.
This also means that our attempts to get alley's trains running has also failed (for now).
These two projects are now on the back burner until a later date.
と言っています。場所はsanctuary.homelinux.org:8012:TSoA 1 です。
 
Yan Lauria への返信

Re: トレインシステム

- Iseki Fumikazu の投稿

何が 「問題」 なのか知りたかったのです.

例えば,
全く動かないのか,スムーズに動かないのか,スピードが出ないのか,スピードが出すぎるのか,SIMの境界を越えられないのか,コントロールができないのか 等です.

物理エンジンは 多分Bullet でしょう.

 

Iseki Fumikazu への返信

Re: トレインシステム

- Yan Lauria の投稿

さっそく聞いてみました。返事が来たらお知らせします。

Yan Lauria への返信

Re: トレインシステム

- Yan Lauria の投稿

返事が来ました。どうでしょう?

---------------------------------------------------

+Nishimura Hajime well, First the physics engines are way different SL switched ( I believe) to the havoc engine.

the biggest problem we have is sim boarder crossings, riders get ejected.

In SL Dr.Waxen can make these scripts work with ease but our attempts on sanctuary have not been successful so we decided to set this project aside for the time being.

we are still looking for older scripts that might work for sanctuary. but finding those in SL now that they are out of date will not be easy.

 

Yan Lauria への返信

Re: トレインシステム

- Iseki Fumikazu の投稿

SIM越えで操縦者がエジェクト(排出)されるということですね.

SIMを越える時,スクリプトを侵入先のSIMに転送しないといけないので,乗り物が固まるのは聞いたことがありますが,操縦者がエジェクト(排出)されるというのは初めて聞きました.

よくあることなんだろうか?

OpenSim.ini に AllowScriptCrossing というパラメータがあって,これが falseだとSIM越えはできないようですが,通常はデフォルトで true です.

後,TrustBinaries という怪しげなパラメータもあって,こちらはデフォルトで false なので,true にしてみるとか.
スクリプトのバイナリコードを相手のSIMに直接送ることができるようです.(でも転送時間の短縮効果だけかな?)

TrustBinaries:
Allow compiled script binary code to cross region boundaries.
If you set this to "true", any region that can teleport to you can inject ARBITRARY BINARY CODE into your system.
Use at your own risk.
YOU HAVE BEEN WARNED!!!

今度 JOG でも実験してみましょう.

Iseki Fumikazu への返信

Re: トレインシステム

- Iseki Fumikazu の投稿

あー.でも近々 0.8.2 がリリースされそうなので,それからの方が良いかな?

Iseki Fumikazu への返信

Re: トレインシステム

- Yan Lauria の投稿

ありがとうございます。以下の返答を入れておきました。こういう英語でいいのか自信ないのですが。

My collaborator, Fumi Iseki said;
- Phisycs engin of OpenSim may be Bullet http://bulletphysics.org/wordpress/
- He didn't hear riders ejection at sim boarder crossings until now.
- Can you inquire to Grid master that both "AllowScriptCrossing" and "TrustBinaries" are true in OpenSim.ini?
- He'll do test after the upcoming release of opensim-0.8.2.