DTL/NSL Money Server for OpenSim †[edit]
Overview †[edit]
- Latest Stable Version is 0.9.3 (for OpenSim 0.9.3)
- Latest subversion repository is for 0.9.2Dev
- This Money Server is modified from DTL Currency and modified for Unix/Linux (It might work in MS Windows).
- Some bug fixes are done and some functions are extended from DTL currency.
- This can be operated by OpenSim 0.6.7, 0.7.x, 0.8.x, 0.9.x
- Web Monitor function (ASP.NET) is removed from original DTL Currency.
- Client Certification is available.
- This does not support that sell/buy the group shared object.
- Please use this at Your Own Risk!!
Client (SIM: Region Server) certification causes an error in mono-5.16 and later. Please use mono-5.0 - mono-5.14, if you want to use client (SIM: Region Server) certification function.(at v0.9.1)
- This is Mono's Bug. Latest Mono has no bug. And Bugs are already supported in the buggy version of Mono (by 0.9.3).
- &font(#0000ff){About this project, Milo do a lot of advice and donation to us. Thank you very much!!};
Supported Functions †[edit]
Change Log †[edit]
Download of DTL/NSL Money Server †[edit]
tar Ball †[edit]
Subversion †[edit]
- latest dev version (for OpenSim-0.9.2Dev)
- &font(#c01010){Attention};
- This uses HTTP/DAV, therefore your subversion needs to include Neon module.
Compile and Install †[edit]
for Release Version (OpenSim-X.Y.Z) [with No Client Certification] †[edit]
cd (PREFIX)/opensim-X.Y.Z-source (or opensim-X.Y.Z-release)
tar xzfv opensim.currency-X.Y.Z.tar.gz
./runprebuild.sh && xbuild
cd opensim.currency-X.Y.Z
./build.sh
cd ../bin
vi MoneyServer.ini
for latest Dev Version †[edit]
No Client Certification or Money Module (OpenSim.Modules.Currency.dll) only †[edit]
git clone git://opensimulator.org/git/opensim opensim
cd opensim
svn co http://www.nsl.tuis.ac.jp/svn/opensim/opensim.currency/trunk opensim.currency
./runprebuild.sh && xbuild
cd opensim.currency
./build.sh
cd ../bin
vi MoneyServer.ini
Money Server (MoneyServer.exe) with Client Certification function †[edit]
git clone git://opensimulator.org/git/opensim opensim
cd opensim
svn co http://www.nsl.tuis.ac.jp/svn/opensim/opensim.currency/trunk opensim.currency
patch -p1 < opensim.currency/patch/ opensim.server.patch
./runprebuild.sh && xbuild
cd opensim.currency
./build.sh
cd ../bin
vi MoneyServer.ini
HttpServer_OpenSim.dll †[edit]
- Since 0.9.1, HttpServer_OpenSim.dll is already fixed, so no patch is required.
- opensim-libs (unnecessary now)
git clone git://opensimulator.org/git/opensim-libs
cp -Rpd opensim-libs/HttpServer/trunk/HttpServer .
cd HttpServer/
patch -p1 < ../opensim.currency/patch/HttpServer.patch
xbuild /p:Configuration=Release
Settings †[edit]
Tutorial Videos by Nick Zwart †[edit]
MoneyServer.ini †[edit]
[Economy] Section in INI file †[edit]
Avatar Class †[edit]
- マネーサーバにおけるアバターの取り扱いを定義するためのクラス
- ForeignAvatar, HGAvatar, GuestAvatar, LocalAvatar
for Region Server †[edit]
- Regionサーバ毎に HG Avatar をどう取り扱うか指定できる.
- OpenSim.ini の [Economy] セクションの HGAvatarAs で指定する
- ForeignAvatar, HGAvatar, GuestAvatar, LocalAvatar が指定可能.デフォルトは HGAvatar
for MoneyServer †[edit]
- Region毎に決めた HGAvatar の取り扱い(Avatar Class: HGAvatar, GuestAvatar)に対してのマネーサーバ側の挙動を指定できる
- マネーサーバの MoneyServer.ini で指定する.
- LocalAvatar に対しては何時でも true (マネーサーバの使用可)
- ForeignAvatar に対しては何時でも false (マネーサーバの使用不可)
; for HG/Guest Avatar. Foreign Avatar is always false
;EnableHGAvatar = false
;EnableGuestAvatar = false
;HGAvatarDefaultBalance = 0
;GuestAvatarDefaultBalance = 0
Helper Scripts †[edit]
- If you use functions that Buy Money from System, Buy Land and send_money, you should set up Helper Scripts.
- If you use
XoopenSim or Modlos, you may not do setting Helper Script. Because XoopenSim/Modlos sets up it by automatically.
- Helper Scripts work with PHP-7.x
- Setup Manual of Helper Scripts is here
Setting for Diva-Distro †[edit]
Execution †[edit]
- Execute MoneyServer after Robust.exe and before OpenSim.exe
# cd bin
# mono Robust.exe
# mono MoneyServer.exe
# mono OpenSim.exe
opensim.currecncy.secure †[edit]
Patch (0.9.3以降不要) †[edit]
HttpServer_OpenSim †[edit]
Client からのリクエスト情報を格納する HttpClientContext に Common Name を保存する SSLCommonName を追加
IHttpClientContext.SSLCommonName
Client 認証時のコールバック関数 ClientCertificateValidationCallback() の仮想関数を定義
XMLRPC のリクエスト情報を格納するXmlRpcRequest の5番目のパラメータに Common Name を格納
XMLRPC のリクエスト情報からCommon Name を得るには GetSSLCommonName() を使用する. 本体コードに取り込み済み.
etc.etc. †[edit]
Sample Program †[edit]
Support of StandAlone mode †[edit]
- Client (SIM: Region Server) certification causes an error in mono-5.16 and later. Please use mono-5.0 - mono-5.14, if you want to use client (SIM: Region Server) certification function.(at v0.9.1)
- 0.7.1 R2
- send_money() of helper script is failed, when the secretCode argument is omitted.
- 0.7.1 R1
- The script money() (money event) does not work. (It is corrected at R2)
Charge message of "Group Creation" displayed L$100 at any time. As it displayed normally at Hippo Viewer, this is the problem of Viewer.
- 0.7 R4
- 0.7 R3
- When object is set to sale original, no money is transferred. (collected at v0.7 R4)
注意Attention †[edit]
Trouble Shooting †[edit]
mono 4.4.0 にしたら,エラー続出 (0.9) †[edit]
2016-03-31 17:02:39,845 ERROR (Threadpool worker) - OpenSim.Framework.Servers.HttpServer.BaseHttpServer [BASE HTTP SERVER]: HttpServer.HttpListener had an exception System.TypeLoadException: Could not load type 'System.Net.Security.SslStream' from assembly 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
at HttpServer.HttpContextFactory.CreateNewContext (Boolean isSecured, System.Net.IPEndPoint endPoint, System.IO.Stream stream, System.Net.Sockets.Socket sock) <0x418d2540 + 0x00063> in <filename unknown>:0
at HttpServer.HttpContextFactory.CreateContext (Boolean isSecured, System.Net.IPEndPoint endPoint, System.IO.Stream stream, System.Net.Sockets.Socket sock) <0x418d2000 + 0x001f9> in <filename unknown>:0
at HttpServer.HttpContextFactory.CreateContext (System.Net.Sockets.Socket socket) <0x418d1e30 + 0x00093> in <filename unknown>:0
at HttpServer.HttpListenerBase.OnAccept (IAsyncResult ar) <0x418d0d10 + 0x0025b> in <filename unknown>:0
- 結局,古い Mono.Security.dll を使用しているせいだった.bin にあった Mono.Security.dll を削除
RunTime Error (0.8) †[edit]
- Missing method .ctor in assembly /usr/local/opensim/bin/OpenSim.Framework.Console.dll, type System.Runtime.Versioning.TargetFrameworkAttribute
Viewer での接続の途中で止まる (0.8) †[edit]
- コンパイルするディレクトリ名を変えたら,マネーサーバへの接続で途中停止した.
- ディレクトリ名を元に戻してコンパイルしたら,直った????