From a1da6057066b2dadfa96ddb2f64df83a0b246ee4 Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Wed, 4 Feb 2009 18:56:12 +0000 Subject: * Introduce a new "default" option for asset_database in the [STORAGE] section * This option makes OpenSim use the usual db based asset service in standalone, and the grid based one in grid mode * The other options can (local, grid, etc) can still be used explicitly as before * Also change OpenSim.ini.example and the surrounding explanative text --- OpenSim/Framework/Communications/Cache/FileAssetClient.cs | 1 + OpenSim/Region/Application/ConfigurationLoader.cs | 2 +- OpenSim/Region/Application/OpenSimBase.cs | 6 +++++- .../Environment/Modules/World/Terrain/TerrainModule.cs | 1 + bin/OpenSim.ini.example | 13 +++++++++++-- 5 files changed, 19 insertions(+), 4 deletions(-) diff --git a/OpenSim/Framework/Communications/Cache/FileAssetClient.cs b/OpenSim/Framework/Communications/Cache/FileAssetClient.cs index 8b8172e..9a60b53 100644 --- a/OpenSim/Framework/Communications/Cache/FileAssetClient.cs +++ b/OpenSim/Framework/Communications/Cache/FileAssetClient.cs @@ -43,6 +43,7 @@ namespace OpenSim.Framework.Communications.Cache } m_dir = dir; } + public override void StoreAsset(AssetBase asset) { byte[] idBytes = asset.Metadata.FullID.Guid.ToByteArray(); diff --git a/OpenSim/Region/Application/ConfigurationLoader.cs b/OpenSim/Region/Application/ConfigurationLoader.cs index 7ee4062..3492a19 100644 --- a/OpenSim/Region/Application/ConfigurationLoader.cs +++ b/OpenSim/Region/Application/ConfigurationLoader.cs @@ -200,7 +200,7 @@ namespace OpenSim config.Set("startup_console_commands_file", String.Empty); config.Set("shutdown_console_commands_file", String.Empty); config.Set("DefaultScriptEngine", "XEngine"); - config.Set("asset_database", "local"); + config.Set("asset_database", "default"); config.Set("clientstack_plugin", "OpenSim.Region.ClientStack.LindenUDP.dll"); // life doesn't really work without this config.Set("EventQueue", true); diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index e3a81d1..ec40384 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs @@ -269,8 +269,12 @@ namespace OpenSim /// protected virtual void InitialiseAssetCache() { + // If the assetcache is set to default, then use the grid asset service in grid mode and the local database + // based asset service in standalone mode + IAssetServer assetServer; - if (m_configSettings.AssetStorage == "grid") + if (m_configSettings.AssetStorage == "grid" + || (m_configSettings.AssetStorage == "default" && false == m_configSettings.Standalone)) { assetServer = new GridAssetClient(m_networkServersInfo.AssetURL); } diff --git a/OpenSim/Region/Environment/Modules/World/Terrain/TerrainModule.cs b/OpenSim/Region/Environment/Modules/World/Terrain/TerrainModule.cs index 76d06cb..00237b3 100644 --- a/OpenSim/Region/Environment/Modules/World/Terrain/TerrainModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Terrain/TerrainModule.cs @@ -495,6 +495,7 @@ namespace OpenSim.Region.Environment.Modules.World.Terrain m_commander.ProcessConsoleCommand("help", new string[0]); return; } + string[] tmpArgs = new string[args.Length - 2]; int i; for (i = 2; i < args.Length; i++) diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 532a710..481cbbf 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -91,8 +91,17 @@ ; If you're running a region server connecting to a grid, you probably want grid mode, since this will use the ; grid asset server. If you select local in grid mode, then you will use a database as specified in asset_plugin to store assets ; locally. This will mean you won't be able to take items using your assets to other people's regions. - asset_database = "local" - ;asset_database = "grid" + + ; asset_database can be default, local or grid. This controls where assets (textures, scripts, etc.) are stored for your region + ; + ; If set to default, then + ; In standalone mode the local database based asset service will be used + ; In grid mode the grid asset service will be used for asset storage + ; This is probably the setting that you want. + ; + ; If set to local then the local database based asset service will be used in standalone and grid modes + ; If set to grid then the grid based asset service will be used in standalone and grid modes + asset_database = "default" ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to ; prevent frequently changing objects from heavily loading the region data store. -- cgit v1.1