diff options
Diffstat (limited to 'OpenSim/Region/Application/OpenSimBase.cs')
-rw-r--r-- | OpenSim/Region/Application/OpenSimBase.cs | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index bed9a49..3f7a773 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs | |||
@@ -331,7 +331,7 @@ namespace OpenSim | |||
331 | /// <param name="regionInfo"></param> | 331 | /// <param name="regionInfo"></param> |
332 | /// <param name="portadd_flag"></param> | 332 | /// <param name="portadd_flag"></param> |
333 | /// <returns></returns> | 333 | /// <returns></returns> |
334 | public IClientNetworkServer CreateRegion(RegionInfo regionInfo, bool portadd_flag, out IScene scene) | 334 | public List<IClientNetworkServer> CreateRegion(RegionInfo regionInfo, bool portadd_flag, out IScene scene) |
335 | { | 335 | { |
336 | return CreateRegion(regionInfo, portadd_flag, false, out scene); | 336 | return CreateRegion(regionInfo, portadd_flag, false, out scene); |
337 | } | 337 | } |
@@ -341,7 +341,7 @@ namespace OpenSim | |||
341 | /// </summary> | 341 | /// </summary> |
342 | /// <param name="regionInfo"></param> | 342 | /// <param name="regionInfo"></param> |
343 | /// <returns></returns> | 343 | /// <returns></returns> |
344 | public IClientNetworkServer CreateRegion(RegionInfo regionInfo, out IScene scene) | 344 | public List<IClientNetworkServer> CreateRegion(RegionInfo regionInfo, out IScene scene) |
345 | { | 345 | { |
346 | return CreateRegion(regionInfo, false, true, out scene); | 346 | return CreateRegion(regionInfo, false, true, out scene); |
347 | } | 347 | } |
@@ -353,7 +353,7 @@ namespace OpenSim | |||
353 | /// <param name="portadd_flag"></param> | 353 | /// <param name="portadd_flag"></param> |
354 | /// <param name="do_post_init"></param> | 354 | /// <param name="do_post_init"></param> |
355 | /// <returns></returns> | 355 | /// <returns></returns> |
356 | public IClientNetworkServer CreateRegion(RegionInfo regionInfo, bool portadd_flag, bool do_post_init, out IScene mscene) | 356 | public List<IClientNetworkServer> CreateRegion(RegionInfo regionInfo, bool portadd_flag, bool do_post_init, out IScene mscene) |
357 | { | 357 | { |
358 | int port = regionInfo.InternalEndPoint.Port; | 358 | int port = regionInfo.InternalEndPoint.Port; |
359 | 359 | ||
@@ -378,8 +378,8 @@ namespace OpenSim | |||
378 | Util.XmlRpcCommand(proxyUrl, "AddPort", port, port + proxyOffset, regionInfo.ExternalHostName); | 378 | Util.XmlRpcCommand(proxyUrl, "AddPort", port, port + proxyOffset, regionInfo.ExternalHostName); |
379 | } | 379 | } |
380 | 380 | ||
381 | IClientNetworkServer clientServer; | 381 | List<IClientNetworkServer> clientServers; |
382 | Scene scene = SetupScene(regionInfo, proxyOffset, Config, out clientServer); | 382 | Scene scene = SetupScene(regionInfo, proxyOffset, Config, out clientServers); |
383 | 383 | ||
384 | m_log.Info("[MODULES]: Loading Region's modules (old style)"); | 384 | m_log.Info("[MODULES]: Loading Region's modules (old style)"); |
385 | 385 | ||
@@ -483,8 +483,11 @@ namespace OpenSim | |||
483 | 483 | ||
484 | if (m_autoCreateClientStack) | 484 | if (m_autoCreateClientStack) |
485 | { | 485 | { |
486 | m_clientServers.Add(clientServer); | 486 | foreach (IClientNetworkServer clientserver in clientServers) |
487 | clientServer.Start(); | 487 | { |
488 | m_clientServers.Add(clientserver); | ||
489 | clientserver.Start(); | ||
490 | } | ||
488 | } | 491 | } |
489 | 492 | ||
490 | if (scene.SnmpService != null) | 493 | if (scene.SnmpService != null) |
@@ -504,7 +507,7 @@ namespace OpenSim | |||
504 | scene.Start(); | 507 | scene.Start(); |
505 | scene.StartScripts(); | 508 | scene.StartScripts(); |
506 | 509 | ||
507 | return clientServer; | 510 | return clientServers; |
508 | } | 511 | } |
509 | 512 | ||
510 | /// <summary> | 513 | /// <summary> |
@@ -725,7 +728,7 @@ namespace OpenSim | |||
725 | /// <param name="regionInfo"></param> | 728 | /// <param name="regionInfo"></param> |
726 | /// <param name="clientServer"> </param> | 729 | /// <param name="clientServer"> </param> |
727 | /// <returns></returns> | 730 | /// <returns></returns> |
728 | protected Scene SetupScene(RegionInfo regionInfo, out IClientNetworkServer clientServer) | 731 | protected Scene SetupScene(RegionInfo regionInfo, out List<IClientNetworkServer> clientServer) |
729 | { | 732 | { |
730 | return SetupScene(regionInfo, 0, null, out clientServer); | 733 | return SetupScene(regionInfo, 0, null, out clientServer); |
731 | } | 734 | } |
@@ -739,19 +742,20 @@ namespace OpenSim | |||
739 | /// <param name="clientServer"> </param> | 742 | /// <param name="clientServer"> </param> |
740 | /// <returns></returns> | 743 | /// <returns></returns> |
741 | protected Scene SetupScene( | 744 | protected Scene SetupScene( |
742 | RegionInfo regionInfo, int proxyOffset, IConfigSource configSource, out IClientNetworkServer clientServer) | 745 | RegionInfo regionInfo, int proxyOffset, IConfigSource configSource, out List<IClientNetworkServer> clientServer) |
743 | { | 746 | { |
747 | List<IClientNetworkServer> clientNetworkServers = null; | ||
748 | |||
744 | AgentCircuitManager circuitManager = new AgentCircuitManager(); | 749 | AgentCircuitManager circuitManager = new AgentCircuitManager(); |
745 | IPAddress listenIP = regionInfo.InternalEndPoint.Address; | 750 | IPAddress listenIP = regionInfo.InternalEndPoint.Address; |
746 | //if (!IPAddress.TryParse(regionInfo.InternalEndPoint, out listenIP)) | 751 | //if (!IPAddress.TryParse(regionInfo.InternalEndPoint, out listenIP)) |
747 | // listenIP = IPAddress.Parse("0.0.0.0"); | 752 | // listenIP = IPAddress.Parse("0.0.0.0"); |
748 | 753 | ||
749 | uint port = (uint) regionInfo.InternalEndPoint.Port; | 754 | uint port = (uint) regionInfo.InternalEndPoint.Port; |
750 | 755 | IClientNetworkServer clientNetworkServer; | |
751 | if (m_autoCreateClientStack) | 756 | if (m_autoCreateClientStack) |
752 | { | 757 | { |
753 | clientServer | 758 | clientNetworkServers = m_clientStackManager.CreateServers( |
754 | = m_clientStackManager.CreateServer( | ||
755 | listenIP, ref port, proxyOffset, regionInfo.m_allow_alternate_ports, configSource, | 759 | listenIP, ref port, proxyOffset, regionInfo.m_allow_alternate_ports, configSource, |
756 | circuitManager); | 760 | circuitManager); |
757 | } | 761 | } |
@@ -766,9 +770,12 @@ namespace OpenSim | |||
766 | 770 | ||
767 | if (m_autoCreateClientStack) | 771 | if (m_autoCreateClientStack) |
768 | { | 772 | { |
769 | clientServer.AddScene(scene); | 773 | foreach (IClientNetworkServer clientnetserver in clientNetworkServers) |
774 | { | ||
775 | clientnetserver.AddScene(scene); | ||
776 | } | ||
770 | } | 777 | } |
771 | 778 | clientServer = clientNetworkServers; | |
772 | scene.LoadWorldMap(); | 779 | scene.LoadWorldMap(); |
773 | 780 | ||
774 | scene.PhysicsScene = GetPhysicsScene(scene.RegionInfo.RegionName); | 781 | scene.PhysicsScene = GetPhysicsScene(scene.RegionInfo.RegionName); |