diff --git a/OpenSim/Framework/Console/CommandConsole.cs b/OpenSim/Framework/Console/CommandConsole.cs index 52bcd5599b..be36cf2c10 100644 --- a/OpenSim/Framework/Console/CommandConsole.cs +++ b/OpenSim/Framework/Console/CommandConsole.cs @@ -592,9 +592,7 @@ namespace OpenSim.Framework.Console string line = ReadLine(m_defaultPrompt + "# ", true, true); if (line != String.Empty) - { - m_log.Info("[CONSOLE] Invalid command"); - } + Output("Invalid command"); } public void RunCommand(string cmd) diff --git a/OpenSim/Framework/RegionInfo.cs b/OpenSim/Framework/RegionInfo.cs index d154bff5e9..f4437e020e 100644 --- a/OpenSim/Framework/RegionInfo.cs +++ b/OpenSim/Framework/RegionInfo.cs @@ -371,6 +371,7 @@ namespace OpenSim.Framework private int m_physPrimMax = 0; private bool m_clampPrimSize = false; private int m_objectCapacity = 0; + private int m_agentCapacity = 0; private string m_regionType = String.Empty; private RegionLightShareData m_windlight = new RegionLightShareData(); protected uint m_httpPort; @@ -549,6 +550,11 @@ namespace OpenSim.Framework get { return m_objectCapacity; } } + public int AgentCapacity + { + get { return m_agentCapacity; } + } + public byte AccessLevel { get { return (byte)Util.ConvertMaturityToAccessLevel((uint)RegionSettings.Maturity); } @@ -827,6 +833,8 @@ namespace OpenSim.Framework m_objectCapacity = config.GetInt("MaxPrims", 15000); + m_agentCapacity = config.GetInt("MaxAgents", 100); + // Multi-tenancy // @@ -866,6 +874,9 @@ namespace OpenSim.Framework if (m_objectCapacity != 0) config.Set("MaxPrims", m_objectCapacity); + if (m_agentCapacity != 0) + config.Set("MaxAgents", m_agentCapacity); + if (ScopeID != UUID.Zero) config.Set("ScopeID", ScopeID.ToString()); @@ -952,6 +963,9 @@ namespace OpenSim.Framework configMember.addConfigurationOption("object_capacity", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "Max objects this sim will hold", m_objectCapacity.ToString(), true); + configMember.addConfigurationOption("agent_capacity", ConfigurationOption.ConfigurationTypes.TYPE_INT32, + "Max avatars this sim will hold", m_agentCapacity.ToString(), true); + configMember.addConfigurationOption("scope_id", ConfigurationOption.ConfigurationTypes.TYPE_UUID, "Scope ID for this region", ScopeID.ToString(), true); @@ -1067,6 +1081,9 @@ namespace OpenSim.Framework case "object_capacity": m_objectCapacity = (int)configuration_result; break; + case "agent_capacity": + m_agentCapacity = (int)configuration_result; + break; case "scope_id": ScopeID = (UUID)configuration_result; break; diff --git a/OpenSim/Framework/Servers/VersionInfo.cs b/OpenSim/Framework/Servers/VersionInfo.cs index ce6ecf8a9d..24758e8562 100644 --- a/OpenSim/Framework/Servers/VersionInfo.cs +++ b/OpenSim/Framework/Servers/VersionInfo.cs @@ -29,7 +29,7 @@ namespace OpenSim { public class VersionInfo { - private const string VERSION_NUMBER = "0.7.1"; + private const string VERSION_NUMBER = "0.7.2"; private const Flavour VERSION_FLAVOUR = Flavour.Dev; public enum Flavour diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs index c7244c88ef..6dd871faa3 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs @@ -182,9 +182,12 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory public InventoryCollection GetFolderContent(UUID userID, UUID folderID) { InventoryCollection invCol = m_InventoryService.GetFolderContent(userID, folderID); - if (UserManager != null) - foreach (InventoryItemBase item in invCol.Items) - UserManager.AddUser(item.CreatorIdAsUuid, item.CreatorData); + Util.FireAndForget(delegate + { + if (UserManager != null) + foreach (InventoryItemBase item in invCol.Items) + UserManager.AddUser(item.CreatorIdAsUuid, item.CreatorData); + }); return invCol; } diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs index bd01bb944f..8f1f25774a 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs @@ -46,10 +46,22 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private bool m_Enabled = false; - private bool m_Initialized = false; -// private Scene m_Scene; + private Scene m_Scene; private XInventoryServicesConnector m_RemoteConnector; + private IUserManagement m_UserManager; + private IUserManagement UserManager + { + get + { + if (m_UserManager == null) + { + m_UserManager = m_Scene.RequestModuleInterface(); + } + return m_UserManager; + } + } + public Type ReplaceableInterface { get { return null; } @@ -114,12 +126,10 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory if (!m_Enabled) return; - if (!m_Initialized) - { - m_Initialized = true; - } - scene.RegisterModuleInterface(this); + + if (m_Scene == null) + m_Scene = scene; } public void RemoveRegion(Scene scene) @@ -173,7 +183,15 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory public InventoryCollection GetFolderContent(UUID userID, UUID folderID) { - return m_RemoteConnector.GetFolderContent(userID, folderID); + InventoryCollection invCol = m_RemoteConnector.GetFolderContent(userID, folderID); + Util.FireAndForget(delegate + { + if (UserManager != null) + foreach (InventoryItemBase item in invCol.Items) + UserManager.AddUser(item.CreatorIdAsUuid, item.CreatorData); + }); + + return invCol; } public List GetFolderItems(UUID userID, UUID folderID) diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs index 598948ac9d..7d5f1098cd 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs @@ -127,7 +127,10 @@ namespace OpenSim.Region.CoreModules.World.Estate else Scene.RegionInfo.RegionSettings.AllowLandResell = true; - Scene.RegionInfo.RegionSettings.AgentLimit = (byte) maxAgents; + if((byte)maxAgents <= Scene.RegionInfo.AgentCapacity) + Scene.RegionInfo.RegionSettings.AgentLimit = (byte) maxAgents; + else + Scene.RegionInfo.RegionSettings.AgentLimit = Scene.RegionInfo.AgentCapacity; Scene.RegionInfo.RegionSettings.ObjectBonus = objectBonusFactor; diff --git a/OpenSim/Services/Connectors/Inventory/XInventoryConnector.cs b/OpenSim/Services/Connectors/Inventory/XInventoryConnector.cs index cd9f2bfcff..a662abb867 100644 --- a/OpenSim/Services/Connectors/Inventory/XInventoryConnector.cs +++ b/OpenSim/Services/Connectors/Inventory/XInventoryConnector.cs @@ -158,7 +158,10 @@ namespace OpenSim.Services.Connectors public InventoryCollection GetFolderContent(UUID principalID, UUID folderID) { InventoryCollection inventory = new InventoryCollection(); - + inventory.Folders = new List(); + inventory.Items = new List(); + inventory.UserID = principalID; + try { Dictionary ret = MakeRequest("GETFOLDERCONTENT", @@ -172,11 +175,6 @@ namespace OpenSim.Services.Connectors if (ret.Count == 0) return null; - - inventory.Folders = new List(); - inventory.Items = new List(); - inventory.UserID = principalID; - Dictionary folders = (Dictionary)ret["FOLDERS"]; Dictionary items = diff --git a/OpenSim/Services/InventoryService/XInventoryService.cs b/OpenSim/Services/InventoryService/XInventoryService.cs index e602412be1..0af35c84ac 100644 --- a/OpenSim/Services/InventoryService/XInventoryService.cs +++ b/OpenSim/Services/InventoryService/XInventoryService.cs @@ -244,7 +244,7 @@ namespace OpenSim.Services.InventoryService // connector. So we disregard the principal and look // by ID. // - m_log.DebugFormat("[XINVENTORY SERVICE]: Fetch contents for folder {0}", folderID.ToString()); + //m_log.DebugFormat("[XINVENTORY SERVICE]: Fetch contents for folder {0}", folderID.ToString()); InventoryCollection inventory = new InventoryCollection(); inventory.UserID = principalID; inventory.Folders = new List(); diff --git a/bin/Castle.Core.dll b/bin/Castle.Core.dll deleted file mode 100644 index 2464e66160..0000000000 Binary files a/bin/Castle.Core.dll and /dev/null differ diff --git a/bin/Castle.DynamicProxy.dll b/bin/Castle.DynamicProxy.dll deleted file mode 100644 index 8540495107..0000000000 Binary files a/bin/Castle.DynamicProxy.dll and /dev/null differ diff --git a/bin/Castle.DynamicProxy2.dll b/bin/Castle.DynamicProxy2.dll deleted file mode 100644 index 83e192e901..0000000000 Binary files a/bin/Castle.DynamicProxy2.dll and /dev/null differ diff --git a/bin/DotSets.dll b/bin/DotSets.dll deleted file mode 100644 index 5225651409..0000000000 Binary files a/bin/DotSets.dll and /dev/null differ diff --git a/bin/Mono.PEToolkit.dll b/bin/Mono.PEToolkit.dll deleted file mode 100644 index b4c3e70e67..0000000000 Binary files a/bin/Mono.PEToolkit.dll and /dev/null differ diff --git a/bin/RAIL.dll b/bin/RAIL.dll deleted file mode 100644 index f2632d71b6..0000000000 Binary files a/bin/RAIL.dll and /dev/null differ diff --git a/bin/RegionConfig.ini.example b/bin/RegionConfig.ini.example index d45fe9de2e..ff00ddf022 100644 --- a/bin/RegionConfig.ini.example +++ b/bin/RegionConfig.ini.example @@ -28,6 +28,7 @@ ExternalHostName = "SYSTEMIP" ; PhysicalPrimMax = 10 ; ClampPrimSize = False ; MaxPrims = 15000 +; MaxAgents = 100 ; * ; * Multi-Tenancy. Only set if needed diff --git a/prebuild.xml b/prebuild.xml index 16b5bfae50..e87036c1ee 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -2194,7 +2194,6 @@ - @@ -2232,8 +2231,6 @@ - - @@ -2266,8 +2263,6 @@ - - @@ -2306,8 +2301,6 @@ - - @@ -2336,7 +2329,6 @@ - @@ -2378,7 +2370,6 @@ - @@ -2417,7 +2408,6 @@ -