Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Das all bekannte Money System
#31
ICh will es erste mal noch mal testen und wenn wer es eh nur für die opensim 0.9.1
bei Arriba probier ich mal das nächste mal obs dort auch gehen kann !!

sobald ich den genauen weg repruduzieren kann gibt es den zum nachlesen hier !!!
Zitieren
#32
Hallo,
ich versuche immer mal wieder das original Money Modul 0901 zum Laufen zu bringen.
Aufgrund einiger Beiträge auf Gridtalk, versuche ich es gerade wieder einmal.
Status ist, dass der Robust und Money Sever scheinbar fehlerfrei starten und die opensim.exe
die bereits hier beschriebene Fehlermeldung bringt. Die HttpServer_OpenSim.dll habe ich gegen die urspüngliche getauscht, trotzdem gleicher Fehler.
Gibt es mittlerweile neue Erkenntnisse?
Falls ich das Teil alleine nicht zum Laufen bekomme (was ich befürchte), gibt es im Netz irgendwo eine funktionierende Opensim Standalone Version mit Moneymodul zum Download?
Gruß
Zitieren
#33
Hallo zusammen.

Ich muss mich mal kurz einklinken hehe Smile

Wenn ich den Thread richtig verfolgt habe geht es um die original OpenSIM nicht um die arriba oder andere ableger. Ich nutze im Moment sehr Erfolgreich das DTLNSL Money Modul von TUIS. Es war eine schwere Geburt das Ding ans Laufen zu bekommen aber dazu gibt es hier im Forum bereits eine Anleitung zu: https://www.gridtalk.de/showthread.php?tid=3271&page=2

Nunja ein ganz großes Problem habe ich leider mit dem TUIS Modul festgestellt. Der MoneyServer verträgt keine NPCs. Sobald ein NPC gerezzt / erstellt wird spuckt mich der MoneyServer voll (Server URL empty - Is avatar an NPC?) oder sowas. Ab dem Moment vergisst der MoneyServer die Authentifizierung aller Avatare auf der Region. Erst beim Weg- und wieder Hinteleport ist der MoneyServer wieder bereit zu funktionieren.

Weiß da zufälligerweise einer eine Lösung OHNE den MoneyServer komplett zu tauschen. Ich bin auch offen für Alternativen wenn es nicht gerade jOpenSIM ist.

Viele Grüße

Christian Nill
Wann was schief läuft -> Ich war's nicht

VirtuLife - Start your virtual life NOW
Zitieren
#34
Hallo Christian,
ich habe das gleiche Problem und auch andere was ich gesehen habe.
Es soll neben NPC auch Probleme mit Hypergrid Besuchern geben.
Andere behaupten, mit dem Singularity Viewer würde das Problem nicht auftreten.
Hab ich gerade getestet.
Update: Auch mit dem Singularity tritt das Problem auf. Hatte ich mir schon gedacht.

http://www.nsl.tuis.ac.jp/xoops/modules/...pic_id=170

http://www.nsl.tuis.ac.jp/xoops/modules/...st_id=1303

Es gibt auch schon Hinweise auf die betreffenden Zeilen im Quellcode.
Auch las ich, dass das Problem nicht auftreten soll, wenn man in der MoneyServer.ini
die Zeile mit "DefaultBalance = 1000" auskommentiert.
Das wollte ich aber bei Gelegenheit noch testen.
Update: Habe ich auch soeben getestet. Fehler noch da.

LG
Data
Zitieren
#35
Guten Morgen Data.

Was Hypergrid-Besucher angeht kann ich den Fehler nicht bestätigen. Ich hatte bereits Hypergrid Besucher und der Moneyserver arbeitete ganz normal. Ich konnte meinem Testavatar, der aus OSGrid nach VirtuLife teleportiert ist auch Geld geben und der Hypergrid-Benutzer konnte das Geld auch in VirtuLife verwenden ohne Einschränkungen.

Test: Soeben habe ich Hypergrid getestet. Keine Schwierigkeiten. Von OSGrid nach VirtuLife teleportiert. Geld erhalten von Mir hehe.... Einen Stream gemietet mit VL$ -> alles einwandfrei Moneyserver arbeitet nach wie vor Problemlos. NPC gerezzt -> MoneyServer streikt auf der Region bis man sich wieder hinteleportiert.
Wann was schief läuft -> Ich war's nicht

VirtuLife - Start your virtual life NOW
Zitieren
#36
Hallo,
für das NPC Problem habe ich mir mal folgenden Patch (für Version 0.9.0.1) gebastelt und neu kompiliert.
Und siehe da, das Problem war weg.
Habe aber noch nicht alle Money Funktionen getestet.

Code:
--- DTLNSLMoneyModule.cs.ori    2019-01-25 15:44:41.404608401 +0100
+++ DTLNSLMoneyModule.cs        2019-02-01 04:09:55.508686297 +0100
@@ -1637,9 +1637,16 @@
                                                avatarType = (int)AvatarType.NPC_AVATAR;^M
                                        }^M
                                        //^M
-                                       if ((agent.teleportFlags & (uint)Constants.TeleportFlags.ViaHGLogin)!=0 || String.IsNullOrEmpty(userName)) {^M
-                                               avatarType = (int)AvatarType.HG_AVATAR;^M
+                                       // start change Data Rossini^M
+                                       //if ((agent.teleportFlags & (uint)Constants.TeleportFlags.ViaHGLogin)!=0 || String.IsNullOrEmpty(userName)) {^M
+                                       //      avatarType = (int)AvatarType.HG_AVATAR;^M
+                                       //}^M
+                                        if (!isNpc) {^M
+                                               if ((agent.teleportFlags & (uint)Constants.TeleportFlags.ViaHGLogin)!=0 || String.IsNullOrEmpty(userName)) {^M
+                                                       avatarType = (int)AvatarType.HG_AVATAR;^M
+                                               }^M
                                        }^M
+                                       // end change Data Rossini^M
                                }^M
                                if (String.IsNullOrEmpty(userName)) {^M
                                        userName = firstName + " " + lastName;^M
@@ -1647,20 +1654,22 @@
                                ^M
                                //^M
                                avatarClass = avatarType;^M
-                               if (avatarType==(int)AvatarType.NPC_AVATAR) return false;^M
+                               // start change Data Rossini^M
+                               //if (avatarType==(int)AvatarType.NPC_AVATAR) return false;^M
+                               if (avatarType==(int)AvatarType.NPC_AVATAR) return true;^M
+                               // end change Data Rossini^M
                                if (avatarType==(int)AvatarType.HG_AVATAR)  avatarClass = m_hg_avatarClass;^M
^M
                                //^M
-                               // Lognn the Money Server.   ^M
+                               // Login the Money Server.   ^M
                                Hashtable paramTable = new Hashtable();^M
-                               paramTable["openSimServIP"]             = scene.RegionInfo.ServerURI.Replace(scene.RegionInfo.InternalEndPoint.Port.ToString(), ^M
-                                                                                                                                                                                scene.RegionInfo.HttpPort.ToString());^M
+                               paramTable["openSimServIP"]         = scene.RegionInfo.ServerURI.Replace(scene.RegionInfo.InternalEndPoint.Port.ToString(), scene.RegionInfo.HttpPort.ToString());^M
                                paramTable["avatarType"]            = avatarType.ToString();^M
                                paramTable["avatarClass"]           = avatarClass.ToString();^M
-                               paramTable["userName"]                          = userName;^M
+                               paramTable["userName"]              = userName;^M
                                paramTable["universalID"]           = universalID;^M
-                               paramTable["clientUUID"]                        = client.AgentId.ToString();^M
-                               paramTable["clientSessionID"]           = client.SessionId.ToString();^M
+                               paramTable["clientUUID"]            = client.AgentId.ToString();^M
+                               paramTable["clientSessionID"]       = client.SessionId.ToString();^M
                                paramTable["clientSecureSessionID"] = client.SecureSessionId.ToString();^M
^M
                                // Generate the request for transfer.   ^M

Nochmal an alle Moneyserver Benutzer ein Hinweis.
Für den Patch des für die DTLNSL-Moneyserver Software (0.9.0.1), bezüglich des vorher beschriebenen NPC-Problems, gilt:

Achtung !
Ich verwende die DTLNSL Moneyserver Software nur zum Spielen (Roleplay) und zum Testen. Bei mir geht es nicht um wirkliches Geld. Wer patcht, macht dies auf eigene Verantwortung !

Schöne Grüße
Data
Zitieren
#37
Guten Morgen Data.

Das sieht doch erstmal nach einem vernünftigen Patch aus. Ist das ein Patch für DTLNSL von Tuis? Wenn ja würde ich den Patch gerne Testen in meinem Testgrid.

Viele Grüße

Christian Nill
Wann was schief läuft -> Ich war's nicht

VirtuLife - Start your virtual life NOW
Zitieren
#38
Hallo Data.

Mein Linux hat mich direkt angeschrien, dass da ungültige Zeichen im Patch sind. Habe deinen Entwurf mal auch für Linux kompatbiel gemacht Smile

Code:
--- DTLNSLMoneyModule.cs.ori    2019-01-25 15:44:41.404608401 +0100
+++ DTLNSLMoneyModule.cs        2019-02-01 04:09:55.508686297 +0100
@@ -1637,9 +1637,16 @@
                                                avatarType = (int)AvatarType.NPC_AVATAR;
                                        }
                                        //
-                                       if ((agent.teleportFlags & (uint)Constants.TeleportFlags.ViaHGLogin)!=0 || String.IsNullOrEmpty(userName)) {
-                                               avatarType = (int)AvatarType.HG_AVATAR;
+                                       // start change Data Rossini
+                                       //if ((agent.teleportFlags & (uint)Constants.TeleportFlags.ViaHGLogin)!=0 || String.IsNullOrEmpty(userName)) {
+                                       //      avatarType = (int)AvatarType.HG_AVATAR;
+                                       //}
+                                        if (!isNpc) {
+                                               if ((agent.teleportFlags & (uint)Constants.TeleportFlags.ViaHGLogin)!=0 || String.IsNullOrEmpty(userName)) {
+                                                       avatarType = (int)AvatarType.HG_AVATAR;
+                                               }
                                        }
+                                       // end change Data Rossini
                                }
                                if (String.IsNullOrEmpty(userName)) {
                                        userName = firstName + " " + lastName;
@@ -1647,20 +1654,22 @@

                                //
                                avatarClass = avatarType;
-                               if (avatarType==(int)AvatarType.NPC_AVATAR) return false;
+                               // start change Data Rossini
+                               //if (avatarType==(int)AvatarType.NPC_AVATAR) return false;
+                               if (avatarType==(int)AvatarType.NPC_AVATAR) return true;
+                               // end change Data Rossini
                                if (avatarType==(int)AvatarType.HG_AVATAR)  avatarClass = m_hg_avatarClass;

                                //
-                               // Lognn the Money Server.
+                               // Login the Money Server.
                                Hashtable paramTable = new Hashtable();
-                               paramTable["openSimServIP"]             = scene.RegionInfo.ServerURI.Replace(scene.RegionInfo.InternalEndPoint.Port.ToString(),
-                                                                                                                                                                                scene.RegionInfo.HttpPort.ToString());
+                               paramTable["openSimServIP"]         = scene.RegionInfo.ServerURI.Replace(scene.RegionInfo.InternalEndPoint.Port.ToString(), scene.RegionInfo.HttpPort.ToString());
                                paramTable["avatarType"]            = avatarType.ToString();
                                paramTable["avatarClass"]           = avatarClass.ToString();
-                               paramTable["userName"]                          = userName;
+                               paramTable["userName"]              = userName;
                                paramTable["universalID"]           = universalID;
-                               paramTable["clientUUID"]                        = client.AgentId.ToString();
-                               paramTable["clientSessionID"]           = client.SessionId.ToString();
+                               paramTable["clientUUID"]            = client.AgentId.ToString();
+                               paramTable["clientSessionID"]       = client.SessionId.ToString();
                                paramTable["clientSecureSessionID"] = client.SecureSessionId.ToString();

                                // Generate the request for transfer.

Viele Grüße

Christian Nill
Wann was schief läuft -> Ich war's nicht

VirtuLife - Start your virtual life NOW
Zitieren
#39
Hallo zusammen.

Data hat ja hervorragende Vorarbeit geleistet im Bezug auf 0.9.0.1. Ich habe mir nun einfach die Freiheit genommen und habe seinen Patch auf 0.9.1 kompatibel gemacht.

Hier ist der entsprechende patch für OpenSIM V0.9.1 sowie Currency 0.9.1dev:

Code:
--- DTLNSLMoneyModule.cs.orig   2019-02-01 09:10:33.000000000 +0100
+++ DTLNSLMoneyModule.cs        2019-02-01 09:36:22.154976916 +0100
@@ -1637,9 +1637,11 @@
                                                avatarType = (int)AvatarType.NPC_AVATAR;
                                        }
                                        //
-                                       if ((agent.teleportFlags & (uint)Constants.TeleportFlags.ViaHGLogin)!=0 || String.IsNullOrEmpty(userName)) {
+                                       if (!isNpc) {
+                                           if ((agent.teleportFlags & (uint)Constants.TeleportFlags.ViaHGLogin)!=0 || String.IsNullOrEmpty(userName)) {
                                                avatarType = (int)AvatarType.HG_AVATAR;
-                                       }
+                                           }
+                                       }
                                }
                                if (String.IsNullOrEmpty(userName)) {
                                        userName = firstName + " " + lastName;
@@ -1647,7 +1649,7 @@

                                //
                                avatarClass = avatarType;
-                               if (avatarType==(int)AvatarType.NPC_AVATAR) return false;
+                               if (avatarType==(int)AvatarType.NPC_AVATAR) return true;
                                if (avatarType==(int)AvatarType.HG_AVATAR)  avatarClass = m_hg_avatarClass;

                                //

ACHTUNG: Ich habe die Änderungen nicht getestet. Ich habe lediglich die Änderungen auf 0.9.1 angewendet und versucht zu kompilieren. Kompiliert ohne Schwierigkeiten.

Viele Grüße

Christian Nill
Wann was schief läuft -> Ich war's nicht

VirtuLife - Start your virtual life NOW
Zitieren
#40
Hallo,
an alle Moneyserver Benutzer. Da ich paar Posts vorher einen Patch für die DTLNSL-Moneyserver Software (0.9.0.1), bezüglich des vorher beschriebenen NPC-Problems, veröffentlicht habe, die das Problem bei mir vor Ort löst, gilt:

Achtung !
Ich verwende die DTLNSL Moneyserver Software nur zum Spielen (Roleplay) und zum Testen. Bei mir geht es nicht um wirkliches Geld.
Wer patcht, macht dies auf eigene Verantwortung !

Vielen Dank nochmals an Christian Nill für die 0.9.1 Änderung und für den Hiweis auf das NPC-Problem.

LG
Data
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Money Server Skimi 12 2.469 02.07.2023, 11:46
Letzter Beitrag: Skimi

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste