All tests pass for MySQL/MySQLRegionData.
Added OpenSim.GridServer.ini.example that I have been using for testing the ROBUST grid service with the GridClient.remotes/origin/0.6.7-post-fixes
parent
1faaa0a43a
commit
6a5d7650d0
|
@ -77,7 +77,7 @@ namespace OpenSim.Data.MySQL
|
||||||
cmd.Parameters.AddWithValue("?scopeID", scopeID.ToString());
|
cmd.Parameters.AddWithValue("?scopeID", scopeID.ToString());
|
||||||
|
|
||||||
List<RegionData> ret = RunCommand(cmd);
|
List<RegionData> ret = RunCommand(cmd);
|
||||||
if (ret == null)
|
if (ret.Count == 0)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
return ret[0];
|
return ret[0];
|
||||||
|
@ -95,7 +95,7 @@ namespace OpenSim.Data.MySQL
|
||||||
cmd.Parameters.AddWithValue("?scopeID", scopeID.ToString());
|
cmd.Parameters.AddWithValue("?scopeID", scopeID.ToString());
|
||||||
|
|
||||||
List<RegionData> ret = RunCommand(cmd);
|
List<RegionData> ret = RunCommand(cmd);
|
||||||
if (ret == null)
|
if (ret.Count == 0)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
return ret[0];
|
return ret[0];
|
||||||
|
@ -170,10 +170,7 @@ namespace OpenSim.Data.MySQL
|
||||||
result.Close();
|
result.Close();
|
||||||
CloseReaderCommand(cmd);
|
CloseReaderCommand(cmd);
|
||||||
|
|
||||||
if (retList.Count > 0)
|
|
||||||
return retList;
|
return retList;
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Store(RegionData data)
|
public bool Store(RegionData data)
|
||||||
|
@ -182,12 +179,6 @@ namespace OpenSim.Data.MySQL
|
||||||
data.Data.Remove("uuid");
|
data.Data.Remove("uuid");
|
||||||
if (data.Data.ContainsKey("ScopeID"))
|
if (data.Data.ContainsKey("ScopeID"))
|
||||||
data.Data.Remove("ScopeID");
|
data.Data.Remove("ScopeID");
|
||||||
if (data.Data.ContainsKey("regionName"))
|
|
||||||
data.Data.Remove("regionName");
|
|
||||||
if (data.Data.ContainsKey("posX"))
|
|
||||||
data.Data.Remove("posX");
|
|
||||||
if (data.Data.ContainsKey("posY"))
|
|
||||||
data.Data.Remove("posY");
|
|
||||||
|
|
||||||
string[] fields = new List<string>(data.Data.Keys).ToArray();
|
string[] fields = new List<string>(data.Data.Keys).ToArray();
|
||||||
|
|
||||||
|
|
|
@ -183,9 +183,9 @@ namespace OpenSim.Services.GridService
|
||||||
rdata.posX = (int)rinfo.RegionLocX;
|
rdata.posX = (int)rinfo.RegionLocX;
|
||||||
rdata.posY = (int)rinfo.RegionLocY;
|
rdata.posY = (int)rinfo.RegionLocY;
|
||||||
rdata.RegionID = rinfo.RegionID;
|
rdata.RegionID = rinfo.RegionID;
|
||||||
rdata.Data = rinfo.ToKeyValuePairs();
|
|
||||||
rdata.RegionName = rinfo.RegionName;
|
rdata.RegionName = rinfo.RegionName;
|
||||||
|
rdata.Data = rinfo.ToKeyValuePairs();
|
||||||
|
rdata.Data["regionHandle"] = Utils.UIntsToLong((uint)rdata.posX, (uint)rdata.posY);
|
||||||
return rdata;
|
return rdata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -196,6 +196,7 @@ namespace OpenSim.Services.GridService
|
||||||
rinfo.RegionLocY = rdata.posY;
|
rinfo.RegionLocY = rdata.posY;
|
||||||
rinfo.RegionID = rdata.RegionID;
|
rinfo.RegionID = rdata.RegionID;
|
||||||
rinfo.RegionName = rdata.RegionName;
|
rinfo.RegionName = rdata.RegionName;
|
||||||
|
rinfo.ScopeID = rdata.ScopeID;
|
||||||
|
|
||||||
return rinfo;
|
return rinfo;
|
||||||
}
|
}
|
||||||
|
|
|
@ -263,72 +263,47 @@ namespace OpenSim.Services.Interfaces
|
||||||
kvp["uuid"] = RegionID.ToString();
|
kvp["uuid"] = RegionID.ToString();
|
||||||
kvp["locX"] = RegionLocX.ToString();
|
kvp["locX"] = RegionLocX.ToString();
|
||||||
kvp["locY"] = RegionLocY.ToString();
|
kvp["locY"] = RegionLocY.ToString();
|
||||||
kvp["name"] = RegionName;
|
kvp["regionName"] = RegionName;
|
||||||
kvp["external_ip_address"] = ExternalEndPoint.Address.ToString();
|
kvp["serverIP"] = ExternalHostName; //ExternalEndPoint.Address.ToString();
|
||||||
kvp["external_port"] = ExternalEndPoint.Port.ToString();
|
kvp["serverHttpPort"] = HttpPort.ToString();
|
||||||
kvp["external_host_name"] = ExternalHostName;
|
kvp["serverURI"] = ServerURI;
|
||||||
kvp["http_port"] = HttpPort.ToString();
|
|
||||||
kvp["internal_ip_address"] = InternalEndPoint.Address.ToString();
|
|
||||||
kvp["internal_port"] = InternalEndPoint.Port.ToString();
|
|
||||||
kvp["alternate_ports"] = m_allow_alternate_ports.ToString();
|
|
||||||
kvp["server_uri"] = ServerURI;
|
|
||||||
|
|
||||||
return kvp;
|
return kvp;
|
||||||
}
|
}
|
||||||
|
|
||||||
public GridRegion(Dictionary<string, object> kvp)
|
public GridRegion(Dictionary<string, object> kvp)
|
||||||
{
|
{
|
||||||
if (kvp["uuid"] != null)
|
if (kvp.ContainsKey("uuid"))
|
||||||
RegionID = new UUID((string)kvp["uuid"]);
|
RegionID = new UUID((string)kvp["uuid"]);
|
||||||
|
|
||||||
if (kvp["locX"] != null)
|
if (kvp.ContainsKey("locX"))
|
||||||
RegionLocX = Convert.ToInt32((string)kvp["locX"]);
|
RegionLocX = Convert.ToInt32((string)kvp["locX"]);
|
||||||
|
|
||||||
if (kvp["locY"] != null)
|
if (kvp.ContainsKey("locY"))
|
||||||
RegionLocY = Convert.ToInt32((string)kvp["locY"]);
|
RegionLocY = Convert.ToInt32((string)kvp["locY"]);
|
||||||
|
|
||||||
if (kvp["name"] != null)
|
if (kvp.ContainsKey("regionName"))
|
||||||
RegionName = (string)kvp["name"];
|
RegionName = (string)kvp["regionName"];
|
||||||
|
|
||||||
if ((kvp["external_ip_address"] != null) && (kvp["external_port"] != null))
|
if (kvp.ContainsKey("serverIP"))
|
||||||
{
|
{
|
||||||
int port = 0;
|
int port = 0;
|
||||||
Int32.TryParse((string)kvp["external_port"], out port);
|
//Int32.TryParse((string)kvp["serverPort"], out port);
|
||||||
IPEndPoint ep = new IPEndPoint(IPAddress.Parse((string)kvp["external_ip_address"]), port);
|
//IPEndPoint ep = new IPEndPoint(IPAddress.Parse((string)kvp["serverIP"]), port);
|
||||||
ExternalEndPoint = ep;
|
ExternalHostName = (string)kvp["serverIP"];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ExternalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 0);
|
ExternalHostName = "127.0.0.1";
|
||||||
|
|
||||||
if (kvp["external_host_name"] != null)
|
if (kvp.ContainsKey("serverHttpPort"))
|
||||||
ExternalHostName = (string)kvp["external_host_name"];
|
|
||||||
|
|
||||||
if (kvp["http_port"] != null)
|
|
||||||
{
|
{
|
||||||
UInt32 port = 0;
|
UInt32 port = 0;
|
||||||
UInt32.TryParse((string)kvp["http_port"], out port);
|
UInt32.TryParse((string)kvp["serverHttpPort"], out port);
|
||||||
HttpPort = port;
|
HttpPort = port;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((kvp["internal_ip_address"] != null) && (kvp["internal_port"] != null))
|
if (kvp.ContainsKey("serverURI"))
|
||||||
{
|
ServerURI = (string)kvp["serverURI"];
|
||||||
int port = 0;
|
|
||||||
Int32.TryParse((string)kvp["internal_port"], out port);
|
|
||||||
IPEndPoint ep = new IPEndPoint(IPAddress.Parse((string)kvp["internal_ip_address"]), port);
|
|
||||||
InternalEndPoint = ep;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
InternalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 0);
|
|
||||||
|
|
||||||
if (kvp["alternate_ports"] != null)
|
|
||||||
{
|
|
||||||
bool alts = false;
|
|
||||||
Boolean.TryParse((string)kvp["alternate_ports"], out alts);
|
|
||||||
m_allow_alternate_ports = alts;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (kvp["server_uri"] != null)
|
|
||||||
ServerURI = (string)kvp["server_uri"];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
; * The startup section lists all the connectors to start up in this server
|
||||||
|
; * instance. This may be only one, or it may be the entire server suite.
|
||||||
|
; * Multiple connectors should be seaprated by commas.
|
||||||
|
; *
|
||||||
|
; * These are the IN connectors the server uses, the in connectors
|
||||||
|
; * read this config file and load the needed OUT and database connectors
|
||||||
|
; *
|
||||||
|
; *
|
||||||
|
[Startup]
|
||||||
|
ServiceConnectors = "OpenSim.Server.Handlers.dll:GridServiceConnector"
|
||||||
|
|
||||||
|
; * This is common for all services, it's the network setup for the entire
|
||||||
|
; * server instance
|
||||||
|
; *
|
||||||
|
[Network]
|
||||||
|
port = 8002
|
||||||
|
|
||||||
|
; * The following are for the remote console
|
||||||
|
; * They have no effect for the local or basic console types
|
||||||
|
; * Leave commented to diable logins to the console
|
||||||
|
;ConsoleUser = Test
|
||||||
|
;ConsolePass = secret
|
||||||
|
|
||||||
|
; * As an example, the below configuration precisely mimicks the legacy
|
||||||
|
; * asset server. It is read by the asset IN connector (defined above)
|
||||||
|
; * and it then loads the OUT connector (a local database module). That,
|
||||||
|
; * in turn, reads the asset loader and database connection information
|
||||||
|
; *
|
||||||
|
[GridService]
|
||||||
|
LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
|
||||||
|
StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"
|
||||||
|
;StorageProvider = "OpenSim.Data.MySQL.dll:MySqlRegionData"
|
||||||
|
;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;"
|
||||||
|
Realm = "regions"
|
||||||
|
|
Loading…
Reference in New Issue