Tweak to PrimLimits and add missing Regions.ini example

Signed-off-by: Melanie <melanie@t-data.com>
0.8.0.3
Dev Random 2014-04-12 09:40:36 -04:00 committed by Melanie
parent f0998a9222
commit 18b91fdbe9
2 changed files with 10 additions and 17 deletions

View File

@ -175,15 +175,9 @@ namespace OpenSim.Region.OptionalModules
private string DoCommonChecks(int objectCount, UUID ownerID, ILandObject lo, Scene scene)
{
string response = null;
EstateSettings estateSettings = scene.RegionInfo.EstateSettings;
// counts don't seem to be updated, so force it.
scene.EventManager.TriggerParcelPrimCountUpdate();
int usedPrims = lo.PrimCounts.Total;
int simulatorCapacity = lo.GetSimulatorMaxPrimCount();
if ((objectCount + usedPrims) > simulatorCapacity)
if ((objectCount + lo.PrimCounts.Total) > simulatorCapacity)
{
response = "Unable to rez object because the parcel is too full";
}
@ -195,21 +189,16 @@ namespace OpenSim.Region.OptionalModules
// per-user prim limit is set
if (ownerID != lo.LandData.OwnerID || lo.LandData.IsGroupOwned)
{
// caller is not the sole parcel owner
// caller is not the sole Parcel owner
EstateSettings estateSettings = scene.RegionInfo.EstateSettings;
if (ownerID != estateSettings.EstateOwner)
{
// caller is NOT the Estate owner
List<UUID> mgrs = new List<UUID>(estateSettings.EstateManagers);
if (!mgrs.Contains(ownerID))
{
// caller is NOT an Estate Manager, so check quota
Dictionary<UUID, int> objectMap = lo.GetLandObjectOwners();
int currentCount;
if (!objectMap.TryGetValue(ownerID, out currentCount))
{
currentCount = 0;
}
if ((currentCount + objectCount) > maxPrimsPerUser)
// caller is not an Estate Manager
if ((lo.PrimCounts.Users[ownerID] + objectCount) > maxPrimsPerUser)
{
response = "Unable to rez object because you have reached your limit";
}

View File

@ -34,6 +34,10 @@ ExternalHostName = "SYSTEMIP"
; MaxPrims = 15000
; MaxAgents = 100
; * Max prims per user (per parcel).
; * Negative values will disable the check.
; MaxPrimsPerUser = -1
; *
; * Multi-Tenancy. Only set if needed
; *