0.8.3Dev へバージョンアップにしたのですが,どうもバグが沢山あるようです.
一番,影響のあるものは 0.8.2.0 未満のサーバが Robustサーバに接続できない(らしい)ということです.
自前のサーバを使用している人は 0.8.2.0 のバイナリを用意しましたので,こちらを使用してみてください. bin/Regions/Regions.ini と bin/*.db ファイルコピーするだけで動くはずです.
バージョンアップ作業、ご苦労様です。
私のところの自前リージョン、「Land of Darwin, New Galapagos, Darwins_NAT_SIM, Darwins_Test_2」が、次のようなエラーがコンソールに表示されていて、現時点で接続できていません。
> 10:35:41 - [GRID CONNECTOR]: Registration failed: when contacting http://jogrid.net:8003/grid
土曜日あたりには、接続できていたように思います。
試しに、「http://jogrid.net:8003/grid」をFirefoxブラウザのURLに直接入力してみたら、
Ooops!
The page you requested has been obsconded with by knomes. Find hippos quick!
....
と表示されて、正常に接続してるように見えます。
関係ないかもしれませんけど、私のところは、NTT光ネクストプレミアムでMTUは1438バイトです。
光プレミアム等のMTUは1454バイトのようです。
MTU(PMTU)ブラックホール問題というのが、昔問題になったことがありました。これは、以下のような問題です。
- PMTUDブラックホール問題 [www.fiberbit.net]
- MTUブラックホール [www.balard.sakura.ne.jp]
- Path MTU Discovery とは [www.infraexpert.com]
UNIXだと、起動時・実行時のifconfigのパラメータで、MTUを調整できます。まあ、関係ないとは思いますけど...。
余計なこと言って、お仕事の負担にならなければいいのですが...。
私が書いた記事に間違いがありました(スミマセン)。
間違い
> 関係ないかもしれませんけど、私のところは、NTT光ネクストプレミアムでMTUは1438バイトです。
> 光プレミアム等のMTUは1454バイトのようです。
正解
> 関係ないかもしれませんけど、私のところは、NTT光プレミアムでMTUは1438バイトです。
> NTT光ネクスト等のMTUは1454バイトのようです。
申し訳ありません。訂正いたします。
あと、試しに、光プレミアム(MTUは1438バイト)回線にあるJOGridのリージョンのファイル一式を、NTT光ネクスト(MTUは1454バイト)の回線のサーバーに移して、起動してみましたけど、やはり、
12:40:44 - [GRID CONNECTOR]: Registration failed: when contacting http://jogrid.net:8003/grid
というエラーがでてしまいました。2つの光回線ではプロバイダも異なります。
というわけで、MTUは関係なさそうです。
お騒がせいたしました。
お忙しい中、すみません。
> サーバソフト OpenSim.exe を再起動して見てください
> (文章からすると再起動は実行済みのようですが).
はい、再起動してます。毎回、
[GRID CONNECTOR]: Registration failed: when contacting http://jogrid.net:8003/grid
というエラーが記録されます。
> それから OpenSim のバージョンを教えてください.
OpenSimは、OSGridの物と同じものを使う為、「http://www.osgrid.org/index.php/downloads」から取得したソースコードをコンパイルして使用しています。
OpenSimのバージョンは、起動時のログによると
- [SERVER BASE]: OpenSimulator version: OpenSim 0.8.2.0 Dev 1dae36f: 2015-08-23 FreeBSD 8.x
です。後ろの「1dae36f: 2015-08-23 FreeBSD 8.x」の部分は、bin/.versionに自分で書いてます。これは、2015-08-23付けでハッシュの頭が1dae36fであるOSGridにて公開されたバージョンを使用していることを示します。
OpenSim.exeのインスタンスは、2つ起動しています。
----- OpenSim A -----
OpenSim.ini
[Network]
http_listener_port = 9020
Regions/Regions.ini
[Land of Darwin]
Location = "8005,7977"
InternalPort = 9020
ExternalHostName = "mygrid.no-ip.org"
[New Galapagos]
Location = "8005,7978"
InternalPort = 9021
ExternalHostName = "mygrid.no-ip.org"
----- OpenSim B -----
OpenSim.ini
[Network]
http_listener_port = 9010
Regions/Regions.ini
[Darwins_NAT_SIM]
Location = "8006,7977"
InternalPort = 9000
ExternalHostName = "xpyoda.no-ip.info"
[Darwins_Test_2]
Location = "8006,7978"
InternalPort = 9001
ExternalHostName = "xpyoda.no-ip.info"
----------
OpenSim AもOpenSim Bも、ExternalHostName は違いますが、同一IPアドレスです。
OpenSim B の[Darwins_NAT_SIM]リージョンは、名前にNATってありますが、
いまは、NAT対応のバイナリーは使用していません。
名前変えようと思ってて、そのままになっているだけです。
あと、monoのバージョンは次のとおりです。
% mono --version
Mono JIT compiler version 4.0.3 (Stable 4.0.3.20/d6946b4 Sun Aug 23 03:47:33 UTC 2015)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notification: kqueue
Architecture: x86
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: sgen
OpenSim Aを本日23:51:00 ごろから、再起動かけてみました。
そして、次のエラーが記録されました。
22:51:29 - [GRID CONNECTOR]: Registration failed: when contacting http://jogrid.net:8003/grid
その付近のタイムスタンプを見て頂くと、なにかわかるかもしれません。
私の方でも,OpenSim 0.8.2Dev r/26145 で接続できない現象を確認しました.
そちらの接続ログは次のようになっています.
2015-11-23 22:51:23,047 DEBUG (Threadpool worker) - OpenSim.Server.Handlers.MapImage.MapServerPostHandler [MAP ADD SERVER CONNECTOR]: Received map data for region at 8005-7977
2015-11-23 22:51:29,179 DEBUG (Threadpool worker) - OpenSim.Server.Handlers.MapImage.MapServerPostHandler [MAP ADD SERVER CONNECTOR]: Received map data for region at 8005-7978
2015-11-23 22:52:08,766 DEBUG (Threadpool worker) - OpenSim.Services.GridService.GridService [GRID SERVICE] GetRegionByPosition. Did not find region in database. Pos=<7996,7977>
2015-11-23 22:53:11,710 DEBUG (Threadpool worker) - OpenSim.Services.GridService.GridService [GRID SERVICE] GetRegionByPosition. Did not find region in database. Pos=<7996,7977>
私が接続を試した時も Pos=<7996,7977> のメッセージが多発します.
Robustサーバをいったん 0.8.3Dev に上げてから,0.8.2.0 に戻したので,その影響かもしれません.
お手数ですが,0.8.2.0 を入れてみてください.
JOG用のバイナリ(0.8.2.0)も チュートリアルの応用編に載せておきました.
bin/Regions/Regions.ini と bin/*.db をコピーすればそのまま動くはずです (MySQLを使用している場合は,そも設定が必要)
よろしくお願いします.
> JOG用のバイナリ(0.8.2.0)も チュートリアルの応用編に載せておきました.
これを入れようとしていますが、OpenSim.iniを自分用に修正しようとしてちょっと気になった点がありますのでコメントします。
私が、新しいOpenSimにアップデイトする場合、次の手順を守っています。
(1) 配布されている OpenSim.ini.exampleを(新)OpenSim.iniにコピーする。
(2) 以前のバージョンの(旧)OpenSim.iniに加えられた自分の変更を(新)OpenSim.iniに反映する。
これは古いバージョンのあるディレクトリで、
% diff OpenSim.ini.example OpenSim.ini
とすれば、自分がした変更部分が分かるので、これを(新)OpenSim.iniに反映する。
こういうやり方をすると、新しいバージョンに設定項目が増えてたり、削除されてたり、場所が移動してたりということを、もらさないで反映することができます(まあ、ポカミスは、しょっちゅうあるけどwww)。
また、JOGの0.8.2.0のOpenSim.ini.exampleをみると、ファイルの頭のほうに[Const]セクションが追加されています。これはいつのころからか、新しく増えた記法で、INIファイルに
[セクション]
項目名 = 設定値
という設定があった場合、この設定値を別のところで
${セクション名|項目名}
の形式で参照できる、というものです(ShellやMakefileの変数参照みたいな感じ)。
参照するセクション名は、どこのセクションでも良いみたいですが、
[Const]を新たに追加し、システム全体にかかわる定数値を OpenSim.ini で定義し、*.iniファイルのあちこちに、自分用の定義値ばら撒くことなく記述することができるようしているようです。バージョンアップにともなう変更箇所が減るので、私はこれを使うようにしてます。
config-include/GridCommon.ini なんかは、だいぶラクになるかもしれません。
あと、OSSL関数関係の設定は、config-include/osslEnable.ini に移動してたりします。
もうひとつ、OpenSim.iniには、
MaxPoolThreads = 30
とありますが、OpenSim.ini.exampleには、この項目はありません。
しかし、OpenSimDefaults.ini には、
MaxPoolThreads = 300
とあります。デフォルトの 300を 30に上書きしてることになると思いますが、OpenSim.iniで上書きする必要はあるのでしょうか?
以上、JOG用のバイナリ(0.8.2.0)をインストールしようとして、INIファイルを書くところで、ちょっと気になったので www。
では、引き続き、インストール作業を続けます。
そういえば,JOGの0.8.2 用はまだ Const を使っていませんでしたね.
>> あと、OSSL関数関係の設定は、config-include/osslEnable.ini に移動してたりします。
JOG 用の設定では,たしか osslEnable.ini は読み込んでいないです.
osslEnable.ini では 関数毎に実行者を指定できるのですが,細かすぎて JOG meets でエラーが多発して,一々ユーザに確認して設定するのが面倒なので使っていません.
機会があったらちゃんと確認する必要はあるかもしれません.
>> MaxPoolThreads = 300
この辺の効果が良く分からない(効果を確認していない)パラメータについては OSgrid の設定を参考にしています.
たぶん,あちらはマンパワーもありそうですので,この辺の効果は確認済みであることを期待して,パラメータをまねています.
もし,誰かJOGで実験でもして頂けると助かります (^^;
よろしくお願いします.
> >> MaxPoolThreads = 300
>
> この辺の効果が良く分からない(効果を確認していない)パラメータについては
> OSgrid の設定を参考にしています.
参考にしてる設定というのは、http://www.osgrid.org/index.php/downloads のexample ini files にある OpenSim.ini.txtのことでしょうか?
これ見る限りOSGridでは、
; Max threads to allocate on the FireAndForget thread pool
; when running with the SmartThreadPool option above
MaxPoolThreads = 300
MinPoolThreads = 32
となっています。
私は、opensimという一般ユーザーを作成し、その下にopensim/OSGrid/2015-08-23 というように、OSGridで公開された日付のディレクトリを作成し、そこに公開ファイル群をダウンロードしてます。その下でファイルを展開して、以前のバージョンの設定ファイル・ライブラリファイルを新しいバージョンに反映させて、アップデイトをしてます(こうしておくと、問題があった時に、元に戻すのが簡単)。
これらのフォルダからを検索してみたところ、上記の設定値は、いまのところ変化していないようです。
(こういうのは SubversionとかGitをうまく使った方が楽にできるんだろうなぁ..)。
% cd ~/opensim/OSGrid
% egrep '(Max|Min)Pool' 2015-0*/OpenSim.ini.txt
2015-05-09/OpenSim.ini.txt: MaxPoolThreads = 300
2015-05-09/OpenSim.ini.txt: MinPoolThreads = 32
2015-05-23/OpenSim.ini.txt: MaxPoolThreads = 300
2015-05-23/OpenSim.ini.txt: MinPoolThreads = 32
2015-06-24/OpenSim.ini.txt: MaxPoolThreads = 300
2015-06-24/OpenSim.ini.txt: MinPoolThreads = 32
2015-07-22/OpenSim.ini.txt: MaxPoolThreads = 300
2015-07-22/OpenSim.ini.txt: MinPoolThreads = 32
2015-08-23/OpenSim.ini.txt: MaxPoolThreads = 300
2015-08-23/OpenSim.ini.txt: MinPoolThreads = 32
これを見る限り、「MaxPoolThreads = 300」というのは、少ないような気がします。
JOG用 OpenSim 0.8.2.0 バイナリ Rev2 (2015 11/25) をインストールしてみました。
以前の、Land of Darwin等のリージョンの *.dbファイルやRegions.iniをコピーして、FreeBSDのmono 4.0.3 の上で、コンパイルしないで、JOGのバイナリをそのまま使いました。
結果、正常に立ち上がり、自分のリージョンをホームにして、ビュアーログインできました。私の使っていた、OpenSim 0.8.2Dev r/26145 は、問題ありだったのですね...。
若干、気になったのは、起動時に次のようなエラーが記録されていたことです。
HH:MM:SS - [AGENT PREFERENCES CONNECTOR]: AgentPreferencesService missing from OpenSim.ini
config-include/GridCommon.ini.example には、
134 [AgentPreferencesService]
135 ;
136 ; Change this to your grid-wide avatar prefs server
137 ;
138 AgentPreferencesServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
のセクションがありますが、config-include/GridCommon.ini にはありません(行頭の数字は行番号)。
GridCommon.ini への反映忘れでしょうか?
あとは、正常にうごいているようです。しばらく様子みてみます。
それと、ソースコードからコンパイルする場合は、どこから取得すればいいのでしょう?
また、オプションのモジュール等のソースコードは、どこから入手すればよいのでしょう?
急ぎませんので、お暇なときにでも教えてください。
すみません.
[AgentPreferencesService] は忘れていました.orz
やっぱりチェックしてくれる人がいると助かります.結構粗忽者なので (^^;
OpenSim のリリース版のソースコードは http://opensimulator.org/dist/ です.
開発バージョンはGITで git://opensimulator.org/git/opensim です.
オプションのモジュールとは,JOG用のモジュールでしょうか?
こちらが開発(?)しているモージュールは subversion で管理しています.
http://www.nsl.tuis.ac.jp/svn/opensim/opensim.modules/trunk
他で使用しているという話はあまり聞かないので,最近はリリース版を出していないですね.
前は Web インターフェイスと一緒にリリースしていました.
Profile や Search モジュールは単体で使用すると結構設定が面倒です.最近は OpenSim でデフォルトでサポートしている様ですが,愛着があるので(以前のデータとの互換もあるので),JOGでは自分で開発したものを使用しています.
マネーサーバは リリース版が http://www.nsl.tuis.ac.jp のトップにリンクがあります(こちらはちょくちょく引き合いがある).
開発バージョンは subversion で http://www.nsl.tuis.ac.jp/svn/opensim/opensim.currency/trunk です.
一応解説らしきものは,http://www.nsl.tuis.ac.jp/xoops/modules/xpwiki/ にあります.