#author("2024-01-07T01:12:51+00:00","default:iseki","iseki")
#author("2024-01-07T01:13:14+00:00","default:iseki","iseki")
* DTL/NSL Money Server for OpenSim [#se1ad59b]

** Overview [#vaa53e04]
- Latest Stable Version is ''0.9.3'' (for OpenSim 0.9.3)
-- 0.9.3 supports ''.net6''

- This Money Server is modified from [[DTL Currency>./DTL Currency Processing]] 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>./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 this bug. And bugs are already supported in the buggy before version of Mono (by 0.9.2.2).

- &color(#0000ff){About this project, ''Milo'' do a lot of advice and donation to us. ''Thank you very much!!''};

*** github
- https://github.com/MTSGJ/opensim.currency/issue 

- Issues: https://github.com/MTSGJ/opensim.currency/issues

*** Supported Functions [#y5e3e741]
- [[See Here>./Functions]]
- [[Client Certification>./Client Certification]] for 0.9.x


*** Change Log [#r7a89e03]
- [[ChangeLog>./ChangeLog]]


*** [[Client Certification>./Client Certification]] [#k58c70f3]


** Download of DTL/NSL Money Server[#u2d15064]
*** tar Ball [#v661c160]
*** tar ball [#v661c160]
- 0.9.3
-- https://github.com/MTSGJ/opensim.currency/releases/tag/0.9.3

- 0.9.1_1 for OpenSim-0.9.1
-- http://www.nsl.tuis.ac.jp/xoops/modules/d3downloads/index.php?page=singlefile&cid=8&lid=55

- [[more old version...>./old_version]]


*** git hub [#nd5f9697]
- latest dev version (for OpenSim-0.9.3)
-- git clone https://github.com/MTSGJ/opensim.currency.git


** Compile and Install [#uc427419]

*** for Release Version (OpenSim-X.Y.Z) [with No Client Certification] [#ff113200]
 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 [#g778de33]

**** No Client Certification or Money Module (OpenSim.Modules.Currency.dll) only [#r08f46e7]
 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 [#n1a3992f]
 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 [#j70b6819]
- ''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 [#v70b9150]
*** Tutorial Videos by Nick Zwart [#d2def937]
- http://www.slartist.com/part-6-1of2-how-to-setup-nsldtl-money-server-opensim-081_06ac8339d.html
- http://www.slartist.com/part-6-2of2-how-to-setup-nsldtl-money-server-opensim-081_6a17c8c97.html
- Thanks!!


*** MoneyServer.ini [#a07c8101]
- [[MoneyServer.ini>./MoneyServer.ini]]


*** [Economy] Section in INI file [#d9a146c0]
- [[OpenSim.ini>./OpenSim.ini]]


*** Avatar Class [#u3faa13b]
- マネーサーバにおけるアバターの取り扱いを定義するためのクラス
- ''ForeignAvatar'', ''HGAvatar'', ''GuestAvatar'', ''LocalAvatar''



**** for Region Server [#p411b009]
- Regionサーバ毎に HG Avatar をどう取り扱うか指定できる.
- OpenSim.ini の [Economy] セクションの ''HGAvatarAs'' で指定する
- ''ForeignAvatar'', ''HGAvatar'', ''GuestAvatar'', ''LocalAvatar'' が指定可能.デフォルトは ''HGAvatar''


**** for MoneyServer [#eaa618e9]
- 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 [#m58a560d]
- 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>../Helper Scripts]]


*** Setting for Diva-Distro [#x02c26fc]
- [[0.7.2>./Diva-0.7.2]] 


** Execution [#h4610b84]
- Execute MoneyServer after Robust.exe and before OpenSim.exe

 # cd bin
 # mono Robust.exe
 # mono MoneyServer.exe
 # mono OpenSim.exe


** opensim.currecncy.secure [#ebe5d69d]
- クライアント認証が可能 [[Client Certification>./Client Certification]]
- %%クライアント認証機能付き MoneyServer.exe を生成する場合は,[[HttpServer_OpenSim]] および OpenSim 本体にパッチが必要%% (0.9.1以降不要)
- OpenSim.exe 用モジュールにはパッチは不要
- %%http://www.nsl.tuis.ac.jp/svn/opensim/opensim.currency/secure %%
-- %%http://www.nsl.tuis.ac.jp/svn/opensim/opensim.currency/trunk にマージ (10/26 2013)%%


*** Patch (0.9.3以降不要) [#i8ee6f28]
**** HttpServer_OpenSim [#m7932dd6]
- %%Client からのリクエスト情報を格納する HttpClientContext に Common Name を保存する SSLCommonName を追加%%
-- %%IHttpClientContext.SSLCommonName%%
- %%Client 認証時のコールバック関数 ClientCertificateValidationCallback() の仮想関数を定義%%


**** OpenSim [#j2f71927]
- %%XMLRPC のリクエスト情報を格納するXmlRpcRequest の5番目のパラメータに Common Name を格納%%
- %%XMLRPC のリクエスト情報からCommon Name を得るには GetSSLCommonName() を使用する.%% 本体コードに取り込み済み.


** etc.etc. [#va2bf28f]

*** Sample Program [#v9b7625e]
- LSL: [[llGvieMony()>./LSL]]
- PHP: [[send_money()>./send_money]]


*** Support of StandAlone mode [#nf42a9ad]
- [[OpenSim-0.7.x>./standalone_0.7]] 


*** Bugs [#x4fae068]
- 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
-- Included ''include/opensim.mysql.php helper script of v0.7R4 has bugs''. If you want to use included helper scripts, please download http://www.nsl.tuis.ac.jp/DownLoad/SoftWare/PHP/WI-1.55/opensim.mysql , and rename to opensim.mysql.php and use it.
- 0.7 R3
-- When object is set to ''sale original'', no money is transferred. (collected at v0.7 R4)


*** 注意Attention [#d84771e2]
- MoneyServer.ini と include/config.php (またはXoopenSim/Modlos) の Helper Script用のキーは必ず同じものを指定すること.
Specify same ''Secret Key of Helper Script'' in MoneyServer.ini and include/config.php (or XoopenSim/Modlos)
- %%OpenSim.ini 中の ''UserServer'', ''CurrencyServer'' のアドレスは localhost (127.0.0.1) を使用しないこと ( [Network] セクションの ''user_server_url'').これは,このIPアドレスが,Monet Server内でのユーザのアカウント識別に利用されるためである.%% アカウントの識別から,サーバのIPアドレスを削除しました.ハイパーグリッドであっても,アバターはUUIDのみで識別されます.
 %%Not use 127.0.0.1 for ''UserServer'' and ''CurrencyServer'' at OpenSim.ini. This IP Address is used for identification of user on Money Server.%%
- %%0.6.9で,[Network] セクションの ''user_server_url'' が無くなったため,代わりに [Economy]セクションで ''UserServer'' を指定するように変更.%% UserServer は現在参照されません.
%%in 0.6.7 - 0.6.8, ''UserServer'' is setted as ''user_server_url'' at [Network] section.%%
- %%in 0.6.9 - 0.7, ''UserServer'' is setted as ''UserServer'' at [Economy] section.%%  UserServer is not refered now


*** Trouble Shooting [#wa240b75]
**** mono 4.4.0 にしたら,エラー続出 (0.9) [#kebad74d]
 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) [#t84737c5]
- Missing method .ctor in assembly /usr/local/opensim/bin/OpenSim.Framework.Console.dll, type System.Runtime.Versioning.TargetFrameworkAttribute
-- Please use ''--runtime=v4.0'' option 
 mono --runtime=v4.0 MoneyServer.exe


**** Viewer での接続の途中で止まる (0.8) [#b411eb98]
- コンパイルするディレクトリ名を変えたら,マネーサーバへの接続で途中停止した.
- ディレクトリ名を元に戻してコンパイルしたら,直った????


*** [[Development>./Devel]] [#rfbac1de]
- [[DB>./DB]]


*** Indexes [#l1c0126a]
#ls2

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 ページ一覧 検索 最終更新   ヘルプ   最終更新のRSS