diff --git a/OpenSim/Region/OptionalModules/PrimLimitsModule/PrimLimitsModule.cs b/OpenSim/Region/OptionalModules/PrimLimitsModule/PrimLimitsModule.cs index 0aee191fac..dd02bc7645 100644 --- a/OpenSim/Region/OptionalModules/PrimLimitsModule/PrimLimitsModule.cs +++ b/OpenSim/Region/OptionalModules/PrimLimitsModule/PrimLimitsModule.cs @@ -56,13 +56,23 @@ namespace OpenSim.Region.OptionalModules { protected IDialogModule m_dialogModule; private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - + private bool m_enabled; + public string Name { get { return "Prim Limits Module"; } } public Type ReplaceableInterface { get { return null; } } public void Initialise(IConfigSource source) { + IConfig moduleConfig = source.Configs["PrimLimitsModule"]; + if (moduleConfig != null) + { + this.m_enabled = moduleConfig.GetBoolean("EnforcePrimLimits", false); + } + else + { + this.m_enabled = false; + } m_log.DebugFormat("[PRIM LIMITS]: INITIALIZED MODULE"); } @@ -73,6 +83,10 @@ namespace OpenSim.Region.OptionalModules public void AddRegion(Scene scene) { + if(!m_enabled) + { + return; + } scene.Permissions.OnRezObject += CanRezObject; scene.Permissions.OnObjectEntry += CanObjectEnter; scene.Permissions.OnDuplicateObject += CanDuplicateObject; @@ -81,6 +95,10 @@ namespace OpenSim.Region.OptionalModules public void RemoveRegion(Scene scene) { + if(m_enabled) + { + return; + } scene.Permissions.OnRezObject -= CanRezObject; scene.Permissions.OnObjectEntry -= CanObjectEnter; scene.Permissions.OnDuplicateObject -= CanDuplicateObject; diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 13dc9a67ab..c5df0dba58 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -736,6 +736,10 @@ ;; Enable media on a prim facilities ; Enabled = true; +[PrimLimitsModule] + ;# {EnforcePrimLimits} {} {Enforce parcel prim limits} {true false} false + ;; Enable parcel prim limits. Off by default to emulate pre-existing behavior. + ; EnforcePrimLimits = false [Architecture] ;# {Include-Architecture} {} {Choose one of the following architectures} {config-include/Standalone.ini config-include/StandaloneHypergrid.ini config-include/Grid.ini config-include/GridHypergrid.ini config-include/SimianGrid.ini config-include/HyperSimianGrid.ini} config-include/Standalone.ini