* Added MySQLDataStore (adapted from MonoSqlite

* Made startup a little bit more forgiving on dll load
* Minor renamings and musings
afrisby
lbsa71 2007-11-15 15:32:28 +00:00
parent 179695909a
commit 57ff76850d
6 changed files with 1065 additions and 14 deletions

View File

@ -14,7 +14,7 @@ using Nini.Config;
[assembly:Addin] [assembly:Addin]
[assembly:AddinDependency ("OpenSim", "0.4")] [assembly:AddinDependency ("OpenSim", "0.4")]
namespace OpenSim.ApplicationPlugins.Example namespace OpenSim.ApplicationPlugins.LoadRegions
{ {
[Extension("/OpenSim/Startup")] [Extension("/OpenSim/Startup")]
public class LoadRegionsPlugin : IApplicationPlugin public class LoadRegionsPlugin : IApplicationPlugin
@ -55,4 +55,4 @@ namespace OpenSim.ApplicationPlugins.Example
} }
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -64,7 +64,7 @@ namespace OpenSim
protected LocalLoginService m_loginService; protected LocalLoginService m_loginService;
protected string m_storageDLL = "OpenSim.DataStore.NullStorage.dll"; protected string m_storageDll = "OpenSim.DataStore.NullStorage.dll";
protected string m_startupCommandsFile = ""; protected string m_startupCommandsFile = "";
protected string m_shutdownCommandsFile = ""; protected string m_shutdownCommandsFile = "";
@ -218,7 +218,7 @@ namespace OpenSim
m_physicalPrim = startupConfig.GetBoolean("physical_prim", true); m_physicalPrim = startupConfig.GetBoolean("physical_prim", true);
m_permissions = startupConfig.GetBoolean("serverside_object_permissions", false); m_permissions = startupConfig.GetBoolean("serverside_object_permissions", false);
m_storageDLL = startupConfig.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll"); m_storageDll = startupConfig.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll");
m_startupCommandsFile = startupConfig.GetString("startup_console_commands_file", ""); m_startupCommandsFile = startupConfig.GetString("startup_console_commands_file", "");
m_shutdownCommandsFile = startupConfig.GetString("shutdown_console_commands_file", ""); m_shutdownCommandsFile = startupConfig.GetString("shutdown_console_commands_file", "");
@ -359,7 +359,7 @@ namespace OpenSim
protected override StorageManager CreateStorageManager(RegionInfo regionInfo) protected override StorageManager CreateStorageManager(RegionInfo regionInfo)
{ {
return new StorageManager(m_storageDLL, regionInfo.DataStore, regionInfo.RegionName); return new StorageManager(m_storageDll, regionInfo.DataStore, regionInfo.RegionName);
} }
protected override Scene CreateScene(RegionInfo regionInfo, StorageManager storageManager, protected override Scene CreateScene(RegionInfo regionInfo, StorageManager storageManager,

View File

@ -194,19 +194,26 @@ namespace OpenSim.Region.Environment
if (pluginAssembly != null) if (pluginAssembly != null)
{ {
foreach (Type pluginType in pluginAssembly.GetTypes()) try
{ {
if (pluginType.IsPublic) foreach (Type pluginType in pluginAssembly.GetTypes())
{ {
if (!pluginType.IsAbstract) if (pluginType.IsPublic)
{ {
if (pluginType.GetInterface("IRegionModule") != null) if (!pluginType.IsAbstract)
{ {
modules.Add((IRegionModule) Activator.CreateInstance(pluginType)); if (pluginType.GetInterface("IRegionModule") != null)
{
modules.Add((IRegionModule)Activator.CreateInstance(pluginType));
}
} }
} }
} }
} }
catch( ReflectionTypeLoadException )
{
m_log.Verbose("MODULES", "Could not load types for [{0}].", pluginAssembly.FullName );
}
} }
return modules.ToArray(); return modules.ToArray();

View File

@ -15,11 +15,18 @@ physics = basicphysics
;physics = OpenDynamicsEngine ;physics = OpenDynamicsEngine
;physics = modified_BulletX ;physics = modified_BulletX
; Prim Storage ; *** Prim Storage - only leave one storage_plugin uncommented ***
; if you would like to use sqlite uncomment the following line (and ; --- The NullStorage stores nothing - effectively disabling persistence.
; comment the NullStorage line) ; storage_plugin = "OpenSim.DataStore.NullStorage.dll"
; --- To use sqlite as region storage - don't forget to add datastore="MonoSqliteFilename.db"
; to region config xml (ie /Regions/default.xml) as the storages are (currently supposed to be) per region.
storage_plugin = "OpenSim.DataStore.MonoSqlite.dll" storage_plugin = "OpenSim.DataStore.MonoSqlite.dll"
;storage_plugin = "OpenSim.DataStore.NullStorage.dll"
; --- This is to use MySQL storage - don't forget to add datastore="<MySql Connection String>"
; to region config xml (ie /Regions/default.xml) as the storages are (currently supposed to be) per region.
; storage_plugin="OpenSim.Framework.Data.MySQL.dll"
startup_console_commands_file = "startup_commands.txt" startup_console_commands_file = "startup_commands.txt"
shutdown_console_commands_file = "shutdown_commands.txt" shutdown_console_commands_file = "shutdown_commands.txt"
serverside_object_permissions = false serverside_object_permissions = false

View File

@ -807,6 +807,8 @@
<Reference name="libsecondlife.dll"/> <Reference name="libsecondlife.dll"/>
<Reference name="MySql.Data.dll"/> <Reference name="MySql.Data.dll"/>
<Reference name="OpenSim.Framework.Console"/> <Reference name="OpenSim.Framework.Console"/>
<Reference name="OpenSim.Region.Environment"/>
<Files> <Files>
<Match pattern="*.cs" recurse="true"/> <Match pattern="*.cs" recurse="true"/>
<Match path="Resources" pattern="*.sql" buildAction="EmbeddedResource"/> <Match path="Resources" pattern="*.sql" buildAction="EmbeddedResource"/>