diff --git a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs index 24d9010b98..fb844667c6 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs @@ -137,7 +137,7 @@ namespace OpenSim.Region.Communications.OGS1 try { GridReq = new XmlRpcRequest("simulator_login", SendParams); - GridResp = GridReq.Send(serversInfo.GridURL, 10000); + GridResp = GridReq.Send(serversInfo.GridURL, 16000); } catch (Exception ex) { m_log.Error("Unable to connect to grid. Grid server not running?"); diff --git a/OpenSim/Region/Environment/EstateManager.cs b/OpenSim/Region/Environment/EstateManager.cs index 860bd93979..96baf21bd6 100644 --- a/OpenSim/Region/Environment/EstateManager.cs +++ b/OpenSim/Region/Environment/EstateManager.cs @@ -237,6 +237,26 @@ namespace OpenSim.Region.Environment bool scripted = convertParamStringToBool(packet.ParamList[0].Parameter); bool collisionEvents = convertParamStringToBool(packet.ParamList[1].Parameter); bool physics = convertParamStringToBool(packet.ParamList[2].Parameter); + + if (physics) + { + m_scene.RegionInfo.EstateSettings.regionFlags |= Simulator.RegionFlags.SkipPhysics; + } + else + { + m_scene.RegionInfo.EstateSettings.regionFlags &= ~Simulator.RegionFlags.SkipPhysics; + } + + if (scripted) + { + m_scene.RegionInfo.EstateSettings.regionFlags |= Simulator.RegionFlags.SkipScripts; + } + else + { + m_scene.RegionInfo.EstateSettings.regionFlags &= ~Simulator.RegionFlags.SkipScripts; + } + + m_scene.SetSceneCoreDebug(scripted, collisionEvents, physics); } diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index d0acded40d..40a80c487a 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs @@ -283,6 +283,23 @@ namespace OpenSim.Region.Environment.Scenes httpListener = httpServer; m_dumpAssetsToFile = dumpAssetsToFile; + if ((RegionInfo.EstateSettings.regionFlags & Simulator.RegionFlags.SkipScripts) == Simulator.RegionFlags.SkipScripts) + { + m_scripts_enabled = false; + } + else + { + m_scripts_enabled = true; + } + if ((RegionInfo.EstateSettings.regionFlags & Simulator.RegionFlags.SkipPhysics) == Simulator.RegionFlags.SkipPhysics) + { + m_physics_enabled = false; + } + else + { + m_physics_enabled = true; + } + m_statsReporter = new SimStatsReporter(regInfo); m_statsReporter.OnSendStatsResult += SendSimStatsPackets; } @@ -483,6 +500,37 @@ namespace OpenSim.Region.Environment.Scenes if (m_scripts_enabled != !ScriptEngine) { // Tedd! Here's the method to disable the scripting engine! + if (ScriptEngine) + { + m_log.Info("Stopping all Scripts in Scene"); + lock (Entities) + { + foreach (EntityBase ent in Entities.Values) + { + if (ent is SceneObjectGroup) + { + ((SceneObjectGroup)ent).StopScripts(); + } + } + } + } + else + { + m_log.Info("Starting all Scripts in Scene"); + lock (Entities) + { + foreach (EntityBase ent in Entities.Values) + { + if (ent is SceneObjectGroup) + { + ((SceneObjectGroup)ent).StartScripts(); + } + } + } + + + } + m_scripts_enabled = !ScriptEngine; m_log.Info("[TOTEDD]: Here is the method to trigger disabling of the scripting engine"); } if (m_physics_enabled != !PhysicsEngine) diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.Inventory.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.Inventory.cs index 1e99079f79..6bd0575697 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.Inventory.cs @@ -88,10 +88,14 @@ namespace OpenSim.Region.Environment.Scenes /// public void StartScripts() { - foreach (SceneObjectPart part in m_parts.Values) + // Don't start scripts if they're turned off in the region! + if (!((m_scene.RegionInfo.EstateSettings.regionFlags & Simulator.RegionFlags.SkipScripts) == Simulator.RegionFlags.SkipScripts)) { - part.StartScripts(); - } + foreach (SceneObjectPart part in m_parts.Values) + { + part.StartScripts(); + } + } } public void StopScripts()