flagflag  

Re: Money Server stops to work,when Npc Bot logs in or HG visitor arrives

List posts in the topic

なし Re: Money Server stops to work,when Npc Bot logs in or HG visitor arrives

msg# 1.4
depth:
1
Previous post - Next post | Parent - No child | Posted on 2016/1/10 21:57
mandarinka  Just popping in   Posts: 4
Hello Iseki !

Thank You very much for answering me. I am very grateful.

We use an official version of OpenSim: OpenSim 0.8.2.0 Release

Majority of residents use various versions of Firestorm viewer. I have not checked how Singularity behaves.

But I feel intuitevely that it may concern not only Firestorm.

Let me show you what console shows, when Npc bot or Hg visitor arrives to the region with money server enabled:

[MONEY RPC]: handleClientLogin: Unable to refresh information for user "" in DB

ERROR - OpenSim.Grid.MoneyServer.MoneyXmlRpcModule

I always compile money server with my versions of opensim.

I have found appropriate line in MoneyXmlRpcModule.cs


if (!m_moneyDBService.TryAddUserInfo(user))
{
m_log.ErrorFormat("[MONEY RPC]: handleClientLogin: Unable to refresh information for user \"{0}\" in DB", avatarName);
responseData["success"] = false;
responseData["description"] = "Update or add user information to db failed";
responseData["clientBalance"] = balance;
}
return response;

This part of your code is responsible for reportign this error.

So as we can see, error is generated by :TryAddUserInfo(user)) , when it gets value: false.

That we can see in: MoneyDBService.cs

public bool TryAddUserInfo(UserInfo user)
{
MySQLSuperManager dbm = GetLockedConnection();
try
{
if (dbm.Manager.fetchUserInfo(user.UserID) != null)
{
m_log.InfoFormat("[MONEY DB]: Found user \"{0}\", now update information", user.Avatar);
if (m_moneyManager.updateUserInfo(user))
return true;
}
else if (dbm.Manager.addUserInfo(user))
{
m_log.InfoFormat("[MONEY DB]: Unable to find user \"{0}\", add it to DB successfully", user.Avatar);
return true;
}
return false;
}
catch (Exception e)
{
dbm.Manager.Reconnect();
// Fumi.Iseki
m_moneyManager.Reconnect();
m_log.Error(e.ToString());
return false;
}
finally
{
dbm.Release();
}
}

Because, there are many viewers, I feel intuitevely that problem can concern other viewers too.

I have also noticed that, when this error occurs, then logging with another registered avatar in the region, helps to refresh balance and money starts to work.

So maybe it would be nice , to set procedure, that when such error ( exception ) occurs:

then money server could update balance of one, assume admin avatar or banker avatar, in the region where error has happened.

in this way, we would not worry abotu hundreds of viewers versions in the future.

But anyway i am happy that you confirm this bug and i look forward your update and answer.

Regards !!!
Votes:56 Average:3.57

Posts tree

  Advanced search


Site Search

Login

Username:

Password:


Lost Password?
Register now!!

Sub Menu

mini Calendar

Last MonthMay 2024Next Month
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today

Who's Online

79 user(s) are online (3 user(s) are browsing Forum)

Members: 0
Guests: 79

more...

Access Counter

Today : 8245824582458245
Yesterday : 1412914129141291412914129
Total : 2345385523453855234538552345385523453855234538552345385523453855
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com