Re: Money Server stops to work,when Npc Bot logs in or HG visitor arrives
- depth:
- 1
mandarinka
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 !!!
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:68
Average:3.97
Posts tree
-
Money Server stops to work,when Npc Bot logs in or HG visitor arrives (mandarinka, 2016/1/9 4:13)
-
Re: Money Server stops to work,when Npc Bot logs in or HG visitor arrives (mandarinka, 2016/1/9 4:41)
-
Re: Money Server stops to work,when Npc Bot logs in or HG visitor arrives (iseki, 2016/1/10 0:43)
-
Re: Money Server stops to work,when Npc Bot logs in or HG visitor arrives (iseki, 2016/1/10 0:57)
-
-
Re: Money Server stops to work,when Npc Bot logs in or HG visitor arrives (iseki, 2016/1/10 2:28)
-
Re: Money Server stops to work,when Npc Bot logs in or HG visitor arrives (mandarinka, 2016/1/10 21:57)
-
Re: Money Server stops to work,when Npc Bot logs in or HG visitor arrives (mandarinka, 2016/1/11 0:24)
-