Merge of ubitworkvarnew with opensim/master as of 20150905.

This integrates the OpenSim refactoring to make physics, etc into modules.
AVN physics hasn't been moved to new location.
Does not compile yet.

Merge branch 'osmaster' into mbworknew1
This commit is contained in:
Robert Adams
2015-09-08 04:54:16 -07:00
270 changed files with 3105 additions and 5224 deletions

View File

@@ -36,17 +36,15 @@ using log4net;
using Nini.Config;
using OpenMetaverse;
using OpenSim.Framework;
using OpenSim.Framework.Communications;
using OpenSim.Framework.Console;
using OpenSim.Framework.Servers;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Framework.Monitoring;
using OpenSim.Region.ClientStack;
using OpenSim.Region.CoreModules.ServiceConnectorsOut.UserAccounts;
using OpenSim.Region.Framework;
using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes;
using OpenSim.Region.Physics.Manager;
using OpenSim.Region.PhysicsModules.SharedBase;
using OpenSim.Server.Base;
using OpenSim.Services.Base;
using OpenSim.Services.Interfaces;
@@ -121,19 +119,12 @@ namespace OpenSim
/// </value>
public OpenSimConfigSource ConfigSource { get; private set; }
public List<IClientNetworkServer> ClientServers
{
get { return m_clientServers; }
}
protected EnvConfigSource m_EnvConfigSource = new EnvConfigSource();
public EnvConfigSource envConfigSource
{
get { return m_EnvConfigSource; }
}
protected List<IClientNetworkServer> m_clientServers = new List<IClientNetworkServer>();
public uint HttpServerPort
{
@@ -371,9 +362,9 @@ namespace OpenSim
/// <param name="regionInfo"></param>
/// <param name="portadd_flag"></param>
/// <returns></returns>
public List<IClientNetworkServer> CreateRegion(RegionInfo regionInfo, bool portadd_flag, out IScene scene)
public void CreateRegion(RegionInfo regionInfo, bool portadd_flag, out IScene scene)
{
return CreateRegion(regionInfo, portadd_flag, false, out scene);
CreateRegion(regionInfo, portadd_flag, false, out scene);
}
/// <summary>
@@ -381,9 +372,9 @@ namespace OpenSim
/// </summary>
/// <param name="regionInfo"></param>
/// <returns></returns>
public List<IClientNetworkServer> CreateRegion(RegionInfo regionInfo, out IScene scene)
public void CreateRegion(RegionInfo regionInfo, out IScene scene)
{
return CreateRegion(regionInfo, false, true, out scene);
CreateRegion(regionInfo, false, true, out scene);
}
/// <summary>
@@ -393,7 +384,7 @@ namespace OpenSim
/// <param name="portadd_flag"></param>
/// <param name="do_post_init"></param>
/// <returns></returns>
public List<IClientNetworkServer> CreateRegion(RegionInfo regionInfo, bool portadd_flag, bool do_post_init, out IScene mscene)
public void CreateRegion(RegionInfo regionInfo, bool portadd_flag, bool do_post_init, out IScene mscene)
{
int port = regionInfo.InternalEndPoint.Port;
@@ -418,8 +409,7 @@ namespace OpenSim
Util.XmlRpcCommand(proxyUrl, "AddPort", port, port + proxyOffset, regionInfo.ExternalHostName);
}
List<IClientNetworkServer> clientServers;
Scene scene = SetupScene(regionInfo, proxyOffset, Config, out clientServers);
Scene scene = SetupScene(regionInfo, proxyOffset, Config);
m_log.Info("[MODULES]: Loading Region's modules (old style)");
@@ -511,14 +501,14 @@ namespace OpenSim
SceneManager.Add(scene);
if (m_autoCreateClientStack)
{
foreach (IClientNetworkServer clientserver in clientServers)
{
m_clientServers.Add(clientserver);
clientserver.Start();
}
}
//if (m_autoCreateClientStack)
//{
// foreach (IClientNetworkServer clientserver in clientServers)
// {
// m_clientServers.Add(clientserver);
// clientserver.Start();
// }
//}
if (scene.SnmpService != null)
{
@@ -534,7 +524,7 @@ namespace OpenSim
scene.SnmpService.LinkUp(scene);
}
return clientServers;
//return clientServers;
}
/// <summary>
@@ -673,7 +663,7 @@ namespace OpenSim
scene.DeleteAllSceneObjects();
SceneManager.CloseScene(scene);
ShutdownClientServer(scene.RegionInfo);
//ShutdownClientServer(scene.RegionInfo);
if (!cleanup)
return;
@@ -734,7 +724,7 @@ namespace OpenSim
}
SceneManager.CloseScene(scene);
ShutdownClientServer(scene.RegionInfo);
//ShutdownClientServer(scene.RegionInfo);
}
/// <summary>
@@ -755,9 +745,9 @@ namespace OpenSim
/// <param name="regionInfo"></param>
/// <param name="clientServer"> </param>
/// <returns></returns>
protected Scene SetupScene(RegionInfo regionInfo, out List<IClientNetworkServer> clientServer)
protected Scene SetupScene(RegionInfo regionInfo)
{
return SetupScene(regionInfo, 0, null, out clientServer);
return SetupScene(regionInfo, 0, null);
}
/// <summary>
@@ -768,55 +758,18 @@ namespace OpenSim
/// <param name="configSource"></param>
/// <param name="clientServer"> </param>
/// <returns></returns>
protected Scene SetupScene(
RegionInfo regionInfo, int proxyOffset, IConfigSource configSource, out List<IClientNetworkServer> clientServer)
protected Scene SetupScene(RegionInfo regionInfo, int proxyOffset, IConfigSource configSource)
{
List<IClientNetworkServer> clientNetworkServers = null;
//List<IClientNetworkServer> clientNetworkServers = null;
AgentCircuitManager circuitManager = new AgentCircuitManager();
IPAddress listenIP = regionInfo.InternalEndPoint.Address;
//if (!IPAddress.TryParse(regionInfo.InternalEndPoint, out listenIP))
// listenIP = IPAddress.Parse("0.0.0.0");
uint port = (uint) regionInfo.InternalEndPoint.Port;
if (m_autoCreateClientStack)
{
clientNetworkServers = m_clientStackManager.CreateServers(
listenIP, ref port, proxyOffset, regionInfo.m_allow_alternate_ports, configSource,
circuitManager);
}
else
{
clientServer = null;
}
regionInfo.InternalEndPoint.Port = (int) port;
Scene scene = CreateScene(regionInfo, m_simulationDataService, m_estateDataService, circuitManager);
if (m_autoCreateClientStack)
{
foreach (IClientNetworkServer clientnetserver in clientNetworkServers)
{
clientnetserver.AddScene(scene);
}
}
clientServer = clientNetworkServers;
scene.LoadWorldMap();
scene.PhysicsScene.RequestAssetMethod = scene.PhysicsRequestAsset;
scene.PhysicsScene.SetTerrain(scene.Heightmap.GetFloatsSerialised());
scene.PhysicsScene.SetWaterLevel((float) regionInfo.RegionSettings.WaterHeight);
return scene;
}
protected override ClientStackManager CreateClientStackManager()
{
return new ClientStackManager(m_configSettings.ClientstackDll);
}
protected override Scene CreateScene(RegionInfo regionInfo, ISimulationDataService simDataService,
IEstateDataService estateDataService, AgentCircuitManager circuitManager)
{
@@ -825,42 +778,18 @@ namespace OpenSim
SceneCommunicationService sceneGridService = new SceneCommunicationService();
return new Scene(
regionInfo, circuitManager, physicsScene, sceneGridService,
regionInfo, circuitManager,
simDataService, estateDataService,
Config, m_version);
}
protected void ShutdownClientServer(RegionInfo whichRegion)
{
// Close and remove the clientserver for a region
bool foundClientServer = false;
int clientServerElement = 0;
Location location = new Location(whichRegion.RegionHandle);
for (int i = 0; i < m_clientServers.Count; i++)
{
if (m_clientServers[i].HandlesRegion(location))
{
clientServerElement = i;
foundClientServer = true;
break;
}
}
if (foundClientServer)
{
m_clientServers[clientServerElement].Stop();
m_clientServers.RemoveAt(clientServerElement);
}
}
protected virtual void HandleRestartRegion(RegionInfo whichRegion)
{
m_log.InfoFormat(
"[OPENSIM]: Got restart signal from SceneManager for region {0} ({1},{2})",
whichRegion.RegionName, whichRegion.RegionLocX, whichRegion.RegionLocY);
ShutdownClientServer(whichRegion);
//ShutdownClientServer(whichRegion);
IScene scene;
CreateRegion(whichRegion, true, out scene);
scene.Start();
@@ -868,12 +797,6 @@ namespace OpenSim
# region Setup methods
protected override PhysicsScene GetPhysicsScene(string osSceneIdentifier, Vector3 regionExtent)
{
return GetPhysicsScene(
m_configSettings.PhysicsEngine, m_configSettings.MeshEngineName, Config, osSceneIdentifier, regionExtent);
}
/// <summary>
/// Handler to supply the current status of this sim
/// </summary>