0.1-prestable
parent
40eb8bc8b6
commit
3d0fff1c09
|
@ -150,22 +150,28 @@ namespace OpenSim
|
|||
m_console.WriteLine("Starting in Grid mode");
|
||||
}
|
||||
|
||||
try {
|
||||
GridServers.Initialise();
|
||||
} catch (Exception e) {
|
||||
m_console.WriteLine(e.Message + "\nSorry, could not setup the grid interface");
|
||||
Environment.Exit(1);
|
||||
}
|
||||
try
|
||||
{
|
||||
GridServers.Initialise();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_console.WriteLine(e.Message + "\nSorry, could not setup the grid interface");
|
||||
Environment.Exit(1);
|
||||
}
|
||||
|
||||
startuptime = DateTime.Now;
|
||||
|
||||
try {
|
||||
AssetCache = new AssetCache(GridServers.AssetServer);
|
||||
InventoryCache = new InventoryCache();
|
||||
} catch (Exception e) {
|
||||
m_console.WriteLine(e.Message + "\nSorry, could not setup local cache");
|
||||
Environment.Exit(1);
|
||||
}
|
||||
try
|
||||
{
|
||||
AssetCache = new AssetCache(GridServers.AssetServer);
|
||||
InventoryCache = new InventoryCache();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_console.WriteLine(e.Message + "\nSorry, could not setup local cache");
|
||||
Environment.Exit(1);
|
||||
}
|
||||
|
||||
PacketServer packetServer = new PacketServer(this);
|
||||
|
||||
|
@ -199,14 +205,17 @@ namespace OpenSim
|
|||
{
|
||||
// The grid server has told us who we are
|
||||
// We must obey the grid server.
|
||||
try {
|
||||
regionData.RegionLocX = Convert.ToUInt32(((RemoteGridBase)(GridServers.GridServer)).GridData["region_locx"].ToString());
|
||||
regionData.RegionLocY = Convert.ToUInt32(((RemoteGridBase)(GridServers.GridServer)).GridData["region_locy"].ToString());
|
||||
regionData.RegionName = ((RemoteGridBase)(GridServers.GridServer)).GridData["regionname"].ToString();
|
||||
} catch(Exception e) {
|
||||
m_console.WriteLine(e.Message + "\nBAD ERROR! THIS SHOULD NOT HAPPEN! Bad GridData from the grid interface!!!! ZOMG!!!");
|
||||
Environment.Exit(1);
|
||||
}
|
||||
try
|
||||
{
|
||||
regionData.RegionLocX = Convert.ToUInt32(((RemoteGridBase)(GridServers.GridServer)).GridData["region_locx"].ToString());
|
||||
regionData.RegionLocY = Convert.ToUInt32(((RemoteGridBase)(GridServers.GridServer)).GridData["region_locy"].ToString());
|
||||
regionData.RegionName = ((RemoteGridBase)(GridServers.GridServer)).GridData["regionname"].ToString();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_console.WriteLine(e.Message + "\nBAD ERROR! THIS SHOULD NOT HAPPEN! Bad GridData from the grid interface!!!! ZOMG!!!");
|
||||
Environment.Exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -249,8 +258,8 @@ namespace OpenSim
|
|||
if (gridServer.GetName() == "Remote")
|
||||
{
|
||||
// should startup the OGS protocol server here
|
||||
// Are we actually using this?
|
||||
OGSServer = new OpenGridProtocolServer(this.regionData.IPListenPort - 500); // Changed so we can have more than one OGSServer per machine.
|
||||
// Are we actually using this?
|
||||
OGSServer = new OpenGridProtocolServer(this.regionData.IPListenPort - 500); // Changed so we can have more than one OGSServer per machine.
|
||||
|
||||
// we are in Grid mode so set a XmlRpc handler to handle "expect_user" calls from the user server
|
||||
httpServer.AddXmlRPCHandler("expect_user",
|
||||
|
@ -363,136 +372,135 @@ namespace OpenSim
|
|||
// SandBoxMode
|
||||
string attri = "";
|
||||
attri = configData.GetAttribute("SandBox");
|
||||
if ((attri == "")^(attri == "false"))
|
||||
if ((attri == "") || ((attri != "false") && (attri != "true")))
|
||||
{
|
||||
this.m_sandbox = false;
|
||||
configData.SetAttribute("SandBox", "false");
|
||||
}
|
||||
else if (attri == "true")
|
||||
else
|
||||
{
|
||||
this.m_sandbox = Convert.ToBoolean(attri);
|
||||
} else {
|
||||
m_console.WriteLine("Main.cs: SetupFromConfig() - Invalid value for SandBox attribute, terminating");
|
||||
Environment.Exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
// LoginServer
|
||||
attri = "";
|
||||
attri = configData.GetAttribute("LoginServer");
|
||||
if ((attri == "")^(attri == "false"))
|
||||
{
|
||||
if ((attri == "") || ((attri != "false") && (attri != "true")))
|
||||
{
|
||||
this.m_loginserver = false;
|
||||
configData.SetAttribute("LoginServer", "false");
|
||||
}
|
||||
else if (attri == "true")
|
||||
else
|
||||
{
|
||||
this.m_loginserver = Convert.ToBoolean(attri);
|
||||
} else {
|
||||
m_console.WriteLine("Main.cs: SetupFromConfig() - Invalid value for LoginServer attribute, terminating");
|
||||
Environment.Exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
// Sandbox User accounts
|
||||
attri = "";
|
||||
attri = configData.GetAttribute("UserAccount");
|
||||
if ((attri == "")^(attri == "false"))
|
||||
{
|
||||
if ((attri == "") || ((attri != "false") && (attri != "true")))
|
||||
{
|
||||
this.user_accounts = false;
|
||||
configData.SetAttribute("UserAccounts", "false");
|
||||
}
|
||||
else if (attri == "true")
|
||||
{
|
||||
this.user_accounts = Convert.ToBoolean(attri);
|
||||
} else {
|
||||
m_console.WriteLine("Main.cs: SetupFromConfig() - Invalid value for UserAccount attribute, terminating");
|
||||
Environment.Exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
// Grid mode hack to use local asset server
|
||||
attri = "";
|
||||
attri = configData.GetAttribute("LocalAssets");
|
||||
if ((attri == "")^(attri == "false"))
|
||||
{
|
||||
if ((attri == "") || ((attri != "false") && (attri != "true")))
|
||||
{
|
||||
this.gridLocalAsset = false;
|
||||
configData.SetAttribute("LocalAssets", "false");
|
||||
}
|
||||
else if (attri == "true")
|
||||
{
|
||||
this.gridLocalAsset = Convert.ToBoolean(attri);
|
||||
} else {
|
||||
m_console.WriteLine("Main.cs: SetupFromConfig() - Invalid value for LocalAssets attribute, terminating");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
attri = "";
|
||||
attri = "";
|
||||
attri = configData.GetAttribute("PhysicsEngine");
|
||||
switch(attri) {
|
||||
default:
|
||||
m_console.WriteLine("Main.cs: SetupFromConfig() - Invalid value for PhysicsEngine attribute, terminating");
|
||||
Environment.Exit(1);
|
||||
break;
|
||||
|
||||
case "":
|
||||
this.m_physicsEngine = "basicphysics";
|
||||
configData.SetAttribute("PhysicsEngine", "basicphysics");
|
||||
OpenSim.world.Avatar.PhysicsEngineFlying = false;
|
||||
break;
|
||||
switch (attri)
|
||||
{
|
||||
default:
|
||||
m_console.WriteLine("Main.cs: SetupFromConfig() - Invalid value for PhysicsEngine attribute, terminating");
|
||||
Environment.Exit(1);
|
||||
break;
|
||||
|
||||
case "RealPhysX":
|
||||
this.m_physicsEngine = "RealPhysX";
|
||||
OpenSim.world.Avatar.PhysicsEngineFlying = true;
|
||||
break;
|
||||
|
||||
case "OpenDynamicsEngine":
|
||||
this.m_physicsEngine = "OpenDynamicsEngine";
|
||||
OpenSim.world.Avatar.PhysicsEngineFlying = true;
|
||||
break;
|
||||
}
|
||||
case "":
|
||||
this.m_physicsEngine = "basicphysics";
|
||||
configData.SetAttribute("PhysicsEngine", "basicphysics");
|
||||
OpenSim.world.Avatar.PhysicsEngineFlying = false;
|
||||
break;
|
||||
|
||||
case "basicphysics":
|
||||
this.m_physicsEngine = "basicphysics";
|
||||
configData.SetAttribute("PhysicsEngine", "basicphysics");
|
||||
OpenSim.world.Avatar.PhysicsEngineFlying = false;
|
||||
break;
|
||||
|
||||
case "RealPhysX":
|
||||
this.m_physicsEngine = "RealPhysX";
|
||||
OpenSim.world.Avatar.PhysicsEngineFlying = true;
|
||||
break;
|
||||
|
||||
case "OpenDynamicsEngine":
|
||||
this.m_physicsEngine = "OpenDynamicsEngine";
|
||||
OpenSim.world.Avatar.PhysicsEngineFlying = true;
|
||||
break;
|
||||
}
|
||||
|
||||
configData.Commit();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e.Message);
|
||||
Console.WriteLine("\nSorry, a fatal error occurred while trying to initialise the configuration data");
|
||||
Console.WriteLine("Can not continue starting up");
|
||||
Environment.Exit(1);
|
||||
}
|
||||
Console.WriteLine("\nSorry, a fatal error occurred while trying to initialise the configuration data");
|
||||
Console.WriteLine("Can not continue starting up");
|
||||
Environment.Exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
private SimConfig LoadConfigDll(string dllName)
|
||||
{
|
||||
try {
|
||||
Assembly pluginAssembly = Assembly.LoadFrom(dllName);
|
||||
SimConfig config = null;
|
||||
|
||||
foreach (Type pluginType in pluginAssembly.GetTypes())
|
||||
try
|
||||
{
|
||||
if (pluginType.IsPublic)
|
||||
Assembly pluginAssembly = Assembly.LoadFrom(dllName);
|
||||
SimConfig config = null;
|
||||
|
||||
foreach (Type pluginType in pluginAssembly.GetTypes())
|
||||
{
|
||||
if (!pluginType.IsAbstract)
|
||||
if (pluginType.IsPublic)
|
||||
{
|
||||
Type typeInterface = pluginType.GetInterface("ISimConfig", true);
|
||||
|
||||
if (typeInterface != null)
|
||||
if (!pluginType.IsAbstract)
|
||||
{
|
||||
ISimConfig plug = (ISimConfig)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
|
||||
config = plug.GetConfigObject();
|
||||
break;
|
||||
}
|
||||
Type typeInterface = pluginType.GetInterface("ISimConfig", true);
|
||||
|
||||
typeInterface = null;
|
||||
if (typeInterface != null)
|
||||
{
|
||||
ISimConfig plug = (ISimConfig)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
|
||||
config = plug.GetConfigObject();
|
||||
break;
|
||||
}
|
||||
|
||||
typeInterface = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
pluginAssembly = null;
|
||||
return config;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_console.WriteLine(e.Message + "\nSorry, a fatal error occurred while trying to load the config DLL");
|
||||
m_console.WriteLine("Can not continue starting up");
|
||||
Environment.Exit(1);
|
||||
return null;
|
||||
}
|
||||
pluginAssembly = null;
|
||||
return config;
|
||||
} catch (Exception e) {
|
||||
m_console.WriteLine(e.Message + "\nSorry, a fatal error occurred while trying to load the config DLL");
|
||||
m_console.WriteLine("Can not continue starting up");
|
||||
Environment.Exit(1);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnReceivedData(IAsyncResult result)
|
||||
|
|
Loading…
Reference in New Issue