Add [EntityTransfer] AllowAvatarCrossing setting to determine whether avatars are allowed to cross regions at all.

Defaults to true.  For test purposes.
ghosts
Justin Clark-Casey (justincc) 2014-09-03 00:25:56 +01:00
parent d582db6132
commit ac866a1c46
3 changed files with 22 additions and 1 deletions

View File

@ -224,6 +224,12 @@ namespace OpenSim.Region.Framework.Scenes
public bool m_clampPrimSize; public bool m_clampPrimSize;
public bool m_trustBinaries; public bool m_trustBinaries;
public bool m_allowScriptCrossings = true; public bool m_allowScriptCrossings = true;
/// <summary>
/// Can avatars cross from and to this region?
/// </summary>
public bool AllowAvatarCrossing { get; set; }
public bool m_useFlySlow; public bool m_useFlySlow;
public bool m_useTrashOnDelete = true; public bool m_useTrashOnDelete = true;
@ -1023,6 +1029,12 @@ namespace OpenSim.Region.Framework.Scenes
#endregion Region Config #endregion Region Config
IConfig entityTransferConfig = m_config.Configs["EntityTransfer"];
if (entityTransferConfig != null)
{
AllowAvatarCrossing = entityTransferConfig.GetBoolean("AllowAvatarCrossing", AllowAvatarCrossing);
}
#region Interest Management #region Interest Management
IConfig interestConfig = m_config.Configs["InterestManagement"]; IConfig interestConfig = m_config.Configs["InterestManagement"];
@ -1091,6 +1103,8 @@ namespace OpenSim.Region.Framework.Scenes
CollidablePrims = true; CollidablePrims = true;
PhysicsEnabled = true; PhysicsEnabled = true;
AllowAvatarCrossing = true;
PeriodicBackup = true; PeriodicBackup = true;
UseBackup = true; UseBackup = true;
@ -5613,6 +5627,9 @@ namespace OpenSim.Region.Framework.Scenes
return true; return true;
} }
if (!AllowAvatarCrossing && !viaTeleport)
return false;
// FIXME: Root agent count is currently known to be inaccurate. This forces a recount before we check. // FIXME: Root agent count is currently known to be inaccurate. This forces a recount before we check.
// However, the long term fix is to make sure root agent count is always accurate. // However, the long term fix is to make sure root agent count is always accurate.
m_sceneGraph.RecalculateStats(); m_sceneGraph.RecalculateStats();

View File

@ -3226,7 +3226,8 @@ namespace OpenSim.Region.Framework.Scenes
m_lastVelocity = Velocity; m_lastVelocity = Velocity;
} }
CheckForBorderCrossing(); if (Scene.AllowAvatarCrossing)
CheckForBorderCrossing();
CheckForSignificantMovement(); // sends update to the modules. CheckForSignificantMovement(); // sends update to the modules.
} }

View File

@ -711,6 +711,9 @@
; ;
max_distance = 65535 max_distance = 65535
; Allow avatars to cross into and out of the region.
AllowAvatarCrossing = true
; Minimum user level required for HyperGrid teleports ; Minimum user level required for HyperGrid teleports
LevelHGTeleport = 0 LevelHGTeleport = 0