diff --git a/OpenSim/Data/IRegionData.cs b/OpenSim/Data/IRegionData.cs index 41c74f251a..140bc961af 100644 --- a/OpenSim/Data/IRegionData.cs +++ b/OpenSim/Data/IRegionData.cs @@ -71,6 +71,7 @@ namespace OpenSim.Data FallbackRegion = 2, // Regions we redirect to when the destination is down RegionOnline = 4, // Set when a region comes online, unset when it unregisters and DeleteOnUnregister is false NoDirectLogin = 8, // Region unavailable for direct logins (by name) - Persistent = 16 // Don't remove on unregister + Persistent = 16, // Don't remove on unregister + LockedOut = 32 // Don't allow registration } } diff --git a/OpenSim/Services/GridService/GridService.cs b/OpenSim/Services/GridService/GridService.cs index 66bbff037d..c48b10cc8a 100644 --- a/OpenSim/Services/GridService/GridService.cs +++ b/OpenSim/Services/GridService/GridService.cs @@ -119,6 +119,9 @@ namespace OpenSim.Services.GridService if (region != null) { + if ((Convert.ToInt32(region.Data["flags"]) & (int)OpenSim.Data.RegionFlags.LockedOut) != 0) + return false; + rdata.Data["flags"] = region.Data["flags"]; // Preserve fields } else