aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Framework/Data.MySQL/MySQLDataStore.cs24
-rw-r--r--OpenSim/Framework/RegionInfo.cs4
-rw-r--r--OpenSim/Region/Application/OpenSimMain.cs19
-rw-r--r--OpenSim/Region/ClientStack/RegionApplicationBase.cs10
-rw-r--r--OpenSim/Region/Environment/Interfaces/IRegionDataStore.cs2
-rw-r--r--OpenSim/Region/Environment/StorageManager.cs8
-rw-r--r--OpenSim/Region/Examples/SimpleApp/Program.cs4
-rw-r--r--OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs14
-rw-r--r--OpenSim/Region/Storage/OpenSim.DataStore.NullStorage/NullDataStore.cs2
-rw-r--r--bin/OpenSim.ini.example10
10 files changed, 39 insertions, 58 deletions
diff --git a/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs b/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs
index c468414..343970e 100644
--- a/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs
+++ b/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs
@@ -36,7 +36,7 @@ namespace OpenSim.Framework.Data.MySQL
36 * 36 *
37 **********************************************************************/ 37 **********************************************************************/
38 38
39 public void Initialise(string connectionstring, string dbname) 39 public void Initialise(string connectionstring)
40 { 40 {
41 m_dataSet = new DataSet(); 41 m_dataSet = new DataSet();
42 42
@@ -307,23 +307,6 @@ namespace OpenSim.Framework.Data.MySQL
307 } 307 }
308 } 308 }
309 309
310 //private void DisplayTableMappings( MySqlDataAdapter adapter )
311 //{
312 // DataTableMappingCollection mappings = adapter.TableMappings;
313
314 // foreach( DataTableMapping mapping in mappings )
315 // {
316 // Debug.WriteLine( String.Format( "Source Table: ", mapping.SourceTable ));
317
318 // DataColumnMappingCollection columnMappings = mapping.ColumnMappings;
319
320 // foreach (DataColumnMapping columnMapping in columnMappings)
321 // {
322 // Debug.WriteLine( String.Format( "DataSet [{0}] <-> Source [{1}]", columnMapping.DataSetColumn, columnMapping.SourceColumn ));
323 // }
324 // }
325 //}
326
327 public void Commit() 310 public void Commit()
328 { 311 {
329 if (m_connection.State != ConnectionState.Open) 312 if (m_connection.State != ConnectionState.Open)
@@ -333,10 +316,7 @@ namespace OpenSim.Framework.Data.MySQL
333 316
334 lock (m_dataSet) 317 lock (m_dataSet)
335 { 318 {
336 DisplayDataSet(m_dataSet, "Region DataSet"); 319 // DisplayDataSet(m_dataSet, "Region DataSet");
337 //DisplayTableMappings(m_primDataAdapter);
338
339 // m_primDataAdapter.MissingMappingAction = MissingMappingAction.Error;
340 320
341 m_primDataAdapter.Update(m_primTable); 321 m_primDataAdapter.Update(m_primTable);
342 m_shapeDataAdapter.Update(m_shapeTable); 322 m_shapeDataAdapter.Update(m_shapeTable);
diff --git a/OpenSim/Framework/RegionInfo.cs b/OpenSim/Framework/RegionInfo.cs
index 2a75dbc..cfd15fc 100644
--- a/OpenSim/Framework/RegionInfo.cs
+++ b/OpenSim/Framework/RegionInfo.cs
@@ -249,7 +249,7 @@ namespace OpenSim.Framework
249 this.RegionName = source.Configs[sectionName].GetString("sim_name", "OpenSim Test"); 249 this.RegionName = source.Configs[sectionName].GetString("sim_name", "OpenSim Test");
250 this.m_regionLocX = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_x", "1000")); 250 this.m_regionLocX = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_x", "1000"));
251 this.m_regionLocY = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_y", "1000")); 251 this.m_regionLocY = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_y", "1000"));
252 this.DataStore = source.Configs[sectionName].GetString("datastore", "OpenSim.db"); 252 // this.DataStore = source.Configs[sectionName].GetString("datastore", "OpenSim.db");
253 253
254 string ipAddress = source.Configs[sectionName].GetString("internal_ip_address", "0.0.0.0"); 254 string ipAddress = source.Configs[sectionName].GetString("internal_ip_address", "0.0.0.0");
255 IPAddress ipAddressResult; 255 IPAddress ipAddressResult;
@@ -289,7 +289,7 @@ namespace OpenSim.Framework
289 configMember.addConfigurationOption("sim_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Region Name", "OpenSim Test", false); 289 configMember.addConfigurationOption("sim_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Region Name", "OpenSim Test", false);
290 configMember.addConfigurationOption("sim_location_x", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "Grid Location (X Axis)", "1000", false); 290 configMember.addConfigurationOption("sim_location_x", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "Grid Location (X Axis)", "1000", false);
291 configMember.addConfigurationOption("sim_location_y", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "Grid Location (Y Axis)", "1000", false); 291 configMember.addConfigurationOption("sim_location_y", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "Grid Location (Y Axis)", "1000", false);
292 configMember.addConfigurationOption("datastore", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Filename for local storage", "OpenSim.db", false); 292 //configMember.addConfigurationOption("datastore", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Filename for local storage", "OpenSim.db", false);
293 configMember.addConfigurationOption("internal_ip_address", ConfigurationOption.ConfigurationTypes.TYPE_IP_ADDRESS, "Internal IP Address for incoming UDP client connections", "0.0.0.0", false); 293 configMember.addConfigurationOption("internal_ip_address", ConfigurationOption.ConfigurationTypes.TYPE_IP_ADDRESS, "Internal IP Address for incoming UDP client connections", "0.0.0.0", false);
294 configMember.addConfigurationOption("internal_ip_port", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "Internal IP Port for incoming UDP client connections", NetworkServersInfo.DefaultHttpListenerPort.ToString(), false); 294 configMember.addConfigurationOption("internal_ip_port", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "Internal IP Port for incoming UDP client connections", NetworkServersInfo.DefaultHttpListenerPort.ToString(), false);
295 configMember.addConfigurationOption("external_host_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "External Host Name", "127.0.0.1", false); 295 configMember.addConfigurationOption("external_host_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "External Host Name", "127.0.0.1", false);
diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs
index 8677b7e..8d56222 100644
--- a/OpenSim/Region/Application/OpenSimMain.cs
+++ b/OpenSim/Region/Application/OpenSimMain.cs
@@ -64,24 +64,24 @@ namespace OpenSim
64 64
65 protected LocalLoginService m_loginService; 65 protected LocalLoginService m_loginService;
66 66
67 protected string m_storageDll = "OpenSim.DataStore.NullStorage.dll"; 67 protected string m_storageDll;
68 68
69 protected string m_startupCommandsFile = ""; 69 protected string m_startupCommandsFile;
70 protected string m_shutdownCommandsFile = ""; 70 protected string m_shutdownCommandsFile;
71 71
72 protected List<UDPServer> m_udpServers = new List<UDPServer>(); 72 protected List<UDPServer> m_udpServers = new List<UDPServer>();
73 protected List<RegionInfo> m_regionData = new List<RegionInfo>(); 73 protected List<RegionInfo> m_regionData = new List<RegionInfo>();
74 74
75 private bool m_verbose; 75 private bool m_verbose;
76 private bool m_physicalPrim; 76 private bool m_physicalPrim;
77 private readonly string m_logFilename = ("region-console.log"); 77 private readonly string m_logFilename = "region-console.log";
78 private bool m_permissions = false; 78 private bool m_permissions = false;
79 79
80 private bool m_standaloneAuthenticate = false; 80 private bool m_standaloneAuthenticate = false;
81 private string m_standaloneWelcomeMessage = null; 81 private string m_standaloneWelcomeMessage = null;
82 private string m_standaloneInventoryPlugin = "OpenSim.Framework.Data.SQLite.dll"; 82 private string m_standaloneInventoryPlugin;
83 private string m_standaloneAssetPlugin = "OpenSim.Framework.Data.SQLite.dll"; 83 private string m_standaloneAssetPlugin;
84 private string m_standaloneUserPlugin = "OpenSim.Framework.Data.SQLite.dll"; 84 private string m_standaloneUserPlugin;
85 85
86 private string m_assetStorage = "sqlite"; 86 private string m_assetStorage = "sqlite";
87 87
@@ -219,6 +219,7 @@ namespace OpenSim
219 m_permissions = startupConfig.GetBoolean("serverside_object_permissions", false); 219 m_permissions = startupConfig.GetBoolean("serverside_object_permissions", false);
220 220
221 m_storageDll = startupConfig.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll"); 221 m_storageDll = startupConfig.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll");
222 m_storageConnectionString = startupConfig.GetString("storage_connection_string","");
222 223
223 m_startupCommandsFile = startupConfig.GetString("startup_console_commands_file", ""); 224 m_startupCommandsFile = startupConfig.GetString("startup_console_commands_file", "");
224 m_shutdownCommandsFile = startupConfig.GetString("shutdown_console_commands_file", ""); 225 m_shutdownCommandsFile = startupConfig.GetString("shutdown_console_commands_file", "");
@@ -357,9 +358,9 @@ namespace OpenSim
357 new RegionInfo("DEFAULT REGION CONFIG", fileName); 358 new RegionInfo("DEFAULT REGION CONFIG", fileName);
358 } 359 }
359 360
360 protected override StorageManager CreateStorageManager(RegionInfo regionInfo) 361 protected override StorageManager CreateStorageManager(string connectionstring)
361 { 362 {
362 return new StorageManager(m_storageDll, regionInfo.DataStore, regionInfo.RegionName); 363 return new StorageManager(m_storageDll, connectionstring);
363 } 364 }
364 365
365 protected override Scene CreateScene(RegionInfo regionInfo, StorageManager storageManager, 366 protected override Scene CreateScene(RegionInfo regionInfo, StorageManager storageManager,
diff --git a/OpenSim/Region/ClientStack/RegionApplicationBase.cs b/OpenSim/Region/ClientStack/RegionApplicationBase.cs
index b0e6419..bcd845f 100644
--- a/OpenSim/Region/ClientStack/RegionApplicationBase.cs
+++ b/OpenSim/Region/ClientStack/RegionApplicationBase.cs
@@ -55,6 +55,9 @@ namespace OpenSim.Region.ClientStack
55 protected CommunicationsManager m_commsManager; 55 protected CommunicationsManager m_commsManager;
56 56
57 protected SceneManager m_sceneManager = new SceneManager(); 57 protected SceneManager m_sceneManager = new SceneManager();
58
59 protected StorageManager m_storageManager;
60 protected string m_storageConnectionString;
58 61
59 public SceneManager SceneManager 62 public SceneManager SceneManager
60 { 63 {
@@ -70,6 +73,8 @@ namespace OpenSim.Region.ClientStack
70 { 73 {
71 ClientView.TerrainManager = new TerrainManager(new SecondLife()); 74 ClientView.TerrainManager = new TerrainManager(new SecondLife());
72 75
76 m_storageManager = CreateStorageManager(m_storageConnectionString );
77
73 Initialize(); 78 Initialize();
74 79
75 m_httpServer = new BaseHttpServer(m_httpServerPort); 80 m_httpServer = new BaseHttpServer(m_httpServerPort);
@@ -88,7 +93,7 @@ namespace OpenSim.Region.ClientStack
88 93
89 protected abstract LogBase CreateLog(); 94 protected abstract LogBase CreateLog();
90 protected abstract PhysicsScene GetPhysicsScene(); 95 protected abstract PhysicsScene GetPhysicsScene();
91 protected abstract StorageManager CreateStorageManager(RegionInfo regionInfo); 96 protected abstract StorageManager CreateStorageManager(string connectionstring);
92 97
93 protected PhysicsScene GetPhysicsScene(string engine, string meshEngine) 98 protected PhysicsScene GetPhysicsScene(string engine, string meshEngine)
94 { 99 {
@@ -103,8 +108,7 @@ namespace OpenSim.Region.ClientStack
103 AgentCircuitManager circuitManager = new AgentCircuitManager(); 108 AgentCircuitManager circuitManager = new AgentCircuitManager();
104 udpServer = new UDPServer(regionInfo.InternalEndPoint.Port, m_assetCache, m_log, circuitManager); 109 udpServer = new UDPServer(regionInfo.InternalEndPoint.Port, m_assetCache, m_log, circuitManager);
105 110
106 StorageManager storageManager = CreateStorageManager(regionInfo); 111 Scene scene = CreateScene(regionInfo, m_storageManager, circuitManager);
107 Scene scene = CreateScene(regionInfo, storageManager, circuitManager);
108 112
109 udpServer.LocalScene = scene; 113 udpServer.LocalScene = scene;
110 114
diff --git a/OpenSim/Region/Environment/Interfaces/IRegionDataStore.cs b/OpenSim/Region/Environment/Interfaces/IRegionDataStore.cs
index e375343..90cdf0a 100644
--- a/OpenSim/Region/Environment/Interfaces/IRegionDataStore.cs
+++ b/OpenSim/Region/Environment/Interfaces/IRegionDataStore.cs
@@ -40,7 +40,7 @@ namespace OpenSim.Region.Environment.Interfaces
40 /// </summary> 40 /// </summary>
41 /// <param name="filename">The file to save the database to (may not be applicable)</param> 41 /// <param name="filename">The file to save the database to (may not be applicable)</param>
42 /// <param name="dbname">The name of the database to store to (may not be applicable)</param> 42 /// <param name="dbname">The name of the database to store to (may not be applicable)</param>
43 void Initialise(string filename, string dbname); 43 void Initialise(string filename);
44 44
45 void StoreObject(SceneObjectGroup obj, LLUUID regionUUID); 45 void StoreObject(SceneObjectGroup obj, LLUUID regionUUID);
46 void RemoveObject(LLUUID uuid, LLUUID regionUUID); 46 void RemoveObject(LLUUID uuid, LLUUID regionUUID);
diff --git a/OpenSim/Region/Environment/StorageManager.cs b/OpenSim/Region/Environment/StorageManager.cs
index 11f0ce0..b7bd8cc 100644
--- a/OpenSim/Region/Environment/StorageManager.cs
+++ b/OpenSim/Region/Environment/StorageManager.cs
@@ -47,7 +47,7 @@ namespace OpenSim.Region.Environment
47 m_dataStore = storage; 47 m_dataStore = storage;
48 } 48 }
49 49
50 public StorageManager(string dllName, string dataStoreFile, string dataStoreDB) 50 public StorageManager(string dllName, string connectionstring)
51 { 51 {
52 MainLog.Instance.Verbose("DATASTORE", "Attempting to load " + dllName); 52 MainLog.Instance.Verbose("DATASTORE", "Attempting to load " + dllName);
53 Assembly pluginAssembly = Assembly.LoadFrom(dllName); 53 Assembly pluginAssembly = Assembly.LoadFrom(dllName);
@@ -62,19 +62,15 @@ namespace OpenSim.Region.Environment
62 { 62 {
63 IRegionDataStore plug = 63 IRegionDataStore plug =
64 (IRegionDataStore) Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); 64 (IRegionDataStore) Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
65 plug.Initialise(dataStoreFile, dataStoreDB); 65 plug.Initialise(connectionstring);
66 66
67 m_dataStore = plug; 67 m_dataStore = plug;
68 68
69 MainLog.Instance.Verbose("DATASTORE", "Added IRegionDataStore Interface"); 69 MainLog.Instance.Verbose("DATASTORE", "Added IRegionDataStore Interface");
70 } 70 }
71
72 typeInterface = null;
73 } 71 }
74 } 72 }
75 73
76 pluginAssembly = null;
77
78 //TODO: Add checking and warning to make sure it initialised. 74 //TODO: Add checking and warning to make sure it initialised.
79 } 75 }
80 } 76 }
diff --git a/OpenSim/Region/Examples/SimpleApp/Program.cs b/OpenSim/Region/Examples/SimpleApp/Program.cs
index 73b8303..bd88e61 100644
--- a/OpenSim/Region/Examples/SimpleApp/Program.cs
+++ b/OpenSim/Region/Examples/SimpleApp/Program.cs
@@ -175,9 +175,9 @@ namespace SimpleApp
175 new ModuleLoader(m_log, m_config), true); 175 new ModuleLoader(m_log, m_config), true);
176 } 176 }
177 177
178 protected override StorageManager CreateStorageManager(RegionInfo regionInfo) 178 protected override StorageManager CreateStorageManager(string connectionstring)
179 { 179 {
180 return new StorageManager("OpenSim.DataStore.NullStorage.dll", "simpleapp.yap", "simpleapp"); 180 return new StorageManager("OpenSim.DataStore.NullStorage.dll", "simpleapp.yap");
181 } 181 }
182 182
183 protected override PhysicsScene GetPhysicsScene() 183 protected override PhysicsScene GetPhysicsScene()
diff --git a/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs b/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs
index 44461df..e49e225 100644
--- a/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs
+++ b/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs
@@ -50,7 +50,7 @@ namespace OpenSim.DataStore.MonoSqlite
50 private SqliteDataAdapter primDa; 50 private SqliteDataAdapter primDa;
51 private SqliteDataAdapter shapeDa; 51 private SqliteDataAdapter shapeDa;
52 private SqliteDataAdapter terrainDa; 52 private SqliteDataAdapter terrainDa;
53 private String connectionString; 53 private String m_connectionString;
54 54
55 /*********************************************************************** 55 /***********************************************************************
56 * 56 *
@@ -58,14 +58,14 @@ namespace OpenSim.DataStore.MonoSqlite
58 * 58 *
59 **********************************************************************/ 59 **********************************************************************/
60 60
61 public void Initialise(string dbfile, string dbname) 61 public void Initialise(string connectionString)
62 { 62 {
63 connectionString = "URI=file:" + dbfile + ",version=3"; 63 m_connectionString = connectionString;
64 64
65 ds = new DataSet(); 65 ds = new DataSet();
66 66
67 MainLog.Instance.Verbose("DATASTORE", "Sqlite - connecting: " + dbfile); 67 MainLog.Instance.Verbose("DATASTORE", "Sqlite - connecting: " + connectionString);
68 SqliteConnection conn = new SqliteConnection(connectionString); 68 SqliteConnection conn = new SqliteConnection(m_connectionString);
69 69
70 SqliteCommand primSelectCmd = new SqliteCommand(primSelect, conn); 70 SqliteCommand primSelectCmd = new SqliteCommand(primSelect, conn);
71 primDa = new SqliteDataAdapter(primSelectCmd); 71 primDa = new SqliteDataAdapter(primSelectCmd);
@@ -266,7 +266,7 @@ namespace OpenSim.DataStore.MonoSqlite
266 266
267 // the following is an work around for .NET. The perf 267 // the following is an work around for .NET. The perf
268 // issues associated with it aren't as bad as you think. 268 // issues associated with it aren't as bad as you think.
269 SqliteConnection conn = new SqliteConnection(connectionString); 269 SqliteConnection conn = new SqliteConnection(m_connectionString);
270 conn.Open(); 270 conn.Open();
271 MainLog.Instance.Verbose("DATASTORE", "Storing terrain revision r" + revision.ToString()); 271 MainLog.Instance.Verbose("DATASTORE", "Storing terrain revision r" + revision.ToString());
272 String sql = "insert into terrain(RegionUUID, Revision, Heightfield)" + 272 String sql = "insert into terrain(RegionUUID, Revision, Heightfield)" +
@@ -288,7 +288,7 @@ namespace OpenSim.DataStore.MonoSqlite
288 terret.Initialize(); 288 terret.Initialize();
289 // the following is an work around for .NET. The perf 289 // the following is an work around for .NET. The perf
290 // issues associated with it aren't as bad as you think. 290 // issues associated with it aren't as bad as you think.
291 SqliteConnection conn = new SqliteConnection(connectionString); 291 SqliteConnection conn = new SqliteConnection(m_connectionString);
292 conn.Open(); 292 conn.Open();
293 String sql = "select RegionUUID, Revision, Heightfield from terrain" + 293 String sql = "select RegionUUID, Revision, Heightfield from terrain" +
294 " where RegionUUID=:RegionUUID order by Revision desc"; 294 " where RegionUUID=:RegionUUID order by Revision desc";
diff --git a/OpenSim/Region/Storage/OpenSim.DataStore.NullStorage/NullDataStore.cs b/OpenSim/Region/Storage/OpenSim.DataStore.NullStorage/NullDataStore.cs
index 4e1f71e..657cfab 100644
--- a/OpenSim/Region/Storage/OpenSim.DataStore.NullStorage/NullDataStore.cs
+++ b/OpenSim/Region/Storage/OpenSim.DataStore.NullStorage/NullDataStore.cs
@@ -36,7 +36,7 @@ namespace OpenSim.DataStore.NullStorage
36{ 36{
37 public class NullDataStore : IRegionDataStore 37 public class NullDataStore : IRegionDataStore
38 { 38 {
39 public void Initialise(string dbfile, string dbname) 39 public void Initialise(string dbfile)
40 { 40 {
41 return; 41 return;
42 } 42 }
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example
index 1e64f75..6f772c4 100644
--- a/bin/OpenSim.ini.example
+++ b/bin/OpenSim.ini.example
@@ -16,16 +16,16 @@ physics = basicphysics
16;physics = modified_BulletX 16;physics = modified_BulletX
17 17
18; *** Prim Storage - only leave one storage_plugin uncommented *** 18; *** Prim Storage - only leave one storage_plugin uncommented ***
19; --- The NullStorage stores nothing - effectively disabling persistence. 19; --- The NullStorage stores nothing - effectively disabling persistence:
20; storage_plugin = "OpenSim.DataStore.NullStorage.dll" 20; storage_plugin = "OpenSim.DataStore.NullStorage.dll"
21 21
22; --- To use sqlite as region storage - don't forget to add datastore="MonoSqliteFilename.db" 22; --- To use sqlite as region storage:
23; to region config xml (ie /Regions/default.xml) as the storages are (currently supposed to be) per region.
24storage_plugin = "OpenSim.DataStore.MonoSqlite.dll" 23storage_plugin = "OpenSim.DataStore.MonoSqlite.dll"
24storage_connection_string="URI=file:OpenSim.db,version=3";
25 25
26; --- This is to use MySQL storage - don't forget to add datastore="<MySql Connection String>" 26; --- To use MySQL storage, supply your own connectionstring:
27; to region config xml (ie /Regions/default.xml) as the storages are (currently supposed to be) per region.
28; storage_plugin="OpenSim.Framework.Data.MySQL.dll" 27; storage_plugin="OpenSim.Framework.Data.MySQL.dll"
28; storage_connection_string="<MySql Connection String>";
29 29
30startup_console_commands_file = "startup_commands.txt" 30startup_console_commands_file = "startup_commands.txt"
31shutdown_console_commands_file = "shutdown_commands.txt" 31shutdown_console_commands_file = "shutdown_commands.txt"