diff options
Diffstat (limited to 'OpenSim/Region/Application/OpenSimBase.cs')
-rw-r--r-- | OpenSim/Region/Application/OpenSimBase.cs | 119 |
1 files changed, 54 insertions, 65 deletions
diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index 200c7bf..39991dc 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs | |||
@@ -76,35 +76,19 @@ namespace OpenSim | |||
76 | /// </summary> | 76 | /// </summary> |
77 | protected const string DEFAULT_INV_BACKUP_FILENAME = "opensim_inv.tar.gz"; | 77 | protected const string DEFAULT_INV_BACKUP_FILENAME = "opensim_inv.tar.gz"; |
78 | 78 | ||
79 | public string m_physicsEngine; | 79 | protected ConfigSettings m_configSettings = new ConfigSettings(); |
80 | public string m_meshEngineName; | ||
81 | public bool m_sandbox; | ||
82 | public bool user_accounts; | ||
83 | public bool m_gridLocalAsset; | ||
84 | public bool m_see_into_region_from_neighbor; | ||
85 | 80 | ||
86 | protected GridInfoService m_gridInfoService; | 81 | public ConfigSettings ConfigurationSettings |
82 | { | ||
83 | get { return m_configSettings; } | ||
84 | set { m_configSettings = value; } | ||
85 | } | ||
87 | 86 | ||
88 | protected string m_storageDll; | 87 | protected GridInfoService m_gridInfoService; |
89 | protected string m_clientstackDll; | ||
90 | 88 | ||
91 | protected List<IClientNetworkServer> m_clientServers = new List<IClientNetworkServer>(); | 89 | protected List<IClientNetworkServer> m_clientServers = new List<IClientNetworkServer>(); |
92 | protected List<RegionInfo> m_regionData = new List<RegionInfo>(); | 90 | protected List<RegionInfo> m_regionData = new List<RegionInfo>(); |
93 | 91 | ||
94 | protected bool m_physicalPrim; | ||
95 | |||
96 | protected bool m_standaloneAuthenticate = false; | ||
97 | protected string m_standaloneWelcomeMessage = null; | ||
98 | protected string m_standaloneInventoryPlugin; | ||
99 | protected string m_standaloneAssetPlugin; | ||
100 | protected string m_standaloneUserPlugin; | ||
101 | |||
102 | private string m_standaloneInventorySource; | ||
103 | private string m_standaloneAssetSource; | ||
104 | private string m_standaloneUserSource; | ||
105 | |||
106 | protected string m_assetStorage = "local"; | ||
107 | |||
108 | public ConsoleCommand CreateAccount = null; | 92 | public ConsoleCommand CreateAccount = null; |
109 | protected bool m_dumpAssetsToFile; | 93 | protected bool m_dumpAssetsToFile; |
110 | 94 | ||
@@ -154,8 +138,13 @@ namespace OpenSim | |||
154 | /// <param name="configSource"></param> | 138 | /// <param name="configSource"></param> |
155 | public OpenSimBase(IConfigSource configSource) : base() | 139 | public OpenSimBase(IConfigSource configSource) : base() |
156 | { | 140 | { |
141 | LoadConfigSettings(configSource); | ||
142 | } | ||
143 | |||
144 | protected void LoadConfigSettings(IConfigSource configSource) | ||
145 | { | ||
157 | bool iniFileExists = false; | 146 | bool iniFileExists = false; |
158 | 147 | ||
159 | IConfig startupConfig = configSource.Configs["Startup"]; | 148 | IConfig startupConfig = configSource.Configs["Startup"]; |
160 | 149 | ||
161 | string iniFileName = startupConfig.GetString("inifile", "OpenSim.ini"); | 150 | string iniFileName = startupConfig.GetString("inifile", "OpenSim.ini"); |
@@ -166,8 +155,8 @@ namespace OpenSim | |||
166 | 155 | ||
167 | m_config = new OpenSimConfigSource(); | 156 | m_config = new OpenSimConfigSource(); |
168 | m_config.Source = new IniConfigSource(); | 157 | m_config.Source = new IniConfigSource(); |
169 | m_config.Source.Merge(DefaultConfig()); | 158 | m_config.Source.Merge(DefaultConfig()); |
170 | 159 | ||
171 | //check for .INI file (either default or name passed in command line) | 160 | //check for .INI file (either default or name passed in command line) |
172 | if (File.Exists(masterfilePath)) | 161 | if (File.Exists(masterfilePath)) |
173 | { | 162 | { |
@@ -177,24 +166,24 @@ namespace OpenSim | |||
177 | if (File.Exists(Application.iniFilePath)) | 166 | if (File.Exists(Application.iniFilePath)) |
178 | { | 167 | { |
179 | iniFileExists = true; | 168 | iniFileExists = true; |
180 | 169 | ||
181 | // From reading Nini's code, it seems that later merged keys replace earlier ones. | 170 | // From reading Nini's code, it seems that later merged keys replace earlier ones. |
182 | m_config.Source.Merge(new IniConfigSource(Application.iniFilePath)); | 171 | m_config.Source.Merge(new IniConfigSource(Application.iniFilePath)); |
183 | } | 172 | } |
184 | else | 173 | else |
185 | { | 174 | { |
186 | // check for a xml config file | 175 | // check for a xml config file |
187 | Application.iniFilePath = Path.Combine(Util.configDir(), "OpenSim.xml"); | 176 | Application.iniFilePath = Path.Combine(Util.configDir(), "OpenSim.xml"); |
188 | 177 | ||
189 | if (File.Exists(Application.iniFilePath)) | 178 | if (File.Exists(Application.iniFilePath)) |
190 | { | 179 | { |
191 | iniFileExists = true; | 180 | iniFileExists = true; |
192 | 181 | ||
193 | m_config.Source = new XmlConfigSource(); | 182 | m_config.Source = new XmlConfigSource(); |
194 | m_config.Source.Merge(new XmlConfigSource(Application.iniFilePath)); | 183 | m_config.Source.Merge(new XmlConfigSource(Application.iniFilePath)); |
195 | } | 184 | } |
196 | } | 185 | } |
197 | 186 | ||
198 | m_config.Source.Merge(configSource); | 187 | m_config.Source.Merge(configSource); |
199 | 188 | ||
200 | if (!iniFileExists) | 189 | if (!iniFileExists) |
@@ -282,40 +271,40 @@ namespace OpenSim | |||
282 | 271 | ||
283 | if (startupConfig != null) | 272 | if (startupConfig != null) |
284 | { | 273 | { |
285 | m_sandbox = !startupConfig.GetBoolean("gridmode"); | 274 | m_configSettings.Sandbox = !startupConfig.GetBoolean("gridmode"); |
286 | m_physicsEngine = startupConfig.GetString("physics"); | 275 | m_configSettings.PhysicsEngine = startupConfig.GetString("physics"); |
287 | m_meshEngineName = startupConfig.GetString("meshing"); | 276 | m_configSettings.MeshEngineName = startupConfig.GetString("meshing"); |
288 | 277 | ||
289 | m_physicalPrim = startupConfig.GetBoolean("physical_prim"); | 278 | m_configSettings.PhysicalPrim = startupConfig.GetBoolean("physical_prim"); |
290 | 279 | ||
291 | m_see_into_region_from_neighbor = startupConfig.GetBoolean("see_into_this_sim_from_neighbor"); | 280 | m_configSettings.See_into_region_from_neighbor = startupConfig.GetBoolean("see_into_this_sim_from_neighbor"); |
292 | 281 | ||
293 | m_storageDll = startupConfig.GetString("storage_plugin"); | 282 | m_configSettings.StorageDll = startupConfig.GetString("storage_plugin"); |
294 | if (m_storageDll == "OpenSim.DataStore.MonoSqlite.dll") | 283 | if (m_configSettings.StorageDll == "OpenSim.DataStore.MonoSqlite.dll") |
295 | { | 284 | { |
296 | m_storageDll = "OpenSim.Data.SQLite.dll"; | 285 | m_configSettings.StorageDll = "OpenSim.Data.SQLite.dll"; |
297 | Console.WriteLine("WARNING: OpenSim.DataStore.MonoSqlite.dll is deprecated. Set storage_plugin to OpenSim.Data.SQLite.dll."); | 286 | Console.WriteLine("WARNING: OpenSim.DataStore.MonoSqlite.dll is deprecated. Set storage_plugin to OpenSim.Data.SQLite.dll."); |
298 | Thread.Sleep(3000); | 287 | Thread.Sleep(3000); |
299 | } | 288 | } |
300 | 289 | ||
301 | m_storageConnectionString = startupConfig.GetString("storage_connection_string"); | 290 | m_storageConnectionString = startupConfig.GetString("storage_connection_string"); |
302 | m_estateConnectionString = startupConfig.GetString("estate_connection_string", m_storageConnectionString); | 291 | m_estateConnectionString = startupConfig.GetString("estate_connection_string", m_storageConnectionString); |
303 | m_assetStorage = startupConfig.GetString("asset_database"); | 292 | m_configSettings.AssetStorage = startupConfig.GetString("asset_database"); |
304 | m_clientstackDll = startupConfig.GetString("clientstack_plugin"); | 293 | m_configSettings.ClientstackDll = startupConfig.GetString("clientstack_plugin"); |
305 | } | 294 | } |
306 | 295 | ||
307 | IConfig standaloneConfig = m_config.Source.Configs["StandAlone"]; | 296 | IConfig standaloneConfig = m_config.Source.Configs["StandAlone"]; |
308 | if (standaloneConfig != null) | 297 | if (standaloneConfig != null) |
309 | { | 298 | { |
310 | m_standaloneAuthenticate = standaloneConfig.GetBoolean("accounts_authenticate"); | 299 | m_configSettings.StandaloneAuthenticate = standaloneConfig.GetBoolean("accounts_authenticate"); |
311 | m_standaloneWelcomeMessage = standaloneConfig.GetString("welcome_message"); | 300 | m_configSettings.StandaloneWelcomeMessage = standaloneConfig.GetString("welcome_message"); |
312 | 301 | ||
313 | m_standaloneInventoryPlugin = standaloneConfig.GetString("inventory_plugin"); | 302 | m_configSettings.StandaloneInventoryPlugin = standaloneConfig.GetString("inventory_plugin"); |
314 | m_standaloneInventorySource = standaloneConfig.GetString("inventory_source"); | 303 | m_configSettings.StandaloneInventorySource = standaloneConfig.GetString("inventory_source"); |
315 | m_standaloneUserPlugin = standaloneConfig.GetString("userDatabase_plugin"); | 304 | m_configSettings.StandaloneUserPlugin = standaloneConfig.GetString("userDatabase_plugin"); |
316 | m_standaloneUserSource = standaloneConfig.GetString("user_source"); | 305 | m_configSettings.StandaloneUserSource = standaloneConfig.GetString("user_source"); |
317 | m_standaloneAssetPlugin = standaloneConfig.GetString("asset_plugin"); | 306 | m_configSettings.StandaloneAssetPlugin = standaloneConfig.GetString("asset_plugin"); |
318 | m_standaloneAssetSource = standaloneConfig.GetString("asset_source"); | 307 | m_configSettings.StandaloneAssetSource = standaloneConfig.GetString("asset_source"); |
319 | 308 | ||
320 | m_dumpAssetsToFile = standaloneConfig.GetBoolean("dump_assets_to_file"); | 309 | m_dumpAssetsToFile = standaloneConfig.GetBoolean("dump_assets_to_file"); |
321 | } | 310 | } |
@@ -345,22 +334,22 @@ namespace OpenSim | |||
345 | LibraryRootFolder libraryRootFolder = new LibraryRootFolder(); | 334 | LibraryRootFolder libraryRootFolder = new LibraryRootFolder(); |
346 | 335 | ||
347 | // StandAlone mode? m_sandbox is determined by !startupConfig.GetBoolean("gridmode", false) | 336 | // StandAlone mode? m_sandbox is determined by !startupConfig.GetBoolean("gridmode", false) |
348 | if (m_sandbox) | 337 | if (m_configSettings.Sandbox) |
349 | { | 338 | { |
350 | LocalInventoryService inventoryService = new LocalInventoryService(); | 339 | LocalInventoryService inventoryService = new LocalInventoryService(); |
351 | inventoryService.AddPlugin(m_standaloneInventoryPlugin, m_standaloneInventorySource); | 340 | inventoryService.AddPlugin(m_configSettings.StandaloneInventoryPlugin, m_configSettings.StandaloneInventorySource); |
352 | 341 | ||
353 | LocalUserServices userService = | 342 | LocalUserServices userService = |
354 | new LocalUserServices(m_networkServersInfo, m_networkServersInfo.DefaultHomeLocX, | 343 | new LocalUserServices(m_networkServersInfo, m_networkServersInfo.DefaultHomeLocX, |
355 | m_networkServersInfo.DefaultHomeLocY, inventoryService); | 344 | m_networkServersInfo.DefaultHomeLocY, inventoryService); |
356 | userService.AddPlugin(m_standaloneUserPlugin, m_standaloneUserSource); | 345 | userService.AddPlugin(m_configSettings.StandaloneUserPlugin, m_configSettings.StandaloneUserSource); |
357 | 346 | ||
358 | LocalBackEndServices backendService = new LocalBackEndServices(); | 347 | LocalBackEndServices backendService = new LocalBackEndServices(); |
359 | 348 | ||
360 | LocalLoginService loginService = | 349 | LocalLoginService loginService = |
361 | new LocalLoginService( | 350 | new LocalLoginService( |
362 | userService, m_standaloneWelcomeMessage, inventoryService, backendService, m_networkServersInfo, | 351 | userService, m_configSettings.StandaloneWelcomeMessage, inventoryService, backendService, m_networkServersInfo, |
363 | m_standaloneAuthenticate, libraryRootFolder); | 352 | m_configSettings.StandaloneAuthenticate, libraryRootFolder); |
364 | 353 | ||
365 | m_commsManager | 354 | m_commsManager |
366 | = new CommunicationsLocal( | 355 | = new CommunicationsLocal( |
@@ -413,27 +402,27 @@ namespace OpenSim | |||
413 | m_httpServerPort = m_networkServersInfo.HttpListenerPort; | 402 | m_httpServerPort = m_networkServersInfo.HttpListenerPort; |
414 | 403 | ||
415 | IAssetServer assetServer; | 404 | IAssetServer assetServer; |
416 | if (m_assetStorage == "grid") | 405 | if (m_configSettings.AssetStorage == "grid") |
417 | { | 406 | { |
418 | assetServer = new GridAssetClient(m_networkServersInfo.AssetURL); | 407 | assetServer = new GridAssetClient(m_networkServersInfo.AssetURL); |
419 | } | 408 | } |
420 | else if (m_assetStorage == "cryptogrid") // Decrypt-Only | 409 | else if (m_configSettings.AssetStorage == "cryptogrid") // Decrypt-Only |
421 | { | 410 | { |
422 | assetServer = new CryptoGridAssetClient(m_networkServersInfo.AssetURL, | 411 | assetServer = new CryptoGridAssetClient(m_networkServersInfo.AssetURL, |
423 | Environment.CurrentDirectory, true); | 412 | Environment.CurrentDirectory, true); |
424 | } | 413 | } |
425 | else if (m_assetStorage == "cryptogrid_eou") // Encrypts All Assets | 414 | else if (m_configSettings.AssetStorage == "cryptogrid_eou") // Encrypts All Assets |
426 | { | 415 | { |
427 | assetServer = new CryptoGridAssetClient(m_networkServersInfo.AssetURL, | 416 | assetServer = new CryptoGridAssetClient(m_networkServersInfo.AssetURL, |
428 | Environment.CurrentDirectory, false); | 417 | Environment.CurrentDirectory, false); |
429 | } | 418 | } |
430 | else if (m_assetStorage == "file") | 419 | else if (m_configSettings.AssetStorage == "file") |
431 | { | 420 | { |
432 | assetServer = new FileAssetClient(m_networkServersInfo.AssetURL); | 421 | assetServer = new FileAssetClient(m_networkServersInfo.AssetURL); |
433 | } | 422 | } |
434 | else | 423 | else |
435 | { | 424 | { |
436 | SQLAssetServer sqlAssetServer = new SQLAssetServer(m_standaloneAssetPlugin, m_standaloneAssetSource); | 425 | SQLAssetServer sqlAssetServer = new SQLAssetServer(m_configSettings.StandaloneAssetPlugin, m_configSettings.StandaloneAssetSource); |
437 | sqlAssetServer.LoadDefaultAssets(); | 426 | sqlAssetServer.LoadDefaultAssets(); |
438 | assetServer = sqlAssetServer; | 427 | assetServer = sqlAssetServer; |
439 | } | 428 | } |
@@ -587,12 +576,12 @@ namespace OpenSim | |||
587 | 576 | ||
588 | protected override StorageManager CreateStorageManager(string connectionstring, string estateconnectionstring) | 577 | protected override StorageManager CreateStorageManager(string connectionstring, string estateconnectionstring) |
589 | { | 578 | { |
590 | return new StorageManager(m_storageDll, connectionstring, estateconnectionstring); | 579 | return new StorageManager(m_configSettings.StorageDll, connectionstring, estateconnectionstring); |
591 | } | 580 | } |
592 | 581 | ||
593 | protected override ClientStackManager CreateClientStackManager() | 582 | protected override ClientStackManager CreateClientStackManager() |
594 | { | 583 | { |
595 | return new ClientStackManager(m_clientstackDll); | 584 | return new ClientStackManager(m_configSettings.ClientstackDll); |
596 | } | 585 | } |
597 | 586 | ||
598 | protected override Scene CreateScene(RegionInfo regionInfo, StorageManager storageManager, | 587 | protected override Scene CreateScene(RegionInfo regionInfo, StorageManager storageManager, |
@@ -602,7 +591,7 @@ namespace OpenSim | |||
602 | return | 591 | return |
603 | new Scene(regionInfo, circuitManager, m_commsManager, sceneGridService, m_assetCache, | 592 | new Scene(regionInfo, circuitManager, m_commsManager, sceneGridService, m_assetCache, |
604 | storageManager, m_httpServer, | 593 | storageManager, m_httpServer, |
605 | m_moduleLoader, m_dumpAssetsToFile, m_physicalPrim, m_see_into_region_from_neighbor, m_config.Source, | 594 | m_moduleLoader, m_dumpAssetsToFile, m_configSettings.PhysicalPrim, m_configSettings.See_into_region_from_neighbor, m_config.Source, |
606 | m_version); | 595 | m_version); |
607 | } | 596 | } |
608 | 597 | ||
@@ -650,7 +639,7 @@ namespace OpenSim | |||
650 | 639 | ||
651 | protected override PhysicsScene GetPhysicsScene() | 640 | protected override PhysicsScene GetPhysicsScene() |
652 | { | 641 | { |
653 | return GetPhysicsScene(m_physicsEngine, m_meshEngineName, m_config.Source); | 642 | return GetPhysicsScene(m_configSettings.PhysicsEngine, m_configSettings.MeshEngineName, m_config.Source); |
654 | } | 643 | } |
655 | 644 | ||
656 | /// <summary> | 645 | /// <summary> |