From 58783a5216b81863988110174229a65ceb315e1e Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Fri, 4 Nov 2016 00:46:34 +1000 Subject: Attempt to move everything writable, and the configs, out of the bin directory. Log configs are still in the bin directory. --- .gitignore | 58 +- .nant/local.include | 10 +- BUILDING.md | 4 +- OpenSim/Data/SQLite/SQLiteAssetData.cs | 4 +- OpenSim/Data/SQLite/SQLiteInventoryStore.cs | 2 +- OpenSim/Data/Tests/BasicDataServiceTest.cs | 2 +- .../Data/Tests/Resources/TestDataConnections.ini | 4 +- OpenSim/Framework/Util.cs | 4 +- .../Region/CoreModules/Asset/FlotsamAssetCache.cs | 2 +- .../UserStatistics/WebStatsModule.cs | 2 +- .../Meshing/Meshmerizer/Meshmerizer.cs | 2 +- .../Region/ScriptEngine/Shared/AssemblyResolver.cs | 2 +- OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | 4 +- OpenSim/Server/Base/ServicesServerBase.cs | 2 +- .../Services/MapImageService/MapImageService.cs | 2 +- OpenSim/Tests/Robust/Server/DemonServer.cs | 4 +- bin/OpenSim.32BitLaunch.exe.config | 6 +- bin/OpenSim.ConsoleClient.exe.config | 2 +- bin/OpenSim.exe.config | 6 +- bin/OpenSim.ini.example | 4 +- bin/OpenSimDefaults.ini | 2124 -------------------- bin/Robust.32BitLaunch.exe.config | 6 +- bin/Robust.Tests.dll.config | 2 +- bin/Robust.exe.config | 6 +- bin/config-include/CenomeCache.ini.example | 14 - bin/config-include/FlotsamCache.ini.example | 56 - bin/config-include/Grid.ini | 74 - bin/config-include/GridCommon.ini | 300 --- bin/config-include/GridCommon.ini.example | 245 --- bin/config-include/GridHypergrid.ini | 108 - bin/config-include/HyperSimianGrid.ini | 97 - bin/config-include/SimianGrid.ini | 77 - bin/config-include/Standalone.ini | 118 -- bin/config-include/StandaloneCommon.ini.example | 398 ---- bin/config-include/StandaloneHypergrid.ini | 195 -- bin/config-include/osslEnable.ini | 230 --- bin/config-include/storage/SQLiteStandalone.ini | 39 - bin/pCampBot.exe.config | 4 +- config/OpenSim.ini | 1162 +++++++++++ config/OpenSimDefaults.ini | 2124 ++++++++++++++++++++ config/Regions/Regions.ini.example | 98 + config/Robust.Tests.ini | 468 +++++ config/Robust.ini | 572 ++++++ config/config-include/CenomeCache.ini.example | 14 + config/config-include/FlotsamCache.ini.example | 56 + config/config-include/Grid.ini | 74 + config/config-include/GridCommon.ini.example | 245 +++ config/config-include/GridHypergrid.ini | 108 + config/config-include/HyperSimianGrid.ini | 97 + config/config-include/SimianGrid.ini | 77 + config/config-include/Standalone.ini | 118 ++ config/config-include/StandaloneCommon.ini.example | 398 ++++ config/config-include/StandaloneHypergrid.ini | 195 ++ config/config-include/osslEnable.ini | 230 +++ config/config-include/storage/SQLiteStandalone.ini | 39 + db/.keep | 0 logs/.keep | 0 57 files changed, 6147 insertions(+), 4147 deletions(-) delete mode 100644 bin/OpenSimDefaults.ini delete mode 100644 bin/config-include/CenomeCache.ini.example delete mode 100644 bin/config-include/FlotsamCache.ini.example delete mode 100644 bin/config-include/Grid.ini delete mode 100644 bin/config-include/GridCommon.ini delete mode 100644 bin/config-include/GridCommon.ini.example delete mode 100644 bin/config-include/GridHypergrid.ini delete mode 100644 bin/config-include/HyperSimianGrid.ini delete mode 100644 bin/config-include/SimianGrid.ini delete mode 100644 bin/config-include/Standalone.ini delete mode 100644 bin/config-include/StandaloneCommon.ini.example delete mode 100644 bin/config-include/StandaloneHypergrid.ini delete mode 100644 bin/config-include/osslEnable.ini delete mode 100644 bin/config-include/storage/SQLiteStandalone.ini create mode 100644 config/OpenSim.ini create mode 100644 config/OpenSimDefaults.ini create mode 100644 config/Regions/Regions.ini.example create mode 100644 config/Robust.Tests.ini create mode 100644 config/Robust.ini create mode 100644 config/config-include/CenomeCache.ini.example create mode 100644 config/config-include/FlotsamCache.ini.example create mode 100644 config/config-include/Grid.ini create mode 100644 config/config-include/GridCommon.ini.example create mode 100644 config/config-include/GridHypergrid.ini create mode 100644 config/config-include/HyperSimianGrid.ini create mode 100644 config/config-include/SimianGrid.ini create mode 100644 config/config-include/Standalone.ini create mode 100644 config/config-include/StandaloneCommon.ini.example create mode 100644 config/config-include/StandaloneHypergrid.ini create mode 100644 config/config-include/osslEnable.ini create mode 100644 config/config-include/storage/SQLiteStandalone.ini create mode 100644 db/.keep create mode 100644 logs/.keep diff --git a/.gitignore b/.gitignore index 94f896d..5abc102 100644 --- a/.gitignore +++ b/.gitignore @@ -31,48 +31,48 @@ */*/*/*/*/*/*/bin bin/Debug/*.dll bin/*.dll.mdb -bin/*.db -bin/*.db-journal -bin/addin-db-* +db/*.db +db/*.db-journal +caches/addin-db-* bin/*.dll bin/OpenSim.vshost.exe.config bin/OpenSim.32BitLaunch.vshost.exe.config -bin/OpenSim.32BitLaunch.log +logs/OpenSim.32BitLaunch.log UpgradeLog.XML _UpgradeReport_Files/ -bin/ScriptEngines/*-*-*-*-* -bin/ScriptEngines/*.dll -bin/ScriptEngines/*/*.dll -bin/ScriptEngines/*/*.state +caches/ScriptEngines/*-*-*-*-* +caches/ScriptEngines/*.dll +caches/ScriptEngines/*/*.dll +caches/ScriptEngines/*/*.state bin/*.maddin bin/*.exe bin/*.ini -bin/j2kDecodeCache +caches/j2kDecodeCache bin/Physics* bin/Terrain* -bin/Regions/* +caches/Regions/* bin/UserAssets -bin/assetcache -bin/maptiles +caches/assetcache +caches/maptiles bin/bakes bin/estate_settings.xml -bin/config-include/CenomeCache.ini -bin/config-include/FlotsamCache.ini -bin/config-include/GridCommon.ini -bin/config-include/StandaloneCommon.ini -bin/OpenSim.Grid.AssetInventoryServer.log -bin/OpenSim.Grid.AssetServer.log -bin/OpenSim.Grid.GridServer.log -bin/OpenSim.Grid.InventoryServer.log -bin/OpenSim.Grid.MessagingServer.log -bin/OpenSim.Grid.UserServer.log -bin/OpenSim.log -bin/OpenSimStats.log -bin/Robust.log -bin/RobustStats.log -bin/OpenSimConsoleHistory.txt -bin/RobustConsoleHistory.txt -bin/*.Tests.log +config/config-include/CenomeCache.ini +config/config-include/FlotsamCache.ini +config/config-include/GridCommon.ini +config/config-include/StandaloneCommon.ini +logs/OpenSim.Grid.AssetInventoryServer.log +logs/OpenSim.Grid.AssetServer.log +logs/OpenSim.Grid.GridServer.log +logs/OpenSim.Grid.InventoryServer.log +logs/OpenSim.Grid.MessagingServer.log +logs/OpenSim.Grid.UserServer.log +logs/OpenSim.log +logs/OpenSimStats.log +logs/Robust.log +logs/RobustStats.log +logs/OpenSimConsoleHistory.txt +logs/RobustConsoleHistory.txt +logs/*.Tests.log bin/*.manifest bin/crashes/ Examples/*.dll diff --git a/.nant/local.include b/.nant/local.include index c207944..7663748 100644 --- a/.nant/local.include +++ b/.nant/local.include @@ -5,9 +5,9 @@ - - - + + + @@ -55,8 +55,8 @@ - - + + diff --git a/BUILDING.md b/BUILDING.md index d8deeeb..ee07411 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -4,7 +4,7 @@ Steps: * runprebuild.bat * Load OpenSim.sln into Visual Studio .NET and build the solution. * chdir bin - * copy OpenSim.ini.example to OpenSim.ini and other appropriate files in bin/config-include + * copy OpenSim.ini.example to OpenSim.ini and other appropriate files in config/config-include * run OpenSim.exe # Building on Linux @@ -21,7 +21,7 @@ From the distribution type: * ./runprebuild.sh * nant (or !* xbuild) * cd bin - * copy OpenSim.ini.example to OpenSim.ini and other appropriate files in bin/config-include + * copy OpenSim.ini.example to OpenSim.ini and other appropriate files in config/config-include * run mono OpenSim.exe !* xbuild option switches !* clean: xbuild /target:clean diff --git a/OpenSim/Data/SQLite/SQLiteAssetData.cs b/OpenSim/Data/SQLite/SQLiteAssetData.cs index f0dda64..30b26c4 100644 --- a/OpenSim/Data/SQLite/SQLiteAssetData.cs +++ b/OpenSim/Data/SQLite/SQLiteAssetData.cs @@ -86,7 +86,7 @@ namespace OpenSim.Data.SQLite if (dbconnect == string.Empty) { - dbconnect = "URI=file:Asset.db,version=3"; + dbconnect = "URI=file:../db/Asset.db,version=3"; } m_conn = new SqliteConnection(dbconnect); m_conn.Open(); @@ -358,7 +358,7 @@ namespace OpenSim.Data.SQLite /// override public void Initialise() { - Initialise("URI=file:Asset.db,version=3"); + Initialise("URI=file:../db/Asset.db,version=3"); } /// diff --git a/OpenSim/Data/SQLite/SQLiteInventoryStore.cs b/OpenSim/Data/SQLite/SQLiteInventoryStore.cs index 7d493ca..7caf347 100644 --- a/OpenSim/Data/SQLite/SQLiteInventoryStore.cs +++ b/OpenSim/Data/SQLite/SQLiteInventoryStore.cs @@ -82,7 +82,7 @@ namespace OpenSim.Data.SQLite if (dbconnect == string.Empty) { - dbconnect = "URI=file:inventoryStore.db,version=3"; + dbconnect = "URI=file:../db/inventoryStore.db,version=3"; } m_log.Info("[INVENTORY DB]: Sqlite - connecting: " + dbconnect); conn = new SqliteConnection(dbconnect); diff --git a/OpenSim/Data/Tests/BasicDataServiceTest.cs b/OpenSim/Data/Tests/BasicDataServiceTest.cs index acfebd0..8c296b9 100644 --- a/OpenSim/Data/Tests/BasicDataServiceTest.cs +++ b/OpenSim/Data/Tests/BasicDataServiceTest.cs @@ -106,7 +106,7 @@ namespace OpenSim.Data.Tests if (String.IsNullOrEmpty(m_connStr)) { m_file = Path.GetTempFileName() + ".db"; - m_connStr = "URI=file:" + m_file + ",version=3"; + m_connStr = "URI=file:../db/" + m_file + ",version=3"; } } diff --git a/OpenSim/Data/Tests/Resources/TestDataConnections.ini b/OpenSim/Data/Tests/Resources/TestDataConnections.ini index 7b55467..75f7855 100644 --- a/OpenSim/Data/Tests/Resources/TestDataConnections.ini +++ b/OpenSim/Data/Tests/Resources/TestDataConnections.ini @@ -16,9 +16,9 @@ ; file for the DB. If you want the resulting DB to persist (e.g. for performance testing, ; when filling up the tables can take a long time), explicitly specify a conn string like this: -; SqliteConnection="URI=file:,version=3" +; SqliteConnection="URI=file:../db/,version=3" [TestConnections] MySqlConnection="Server=localhost;Port=3306;Database=opensim-nunit;User ID=opensim-nunit;Password=opensim-nunit;" SqlConnection="Server=.\SQL2008;Database=opensim-nunit;Trusted_Connection=True;" -SqliteConnection="URI=file:opensim-nunit.db,version=3" \ No newline at end of file +SqliteConnection="URI=file:../db/opensim-nunit.db,version=3" \ No newline at end of file diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index 1f74168..b5c3e75 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -987,7 +987,7 @@ namespace OpenSim.Framework public static string configDir() { - return "."; + return "../config"; } public static string dataDir() @@ -1005,7 +1005,7 @@ namespace OpenSim.Framework } } - return "./OpenSim.log"; + return "../logs/OpenSim.log"; } public static string logDir() diff --git a/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs b/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs index 7d9c9a9..82c95c2 100644 --- a/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs +++ b/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs @@ -64,7 +64,7 @@ namespace OpenSim.Region.CoreModules.Asset private bool m_Enabled; private const string m_ModuleName = "FlotsamAssetCache"; - private const string m_DefaultCacheDirectory = "./assetcache"; + private const string m_DefaultCacheDirectory = "../caches/assetcache"; private string m_CacheDirectory = m_DefaultCacheDirectory; private readonly List m_InvalidChars = new List(); diff --git a/OpenSim/Region/OptionalModules/UserStatistics/WebStatsModule.cs b/OpenSim/Region/OptionalModules/UserStatistics/WebStatsModule.cs index bcb6361..f6772db 100644 --- a/OpenSim/Region/OptionalModules/UserStatistics/WebStatsModule.cs +++ b/OpenSim/Region/OptionalModules/UserStatistics/WebStatsModule.cs @@ -96,7 +96,7 @@ namespace OpenSim.Region.UserStatistics //IConfig startupConfig = config.Configs["Startup"]; - dbConn = new SqliteConnection("URI=file:LocalUserStatistics.db,version=3"); + dbConn = new SqliteConnection("URI=file:../db/LocalUserStatistics.db,version=3"); dbConn.Open(); CreateTables(dbConn); diff --git a/OpenSim/Region/PhysicsModules/Meshing/Meshmerizer/Meshmerizer.cs b/OpenSim/Region/PhysicsModules/Meshing/Meshmerizer/Meshmerizer.cs index 4d25bf3..3a944d1 100644 --- a/OpenSim/Region/PhysicsModules/Meshing/Meshmerizer/Meshmerizer.cs +++ b/OpenSim/Region/PhysicsModules/Meshing/Meshmerizer/Meshmerizer.cs @@ -99,7 +99,7 @@ namespace OpenSim.Region.PhysicsModules.Meshing IConfig mesh_config = source.Configs["Mesh"]; - decodedSculptMapPath = config.GetString("DecodedSculptMapPath", "j2kDecodeCache"); + decodedSculptMapPath = "../caches/" + config.GetString("DecodedSculptMapPath", "j2kDecodeCache"); cacheSculptMaps = config.GetBoolean("CacheSculptMaps", cacheSculptMaps); if (mesh_config != null) { diff --git a/OpenSim/Region/ScriptEngine/Shared/AssemblyResolver.cs b/OpenSim/Region/ScriptEngine/Shared/AssemblyResolver.cs index e35f79f..6c42e2e 100644 --- a/OpenSim/Region/ScriptEngine/Shared/AssemblyResolver.cs +++ b/OpenSim/Region/ScriptEngine/Shared/AssemblyResolver.cs @@ -44,7 +44,7 @@ namespace OpenSim.Region.ScriptEngine.Shared string dirName = myDomain.FriendlyName; string ScriptEnginesPath = myDomain.SetupInformation.PrivateBinPath; - string[] pathList = new string[] {"", "bin", ScriptEnginesPath, + string[] pathList = new string[] {"", "caches", ScriptEnginesPath, Path.Combine(ScriptEnginesPath, dirName)}; string assemblyName = args.Name; diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs index 78d4ee9..6df36f7 100755 --- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs @@ -309,7 +309,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine m_WaitForEventCompletionOnScriptStop = m_ScriptConfig.GetInt("WaitForEventCompletionOnScriptStop", m_WaitForEventCompletionOnScriptStop); - m_ScriptEnginesPath = m_ScriptConfig.GetString("ScriptEnginesPath", "ScriptEngines"); + m_ScriptEnginesPath = "../caches/" + m_ScriptConfig.GetString("ScriptEnginesPath", "ScriptEngines"); m_Prio = ThreadPriority.BelowNormal; switch (priority) @@ -1817,7 +1817,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine if (!(sender is System.AppDomain)) return null; - string[] pathList = new string[] {"bin", m_ScriptEnginesPath, + string[] pathList = new string[] {"caches", m_ScriptEnginesPath, Path.Combine(m_ScriptEnginesPath, m_Scene.RegionInfo.RegionID.ToString())}; diff --git a/OpenSim/Server/Base/ServicesServerBase.cs b/OpenSim/Server/Base/ServicesServerBase.cs index 1f2c54d..40cec08 100644 --- a/OpenSim/Server/Base/ServicesServerBase.cs +++ b/OpenSim/Server/Base/ServicesServerBase.cs @@ -85,7 +85,7 @@ namespace OpenSim.Server.Base string fileName = ""; if (Assembly.GetEntryAssembly() != null) fileName = Path.GetFileNameWithoutExtension(Assembly.GetEntryAssembly().Location); - string iniFile = fileName + ".ini"; + string iniFile = "../config/" + fileName + ".ini"; string logConfig = null; IConfig startupConfig = argvConfig.Configs["Startup"]; diff --git a/OpenSim/Services/MapImageService/MapImageService.cs b/OpenSim/Services/MapImageService/MapImageService.cs index a816411..6b4a91a 100644 --- a/OpenSim/Services/MapImageService/MapImageService.cs +++ b/OpenSim/Services/MapImageService/MapImageService.cs @@ -80,7 +80,7 @@ namespace OpenSim.Services.MapImageService IConfig serviceConfig = config.Configs["MapImageService"]; if (serviceConfig != null) { - m_TilesStoragePath = serviceConfig.GetString("TilesStoragePath", m_TilesStoragePath); + m_TilesStoragePath = "../caches/" + serviceConfig.GetString("TilesStoragePath", m_TilesStoragePath); if (!Directory.Exists(m_TilesStoragePath)) Directory.CreateDirectory(m_TilesStoragePath); diff --git a/OpenSim/Tests/Robust/Server/DemonServer.cs b/OpenSim/Tests/Robust/Server/DemonServer.cs index 1e0797e..205abfb 100644 --- a/OpenSim/Tests/Robust/Server/DemonServer.cs +++ b/OpenSim/Tests/Robust/Server/DemonServer.cs @@ -48,8 +48,8 @@ namespace Robust.Tests [SetUp] public void StartDemon() { - if (File.Exists("Robust.Tests.log")) - File.Delete("Robust.Tests.log"); + if (File.Exists("../logs/Robust.Tests.log")) + File.Delete("../logs/Robust.Tests.log"); Console.WriteLine("**** Starting demon Robust server ****"); m_demon = new Thread( () => Main(new string[] {"-inifile=Robust.Tests.ini"})); diff --git a/bin/OpenSim.32BitLaunch.exe.config b/bin/OpenSim.32BitLaunch.exe.config index 5b7807a..db08aeb 100644 --- a/bin/OpenSim.32BitLaunch.exe.config +++ b/bin/OpenSim.32BitLaunch.exe.config @@ -25,14 +25,14 @@ - + @@ -44,7 +44,7 @@ - + diff --git a/bin/OpenSim.ConsoleClient.exe.config b/bin/OpenSim.ConsoleClient.exe.config index 3a50408..9098a94 100644 --- a/bin/OpenSim.ConsoleClient.exe.config +++ b/bin/OpenSim.ConsoleClient.exe.config @@ -18,7 +18,7 @@ - + diff --git a/bin/OpenSim.exe.config b/bin/OpenSim.exe.config index b01191e..2556e11 100755 --- a/bin/OpenSim.exe.config +++ b/bin/OpenSim.exe.config @@ -25,14 +25,14 @@ - + @@ -44,7 +44,7 @@ - + diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index d395efe..07ed21d 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -901,7 +901,7 @@ ;; co-op will be more stable but this option is currently experimental. ;; If moving from co-op to abort, existing script DLLs will need to be recompiled. ;; This currently can only be done manually, either by setting DeleteScriptsOnStartup = true for one run - ;; or by deleting the script DLL* files in bin/ScriptEngines// + ;; or by deleting the script DLL* files in caches/ScriptEngines// ;; One can move from co-op back to abort without recompilation, but reverting back to co-op again will need script recompile ;; Current valid values are "abort" and "co-op" ; ScriptStopStrategy = abort @@ -966,7 +966,7 @@ ;# {ScriptEnginesPath} {} {Path to script assemblies} {} ScriptEngines ;; Path to script engine assemblies - ;; Default is ./bin/ScriptEngines + ;; Default is ../caches/ScriptEngines ; ScriptEnginesPath = "ScriptEngines" [OSSL] diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini deleted file mode 100644 index a99608c..0000000 --- a/bin/OpenSimDefaults.ini +++ /dev/null @@ -1,2124 +0,0 @@ -; This file contains defaults for various settings in OpenSimulator. These can be overriden -; by changing the same setting in OpenSim.ini (once OpenSim.ini.example has been copied to OpenSim.ini). - -[Startup] - ; Console prompt - ; Certain special characters can be used to customize the prompt - ; Currently, these are - ; \R - substitute region name - ; \\ - substtitue \ - ConsolePrompt = "Region (\R) " - - ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) - ConsoleHistoryFileEnabled = true - - ; Log file location. This can be set to a simple file path - ; LogFile = OpenSim.log - - ; The history file can be just a filename (relative to OpenSim's bin/ directory - ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/) - ConsoleHistoryFile = "OpenSimConsoleHistory.txt" - - ; How many lines of command history should we keep? (default is 100) - ConsoleHistoryFileLines = 100 - - ; Set this to true if you want to log crashes to disk - ; this can be useful when submitting bug reports. - ; However, this will only log crashes within OpenSimulator that cause the entire program to exit - ; It will not log crashes caused by virtual machine failures, which includes mono and ODE failures. - ; You will need to capture these native stack traces by recording the session log itself. - save_crashes = false - - ; Directory to save crashes to if above is enabled - ; (default is /opensimdir/crashes/*.txt or C:\opensim\crashes\*.txt) - crash_dir = "crashes" - - ; Place to create a PID file - ; PIDFile = "/tmp/OpenSim.exe.pid" - - ; Console commands run at startup - startup_console_commands_file = "startup_commands.txt" - - ; Console commands run on shutdown - shutdown_console_commands_file = "shutdown_commands.txt" - - ; Console commands run every 20 minutes - ; timer_Script = "filename" - - ; timer_Script time interval (default 20 min) - ; The time is 60 per minute - ; timer_Interval = 1200 - - ; ## - ; ## SYSTEM - ; ## - - ; Sets the method that OpenSim will use to fire asynchronous - ; events. Valid values are UnsafeQueueUserWorkItem, - ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread. - ; - ; SmartThreadPool is reported to work well on Mono/Linux, but - ; UnsafeQueueUserWorkItem has been benchmarked with better - ; performance on .NET/Windows - ; - ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security - ; privileges. However, as calling code is trusted anyway this is safe (if you set - ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons). - async_call_method = SmartThreadPool - - ; Max threads to allocate on the FireAndForget thread pool - ; when running with the SmartThreadPool option above - MaxPoolThreads = 300 - - ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently. - ; This improves performance in regions with large numbers of connections (in the hundreds). - JobEngineEnabled = true - - ; Plugin Registry Location - ; Set path to directory for plugin registry. Information about the - ; registered repositories and installed plugins will be stored here. - ; The OpenSim.exe process must have R/W access to the location. - RegistryLocation = "." - - ; Used by region module addins. You can set this to outside bin, so that addin - ; configurations will survive updates. The OpenSim.exe process must have R/W access - ; to the location. - ConfigDirectory = "." - - ; ## - ; ## CLIENTS - ; ## - - ; Set this to the DLL containing the client stack to use. - clientstack_plugin="OpenSim.Region.ClientStack.LindenUDP.dll" - - ; ## - ; ## REGIONS - ; ## - - ; Determine where OpenSimulator looks for the files which tell it which regions to server - ; Defaults to "filesystem" if this setting isn't present - region_info_source = "filesystem" - ; region_info_source = "web" - - ; Determines where the region XML files are stored if you are loading these from the filesystem. - ; Defaults to bin/Regions in your OpenSimulator installation directory - ; regionload_regionsdir="C:\somewhere\xmlfiles\" - - ; Determines the page from which regions xml is retrieved if you are loading these from the web - ; The XML here has the same format as it does on the filesystem (including the tag), - ; except that everything is also enclosed in a tag. - ; regionload_webserver_url = "http://example.com/regions.xml"; - - ;; Allow the simulator to start up if there are no region configuration available - ;; from the selected region_info_source. - allow_regionless = false - - ;; Allow child agents to see into the region even if their root counterpart isn't allowed in here - see_into_region = true - - ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos - ; Increasing this number will increase memory usage. - MaxPrimUndos = 20 - - ; Maximum size of non physical prims. Affects resizing of existing prims. This can be overridden in the region config file (as NonPhysicalPrimMax!). - NonPhysicalPrimMax = 256 - - ; Maximum size of physical prims. Affects resizing of existing prims. This can be overridden in the region config file. - PhysicalPrimMax = 64 - - ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum - ; This can be overridden in the region config file. - ClampPrimSize = false - - ; Maximum number of prims allowable in a linkset. Affects creating new linksets. Ignored if less than or equal to zero. - ; This can be overridden in the region config file. - LinksetPrims = 0 - - ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region. - ; This only applies when crossing to a region running in a different simulator. - ; For crossings where the regions are on the same simulator the script is always kept running. - AllowScriptCrossing = true - - ; Allow compiled script binary code to cross region boundaries. - ; If you set this to "true", any region that can teleport to you can - ; inject ARBITRARY BINARY CODE into your system. Use at your own risk. - ; YOU HAVE BEEN WARNED!!! - TrustBinaries = false - - ; Combine all contiguous regions into one large megaregion - ; Order your regions from South to North, West to East in your regions.ini and then set this to true - ; Warning! Don't use this with regions that have existing content!, This will likely break them - CombineContiguousRegions = false - - ; Extend the region's draw distance; 255m is the default which includes - ; one neighbor on each side of the current region, 767m would go three - ; neighbors on each side for a total of 49 regions in view. Warning, unless - ; all the regions have the same drawdistance, you will end up with strange - ; effects because the agents that get closed may be inconsistent. - DefaultDrawDistance = 255.0 - - ; If you have only one region in an instance, or to avoid the many bugs - ; that you can trigger in modules by restarting a region, set this to - ; true to make the entire instance exit instead of restarting the region. - ; This is meant to be used on systems where some external system like - ; Monit will restart any instance that exits, thereby making the shutdown - ; into a restart. - InworldRestartShutsDown = false - - ; Use of normalized 55FPS statistics - ; Opensim does not have a frame rate control like other simulators. - ; Most parameters that control timing can be configurable region by region. - ; To achieve closer compatibility with values expected by viewers, scripts and users - ; some parameters are converted to a equivalent per frame value. - ; Additionally, they are scaled to values they would have on a system running at a nominal 55 frames per second rate. - ; The scale factor it 55 * FrameTime, corresponding to 5 with default configuration - ; You can choose to show the true physics FPS to viewers by setting Normalized55FPS to false. - ; Normalized55FPS = true - - ; The minimum proportion of a second that any particular frame can take to execute. - ; Only change this if you really know what you're doing, and be prepared to change UpdatePhysicsEveryNFrames - ; (and other Frames params) to match! For instance, halving MinFrameTime to 0.0445 require - ; UpdatePhysicsEveryNFrames = 2 unless you don't mind your avatar walking like Benny Hill. - MinFrameTime = 0.089 - - ; The values below represent the percentage of the target frame time that, - ; when underrun, should trigger yellow or red in the lag meter. - ; Less than 60% of FPS is amber by default, less then 40% is red. - ; These values are advisory. Viewers may choose to not use them but it is - ; encouraged that they do. - ; FrameTimeWarnPercent = 60; - ; FrameTimeCritPercent = 40; - - ; Send scheduled updates to objects in the scene - ; This must be a whole number - UpdateObjectsEveryNFrames = 1; - - ; Send position/velocity, etc. updates to agents in the scene - ; This must be a whole number - UpdateAgentsEveryNFrames = 1; - - ; Apply pending forces from physics calculations to an entity. - ; This must be a whole number - UpdateEntityMovementEveryNFrames = 1; - - ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap. - ; This must be a whole number - UpdateCoarseLocationsEveryNFrames = 50; - - ; Update physics. Within each update physics also updates in a series of contigous mini-steps - ; This must be a whole number - UpdatePhysicsEveryNFrames = 1; - - ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1. - ; This must be a whole number - UpdateEventsEveryNFrames = 1; - - ; Send terrain updates to viewers - ; This must be a whole number - UpdateTerrainEveryNFrames = 50; - - ; Persitently store any objects which meet the PRIM STORAGE criteria - ; This must be a whole number - UpdateStorageEveryNFrames = 200; - - ; Clean up temp on rez objects. - ; This must be a whole number - UpdateTempCleaningEveryNSeconds = 180; - - ; ## - ; ## PRIM STORAGE - ; ## - - ; 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. - ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep. - ; - ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds - MinimumTimeBeforePersistenceConsidered = 60 - ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago - MaximumTimeBeforePersistenceConsidered = 600 - - ; ## - ; ## PHYSICS - ; ## - - ; If true then prims can be collided with by avatars, other prims, etc. - ; If false then all prims are phantom, no matter whether their phantom flag is checked or unchecked. - ; Also, no prims are subject to physics. - collidable_prim = true - - ; If true then prims can be made subject to physics (gravity, pushing, etc.). - ; If false then physics flag can be set but it is not honoured. However, prims are still solid for the purposes of collision direction - physical_prim = true - - ; Select a mesher here. - ; - ; Meshmerizer properly handles complex prims by using triangle meshes. - ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way - ; - ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports - ; Usually this is only a box - - meshing = Meshmerizer - ;meshing = ZeroMesher - - ; Path to decoded sculpty maps - ; Defaults to "j2kDecodeCache - ;DecodedSculptMapPath = "j2kDecodeCache" - - ; if you use Meshmerizer and want sculpt map collisions, setting this to - ; to true will store decoded sculpt maps in a special folder in your bin - ; folder, which can reduce startup times by reducing asset requests. Some - ; versions of mono dont work well when reading the cache files, so set this - ; to false if you have compatibility problems. - ;CacheSculptMaps = true - - ;; BulletSim is the default physics engine. It provides the best performance and most functionality. - ;; BulletSim supports varregions. - ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. - ;; It continues to provide a workable physics implementation. It does not currently support varregions. - ;; basicphysics effectively does not model physics at all, making all objects phantom. - ;; Default is OpenDynamicsEngine - physics = BulletSim - ;physics = modified_BulletX - ;physics = OpenDynamicsEngine - ;physics = basicphysics - ;physics = POS - - ; ## - ; ## SCRIPT ENGINE - ; ## - - DefaultScriptEngine = "XEngine" - - ; ## - ; ## EMAIL MODULE - ; ## - - ;emailmodule = DefaultEmailModule - - ; ## - ; ## ANIMATIONS - ; ## - - ; If enabled, enableFlySlow will change the primary fly state to - ; FLYSLOW, and the "always run" state will be the regular fly. - enableflyslow = false - - ; PreJump is an additional animation state, but it probably - ; won't look right until the physics engine supports it - ; (i.e delays takeoff for a moment) - - ; Simulator statistics are output to the console periodically at debug level INFO. - ; Setting this to zero disables this output. - ; LogShowStatsSeconds = 3600 - - ; Simulator Stats URI - ; Enable JSON simulator data by setting a URI name (case sensitive) - ; Returns regular sim stats (SimFPS, ...) - Stats_URI = "jsonSimStats" - - ; Simulator StatsManager URI - ; Enable fetch of StatsManager registered stats. Fetch is query which can optionally - ; specify category, container and stat to fetch. If not selected, returns all of that type. - ; http://simulatorHTTPport/ManagedStats/?cat=Category&cont=Container&stat=Statistic - ; ManagedStatsRemoteFetchURI = "ManagedStats" - - ; Make OpenSim start all regions woth logins disabled. They will need - ; to be enabled from the console if this is set - ; StartDisabled = false - - ; Image decoding. Use CSJ2K for layer boundary decoding if true, - ; OpenJPEG if false - ; UseCSJ2K = true - - ; Use "Trash" folder for items deleted from the scene - ; When set to True (the default) items deleted from the scene will be - ; stored in the user's trash or lost and found folder. When set to - ; False items will be removed from the scene permanently - UseTrashOnDelete = True - - ; # - ; # Logging - ; # - - ; Force logging when the thread pool approaches an overload condition - ; Provides useful data for post-mortem analysis even in a production - ; system with reduced logging - LogOverloads = True - -[Map] - ;WorldMapModule = "WorldMap" - ;MapImageModule = "MapImageModule" - - ; World map blacklist timeout in seconds - ;BlacklistTimeout = 600 - - ; Set to false to not generate any maptiles - ;GenerateMaptiles = true - - ; Refresh (in seconds) the map tile periodically - ;MaptileRefresh = 0 - - ; If not generating maptiles, use this static texture asset ID - ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" - - ; Draw objects on maptile. This step might take a long time if you've got a large number of - ; objects, so you can turn it off here if you'd like. - DrawPrimOnMapTile = true - - ; Use terrain texture for maptiles if true, use shaded green if false - TextureOnMapTile = true - - ; Texture prims - TexturePrims = true - - ; Only texture prims that have a diagonal size greater than this number - TexturePrimSize = 48 - - ; Attempt to render meshes and sculpties on the map - RenderMeshes = false; - -[Permissions] - ; ## - ; ## PERMISSIONS - ; ## - - ;permissionmodules = "DefaultPermissionsModule" - - ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy - ; any item, etc. This may not yet be implemented uniformally. - ; If set to true, then all permissions checks are carried out - ; Default is true - serverside_object_permissions = true - - allow_grid_gods = false - - ; This allows somne control over permissions - ; please note that this still doesn't duplicate SL, and is not intended to - ;region_owner_is_god = true - ;region_manager_is_god = false - ;parcel_owner_is_god = true - - ; Control user types that are allowed to create new scripts - ; Only enforced if serviceside_object_permissions is true - ; - ; Current possible values are - ; all - anyone can create scripts (subject to normal permissions) - ; gods - only administrators can create scripts (as long as allow_grid_gods is true) - ; Default value is all - ; allowed_script_creators = all - - ; Control user types that are allowed to edit (save) scripts - ; Only enforced if serviceside_object_permissions is true - ; - ; Current possible values are - ; all - anyone can edit scripts (subject to normal permissions) - ; gods - only administrators can edit scripts (as long as allow_grid_gods is true) - ; Default value is all - ; allowed_script_editors = all - - ; Provides a simple control for land owners to give build rights to specific avatars - ; in publicly accessible parcels that disallow object creation in general. - ; Owners specific avatars by adding them to the Access List of the parcel - ; without having to use the Groups feature - ; Disabled by default - ; simple_build_permissions = False - - ; Minimum user level required to upload assets - ;LevelUpload = 0 - - -[RegionReady] - ; Enable this module to get notified once all items and scripts in the region have been completely loaded and compiled - enabled = true - - ; Channel on which to signal region readiness through a message - ; formatted as follows: "{server_startup|oar_file_load},{0|1},n,[oar error]" - ; - the first field indicating whether this is an initial server startup - ; - the second field is a number indicating whether the OAR file loaded ok (1 == ok, 0 == error) - ; - the third field is a number indicating how many scripts failed to compile - ; - "oar error" if supplied, provides the error message from the OAR load - channel_notify = -800 - - ; - disallow logins while scripts are loading - ; Instability can occur on regions with 100+ scripts if users enter before they have finished loading - login_disable = true - - ; - send an alert as json to a service - ; alert_uri = "http://myappserver.net/my_handler/" - - -[EstateManagement] - ; If false, then block any region restart requests from the client even if they are otherwise valid. - ; Default is true - AllowRegionRestartFromClient = true - - -[UserProfiles] - ;# {ProfileURL} {} {Set url to UserProfilesService} {} - ;; Set the value of the url to your UserProfilesService - ;; If un-set / "" the module is disabled - ;; If the ProfileURL is not set, then very BASIC - ;; profile support will be configured. If the ProfileURL is set to a - ;; valid URL, then full profile support will be configured. The URL - ;; points to your grid's Robust user profiles service - ;; - ; ProfileURL = http://127.0.0.1:9000 - - -[SMTP] - enabled = false - - ;enabled = true - ;internal_object_host = lsl.opensim.local - ;host_domain_header_from = 127.0.0.1 - ;SMTP_SERVER_HOSTNAME = 127.0.0.1 - ;SMTP_SERVER_PORT = 25 - ;SMTP_SERVER_LOGIN = foo - ;SMTP_SERVER_PASSWORD = bar - - -[Network] - ConsoleUser = "Test" - ConsolePass = "secret" - http_listener_port = 9000 - console_port = 0 - - ; ssl config: Experimental! The auto https config only really works definately on windows XP now - ; you need a Cert Request/Signed pair installed in the MY store with the CN specified below - ; you can use https on other platforms, but you'll need to configure the httpapi yourself for now - http_listener_ssl = false ; Also create a SSL server - http_listener_cn = "localhost" ; Use the cert with the common name - http_listener_sslport = 9001 ; Use this port for SSL connections - http_listener_ssl_cert = "" ; Currently unused, but will be used for OSHttpServer - - ; HTTPS for "Out of band" management applications such as the remote - ; admin module - ; - ; Create https_listener = "True" will create a listener on the port - ; specified. Provide the path to your server certificate along with it's - ; password - ; https_listener = False - ; Set our listener to this port - ; https_port = 0 - ; Path to X509 certificate - ; cert_path = "path/to/cert.p12" - ; Password for cert - ; cert_pass = "password" - - ; Hostname to use in llRequestURL/llRequestSecureURL - ; if not defined - default machine name is being used - ; (on Windows this mean NETBIOS name - useably only inside local network) - ; ExternalHostNameForLSL=127.0.0.1 - - ; Disallow the following address ranges for user scripting calls (e.g. llHttpRequest()) - ; This is based on http://en.wikipedia.org/wiki/Reserved_IP_addresses - ; This stops users making HTTP calls to machines in the simulator's local network. - ; If you need to allow some LAN calls we recommend you use OutboundDisallowForUserScriptsExcept documented in OpenSim.ini.example - ; If you override OutboundDisallowForUserScripts directly you need to be very careful. - ; - ; Network ranges are specified in CIDR notation (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation) with multiple entries separated by | - ; To specify an individual IP address use the /32 netmask (e.g. 192.168.1.3/32) - ; You can also specify individual : endpoints (e.g. 192.168.1.3:8003) - ; If an address if given without a port number then port 80 is assumed. - OutboundDisallowForUserScripts = 0.0.0.0/8|10.0.0.0/8|100.64.0.0/10|127.0.0.0/8|169.254.0.0/16|172.16.0.0/12|192.0.0.0/24|192.0.2.0/24|192.88.99.0/24|192.168.0.0/16|198.18.0.0/15|198.51.100.0/24|203.0.113.0/24|224.0.0.0/4|240.0.0.0/4|255.255.255.255/32 - ; - ; You can also prevent all user script outgoing calls with the following override in OpenSim.ini - ; - ; OutboundDisallowForUserScripts = 0.0.0.0/0 - ; - ; You can also disable the blacklist entirely with an empty entry - ; - ; OutboundDisallowForUserScripts = "" - - ; What is reported as the "X-Secondlife-Shard" - ; Defaults to the user server url if not set - ; The old default is "OpenSim", set here for compatibility - shard = "OpenSim" - - ; What is reported as the "User-Agent" when using llHTTPRequest - ; Defaults to not sent if not set here. See the notes section in the wiki at - ; http://wiki.secondlife.com/wiki/LlHTTPRequest for comments on adding - ; " (Mozilla Compatible)" to the text where there are problems with a web server - ;user_agent = "OpenSim LSL (Mozilla Compatible)" - - ; OpenSim can send multiple simultaneous requests for services such as asset - ; retrieval. However, some versions of mono appear to hang when there are too - ; many simultaneous requests, default is 30 and is currently applied only to assets - ;MaxRequestConcurrency = 30 - -[AccessControl] - ; Viewer-based access control. |-separated list of allowed viewers. - ; AllowedClients = "" - - ; Viewer-based access control. |-separated list of denied viewers. - ; No restrictions by default. - ; DeniedClients = "" - - -[ClientStack.LindenUDP] - ; Set this to true to process incoming packets asynchronously. Networking is - ; already separated from packet handling with a queue, so this will only - ; affect whether networking internals such as packet decoding and - ; acknowledgement accounting are done synchronously or asynchronously - ; Default is true. - ; - ;async_packet_handling = true - - ; The client socket receive buffer size determines how many - ; incoming requests we can process; the default on .NET is 8192 - ; which is about 2 4k-sized UDP datagrams. On mono this is - ; whatever the underlying operating system has as default; for - ; example, ubuntu 8.04 or SLES11 have about 111k, which is about - ; 27 4k-sized UDP datagrams (on linux platforms you can [as root] - ; do "sysctl net.core.rmem_default" to find out what your system - ; uses a default socket receive buffer size. - ; - ; client_socket_rcvbuf_size allows you to specify the receive - ; buffer size LLUDPServer should use. NOTE: this will be limited - ; by the system's settings for the maximum client receive buffer - ; size (on linux systems you can set that with "sysctl -w - ; net.core.rmem_max=X") - ; - ;client_socket_rcvbuf_size = 8388608 - - ; Maximum outbound bytes per second for a single scene. This can be used to - ; throttle total outbound UDP traffic for a simulator. The default value is - ; 0, meaning no throttling at the scene level. The example given here is - ; 20 megabits - ; - ;scene_throttle_max_bps = 2500000 - - ; Maximum bytes per second to send to any single client. This will override - ; the user's viewer preference settings. The default value is 0, meaning no - ; aggregate throttling on clients (only per-category throttling). The - ; example given here is 1.5 megabits - ; - ;client_throttle_max_bps = 187500 - - ; Minimum bytes per second to send to any single client as a result of - ; adaptive throttling. Viewer preferences set to a lower number will - ; override the settin. The example given here ensures that adaptive - ; throttling will never decrease per client bandwidth below 256 kbps. - ; - ;adaptive_throttle_min_bps = 32000 - - ; Adaptive throttling attempts to limit network overload when multiple - ; clients login by starting each connection more slowly. Disabled by - ; default - ; - enable_adaptive_throttles = true - - ; Per-client bytes per second rates for the various throttle categories. - ; These are default values that will be overridden by clients. These - ; defaults are approximately equivalent to the throttles set by the Imprudence - ; viewer when maximum bandwidth is set to 350kbps - - ;resend_default = 6625 - ;land_default = 9125 - ;wind_default = 1750 - ;cloud_default = 1750 - ;task_default = 18500 - ;texture_default = 18500 - ;asset_default = 10500 - - ; Configures how ObjectUpdates are aggregated. These numbers - ; do not literally mean how many updates will be put in each - ; packet that goes over the wire, as packets are - ; automatically split on a 1400 byte boundary. These control - ; the balance between responsiveness of interest list updates - ; and total throughput. Higher numbers will ensure more full- - ; sized packets and faster sending of data, but more delay in - ; updating interest lists - ; - ;PrimUpdatesPerCallback = 100 - - ; TextureSendLimit determines how many packets will be put on - ; the outgoing queue each cycle. Like the settings above, this - ; is a balance between responsiveness to priority updates and - ; total throughput. Higher numbers will give a better - ; throughput at the cost of reduced responsiveness to client - ; priority changes or transfer aborts - ; - ;TextureSendLimit = 20 - - ; CannibalizeTextureRate allows bandwidth to be moved from the - ; UDP texture throttle to the task throttle. Since most viewers - ; use HTTP textures, this provides a means of using what is largely - ; unused bandwidth in the total throttle. The value is the proportion - ; of the texture rate to move to the task queue. It must be between - ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the - ; bandwidth is grabbed) - ; - ; CannibalizeTextureRate = 0.5 - - ; Quash and remove any light properties from attachments not on the - ; hands. This allows flashlights and lanterns to function, but kills - ; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps - ; will also be affected. - ; - ;DisableFacelights = false - - ; The time to wait before disconecting an unresponsive client. - ; The time is in seconds. The default is one minute - ; - ;AckTimeout = 60 - - ; The time to wait before disconecting an unresponsive paused client. - ; A client can be paused when the file selection dialog is open during file upload. - ; This gives extra time to find files via the dialog but will still disconnect if - ; the client crashes or loses its network connection - ; The time is in seconds. The default is five minutes. - ; - ;PausedAckTimeout = 300 - - -[ClientStack.LindenCaps] - ;; Long list of capabilities taken from - ;; http://wiki.secondlife.com/wiki/Current_Sim_Capabilities - ;; Not all are supported by OpenSim. The ones supported are - ;; set to localhost. These defaults can be overwritten - ;; in OpenSim.ini - ;; - Cap_AttachmentResources = "" - Cap_ChatSessionRequest = "" - Cap_CopyInventoryFromNotecard = "localhost" - Cap_DispatchRegionInfo = "" - Cap_EstateChangeInfo = "" - Cap_EnvironmentSettings = "localhost" - Cap_EventQueueGet = "localhost" - Cap_FetchInventory = "" - Cap_ObjectMedia = "localhost" - Cap_ObjectMediaNavigate = "localhost" - Cap_FetchLib = "" - Cap_FetchLibDescendents = "" - Cap_GetDisplayNames = "localhost" - Cap_GetTexture = "localhost" - Cap_GetMesh = "localhost" - Cap_GetObjectCost = "" - Cap_GetObjectPhysicsData = "" - Cap_GroupProposalBallot = "" - Cap_HomeLocation = "" - Cap_LandResources = "" - Cap_MapLayer = "localhost" - Cap_MapLayerGod = "localhost" - Cap_NewFileAgentInventory = "localhost" - Cap_NewFileAgentInventoryVariablePrice = "localhost" - Cap_ObjectAdd = "localhost" - Cap_ParcelPropertiesUpdate = "localhost" - Cap_ParcelMediaURLFilterList = "" - Cap_ParcelNavigateMedia = "" - Cap_ParcelVoiceInfoRequest = "" - Cap_ProductInfoRequest = "" - Cap_ProvisionVoiceAccountRequest = "" - Cap_RemoteParcelRequest = "localhost" - Cap_RequestTextureDownload = "" - Cap_SearchStatRequest = "" - Cap_SearchStatTracking = "" - Cap_SendPostcard = "" - Cap_SendUserReport = "" - Cap_SendUserReportWithScreenshot = "" - Cap_ServerReleaseNotes = "" - Cap_SimConsole = "" - Cap_SimulatorFeatures = "" - Cap_SetDisplayName = "" - Cap_StartGroupProposal = "" - Cap_TextureStats = "" - Cap_UntrustedSimulatorMessage = "" - Cap_UpdateAgentInformation = "" - Cap_UpdateAgentLanguage = "" - Cap_UpdateGestureAgentInventory = "" - Cap_UpdateNotecardAgentInventory = "localhost" - Cap_UpdateScriptAgent = "localhost" - Cap_UpdateGestureTaskInventory = "" - Cap_UpdateNotecardTaskInventory = "localhost" - Cap_UpdateScriptTask = "localhost" - Cap_UploadBakedTexture = "localhost" - Cap_UploadObjectAsset = "localhost" - Cap_ViewerStartAuction = "" - Cap_ViewerStats = "" - - ; Capabilities for fetching inventory over HTTP rather than UDP - ; FetchInventoryDescendents2 and FetchInventory2 are the ones used in the latest Linden Lab viewers (from some point in the v2 series and above) - ; It appears that Linden Lab viewer 3.3.1 onwards will not work properly if FetchInventoryDescendents2 and FetchInventory2 are not enabled - Cap_WebFetchInventoryDescendents = "" - Cap_FetchInventoryDescendents2 = "localhost" - Cap_FetchInventory2 = "localhost" - - ; Capability for searching for people - Cap_AvatarPickerSearch = "localhost" - - -[Chat] - ; Controls whether the chat module is enabled. Default is true. - enabled = true; - - ; Distance in meters that whispers should travel. Default is 10m - whisper_distance = 10 - - ; Distance in meters that ordinary chat should travel. Default is 20m - say_distance = 20 - - ; Distance in meters that shouts should travel. Default is 100m - shout_distance = 100 - -[EntityTransfer] - ; The maximum distance in regions that an agent is allowed to teleport - ; along the x or y axis. This is set to 65535 because current viewers - ; can't handle teleports that are greater than this distance - ; Setting to 0 will allow teleports of any distance - ; - max_distance = 65535 - - ; Allow avatars to cross into and out of the region. - AllowAvatarCrossing = true - - ; Minimum user level required for HyperGrid teleports - LevelHGTeleport = 0 - - ; Determine whether the cancel button is shown at all during teleports. - ; This option exists because cancelling at certain points can result in an unuseable session (frozen avatar, etc.) - ; Disabling cancellation can be okay in small closed grids where all teleports are highly likely to suceed. - DisableInterRegionTeleportCancellation = false - - -[Messaging] - ; Control which region module is used for instant messaging. - ; Default is InstantMessageModule (this is the name of the core IM module as well as the setting) - InstantMessageModule = InstantMessageModule - ; MessageTransferModule = MessageTransferModule - ; OfflineMessageModule = OfflineMessageModule - ; OfflineMessageURL = http://yourserver/Offline.php - ; MuteListModule = MuteListModule - ; MuteListURL = http://yourserver/Mute.php - - ; Control whether group messages are forwarded to offline users. Default is true. - ; ForwardOfflineGroupMessages = true - - -[Inventory] - ; Control whether multiple objects sent to inventory should be coaleseced into a single item - ; There are still some issues with coalescence, including the fact that rotation is not restored - ; and some assets may be missing from archive files. - CoalesceMultipleObjectsToInventory = true - - -[Appearance] - ; Persist avatar baked textures - ; Persisting baked textures can speed up login and region border - ; crossings especially with large numbers of users, though it - ; will store potentially large numbers of textures in your asset - ; database - PersistBakedTextures = false - - ; Control the delay before appearance is sent to other avatars and - ; saved in the avatar service. Attempts to limit the impact caused - ; by the very chatty dialog that sets appearance when an avatar - ; logs in or teleports into a region; values are in seconds - DelayBeforeAppearanceSave = 5 - DelayBeforeAppearanceSend = 2 - - ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds. - ; This may help with some situations where avatars are persistently grey, though it will not help - ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others). - ResendAppearanceUpdates = false - - ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar - ; on every login - ReuseTextures = false - - -[Attachments] - ; Controls whether avatar attachments are enabled. - ; Defaults to true - only set to false for debugging purposes - Enabled = true - - ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments - ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit - ; or when multiple avatars with medium level attachments login/change outfit simultaneously. - ; If 0 then no throttling is performed. - ThrottlePer100PrimsRezzed = 0; - - -[Mesh] - ; enable / disable Collada mesh support - ; default is true - AllowMeshUpload = true - - ; if you use Meshmerizer and want collisions for meshies, setting this to true - ; will cause OpenSim to attempt to decode meshies assets, extract the physics - ; mesh, and use it for collisions. - UseMeshiesPhysicsMesh = true - - ; Minimum user level required to upload meshes - ;LevelUpload = 0 - - -[Textures] - ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible - ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components - ; (e.g. images pulled from an external HTTP address). - ; Reusing previously generated textures results in a much faster update on the viewer but may cause issues if the viewer didn't receive all resolutions of the texture. - ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted. - ; Hence, currently considered experimental. - ; Default is false. - ReuseDynamicTextures = false - - ; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused - ; This is to workaround an apparent LL 3.3.4 and earlier viewer bug where such textures are not redisplayed properly when pulled from the viewer cache. - ; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem. - ; This setting only has an affect is ReuseDynamicTextures = true - ; Default is false - ReuseDynamicLowDataTextures = false - - -[ODEPhysicsSettings] - ; ## - ; ## Physics stats settings - ; - - ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule - ; (see http://opensimulator.org/wiki/Monitoring_Module for more details). - collect_stats = false - - ; ## - ; ## Physics logging settings - logfiles are saved to *.DIF files - ; ## - - ; default is false - ;physics_logging = true - ;; every n simulation iterations, the physics snapshot file is updated - ;physics_logging_interval = 50 - ;; append to existing physics logfile, or overwrite existing logfiles? - ;physics_logging_append_existing_logfile = true - - ;## - ;## World Settings - ;## - - ;Gravity. Feel like falling up? change world_gravityz to 9.8 instead of -9.8. m/s - world_gravityx = 0 - world_gravityy = 0 - world_gravityz = -9.8 - - ; Terminal velocity of a falling avatar - ; This is the same http://en.wikipedia.org/wiki/Terminal_velocity#Examples - ; Max value is 255, min value is 0 - avatar_terminal_velocity = 54 - - ; World Step size. (warning these are dangerous. Changing these will probably cause your scene to explode dramatically) - ; reference: fps = (0.089/ODE_STEPSIZE) * 1000; - world_stepsize = 0.0178 - world_internal_steps_without_collisions = 10 - - ;World Space settings. Affects memory consumption vs Collider CPU time for avatar and physical prim - world_hashspace_size_low = -4 - world_hashSpace_size_high = 128 - - ;Dynamic space settings Affects memory consumption vs Collider CPU time for static prim - meters_in_small_space = 29.9 - small_hashspace_size_low = -4 - small_hashspace_size_high = 66 - - ; ## - ; ## Contact properties. (the stuff that happens when things come in contact with each other) - ; ## - - ; surface layer around geometries other geometries can sink into before generating a contact - world_contact_surface_layer = 0.001 - - ; Filtering collisions helps keep things stable physics wise, but sometimes - ; it can be overzealous. If you notice bouncing, chances are it's that. - filter_collisions = false - - ; Non Moving Terrain Contact (avatar isn't moving) - nm_terraincontact_friction = 255.0 - nm_terraincontact_bounce = 0.1 - nm_terraincontact_erp = 0.1025 - - ; Moving Terrain Contact (avatar is moving) - m_terraincontact_friction = 75.0 - m_terraincontact_bounce = 0.05 - m_terrainContact_erp = 0.05025 - - ; Moving Avatar to object Contact - m_avatarobjectcontact_friction = 75.0 - m_avatarobjectcontact_bounce = 0.1 - - ; Object to Object Contact and Non-Moving Avatar to object - objectcontact_friction = 250.0 - objectcontact_bounce = 0.2 - - ; ## - ; ## Avatar Control - ; ## - - ; PID Controller Settings. These affect the math that causes the avatar to reach the - ; desired velocity - ; See http://en.wikipedia.org/wiki/PID_controller - - av_pid_derivative_linux = 2200.0 - av_pid_proportional_linux = 900.0; - - av_pid_derivative_win = 2200.0 - av_pid_proportional_win = 900.0; - - ;girth of the avatar. Adds radius to the height also - av_capsule_radius = 0.37 - - ; Max force permissible to use to keep the avatar standing up straight - av_capsule_standup_tensor_win = 550000 - av_capsule_standup_tensor_linux = 550000 - - ; specifies if the capsule should be tilted (=true; old compatibility mode) - ; or straight up-and-down (=false; better and more consistent physics behavior) - av_capsule_tilted = false - - ; used to calculate mass of avatar. - ; float AVvolume = (float) (Math.PI*Math.Pow(CAPSULE_RADIUS, 2)*CAPSULE_LENGTH); - ; av_density * AVvolume; - av_density = 80 - - ; use this value to cut 52% of the height the sim gives us - ; Currently unused - ; av_height_fudge_factor = 0.52 - - ; Movement. Smaller is faster. - - ; speed of movement with Always Run off - av_movement_divisor_walk = 1.3 - - ; speed of movement with Always Run on - av_movement_divisor_run = 0.8 - - ; When the avatar flies, it will be moved up by this amount off the ground (in meters) - minimum_ground_flight_offset = 3.0 - - ; Plant avatar. This reduces the effect of physical contacts with the avatar. - ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive. - ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active - ; will lock the avatar in place - av_planted = false - - ; No Avatar Avatar Collissions. This causes avatar to be able to walk through each other as if they're ghosts but still interact with the environment - av_av_collisions_off = false - - ; ## - ; ## Object options - ; ## - - ; used in the mass calculation. - geometry_default_density = 10.000006836 - - ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep - body_frames_auto_disable = 20 - - ; used to control llMove2Target - body_pid_derivative = 35 - body_pid_gain = 25 - - ; maximum number of contact points to generate per collision - contacts_per_collision = 80 - - ; amount of time a geom/body will try to cross a region border before it gets disabled - geom_crossing_failures_before_outofbounds = 5 - - ; start throttling the object updates if object comes in contact with 3 or more other objects - geom_contactpoints_start_throttling = 3 - - ; send 1 update for every x updates below when throttled - geom_updates_before_throttled_update = 15 - - ; Used for llSetStatus. How rigid the object rotation is held on the axis specified - body_motor_joint_maxforce_tensor_linux = 5 - body_motor_joint_maxforce_tensor_win = 5 - - ; Maximum mass an object can be before it is clamped - maximum_mass_object = 10000.01 - - ; ## - ; ## Sculpted Prim settings - ; ## - - ; Do we want to mesh sculpted prim to collide like they look? - mesh_sculpted_prim = true - - ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies - mesh_lod = 32 - - ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies - mesh_physical_lod = 16 - - ; ## - ; ## Joint support - ; ## - - ; If you would like physics joints to be enabled through a special naming - ; convention in the client, set this to true. - ; (See NINJA Physics documentation, http://opensimulator.org/wiki/NINJA_Physics) - ; Default is false - ;use_NINJA_physics_joints = true - - ; ## - ; ## additional meshing options - ; ## - - ; Physical collision mesh proxies are normally created for complex prim shapes, - ; and collisions for simple boxes and spheres are computed algorithmically. - ; If you would rather have mesh proxies for simple prims, you can set this to - ; true. Note that this will increase memory usage and region startup time. - ; Default is false. - ;force_simple_prim_meshing = true - - -[BulletSim] - ; All the BulletSim parameters can be displayed with the console command - ; "physics get all" and all are defined in the source file - ; OpenSim/Regions/Physics/BulletSPlugin/BSParam.cs. - - ; There are two bullet physics libraries, bulletunmanaged is the default and is a - ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality - ; but the c++ one is much faster. - BulletEngine = "bulletunmanaged" - ; BulletEngine = "bulletxna" - - ; BulletSim can run on its own thread independent of the simulator's heartbeat - ; thread. Enabling this will not let the physics engine slow down avatar movement, etc. - UseSeparatePhysicsThread = false - - ; Terrain implementation can use either Bullet's heightField or BulletSim can build - ; a mesh. 0=heightField, 1=mesh - TerrainImplementation = 0 - ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield - ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher - ; magnifications use lots of memory. - TerrainMeshMagnification = 2 - - ; Should avatars collide with each other? - AvatarToAvatarCollisionsByDefault = true - - ; Avatar physics height adjustments. - ; http://opensimulator.org/wiki/BulletSim#Adjusting_Avatar_Height - AvatarHeightLowFudge = 0 ; Adjustment at low end of height range - AvatarHeightMidFudge = 0 ; Adjustment at mid point of avatar height range - AvatarHeightHighFudge = 0 ; Adjustment at high end of height range - - ; Avatar walk-up-stairs parameters - ; If an avatar collides with an object 'close to its feet', the avatar will be - ; moved/pushed up do simulate stepping up. - ;AvatarStepHeight = 0.6f ; The height, below which is considered a step collision. - ;AvatarStepAngle = 0.3f ; The angle from vertical (in radians) to consider a surface a step - ;AvatarStepApproachFactor = 2f ; Approach angle factor. O=straight on, .6=~45 degrees. - ;AvatarStepGroundFudge = 0.1f ; Fudge added to bottom of avatar below which step collisions happen - ;AvatarStepForceFactor = 0f ; Avatar is pushed up by its mass times this factor - ;AvatarStepUpCorrectionFactor = 0.8f ; Avatar is displaced up the collision height times this factor - ;AvatarStepSmoothingSteps = 1 ; Number of frames after a step collision that up correction is applied - - ; Terminal velocity of a falling avatar - ; This is the same http://en.wikipedia.org/wiki/Terminal_velocity#Examples - ; negative for a downward speed. - AvatarTerminalVelocity = -54 - - ; Default linkset implmentation - ; 'Constraint' uses physics constraints to hold linkset together. 'Compound' - ; builds a compound shape from the children shapes to create a single physical - ; shape. 'Compound' uses a lot less CPU time. - LinkImplementation = 1 ; 0=constraint, 1=compound - - ; If 'true', offset a linkset's origin based on mass of linkset parts. - LinksetOffsetCenterOfMass = false - - ; If 'true', turn scuplties into meshes - MeshSculptedPrim = true - - ; If 'true', force simple prims (box and sphere) to be meshed - ; If 'false', the Bullet native special case shape is used for square rectangles - ; and even dimensioned spheres. - ForceSimplePrimMeshing = false - - ; If 'true', when creating meshes, remove all triangles that have two equal vertexes. - ; Happens often in sculpties. If turned off, there will be some doorways - ; that cannot be walked through. - ShouldRemoveZeroWidthTriangles = true - - ; If 'true', use convex hull definition in mesh asset if present. - ShouldUseAssetHulls = true - - ; If there are thousands of physical objects, these maximums should be increased. - MaxCollisionsPerFrame = 2048 - MaxUpdatesPerFrame = 8192 - - ; Detailed physics debug logging. Very verbose. - PhysicsLoggingEnabled = False - PhysicsLoggingDir = "." - VehicleLoggingEnabled = False - - -[RemoteAdmin] - enabled = false - - ; Set this to a nonzero value to have remote admin use a different port - port = 0 - - ; Set this to the ip address that you want the admin server to bind to - bind_ip_address = "0.0.0.0" - - ; This password is required to make any XMLRPC call (should be set as the "password" parameter) - access_password = unknown - - ; List the IP addresses allowed to call RemoteAdmin - ; If access_ip_addresses isn't set, then all IP addresses can access RemoteAdmin. - ; access_ip_addresses = 0.0.0.0, 0.0.0.0 ... - ; access_ip_addresses = - - ; set this variable to true if you want the create_region XmlRpc - ; call to unconditionally enable voice on all parcels for a newly - ; created region [default: false] - create_region_enable_voice = false - - ; set this variable to false if you want the create_region XmlRpc - ; call to create all regions as private per default (can be - ; overridden in the XmlRpc call) [default: true] - create_region_public = false - - ; the create_region XmlRpc call uses region_file_template to generate - ; the file name of newly create regions (if they are created - ; persistent). the parameter available are: - ; {0} - X location - ; {1} - Y location - ; {2} - region UUID - ; {3} - region port - ; {4} - region name with " ", ":", "/" mapped to "_" - region_file_template = "{0}x{1}-{2}.ini" - - ; we can limit the number of regions that XmlRpcCreateRegion will - ; allow by setting this to a positive, non-0 number: as long as the - ; number of regions is below region_limits, XmlRpcCreateRegion will - ; succeed. setting region_limit to 0 disables the check. - ; default is 0 - ;region_limit = 0 - - ; enable only those methods you deem to be appropriate using a | delimited whitelist - ; for example, enabled_methods = admin_broadcast|admin_region_query|admin_save_oar|admin_save_xml - ; if this parameter is not specified but enabled = true, all methods will be available - enabled_methods = all - - ; specify the default appearance for an avatar created through the remote admin interface - ; This will only take effect is the file specified by the default_appearance setting below exists - ;default_male = Default Male - ;default_female = Default Female - - ; update appearance copies inventory items and wearables of default avatars. if this value is false - ; (default), just worn assets are copied to the Clothes folder; if true, all Clothes and Bodyparts - ; subfolders are copied. the receiver will wear the same items the default avatar did wear. - ;copy_folders = false - - ; path to default appearance XML file that specifies the look of the default avatars - ;default_appearance = default_appearance.xml - - -; RestPlugins are not currently operational. -;[RestPlugins] -; ; Change this to true to enable REST Plugins. This must be true if you wish to use -; ; REST Region or REST Asset and Inventory Plugins -; enabled = false -; god_key = SECRET -; prefix = /admin - - -;[RestRegionPlugin] -; ; Change this to true to enable the REST Region Plugin -; enabled = false - - -;[RestHandler] -; ; Change this to true to enable the REST Asset and Inventory Plugin -; enabled = false -; authenticate = true -; secured = true -; extended-escape = true -; realm = OpenSim REST -; dump-asset = false -; path-fill = true -; dump-line-size = 32 -; flush-on-error = true - - -; IRC bridge is experimental, so if it breaks... keep both parts... yada yada -; also, not good error detection when it fails -[IRC] - enabled = false; you need to set this to true otherwise it won't connect - ;server = name.of.irc.server.on.the.net - ;; user password - only use this if the server requires one - ;password = mypass - ;nick = OpenSimBotNameProbablyMakeThisShorter - ;channel = #the_irc_channel_you_want_to_connect_to - ;user = "USER OpenSimBot 8 * :I'm an OpenSim to IRC bot" - ;port = 6667 - ;; channel to listen for configuration commands - ;commands_enabled = false - ;command_channel = 2777 - ;report_clients = true - ;; relay private chat connections - ;; relay_private_channels = true: will relay IRC chat from/to private in-world channels - ;; relay_private_channel_out -- channel to send messages out to the IRC bridge - ;; relay_private_channel_in -- channel to receive message from the IRC bridge - ;; relay_chat = false: IRC bridge will not relay normal chat - ;; access_password -- simple security device - ;; - ;; so, to just relay chat from an IRC channel to in-world region and vice versa: - ;; - ;; relay_private_channels = false - ;; relay_chat = true - ;; - ;; to relay chat only to/from private in-world channels: - ;; - ;; relay_chat = false - ;; relay_private_channels = true - ;; relay_private_channel_in = 2226 - ;; relay_private_channel_out = 2225 - ;; - ;; in this example, all chat coming in from IRC will be send out via - ;; in-world channel 2226, and all chat from in-world channel 2225 will - ;; be relayed to the IRC channel. - ;; - ;relay_private_channels = false - ;relay_private_channel_in = 2226 - ;relay_private_channel_out = 2225 - ;relay_chat = true - ;access_password = foobar - - ;;fallback_region = name of "default" region - ;;MSGformat fields : 0=botnick, 1=user, 2=region, 3=message - ;; must start with "PRIVMSG {0} : " or irc server will get upset - ;;for : : - ;;msgformat = "PRIVMSG {0} :<{1} in {2}>: {3}" - ;;for : - : - ;msgformat = "PRIVMSG {0} : {3} - {1} of {2}" - ;;for : - from : - ;;msgformat = "PRIVMSG {0} : {3} - from {1}" - - ;; exclude_list allows you to stop the IRC connector from announcing the - ;;arrival and departure of certain users. For example: admins, bots. - - ;exclude_list=User 1,User 2,User 3 - - ;;Shows modal alertbox for entering agent on IRC enabled regions - ;; - ;; Enable Alert, default = false - ;alert_show = false - ;; - ;; Show IRC serverinfo, default = true - ;alert_show_serverinfo = true - ;; - ;alert_msg_pre = "This region is linked to Irc." - ;alert_msg_post = "Everything you say in public chat can be listened." - - -; The following settings control the progression of daytime -; in the Sim. The defaults are the same as the commented out settings -[Sun] - ; number of wall clock hours for an opensim day. 24.0 would mean realtime - ;day_length = 4 - ; Year length in days - ;year_length = 60 - ; Day to Night Ratio - ;day_night_offset = 0.45 - ; send a Sun update every update_interval # of frames. A lower number will - ; make for smoother sun transition at the cost of network - ;update_interval = 100 - - -[Wind] - ; Enables the wind module. Default is true - enabled = true - - ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second - wind_update_rate = 150 - - ; The Default Wind Plugin to load - wind_plugin = SimpleRandomWind - - ; These settings are specific to the ConfigurableWind plugin - ; To use ConfigurableWind as the default, simply change wind_plugin to ConfigurableWind and uncomment the following. - ; avg_strength = 5.0 - ; avg_direction = 0.0 - ; var_strength = 0.0 - ; var_direction = 0.0 - ; rate_change = 1.0 - - ; This setting is specific to the SimpleRandomWind plugin - ; Adjusts wind strength. 0.0 = no wind, 1.0 = normal wind. Default is 1.0 - strength = 1.0 - - -[Cloud] - ; Enable this to generate classic particle clouds above the sim. - ; default is disabled - turn it on here - enabled = false - - ; Density of cloud cover 0.0 to 1.0 Defult 0.5 - density = 0.5 - - ; update interval for the cloud cover data returned by llCloud(). - ; default is 1000 - cloud_update_rate = 1000 - - -[LightShare] - ; This enables the transmission of Windlight scenes to supporting clients, such as the Meta7 viewer. - ; It has no ill effect on viewers which do not support server-side windlight settings. - enable_windlight = false - - -[Trees] - ; Enable this to allow the tree module to manage your sim trees, including growing, reproducing and dying - ; default is false - active_trees = false - - ; Density of tree population - tree_density = 1000.0 - - -[VectorRender] - ; the font to use for rendering text (default: Arial) - ; font_name = "Arial" - - -[LL-Functions] - ; Set the following to true to allow administrator owned scripts to execute console commands - ; currently unused - ; AllowosConsoleCommand=false - - ; Are god functions such as llSetObjectPermMask() allowed? If true then gods and only gods have access to these functions. - ; If false then gods cannot execute these functions either. - AllowGodFunctions = false - - ; Restrict the email address used by llEmail to the address associated with the avatars user account? - ; If true then llEmail will only send email to the address in the user account of the avatar who owns the object containing the script. - ; If false then email may be sent to any valid email address. - RestrictEmail = false - - ; Maximum number of llListen events we allow over the entire region. - ; Set this to 0 to have no limit imposed - max_listens_per_region = 1000 - - ; Maximum number of llListen events we allow per script - ; Set this to 0 to have no limit imposed. - max_listens_per_script = 64 - - ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL()) - max_external_urls_per_simulator = 100 - - ; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes. - ; Speeds up calculations but can make them inaccurate, in some cases very inaccurate. - UseSimpleBoxesInGetBoundingBox = false - - ; Add a third vector with stats when returning results from llGetBoundingBox. - ; Lists objects (groups), prims/meshes/avatars (parts) and vertices rendered. - AddStatsInGetBoundingBox = false - - ; Avatar bounding box, lower X value, constant part, when standing - LowerAvatarBoundingBoxStandingXconst = -0.275 - - ; Avatar bounding box, upper X value, constant part, when standing - UpperAvatarBoundingBoxStandingXconst = 0.275 - - ; Avatar bounding box, lower Y value, constant part, when standing - LowerAvatarBoundingBoxStandingYconst = -0.35 - - ; Avatar bounding box, upper Y value, constant part, when standing - UpperAvatarBoundingBoxStandingYconst = 0.35 - - ; Avatar bounding box, lower Z value, constant part, when standing - LowerAvatarBoundingBoxStandingZconst = -0.1 - - ; Avatar bounding box, lower Z value, coefficient to multiply with avatar height, when standing - LowerAvatarBoundingBoxStandingZcoeff = -0.5 - - ; Avatar bounding box, upper Z value, constant part, when standing - UpperAvatarBoundingBoxStandingZconst = 0.1 - - ; Avatar bounding box, upper Z value, coefficient to multiply with avatar height, when standing - UpperAvatarBoundingBoxStandingZcoeff = 0.5 - - ; Avatar bounding box, lower X value, constant part, when groundsitting - LowerAvatarBoundingBoxGroundsittingXconst = -0.3875 - - ; Avatar bounding box, upper X value, constant part, when groundsitting - UpperAvatarBoundingBoxGroundsittingXconst = 0.3875 - - ; Avatar bounding box, lower Y value, constant part, when groundsitting - LowerAvatarBoundingBoxGroundsittingYconst = -0.5 - - ; Avatar bounding box, upper Y value, constant part, when groundsitting - UpperAvatarBoundingBoxGroundsittingYconst = 0.5 - - ; Avatar bounding box, lower Z value, constant part, when groundsitting - LowerAvatarBoundingBoxGroundsittingZconst = -0.05 - - ; Avatar bounding box, lower Z value, coefficient to multiply with avatar height, when groundsitting - LowerAvatarBoundingBoxGroundsittingZcoeff = -0.375 - - ; Avatar bounding box, upper Z value, constant part, when groundsitting - UpperAvatarBoundingBoxGroundsittingZconst = 0.5 - - ; Avatar bounding box, upper Z value, coefficient to multiply with avatar height, when groundsitting - UpperAvatarBoundingBoxGroundsittingZcoeff = 0.0 - - ; Avatar bounding box, lower X value, constant part, when sitting - LowerAvatarBoundingBoxSittingXconst = -0.5875 - - ; Avatar bounding box, upper X value, constant part, when sitting - UpperAvatarBoundingBoxSittingXconst = 0.1875 - - ; Avatar bounding box, lower Y value, constant part, when sitting - LowerAvatarBoundingBoxSittingYconst = -0.35 - - ; Avatar bounding box, upper Y value, constant part, when sitting - UpperAvatarBoundingBoxSittingYconst = 0.35 - - ; Avatar bounding box, lower Z value, constant part, when sitting - LowerAvatarBoundingBoxSittingZconst = -0.35 - - ; Avatar bounding box, lower Z value, coefficient to multiply with avatar height, when sitting - LowerAvatarBoundingBoxSittingZcoeff = -0.375 - - ; Avatar bounding box, upper Z value, constant part, when sitting - UpperAvatarBoundingBoxSittingZconst = -0.25 - - ; Avatar bounding box, upper Z value, coefficient to multiply with avatar height, when sitting - UpperAvatarBoundingBoxSittingZcoeff = 0.25 - - ; Safety coefficient for max bounding box from prim size box X coordinate - ; Worst case is twisted and sheared box, 1+sqrt(2) - PrimBoundingBoxSafetyCoefficientX = 2.414214 - - ; Safety coefficient for max bounding box from prim size box Y coordinate - ; Worst case is twisted and sheared box, 1+sqrt(2) - PrimBoundingBoxSafetyCoefficientY = 2.414214 - - ; Safety coefficient for max bounding box from prim size box Z coordinate - ; Worst case is twisted tube, 0.5+sqrt(1.25) - PrimBoundingBoxSafetyCoefficientZ = 1.618034 - - ; Use llCastRay V3 if true. - ; Implements llCastRay similar but not identical to Second Life. - ; See http://wiki.secondlife.com/wiki/LlCastRay . - ; NEW - ; Meshes prims for good accuracy in ray hit detection, - ; handling basic and tortured prims, sculpts and meshes. - ; Uses ellipsoid, correctly sized avatar capsules. - ; Handles complex terrain, multi-prim objects and seated avatars. - ; Implements throttling and the status codes - ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED, - ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW. - ; WARNING - ; Can be faster on some servers and scenes, but slower on others, - ; compared to previous version of llCastRay in OpenSimulator. - ; Is in most cases considerably slower than llCastRay in Second Life. - ; Generates geometry meshes and can therefore use much system resources. - UseLlCastRayV3 = false - - ; Accepted calculation precision error in calculations in llCastRay V3 - FloatToleranceInLlCastRay = 0.00001 - - ; Accepted distance difference between duplicate hits in llCastRay V3 - FloatTolerance2InLlCastRay = 0.001 - - ; Detail level when rendering prims in llCastRay V3 - ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call - PrimDetailLevelInLlCastRay = 1 - - ; Detail level when rendering sculpts in llCastRay V3 - ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call - SculptDetailLevelInLlCastRay = 1 - - ; Detail level when rendering meshes in llCastRay V3 - ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call - MeshDetailLevelInLlCastRay = 3 - - ; Detail level when rendering avatar capsules in llCastRay V3 - ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call - AvatarDetailLevelInLlCastRay = 1 - - ; Maximum number of returned hits from llCastRay V3 - MaxHitsInLlCastRay = 16 - - ; Maximum number of returned hits per prim from llCastRay V3 - MaxHitsPerPrimInLlCastRay = 16 - - ; Maximum number of returned hits per object from llCastRay V3 - MaxHitsPerObjectInLlCastRay = 16 - - ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true - DetectExitHitsInLlCastRay = false - - ; Filter on parts instead of groups in llCastRay V3 if true - FilterPartsInLlCastRay = false - - ; Detect attachments in llCastRay V3 if true - DoAttachmentsInLlCastRay = false - - ; Throttle period length in ms before which all old llCastRay use is discarded in llCastRay V3 - ; The sum of AvailableTimeInMsPerRegionInLlCastRay and all AvailableTimeInMsPerAvatarInLlCastRay should not exceed this - ThrottleTimeInMsInLlCastRay = 200 - - ; Available time in ms for llCastRay per throttle period and 65536 m2 land area in llCastRay V3 - AvailableTimeInMsPerRegionInLlCastRay = 40 - - ; Available time in ms for llCastRay per throttle period and avatar when script in attachment or vehicle in llCastRay V3 - AvailableTimeInMsPerAvatarInLlCastRay = 10 - - ; Required available time in ms left to perform a new llCastRay in llCastRay V3 - RequiredAvailableTimeInMsInLlCastRay = 2 - - ; Maximum available time in ms possible in llCastRay V3, not to get too high values with varregions - MaximumAvailableTimeInMsInLlCastRay = 40 - - ; Use cached meshes in llCastRay V3 if true - ; Improves performance but uses more memory - UseMeshCacheInLlCastRay = true - - -[DataSnapshot] - ; The following set of configs pertains to search. - ; Set index_sims to true to enable search engines to index your searchable data - ; If false, no data will be exposed, DataSnapshot module will be off, and you can ignore the rest of these search-related configs - ; default is false - index_sims = false - - ; The variable data_exposure controls what the regions expose: - ; minimum: exposes only things explicitly marked for search - ; all: exposes everything - data_exposure = minimum - - ; If search is on, change this to your grid name; will be ignored for standalones - gridname = "OSGrid" - - ; Period between data snapshots, in seconds. 20 minutes, for starters, so that you see the initial changes fast. - ; Later, you may want to increase this to 3600 (1 hour) or more - default_snapshot_period = 1200 - - ; This will be created in bin, if it doesn't exist already. It will hold the data snapshots. - snapshot_cache_directory = "DataSnapshot" - - ; Uncomment if you want to index your data with this and/or other search providers. One entry per - ; data service - ;DATA_SRV_MISearch = "http://metaverseink.com/cgi-bin/register.py" - - -[Economy] - ; These economy values get used in the BetaGridLikeMoneyModule. - This module is for demonstration only - - ; The default economy module only implements just enough to allow free actions (transfer of objects, etc). - ; There is no intention to implement anything further in core OpenSimulator. - ; This functionality has to be provided by third party modules. - - ;; Enables selling things for $0. Default is true. - SellEnabled = true - - ;; Money Unit fee to upload textures, animations etc. Default is 0. - PriceUpload = 0 - - ;; Money Unit fee to create groups. Default is 0. - PriceGroupCreate = 0 - - ; We don't really know what the rest of these values do. These get sent to the client - ; These taken from Agni at a Public Telehub. Change at your own risk. - ObjectCount = 0 - PriceEnergyUnit = 100 - PriceObjectClaim = 10 - PricePublicObjectDecay = 4 - PricePublicObjectDelete = 4 - PriceParcelClaim = 1 - PriceParcelClaimFactor = 1 - - PriceRentLight = 5 - TeleportMinPrice = 2 - TeleportPriceExponent = 2 - EnergyEfficiency = 1 - PriceObjectRent = 1 - PriceObjectScaleFactor = 10 - PriceParcelRent = 1 - - -[XEngine] - ; Enable this engine in this OpenSim instance - Enabled = true - - ; How many threads to keep alive even if nothing is happening - MinThreads = 2 - - ; How many threads to start at maximum load - MaxThreads = 100 - - ; Time a thread must be idle (in seconds) before it dies - IdleTimeout = 60 - - ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest") - Priority = "BelowNormal" - - ; Maximum number of events to queue for a script (excluding timers) - MaxScriptEventQueue = 300 - - ; Stack size per thread created - ThreadStackSize = 262144 - - ; Set this to true (the default) to load each script into a separate - ; AppDomain. Setting this to false will load all script assemblies into the - ; current AppDomain, which will reduce the per-script overhead at the - ; expense of reduced security and the inability to garbage collect the - ; script assemblies - AppDomainLoading = true - - ; Controls whether previously compiled scripts DLLs are deleted on sim restart. If you set this to false - ; then startup will be considerably faster since scripts won't need to be recompiled. However, then it becomes your responsibility to delete the - ; compiled scripts if you're recompiling OpenSim from source code and internal interfaces used - ; by scripts have changed. - ; DeleteScriptsOnStartup = false - - ; Controls whether scripts are stopped by aborting their threads externally (abort) - ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op). - ; co-op will be more stable as aborting threads can cause instability. - ; abort was the default option in OpenSimulator 0.8 and before. - ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary. - ; However, the setting change will not take affect until the next time you restart the simulator. - ; Setting changes will not affect state information stored for scripts. - ScriptStopStrategy = co-op - - ; Rate to poll for asynchronous command replies (ms) - ; currently unused - ;AsyncLLCommandLoopms = 50 - - ; Save the source of all compiled scripts - WriteScriptSourceToDebugFile = false - - ; Default language for scripts - DefaultCompileLanguage = lsl - - ; List of allowed languages (lsl,vb,cs) - ; AllowedCompilers=lsl,cs,vb - ; *warning*, non lsl languages have access to static methods such as System.IO.File. Enable at your own risk. - AllowedCompilers=lsl - - ; Compile debug info (line numbers) into the script assemblies - CompileWithDebugInformation = true - - ; Allow the user of mod* functions. This allows a script to pass messages - ; to a region module via the modSendCommand() function - ; Default is false - AllowMODFunctions = false - - ; Allow the use of os* functions (some are dangerous) - AllowOSFunctions = false - - ; Allow the user of LightShare functions - AllowLightShareFunctions = false - - ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe - OSFunctionThreatLevel = VeryLow - - ; OS Functions enable/disable - ; For each function, you can add one line, as shown - ; The default for all functions allows them if below threat level - - ; true allows the use of the function unconditionally - ; Allow_osSetRegionWaterHeight = true - - ; false disables the function completely - ; Allow_osSetRegionWaterHeight = false - - ; Comma separated list of UUIDS allows the function for that list of UUIDS - ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb - - ; Comma separated list of owner classes that allow the function for a particular class of owners. Choices are - ; - PARCEL_GROUP_MEMBER: allow if objectgroup is the same group as the parcel - ; - PARCEL_OWNER: allow if the objectowner is parcelowner - ; - ESTATE_MANAGER: allow if the object owner is a estate manager - ; - ESTATE_OWNER: allow if objectowner is estateowner - ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb, PARCEL_OWNER, ESTATE_OWNER>, ... - - ; You can also use script creators as the uuid - ; Creators_osSetRegionWaterHeight = , ... - - ; If both Allow_ and Creators_ are given, effective permissions - ; are the union of the two. - - ; Interval (s) between background save of script states - SaveInterval = 120 - - ; Interval (s) between maintenance runs (0 = disable) - MaintenanceInterval = 10 - - ; Time a script can spend in an event handler before it is interrupted - EventLimit = 30 - - ; If a script overruns it's event limit, kill the script? - KillTimedOutScripts = false - - ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested - ; before aborting the thread (such as when an object containing scripts is taken into inventory). - WaitForEventCompletionOnScriptStop = 1000; - - ; Sets the multiplier for the scripting delays - ScriptDelayFactor = 1.0 - - ; The factor the 10 m distances llimits are multiplied by - ScriptDistanceLimitFactor = 1.0 - - ; Maximum length of notecard line read - ; Increasing this to large values potentially opens - ; up the system to malicious scripters - ; NotecardLineReadCharsMax = 255 - - ; Minimum settable timer interval. Any timer setting less than this is - ; rounded up to this minimum interval. - ; MinTimerInterval = 0.5 - - ; Sensor settings - SensorMaxRange = 96.0 - SensorMaxResults = 16 - - ; Allow for llCreateLink and llBreakLink to work without asking for permission - ; only enable this in a trusted environment otherwise you may be subject to hijacking - ; AutomaticLinkPermission = false - - ; Disable underground movement of prims (default true); set to - ; false to allow script controlled underground positioning of - ; prims - ; DisableUndergroundMovement = true - - ;; Path to script assemblies - ; ScriptEnginesPath = "ScriptEngines" - - -[Concierge] - ; Enable concierge module - ; Default is false - enabled = false - - ; name of the concierge - whoami = "jeeves" - - ; password for updating the welcome message templates via XmlRpc - password = SECRET - - ; regex specifying for which regions concierge service is desired; if - ; empty, then for all - regions = "^MeetingSpace-" - - ; for each region that matches the regions regexp you can provide - ; (optionally) a welcome template using format substitution: - ; {0} is replaced with the name of the avatar entering the region - ; {1} is replaced with the name of the region - ; {2} is replaced with the name of the concierge (whoami variable above) - - welcomes = /path/to/welcome/template/directory - - ; Concierge can send attendee lists to an event broker whenever an - ; avatar enters or leaves a concierged region. the URL is subject - ; to format substitution: - ; {0} is replaced with the region's name - ; {1} is replaced with the region's UUID - broker = "http://broker.place.com/{1}" - - -[MRM] - ; Enables the Mini Region Modules Script Engine. - ; default is false - Enabled = false - - ; Runs MRM in a Security Sandbox - ; WARNING: DISABLING IS A SECURITY RISK. - Sandboxed = true - - ; The level sandbox to use, adjust at your OWN RISK. - ; Valid values are: - ; * FullTrust - ; * SkipVerification - ; * Execution - ; * Nothing - ; * LocalIntranet - ; * Internet - ; * Everything - SandboxLevel = "Internet" - - ; Only allow Region Owners to run MRMs - ; May represent a security risk if you disable this. - OwnerOnly = true - - -[Hypergrid] - ; Keep it false for now. Making it true requires the use of a special client in order to access inventory - safemode = false - - -[VivoxVoice] - ; The VivoxVoice module will allow you to provide voice on your - ; region(s). It uses the same voice technology as the LL grid and - ; works with recent LL clients (we have tested 1.22.9.110075, so - ; anything later ought to be fine as well). - ; - ; For this to work you need to obtain an admin account from Vivox - ; that allows you to create voice accounts and region channels. - - enabled = false - - ; vivox voice server - vivox_server = www.foobar.vivox.com - - ; vivox SIP URI - vivox_sip_uri = foobar.vivox.com - - ; vivox admin user name - vivox_admin_user = DeepThroat - - ; vivox admin password - vivox_admin_password = VoiceG4te - - ; channel type: "channel" or "positional" - ; - positional: spatial sound (default) - ; - channel: normal "conference call", no spatial sound - ;vivox_channel_type = positional - - ; channel characteristics (unless you know what you are doing, i'd - ; leave them as they are --- now you WILL muck around with them, - ; huh? sigh) - - ; channel distance model: - ; 0 - no attenuation - ; 1 - inverse distance attenuation - ; 2 - linear attenuation (default) - ; 3 - exponential attenuation - ;vivox_channel_distance_model = 2 - - ; channel mode: - ; - "open" (default) - ; - "lecture" - ; - "presentation" - ; - "auditorium" - ;vivox_channel_mode = "open" - - ; channel roll off: rate of attenuation - ; - a value between 1.0 and 4.0, default is 2.0 - ;vivox_channel_roll_off = 2.0 - - ; channel max range: distance at which channel is silent - ; - a value between 0 and 160, default is 80 - ;vivox_channel_max_range = 80 - - ; channel clamping distance: distance before attenuation applies - ; - a value between 0 and 160, default is 10 - ;vivox_channel_clamping_distance = 10 - - -[Groups] - Enabled = false - - ; This is the current groups stub in Region.CoreModules.Avatar.Groups. All the other settings below only really - ; apply to the Flotsam/SimianGrid GroupsModule - Module = Default - - ; This module can use a PHP XmlRpc server from the Flotsam project at http://code.google.com/p/flotsam/ - ; or from the SimianGrid project at http://code.google.com/p/openmetaverse - ;Module = GroupsModule - - ; Enable Group Notices - ;NoticesEnabled = true - - ; This makes the Group module very chatty on the console. - DebugEnabled = false - - ; This makes the Groups Messaging module very chatty on the console. - DebugMessagingEnabled = false - - ; Groups data is cached for this number of seconds before another request is made to the groups service - ; Set to 0 to disable the cache. - ; Default is 30 seconds - GroupsCacheTimeout = 30 - - ; Specify which messaging module to use for groups messaging and if it's enabled - MessagingModule = GroupsMessagingModule - ;MessagingEnabled = true - - ; Experimental option to only message cached online users rather than all users - ; Should make large group with few online members messaging faster, as the expense of more calls to ROBUST presence service - ; (Flotsam groups only; in V2 this is always on) - MessageOnlineUsersOnly = false - - ; Service connectors to the Groups Service. Select one depending on whether you're using a Flotsam XmlRpc backend or a SimianGrid backend - - ; SimianGrid Service for Groups - ;ServicesConnectorModule = SimianGroupsServicesConnector - ;GroupsServerURI = http://mygridserver.com:82/Grid/ - - ; Flotsam XmlRpc Service for Groups - ;ServicesConnectorModule = XmlRpcGroupsServicesConnector - ;GroupsServerURI = http://yourxmlrpcserver.com/xmlrpc.php - - ; XmlRpc Security settings. These must match those set on your backend groups service if the service is using these keys - ;XmlRpcServiceReadKey = 1234 - ;XmlRpcServiceWriteKey = 1234 - - ; Disables HTTP Keep-Alive for XmlRpcGroupsServicesConnector HTTP Requests, - ; this is a work around fora problem discovered on some Windows based region servers. - ; Only disable keep alive if you see a large number (dozens) of the following Exceptions: - ; System.Net.WebException: The request was aborted: The request was canceled. - ; XmlRpcDisableKeepAlive = false - - ; Minimum user level required to create groups - ;LevelGroupCreate = 0 - - -[PacketPool] - ;RecyclePackets = true; - ;RecycleDataBlocks = true; - - ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets. - ; This reduces data churn - RecycleBaseUDPPackets = true - - -[InterestManagement] - ; This section controls how state updates are prioritized for each client - ; Valid values are BestAvatarResponsiveness, Time, Distance, - ; SimpleAngularDistance, and FrontBack - UpdatePrioritizationScheme = BestAvatarResponsiveness - ReprioritizationEnabled = true - ReprioritizationInterval = 2000.0 - RootReprioritizationDistance = 10.0 - ChildReprioritizationDistance = 20.0 - - ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region - ; Updates will always be sent to the avatar that the update addresses and if av velocity is effectively zero (to prevent drift due to missing updates). - ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars. - RootTerseUpdatePeriod = 0 - - ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region - ; n > 1 will reduce UDP traffic but may lead to laggier movement observed in other avatars, though values up to 4 may not generate a noticeable effect. - ChildTerseUpdatePeriod = 0 - - ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance - RootPositionUpdateTolerance = 0.05 - - ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance - RootRotationUpdateTolerance = 0.1 - - ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance - RootVelocityUpdateTolerance = 0.001 - -[Monitoring] - ; Enable region monitoring - ; If true, this will print out an error if more than a minute has passed since the last simulator frame - ; Also is another source of region statistics provided via the regionstats URL - Enabled = true - - -[WebStats] - ; View region statistics via a web page - ; See http://opensimulator.org/wiki/FAQ#Region_Statistics_on_a_Web_Page - ; Use a web browser and type in the "Login URI" + "/SStats/" - ; For example- http://127.0.0.1:9000/SStats/ - ; enabled=false - -[Statistics] - ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames - ; to include in the averaging calculations - NumberOfFrames=10 - -[MediaOnAPrim] - ; Enable media on a prim facilities - Enabled = true; - - -[NPC] - ;; Enable Non Player Character (NPC) facilities - Enabled = false - - -[Terrain] - ; Values can be "pinhead-island" or "flat" - InitialTerrain = "pinhead-island" - ; If 'true' each avatar is only sent terrain patches within their view distance - ; This also changes the region terrain loading from 'lawn mower' to ordered around - ; the avatar outward. - SendTerrainUpdatesByViewDistance = True - -[LandManagement] - ; When editing terrain or objects, parcel layer info is updated in the viewer. - ; This can be expensive for large regions. If this variable is 'true', only the - ; parcel layer data around the area of interest is sent. The parcel layer info - ; is sent for 'ParcelLayerViewDistance' around the interest point. - ; If 'ParcelLayerViewDistance' is >= 128, the operation for legacy sized regions - ; will be what it has always been (send the whole region's parcel layer info). - ; Other parcel updates (login, changing parcel ownership, ...) will still send - ; whole region. - LimitParcelLayerUpdateDistance = true - ParcelLayerViewDistance = 128 - -;; -;; If you are using a simian grid frontend you can enable -;; this module to upload tile images for the mapping fn -;; -[SimianGridMaptiles] - Enabled = False - MaptileURL = "http://www.mygrid.com/Grid/" - RefreshTime = 3600 - - -;; -;; JsonStore module provides structured store for scripts -;; -[JsonStore] - Enabled = False - - ;; Enable direct access to the SOP dynamic attributes - EnableObjectStore = False - MaxStringSpace = 0 - - -;; -;; These are defaults that are overwritten below in [Architecture]. -;; These defaults allow OpenSim to work out of the box with -;; zero configuration -;; -[AssetService] - DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" - AssetLoaderArgs = "assets/AssetSets.xml" - - ; Disable this to prevent the default asset set from being inserted into the - ; asset store each time the region starts - AssetLoaderEnabled = true - - -[GridService] - ;; default standalone, overridable in StandaloneCommon.ini - StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" - - -[AutoBackupModule] - ;; default is module is disabled at the top level - AutoBackupModuleEnabled = false - - -[Sounds] - ;; {Module} {} {Implementation of ISoundModule to use.} {OpenSim.Region.CoreModules.dll:SoundModule} - Module = OpenSim.Region.CoreModules.dll:SoundModule - - ;; {MaxDistance} {} {Cut-off distance at which sounds will not be sent to users} {100.0} - MaxDistance = 100.0 - - -[ServiceThrottle] - ;; Default time interval (in ms) for the throttle service thread to wake up - Interval = 5000 - -[Dwell] - ;; This enables the built in basic dwell module - DwellModule = DefaultDwellModule - -[Modules] - Include-modules = "addon-modules/*/config/*.ini" - diff --git a/bin/Robust.32BitLaunch.exe.config b/bin/Robust.32BitLaunch.exe.config index 0399a1b..8706574 100644 --- a/bin/Robust.32BitLaunch.exe.config +++ b/bin/Robust.32BitLaunch.exe.config @@ -23,14 +23,14 @@ - + @@ -42,7 +42,7 @@ - + diff --git a/bin/Robust.Tests.dll.config b/bin/Robust.Tests.dll.config index a4c43e7..dc62ae0 100644 --- a/bin/Robust.Tests.dll.config +++ b/bin/Robust.Tests.dll.config @@ -22,7 +22,7 @@ - + diff --git a/bin/Robust.exe.config b/bin/Robust.exe.config index 7db6458..196602e 100644 --- a/bin/Robust.exe.config +++ b/bin/Robust.exe.config @@ -23,14 +23,14 @@ - + @@ -42,7 +42,7 @@ - + diff --git a/bin/config-include/CenomeCache.ini.example b/bin/config-include/CenomeCache.ini.example deleted file mode 100644 index 4340493..0000000 --- a/bin/config-include/CenomeCache.ini.example +++ /dev/null @@ -1,14 +0,0 @@ -[AssetCache] - ;; - ;; Options for CenomeAssetCache - ;; - - ; Max size of the cache in bytes - ; 134217728 = 128 MB, 26843556 = 256 MB, etc (default: 134217728) - MaxSize = 134217728 - - ; How many assets it is possible to store in the cache (default: 4096) - MaxCount = 4096 - - ; Expiration time in minutes (default: 30) - ExpirationTime = 30 diff --git a/bin/config-include/FlotsamCache.ini.example b/bin/config-include/FlotsamCache.ini.example deleted file mode 100644 index ad74fc1..0000000 --- a/bin/config-include/FlotsamCache.ini.example +++ /dev/null @@ -1,56 +0,0 @@ -[AssetCache] - ;; - ;; Options for FlotsamAssetCache - ;; - - ; cache directory can be shared by multiple instances - CacheDirectory = ./assetcache - ; Other examples: - ;CacheDirectory = /directory/writable/by/OpenSim/instance - - ; Log level - ; 0 - (Error) Errors only - ; 1 - (Info) Hit Rate Stats + Level 0 - ; 2 - (Debug) Cache Activity (Reads/Writes) + Level 1 - ; - LogLevel = 0 - - ; How often should hit rates be displayed (given in AssetRequests) - ; 0 to disable - HitRateDisplay = 100 - - ; Set to false for no memory cache - MemoryCacheEnabled = false - - ; Set to false for no file cache - FileCacheEnabled = true - - ; How long {in hours} to keep assets cached in memory, .5 == 30 minutes - ; Optimization: for VPS or limited memory system installs set Timeout to .016 (1 minute) - ; increases performance without large memory impact - MemoryCacheTimeout = 2 - - ; How long {in hours} to keep assets cached on disk, .5 == 30 minutes - ; Specify 0 if you do not want your disk cache to expire - FileCacheTimeout = 48 - - ; How often {in hours} should the disk be checked for expired filed - ; Specify 0 to disable expiration checking - FileCleanupTimer = 1.0 ;every hour - - ; If WAIT_ON_INPROGRESS_REQUESTS has been defined then this specifies how - ; long (in miliseconds) to block a request thread while trying to complete - ; an existing write to disk. - ; NOTE: THIS PARAMETER IS NOT CURRENTLY USED BY THE CACHE - ; WaitOnInprogressTimeout = 3000 - - ; Number of tiers to use for cache directories (current valid - ; range 1 to 3) - ;CacheDirectoryTiers = 1 - - ; Number of letters per path tier, 1 will create 16 directories - ; per tier, 2 - 256, 3 - 4096 and 4 - 65K - ;CacheDirectoryTierLength = 3 - - ; Warning level for cache directory size - ;CacheWarnAt = 30000 diff --git a/bin/config-include/Grid.ini b/bin/config-include/Grid.ini deleted file mode 100644 index 3c61ee0..0000000 --- a/bin/config-include/Grid.ini +++ /dev/null @@ -1,74 +0,0 @@ -;; -;; Please don't change this file. -;; All optional settings are in GridCommon.ini.example, -;; which you can copy and change. -;; - -[Includes] - Include-Common = "config-include/GridCommon.ini" - -[Modules] - AssetServices = "RemoteAssetServicesConnector" - InventoryServices = "RemoteXInventoryServicesConnector" - GridServices = "RemoteGridServicesConnector" - AvatarServices = "RemoteAvatarServicesConnector" - NeighbourServices = "RemoteNeighbourServicesConnector" - AuthenticationServices = "RemoteAuthenticationServicesConnector" - AuthorizationServices = "LocalAuthorizationServicesConnector" - PresenceServices = "RemotePresenceServicesConnector" - UserAccountServices = "RemoteUserAccountServicesConnector" - AgentPreferencesServices= "RemoteAgentPreferencesServicesConnector" - GridUserServices = "RemoteGridUserServicesConnector" - SimulationServices = "RemoteSimulationConnectorModule" - EntityTransferModule = "BasicEntityTransferModule" - InventoryAccessModule = "BasicInventoryAccessModule" - LandServices = "RemoteLandServicesConnector" - MapImageService = "MapImageServiceModule" - SearchModule = "BasicSearchModule" - - LandServiceInConnector = true - NeighbourServiceInConnector = true - SimulationServiceInConnector = true - LibraryModule = true - -[SimulationService] - ; This is the protocol version which the simulator advertises to the source destination when acting as a target destination for a teleport - ; It is used to control the teleport handoff process. - ; Valid values are - ; "SIMULATION/0.3" - ; - This is the default, and it supports teleports to variable-sized regions - ; - Older versions can teleport to this one, but only if the destination region - ; is 256x256 - ; "SIMULATION/0.2" - ; - A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol - ; - this protocol is more efficient than "SIMULATION/0.1" - ; "SIMULATION/0.1" - ; - this is an older teleport protocol used in OpenSimulator 0.7.5 and before. - ConnectorProtocolVersion = "SIMULATION/0.3" - -[SimulationDataStore] - LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" - -[EstateDataStore] - LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" - -[GridService] - LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" - ; for the LocalGridServicesConnector which is used by the Remote one - StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" - NetworkConnector = "OpenSim.Services.Connectors.dll:GridServicesConnector" - - ; Because LocalGridServicesConnector starts this service, in grid mode we need to suppress - ; the inappropriate console commands that it registers. - SuppressConsoleCommands = true - -[LibraryService] - LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" - LibraryName = "OpenSim Library" - DefaultLibrary = "./inventory/Libraries.xml" - -[Friends] - Connector = "OpenSim.Services.Connectors.dll:FriendsServicesConnector" - -[MapImageService] - LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector" diff --git a/bin/config-include/GridCommon.ini b/bin/config-include/GridCommon.ini deleted file mode 100644 index 58d921a..0000000 --- a/bin/config-include/GridCommon.ini +++ /dev/null @@ -1,300 +0,0 @@ -; This is the main configuration file for an instance of OpenSim running in grid mode -; In particular, this one is set up for connecting to Infinite Grid. - -[DatabaseService] - ; - ; ### Choose the DB - ; - ; NOTE - both are commented out, you'l have to choose one yourself. - ; - - ; SQLite - ; Include-Storage = "config-include/storage/SQLiteStandalone.ini"; - - ; MySql - ; Uncomment these lines if you want to use mysql storage - ; Change the connection string to your db details - ;StorageProvider = "OpenSim.Data.MySQL.dll" - ;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" - ; Uncomment this line if you are using MySQL and want to use a different database for estates - ; The usual application for this is to allow estates to be spread out across multiple simulators by share the same database. - ; Most people won't need to do this so only uncomment if you know what you're doing. - ;EstateConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" - - ; MSSQL - ; Uncomment these lines if you want to use MSSQL storage - ; Change the connection string to your db details - ; The value for server property is shown in your SQL Server Management Studio login dialog. - ; (This sample is the default of express edition) - ;StorageProvider = "OpenSim.Data.MSSQL.dll" - ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;" - -[Modules] - ;; Choose one cache module and the corresponding config file, if it exists. - ;; Copy the config .example file into your own .ini file and adapt that. - ;; We recommend the use of the FlotsamAssetCache since this is most actively maintained. - - AssetCaching = "FlotsamAssetCache" - Include-FlotsamCache = "config-include/FlotsamCache.ini" - - ;AssetCaching = "CenomeMemoryAssetCache" - ;Include-CenomeCache = "config-include/CenomeCache.ini" - - ;AssetCaching = "GlynnTuckerAssetCache" - - ;; Optionally, the port for the LLProxyLoginModule module can be changed - ;Setup_LLProxyLoginModule = "9090/" - - ;; Authorization is not on by default, as it depends on external php - ;AuthorizationServices = "RemoteAuthorizationServicesConnector" - - ;; To allow the Teleport and Show on Map buttons to work properly (for search - ;; results containing locations). From ossearch module. - LandServices = "RemoteLandServicesConnector" - LandServiceInConnector = "true" - -[AssetService] - DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" - AssetLoaderArgs = "assets/AssetSets.xml" - - ; - ; Change this to your grid-wide asset server. Do not add a slash to the end of any of these addresses. - ; - AssetServerURI = "http://grid.infinitegrid.org:8003" - -[InventoryService] - ; - ; Change this to your grid-wide inventory server - ; - InventoryServerURI = "http://grid.infinitegrid.org:8003" - -[GridInfo] - ; - ; Change this to your grid info service - ; - GridInfoURI = "http://grid.infinitegrid.org:8002" - -[GridService] - ; - ; Change this to your grid-wide grid server - ; - GridServerURI = "http://grid.infinitegrid.org:8003" - AllowHypergridMapSearch = true - - ;; Directory for map tile images of linked regions - ; MapTileDirectory = "./maptiles" - MapTileDirectory = "caches/maptiles" - - ; === HG ONLY === - ;; Change this to the address of your Gatekeeper service - ;; (usually bundled with the rest of the services in one - ;; Robust server in port 8002, but not always) - Gatekeeper="http://grid.infinitegrid.org:8002" - -[Messaging] - ; === HG ONLY === - ;; Change this to the address of your Gatekeeper service - ;; (usually bundled with the rest of the services in one - ;; Robust server in port 8002, but not always) - Gatekeeper = "http://grid.infinitegrid.org:8002" - -[AvatarService] - ; - ; Change this to your grid-wide grid server - ; - AvatarServerURI = "http://grid.infinitegrid.org:8003" - -[PresenceService] - ; - ; Change this to your grid-wide presence server - ; - PresenceServerURI = "http://grid.infinitegrid.org:8003" - -[UserAccountService] - ; - ; Change this to your grid-wide user accounts server - ; - UserAccountServerURI = "http://grid.infinitegrid.org:8003" - -[GridUserService] - ; - ; Change this to your grid-wide user accounts server - ; - GridUserServerURI = "http://grid.infinitegrid.org:8003" - -[AuthenticationService] - ; - ; Change this to your grid-wide authentication server - ; - AuthenticationServerURI = "http://grid.infinitegrid.org:8003" - -[FriendsService] - ; - ; Change this to your grid-wide friends server - ; - FriendsServerURI = "http://grid.infinitegrid.org:8003" - -[HGInventoryAccessModule] - ; - ; === HG ONLY === - ; Change this to your server - ; accessible from other grids - ; - HomeURI = "http://grid.infinitegrid.org:8002" - Gatekeeper = "http://grid.infinitegrid.org:8002" - ;; If you want to protect your assets from being copied by foreign visitors - ;; uncomment the next line. You may want to do this on sims that have licensed content. - OutboundPermission = True - - ;; Send visual reminder to local users that their inventories are unavailable while they are traveling - ;; and available when they return. True by default. - ;RestrictInventoryAccessAbroad = True - - -[HGAssetService] - ; - ; === HG ONLY === - ; Change this to your server - ; accessible from other grids - ; - HomeURI = "http://grid.infinitegrid.org:8002" - - ;; The asset types that this grid can export to / import from other grids. - ;; Comma separated. - ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: - ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, - ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh - ;; - ;; Leave blank or commented if you don't want to apply any restrictions. - ;; A more strict, but still reasonable, policy may be to disallow the exchange - ;; of scripts, like so: - ; DisallowExport ="LSLText" - ; DisallowImport ="LSLBytecode" - -[HGFriendsModule] - ; User level required to be able to send friendship invitations to foreign users - LevelHGFriends = 0; - -[UserAgentService] - ; - ; === HG ONLY === - ; Change this to your user agent server (HG robust) - ; - UserAgentServerURI = "http://grid.infinitegrid.org:8002" - -[MapImageService] - MapImageServerURI = "http://grid.infinitegrid.org:8003" - -[AuthorizationService] - ; If you have regions with access restrictions - ; specify them here using the convention - ; Region_ = - ; Valid flags are: - ; DisallowForeigners -- HG visitors not allowed - ; DisallowResidents -- only Admins and Managers allowed - ; Example: - ; Region_Test_1 = "DisallowForeigners" - - -;; From the original IG version - -[Profile] - ProfileURL = http://www.infinitegrid.org/opensim/profile.php - - -[Search] - SearchURL = http://www.infinitegrid.org/opensim/query.php - - -[DataSnapshot] - ;# {gridname} {index_sims:true} {Enter the name fo your grid} {} OSGrid - ;; If search is on, change this to your grid name; will be ignored for - ;; standalones - gridname = "InfiniteGrid" - - ;# {data_services} {index_sims:true} {Data service URLs to register with?} {} http://metaverseink.com/cgi-bin/register.py - ; This semicolon-separated string serves to notify specific data services - ; about the existence of this sim. Uncomment if you want to index your - ; data with this and/or other search providers. - data_services="http://www.infinitegrid.org/opensim/register.php" - - -[Messaging] -;; From the original IG version - - InstantMessageModule = InstantMessageModule -; MessageTransferModule = MessageTransferModule -; MuteListModule = NSLMuteListModule - - ;# {OfflineMessageModule} {} {Module to use for offline message storage} {OfflineMessageModule *} - ;; Module to handle offline messaging. The core module requires an external - ;; web service to do this. See OpenSim wiki. - OfflineMessageModule = OfflineMessageModule - - ;# {OfflineMessageURL} {OfflineMessageModule:OfflineMessageModule} {URL of offline messaging service} {} - ;; URL of web service for offline message storage - OfflineMessageURL = http://www.infinitegrid.org/opensim/offline.php - - ;# {MuteListModule} {OfflineMessageModule:OfflineMessageModule} {} {} MuteListModule - ;; Mute list handler (not yet implemented). MUST BE SET to allow offline - ;; messages to work - MuteListModule = MuteListModule - - ;# {MuteListURL} {OfflineMessageModule:OfflineMessageModule} {} {} http://yourserver/Mute.php - ;; URL of the web service that serves mute lists. Not currently used, but - ;; must be set to allow offline messaging to work. - MuteListURL = http://www.infinitegrid.org/opensim/mute.php - - ;; Control whether group messages are forwarded to offline users. - ;; Default is true. - ;; This applies to the core groups module (Flotsam) only. - ForwardOfflineGroupMessages = false - - -[Groups] - ;# {Module} {Enabled:true} {Groups module to use? (Use GroupsModule to use Flotsam/Simian)} {} Default - ;; This is the current groups stub in Region.CoreModules.Avatar.Groups. - ;; All the other settings below only really apply to the Flotsam/SimianGrid - ;; GroupsModule. - ;; This module can use a PHP XmlRpc server from the Flotsam project at - ;; http://code.google.com/p/flotsam/ - ;; or from the SimianGrid project at http://code.google.com/p/openmetaverse - ; Module = Default - Module = GroupsModule - - ;# {MessagingEnabled} {Module:GroupsModule} {Is groups messaging enabled?} {true false} true - MessagingEnabled = true - - ;# {MessagingModule} {MessagingEnabled:true} {Module to use for groups messaging} {GroupsMessagingModule} GroupsMessagingModule - MessagingModule = GroupsMessagingModule - - ; Experimental option to only message cached online users rather than all users - ; Should make large group with few online members messaging faster, as the expense of more calls to ROBUST presence service - ; This currently only applies to the Flotsam XmlRpc backend - MessageOnlineUsersOnly = true - - ;# {ServicesConnectorModule} {Module:GroupsModule} {Service connector to use for groups} {XmlRpcGroupsServicesConnector SimianGroupsServicesConnector} XmlRpcGroupsServicesConnector - ;; Service connectors to the Groups Service as used in the GroupsModule. Select one depending on - ;; whether you're using a Flotsam XmlRpc backend or a SimianGrid backend - ServicesConnectorModule = XmlRpcGroupsServicesConnector - - ;# {GroupsServerURI} {Module:GroupsModule} {Groups Server URI} {} - ;; URI for the groups services - ;; e.g. http://yourxmlrpcserver.com/xmlrpc.php for Flotsam XmlRpc - ;; or http://mygridserver.com:82/Grid/ for SimianGrid - GroupsServerURI = "http://www.infinitegrid.org/opensim/xmlrpc.php" - - ;# {NoticesEnabled} {Module:GroupsModule} {Enable group notices?} {true false} true - ;; Enable Group Notices - NoticesEnabled = true - - ;; This makes the Groups modules very chatty on the console. - DebugEnabled = false - - ;; XmlRpc Security settings. These must match those set on your backend - ;; groups service if the service is using these keys - XmlRpcServiceReadKey = Uffmzl93xvrZK1w6KWeMg25pls8zWBr7hhibNDqzVy8qH4J - XmlRpcServiceWriteKey = sgJfEs4nzRJ4GLlLGTRIqIYW6SPlUiu4MtauZkcmReuZaYh - -[Includes] - - ;; This is an example, you'll need to provide your own. - Include-Common = config/database.ini diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example deleted file mode 100644 index 0922cf5..0000000 --- a/bin/config-include/GridCommon.ini.example +++ /dev/null @@ -1,245 +0,0 @@ -; This is the main configuration file for an instance of OpenSim running in grid mode - -[DatabaseService] - ; - ; ### Choose the DB - ; - - ; SQLite - Include-Storage = "config-include/storage/SQLiteStandalone.ini"; - - ; MySql - ; Uncomment these lines if you want to use mysql storage - ; Change the connection string to your db details - ;StorageProvider = "OpenSim.Data.MySQL.dll" - ;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" - ; Uncomment this line if you are using MySQL and want to use a different database for estates - ; The usual application for this is to allow estates to be spread out across multiple simulators by share the same database. - ; Most people won't need to do this so only uncomment if you know what you're doing. - ;EstateConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" - - ; MSSQL - ; Uncomment these lines if you want to use MSSQL storage - ; Change the connection string to your db details - ; The value for server property is shown in your SQL Server Management Studio login dialog. - ; (This sample is the default of express edition) - ;StorageProvider = "OpenSim.Data.MSSQL.dll" - ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;" - - ; PGSQL - ; Uncomment these lines if you want to use PGSQL storage - ; Change the connection string to your db details - ;StorageProvider = "OpenSim.Data.PGSQL.dll" - ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" - -[Hypergrid] - ; Uncomment the variables in this section only if you are in - ; Hypergrid configuration. Otherwise, ignore. - - ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} - ;; If this is a standalone world, this is the address of this instance. - ;; If this is a grided simulator, this is the address of the external robust server that - ;; runs the UserAgentsService. - ;; For example http://myworld.com:9000 or http://myworld.com:8002 - ;; This is a default that can be overwritten in some sections. - ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" - - ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} - ;; If this is a standalone world, this is the address of this instance. - ;; If this is a grided simulator, this is the address of the external robust server - ;; that runs the Gatekeeper service. - ;; For example http://myworld.com:9000 or http://myworld.com:8002 - ;; This is a default that can be overwritten in some sections. - ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" - -[Modules] - ;; Choose one cache module and the corresponding config file, if it exists. - ;; Copy the config .example file into your own .ini file and adapt that. - ;; We recommend the use of the FlotsamAssetCache since this is most actively maintained. - - AssetCaching = "FlotsamAssetCache" - Include-FlotsamCache = "config-include/FlotsamCache.ini" - - ;AssetCaching = "CenomeMemoryAssetCache" - ;Include-CenomeCache = "config-include/CenomeCache.ini" - - ;AssetCaching = "GlynnTuckerAssetCache" - - ;; Optionally, the port for the LLProxyLoginModule module can be changed - ;Setup_LLProxyLoginModule = "9090/" - - ;; Authorization is not on by default, as it depends on external php - ;AuthorizationServices = "RemoteAuthorizationServicesConnector" - -[AssetService] - DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" - AssetLoaderArgs = "assets/AssetSets.xml" - - ; - ; Change this to your grid-wide asset server. Do not add a slash to the end of any of these addresses. - ; - AssetServerURI = "${Const|BaseURL}:${Const|PrivatePort}" - -[InventoryService] - ; - ; Change this to your grid-wide inventory server - ; - InventoryServerURI = "${Const|BaseURL}:${Const|PrivatePort}" - -[GridInfo] - ; - ; Change this to your grid info service - ; - GridInfoURI = "${Const|BaseURL}:${Const|PublicPort}" - -[GridService] - ; - ; Change this to your grid-wide grid server - ; - GridServerURI = "${Const|BaseURL}:${Const|PrivatePort}" - ;AllowHypergridMapSearch = true - - ;; Directory for map tile images of linked regions - ; MapTileDirectory = "./maptiles" - - ; === HG ONLY === - ;; Change this to the address of your Gatekeeper service - ;; (usually bundled with the rest of the services in one - ;; Robust server in port ${Const|PublicPort}, but not always) - Gatekeeper="${Const|BaseURL}:${Const|PublicPort}" - -[EstateDataStore] - ; - ; Uncomment if you want centralized estate data at robust server, - ; in which case the URL in [EstateService] will be used - ; - ;LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataRemoteConnector" - -[EstateService] - EstateServerURI = "${Const|BaseURL}:${Const|PrivatePort}" - -[Messaging] - ; === HG ONLY === - ;; Change this to the address of your Gatekeeper service - ;; (usually bundled with the rest of the services in one - ;; Robust server in port ${Const|PublicPort}, but not always) - Gatekeeper = "${Const|BaseURL}:${Const|PublicPort}" - -[AvatarService] - ; - ; Change this to your grid-wide grid server - ; - AvatarServerURI = "${Const|BaseURL}:${Const|PrivatePort}" - -[AgentPreferencesService] - ; - ; Change this to your grid-wide avatar prefs server - ; - AgentPreferencesServerURI = "${Const|BaseURL}:${Const|PrivatePort}" - -[PresenceService] - ; - ; Change this to your grid-wide presence server - ; - PresenceServerURI = "${Const|BaseURL}:${Const|PrivatePort}" - -[UserAccountService] - ; - ; Change this to your grid-wide user accounts server - ; - UserAccountServerURI = "${Const|BaseURL}:${Const|PrivatePort}" - -[GridUserService] - ; - ; Change this to your grid-wide user accounts server - ; - GridUserServerURI = "${Const|BaseURL}:${Const|PrivatePort}" - -[AuthenticationService] - ; - ; Change this to your grid-wide authentication server - ; - AuthenticationServerURI = "${Const|BaseURL}:${Const|PrivatePort}" - -[FriendsService] - ; - ; Change this to your grid-wide friends server - ; - FriendsServerURI = "${Const|BaseURL}:${Const|PrivatePort}" - -[HGInventoryAccessModule] - ; - ; === HG ONLY === - ; Change this to your server - ; accessible from other grids - ; - HomeURI = "${Const|BaseURL}:${Const|PublicPort}" - Gatekeeper = "${Const|BaseURL}:${Const|PublicPort}" - ;; If you want to protect your assets from being copied by foreign visitors - ;; set this to false. You may want to do this on sims that have licensed content. - ;; Default is true. - ; OutboundPermission = True - - ;; Send visual reminder to local users that their inventories are unavailable while they are traveling - ;; and available when they return. True by default. - ;RestrictInventoryAccessAbroad = True - - ;; Warning: advanced and unusual. Default is false. - ;; Enables configurations where grids share user services, including inventory, - ;; while separating regions' assets from users' assets. Asset transfer between - ;; the users' asset server and the regions' asset server is done in HG-like manner. - ; CheckSeparateAssets = false - ; RegionHGAssetServerURI = ${Const|BaseURL}:${Const|PublicPort} - - -[HGAssetService] - ; - ; === HG ONLY === - ; Change this to your server - ; accessible from other grids - ; - HomeURI = "${Const|BaseURL}:${Const|PublicPort}" - - ;; The asset types that this grid can export to / import from other grids. - ;; Comma separated. - ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: - ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, - ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh - ;; - ;; Leave blank or commented if you don't want to apply any restrictions. - ;; A more strict, but still reasonable, policy may be to disallow the exchange - ;; of scripts, like so: - ; DisallowExport ="LSLText" - ; DisallowImport ="LSLBytecode" - -[HGFriendsModule] - ; User level required to be able to send friendship invitations to foreign users - ;LevelHGFriends = 0; - -[UserAgentService] - ; - ; === HG ONLY === - ; Change this to your user agent server (HG robust) - ; - UserAgentServerURI = "${Const|BaseURL}:${Const|PublicPort}" - -[MapImageService] - MapImageServerURI = "${Const|BaseURL}:${Const|PrivatePort}" - -[AuthorizationService] - ; If you have regions with access restrictions - ; specify them here using the convention - ; Region_ = - ; Valid flags are: - ; DisallowForeigners -- HG visitors not allowed - ; DisallowResidents -- only Admins and Managers allowed - ; Example: - ; Region_Test_1 = "DisallowForeigners" - -;; Uncomment if you are using SimianGrid for grid services -[SimianGrid] - ;; SimianGrid services URL - ;; SimianServiceURL = "http://grid.sciencesim.com/Grid/" - - ;; Capability assigned by the grid administrator for the simulator - ;; SimulatorCapability = "00000000-0000-0000-0000-000000000000" diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini deleted file mode 100644 index 602d673..0000000 --- a/bin/config-include/GridHypergrid.ini +++ /dev/null @@ -1,108 +0,0 @@ -;; -;; Please don't change this file. -;; All optional settings are in GridCommon.ini.example, -;; which you can copy and change. -;; - -[Includes] - Include-Common = "config-include/GridCommon.ini" - -[Startup] - WorldMapModule = "HGWorldMap" - -[Modules] - AssetServices = "HGAssetBroker" - InventoryServices = "HGInventoryBroker" - GridServices = "RemoteGridServicesConnector" - AvatarServices = "RemoteAvatarServicesConnector" - NeighbourServices = "RemoteNeighbourServicesConnector" - AuthenticationServices = "RemoteAuthenticationServicesConnector" - AuthorizationServices = "LocalAuthorizationServicesConnector" - PresenceServices = "RemotePresenceServicesConnector" - UserAccountServices = "RemoteUserAccountServicesConnector" - AgentPreferencesServices= "RemoteAgentPreferencesServicesConnector" - GridUserServices = "RemoteGridUserServicesConnector" - SimulationServices = "RemoteSimulationConnectorModule" - EntityTransferModule = "HGEntityTransferModule" - InventoryAccessModule = "HGInventoryAccessModule" - LandServices = "RemoteLandServicesConnector" - FriendsModule = "HGFriendsModule" - MapImageService = "MapImageServiceModule" - UserManagementModule = "HGUserManagementModule" - SearchModule = "BasicSearchModule" - - LandServiceInConnector = true - NeighbourServiceInConnector = true - SimulationServiceInConnector = true - LibraryModule = true - -[SimulationService] - ; This is the protocol version which the simulator advertises to the source destination when acting as a target destination for a teleport - ; It is used to control the teleport handoff process. - ; Valid values are - ; "SIMULATION/0.3" - ; - This is the default, and it supports teleports to variable-sized regions - ; - Older versions can teleport to this one, but only if the destination region - ; is 256x256 - ; "SIMULATION/0.2" - ; - A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol - ; - this protocol is more efficient than "SIMULATION/0.1" - ; "SIMULATION/0.1" - ; - this is an older teleport protocol used in OpenSimulator 0.7.5 and before. - ConnectorProtocolVersion = "SIMULATION/0.3" - -[Profile] - Module = "BasicProfileModule" - -[SimulationDataStore] - LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" - -[EstateDataStore] - LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" - -[AssetService] - LocalGridAssetService = "OpenSim.Services.Connectors.dll:AssetServicesConnector" - HypergridAssetService = "OpenSim.Services.Connectors.dll:HGAssetServiceConnector" - -[InventoryService] - LocalGridInventoryService = "OpenSim.Region.CoreModules.dll:RemoteXInventoryServicesConnector" - -[GridService] - ; RemoteGridServicesConnector instantiates a LocalGridServicesConnector, - ; which in turn uses this - LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" - StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" - - NetworkConnector = "OpenSim.Services.Connectors.dll:GridServicesConnector" - - ; Needed to display non-default map tile images for linked regions - AssetService = "OpenSim.Services.Connectors.dll:AssetServicesConnector" - - HypergridLinker = true - AllowHypergridMapSearch = true - SuppressConsoleCommands = true - -[LibraryService] - LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" - LibraryName = "OpenSim Library" - DefaultLibrary = "./inventory/Libraries.xml" - -[Friends] - Connector = "OpenSim.Services.Connectors.dll:FriendsServicesConnector" - -[Messaging] - MessageTransferModule = HGMessageTransferModule - ; HG lures break normal in grid lures, so don't use them. -; TODO - double check this is still the case. -; LureModule = HGLureModule - LureModule = LureModule - - -[HGInstantMessageService] - LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" - GridService = "OpenSim.Services.Connectors.dll:GridServicesConnector" - PresenceService = "OpenSim.Services.Connectors.dll:PresenceServicesConnector" - UserAgentService = "OpenSim.Services.Connectors.dll:UserAgentServiceConnector" - -[MapImageService] - LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector" diff --git a/bin/config-include/HyperSimianGrid.ini b/bin/config-include/HyperSimianGrid.ini deleted file mode 100644 index efad577..0000000 --- a/bin/config-include/HyperSimianGrid.ini +++ /dev/null @@ -1,97 +0,0 @@ -;; -;; Please don't change this file. -;; All optional settings are in GridCommon.ini.example, -;; which you can copy and change. -;; - -;; -;; In GridCommon.ini, these are the URLs you would use if SimianGrid is -;; installed at http://www.mygrid.com/Grid/ -;; -; AssetServerURI = "http://www.mygrid.com/Grid/?id=" -; InventoryServerURI = "http://www.mygrid.com/Grid/" -; AvatarServerURI = "http://www.mygrid.com/Grid/" -; PresenceServerURI = "http://www.mygrid.com/Grid/" -; UserAccountServerURI = "http://www.mygrid.com/Grid/" -; AuthenticationServerURI = "http://www.mygrid.com/Grid/" -; FriendsServerURI = "http://www.mygrid.com/Grid/" -; GroupsServerURI = "http://www.mygrid.com/Grid/" - -[Includes] - Include-Common = "config-include/GridCommon.ini" - -[Modules] - GridServices = "RemoteGridServicesConnector" - PresenceServices = "SimianPresenceServiceConnector" - UserAccountServices = "SimianUserAccountServiceConnector" - AuthenticationServices = "SimianAuthenticationServiceConnector" - AssetServices = "HGAssetBroker" - InventoryServices = "HGInventoryBroker" - AvatarServices = "SimianAvatarServiceConnector" - - NeighbourServices = "RemoteNeighbourServicesConnector" - SimulationServices = "RemoteSimulationConnectorModule" - EntityTransferModule = "HGEntityTransferModule" - InventoryAccessModule = "HGInventoryAccessModule" - - LandServiceInConnector = true - NeighbourServiceInConnector = true - SimulationServiceInConnector = true - LibraryModule = false - - AssetCaching = "FlotsamAssetCache" - -[SimulationDataStore] - LocalServiceModule = "OpenSim.Services.Connectors.dll:SimulationDataService" - -[EstateDataStore] - LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataService" - -[Friends] - Connector = "OpenSim.Services.Connectors.dll:SimianFriendsServiceConnector" - -[GridService] - LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" - StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" - NetworkConnector = "OpenSim.Services.Connectors.dll:SimianGridServiceConnector" - - HypergridLinker = true - AllowHypergridMapSearch = true - -[LibraryService] - LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" - LibraryName = "OpenSim Library" - DefaultLibrary = "./inventory/Libraries.xml" - -[AssetService] - DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" - LocalGridAssetService = "OpenSim.Services.Connectors.dll:SimianAssetServiceConnector" - HypergridAssetService = "OpenSim.Services.Connectors.dll:HGAssetServiceConnector" - AssetLoaderArgs = "assets/AssetSets.xml" - -[InventoryService] - LocalGridInventoryService = "OpenSim.Services.Connectors.dll:SimianInventoryServiceConnector" - -[Groups] - Enabled = true - Module = GroupsModule - DebugEnabled = false - NoticesEnabled = true - MessagingModule = GroupsMessagingModule - MessagingEnabled = true - ServicesConnectorModule = SimianGroupsServicesConnector - -[Profiles] - Module = "SimianProfiles" - -[HGInventoryAccessModule] - ; - ; === HG ONLY === - ; Change this to your profile server - ; accessible from other grids - ; - ProfileServerURI = "http://mygridserver.com:8002/user" - - ;; If you want to protect your assets from being copied by foreign visitors - ;; uncomment the next line. You may want to do this on sims that have licensed content. - ; OutboundPermission = False diff --git a/bin/config-include/SimianGrid.ini b/bin/config-include/SimianGrid.ini deleted file mode 100644 index 5749656..0000000 --- a/bin/config-include/SimianGrid.ini +++ /dev/null @@ -1,77 +0,0 @@ -;; -;; Please don't change this file. -;; All optional settings are in GridCommon.ini.example, -;; which you can copy and change. -;; - -;; -;; In GridCommon.ini, these are the URLs you would use if SimianGrid is -;; installed at http://www.mygrid.com/Grid/ -;; -; AssetServerURI = "http://www.mygrid.com/Grid/?id=" -; InventoryServerURI = "http://www.mygrid.com/Grid/" -; AvatarServerURI = "http://www.mygrid.com/Grid/" -; PresenceServerURI = "http://www.mygrid.com/Grid/" -; UserAccountServerURI = "http://www.mygrid.com/Grid/" -; AuthenticationServerURI = "http://www.mygrid.com/Grid/" -; FriendsServerURI = "http://www.mygrid.com/Grid/" -; GroupsServerURI = "http://www.mygrid.com/Grid/" - -[Includes] - Include-Common = "config-include/GridCommon.ini" - -[Modules] - GridServices = "RemoteGridServicesConnector" - PresenceServices = "SimianPresenceServiceConnector" - UserAccountServices = "SimianUserAccountServiceConnector" - AuthenticationServices = "SimianAuthenticationServiceConnector" - AssetServices = "SimianAssetServiceConnector" - InventoryServices = "SimianInventoryServiceConnector" - AvatarServices = "SimianAvatarServiceConnector" - - NeighbourServices = "RemoteNeighbourServicesConnector" - SimulationServices = "RemoteSimulationConnectorModule" - EntityTransferModule = "BasicEntityTransferModule" - InventoryAccessModule = "BasicInventoryAccessModule" - - LandServiceInConnector = true - NeighbourServiceInConnector = true - SimulationServiceInConnector = true - LibraryModule = false - - AssetCaching = "FlotsamAssetCache" - -[SimulationDataStore] - LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" - -[EstateDataStore] - LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" - -[Friends] - Connector = "OpenSim.Services.Connectors.dll:SimianFriendsServiceConnector" - -[GridService] - LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" - StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" - NetworkConnector = "OpenSim.Services.Connectors.dll:SimianGridServiceConnector" - -[LibraryService] - LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" - LibraryName = "OpenSim Library" - DefaultLibrary = "./inventory/Libraries.xml" - -[AssetService] - DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" - AssetLoaderArgs = "assets/AssetSets.xml" - -[Groups] - Enabled = true - Module = GroupsModule - DebugEnabled = false - NoticesEnabled = true - MessagingModule = GroupsMessagingModule - MessagingEnabled = true - ServicesConnectorModule = SimianGroupsServicesConnector - -[Profiles] - Module = "SimianProfiles" diff --git a/bin/config-include/Standalone.ini b/bin/config-include/Standalone.ini deleted file mode 100644 index 78ada2b..0000000 --- a/bin/config-include/Standalone.ini +++ /dev/null @@ -1,118 +0,0 @@ -;; -;; Please don't change this file. -;; All optional settings are in StandaloneCommon.ini.example, -;; which you can copy and change. -;; - -[Modules] - AssetServices = "LocalAssetServicesConnector" - InventoryServices = "LocalInventoryServicesConnector" - NeighbourServices = "LocalNeighbourServicesConnector" - AuthenticationServices = "LocalAuthenticationServicesConnector" - AuthorizationServices = "LocalAuthorizationServicesConnector" - GridServices = "LocalGridServicesConnector" - PresenceServices = "LocalPresenceServicesConnector" - UserProfilesServices = "LocalUserProfilesServicesConnector" - UserAccountServices = "LocalUserAccountServicesConnector" - AgentPreferencesServices= "LocalAgentPreferencesServicesConnector" - GridUserServices = "LocalGridUserServicesConnector" - SimulationServices = "LocalSimulationConnectorModule" - AvatarServices = "LocalAvatarServicesConnector" - EntityTransferModule = "BasicEntityTransferModule" - InventoryAccessModule = "BasicInventoryAccessModule" - MapImageService = "MapImageServiceModule" - SearchModule = "BasicSearchModule" - - LibraryModule = true - LLLoginServiceInConnector = true - GridInfoServiceInConnector = true - MapImageServiceInConnector = true - -[SimulationDataStore] - LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" - -[EstateDataStore] - LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" - -[AssetService] - LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService" - -[InventoryService] - LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService" - -[LibraryService] - LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" - LibraryName = "OpenSim Library" - DefaultLibrary = "./inventory/Libraries.xml" - -[AvatarService] - LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService" - -[AuthenticationService] - LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" - -[GridService] - LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" - Realm = "regions" - StorageProvider = "OpenSim.Data.Null.dll" - -[PresenceService] - LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService" - StorageProvider = "OpenSim.Data.Null.dll" - -[UserAccountService] - LocalServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService" - - ;; These are for creating new accounts - AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" - GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" - GridService = "OpenSim.Services.GridService.dll:GridService" - InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" - AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" - - ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 to show a default "Ruth" avatar rather than a cloud. - CreateDefaultAvatarEntries = true - -[GridUserService] - LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService" - -[FriendsService] - LocalServiceModule = "OpenSim.Services.FriendsService.dll" - -[Friends] - Connector = "OpenSim.Services.FriendsService.dll" - -[AgentPreferencesService] - LocalServiceModule = "OpenSim.Services.UserAccountService.dll:AgentPreferencesService" - -[LoginService] - LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService" - UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" - GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" - AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" - InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" - PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" - GridService = "OpenSim.Services.GridService.dll:GridService" - AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" - FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" - - WelcomeMessage = "Welcome, Avatar!" - - ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time" - ;; Viewers do not receive timezone information from the server - almost all (?) default to Pacific Standard Time - ;; However, they do rely on the server to tell them whether it's Daylight Saving Time or not. - ;; Hence, calculating DST based on a different timezone can result in a misleading viewer display and inconsistencies between grids. - ;; By default, this setting uses various timezone names to calculate DST with regards to the viewer's standard PST. - ;; Options are - ;; "none" no DST - ;; "local" use the server's only timezone to calculate DST. This is previous OpenSimulator behaviour. - ;; "America/Los_Angeles;Pacific Standard Time" use these timezone names to look up Daylight savings. - ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows - DSTZone = "America/Los_Angeles;Pacific Standard Time" - -[MapImageService] - LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" - -;; This should always be the very last thing on this file -[Includes] - Include-Common = "config-include/StandaloneCommon.ini" diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example deleted file mode 100644 index d0b152c..0000000 --- a/bin/config-include/StandaloneCommon.ini.example +++ /dev/null @@ -1,398 +0,0 @@ -; This is the main configuration file for an instance of OpenSim running in standalone mode - -[DatabaseService] - ; - ; ### Choose the DB - ; - - ; SQLite - Include-Storage = "config-include/storage/SQLiteStandalone.ini"; - - ; MySql - ; Uncomment these lines if you want to use mysql storage - ; Change the connection string to your db details - ;StorageProvider = "OpenSim.Data.MySQL.dll" - ;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" - - ; Uncomment this line if you are using MySQL and want to use a different database for estates. - ; The usual application for this is to allow estates to be spread out across multiple simulators by share the same database. - ; Most people won't need to do this so only uncomment if you know what you're doing. - ;EstateConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" - - ; MSSQL - ; Uncomment these lines if you want to use MSSQL storage - ; Change the connection string to your db details - ; The value for server property is shown in your SQL Server Management Studio login dialog. - ; (This sample is the default of express edition) - ;StorageProvider = "OpenSim.Data.MSSQL.dll" - ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;" - - ; PGSQL - ; Uncomment these lines if you want to use PGSQL storage - ; Change the connection string to your db details - ;StorageProvider = "OpenSim.Data.PGSQL.dll" - ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" - -[Hypergrid] - ; Uncomment the variables in this section only if you are in - ; Hypergrid configuration. Otherwise, ignore. - - ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} - ;; If this is a standalone world, this is the address of this instance. - ;; If this is a grided simulator, this is the address of the external robust server that - ;; runs the UserAgentsService. - ;; For example http://myworld.com:9000 or http://myworld.com:8002 - ;; This is a default that can be overwritten in some sections. - ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" - - ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} - ;; If this is a standalone world, this is the address of this instance. - ;; If this is a grided simulator, this is the address of the external robust server - ;; that runs the Gatekeeper service. - ;; For example http://myworld.com:9000 or http://myworld.com:8002 - ;; This is a default that can be overwritten in some sections. - ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" - -[Modules] - ;; Choose one cache module and the corresponding config file, if it exists. - ;; Copy the config .example file into your own .ini file and alter that - ;; We recommend the use of the FlotsamAssetCache since this is most actively maintained. - - AssetCaching = "FlotsamAssetCache" - Include-FlotsamCache = "config-include/FlotsamCache.ini" - - ;AssetCaching = "CenomeMemoryAssetCache" - ;Include-CenomeCache = "config-include/CenomeCache.ini" - - ;AssetCaching = "GlynnTuckerAssetCache" - - ;; Authorization is not on by default, as it depends on external php - ;AuthorizationServices = "LocalAuthorizationServicesConnector" - -[AssetService] - DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" - AssetLoaderArgs = "assets/AssetSets.xml" - -[GridService] - ;; For in-memory region storage (default) - StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" - ;;--- For MySql region storage (alternative) - ;StorageProvider = "OpenSim.Data.MySQL.dll:MySqlRegionData" - - ;; Directory for map tile images of remote regions - ; MapTileDirectory = "./maptiles" - - ;; Next, we can specify properties of regions, including default and fallback regions - ;; The syntax is: Region_ = "" - ;; where can be DefaultRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut - ;; - ;; DefaultRegion If a local login cannot be placed in the required region (e.g. home region does not exist, avatar is not allowed entry, etc.) - ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion - ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified - ;; an explicit region. - ;; - ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online - ;; region will be used. - ;; - ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the - ;; order specified. This only applies to local logins at this time, not Hypergrid connections. - ;; - ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins. - ;; - ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid. - ;; - ;; For example: - Region_Welcome_Area = "DefaultRegion, FallbackRegion" - - ;; Allow supporting viewers to export content - ;; Set to false to prevent export - ExportSupported = true - - ; === HG ONLY === - ;; If you have this set under [Hypergrid], no need to set it here, leave it commented - ; GatekeeperURI="${Const|BaseURL}:${Const|PublicPort}" - -[LibraryModule] - ; Set this if you want to change the name of the OpenSim Library - ;LibraryName = "My World's Library" - -[LoginService] - WelcomeMessage = "Welcome, Avatar!" - ;; If you have Gatekeeper set under [Hypergrid], no need to set it here, leave it commented - ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" - - SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}" - SRV_InventoryServerURI = "${Const|BaseURL}:${Const|PublicPort}" - SRV_AssetServerURI = "${Const|BaseURL}:${Const|PublicPort}" - SRV_ProfileServerURI = "${Const|BaseURL}:${Const|PublicPort}" - SRV_FriendsServerURI = "${Const|BaseURL}:${Const|PublicPort}" - SRV_IMServerURI = "${Const|BaseURL}:${Const|PublicPort}" - - ;; For Viewer 2 - MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/" - - ; Url to search service - ; SearchURL = "${Const|BaseURL}:${Const|PublicPort}"; - - ; For V3 destination guide - ; DestinationGuide = "${Const|BaseURL}/guide" - - ; The minimum user level required for a user to be able to login. 0 by default - ; If you disable a particular user's account then you can set their login level below this number. - ; You can also change this level from the console though these changes will not be persisted. - ; MinLoginLevel = 0 - - ;; Ask co-operative viewers to use a different currency name - ;Currency = "" - - ;; Set minimum fee to publish classified - ; ClassifiedFee = 0 - - ; Basic Login Service Dos Protection Tweaks - ; ; - ; ; Some Grids/Users use a transparent proxy that makes use of the X-Forwarded-For HTTP Header, If you do, set this to true - ; ; If you set this to true and you don't have a transparent proxy, it may allow attackers to put random things in the X-Forwarded-For header to - ; ; get around this basic DOS protection. - ; DOSAllowXForwardedForHeader = false - ; ; - ; ; The protector adds up requests during this rolling period of time, default 10 seconds - ; DOSRequestTimeFrameMS = 10000 - ; ; - ; ; The amount of requests in the above timeframe from the same endpoint that triggers protection - ; DOSMaxRequestsInTimeFrame = 5 - ; ; - ; ; The amount of time that a specific endpoint is blocked. Default 2 minutes. - ; DOSForgiveClientAfterMS = 120000 - ; ; - ; ; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0. - -[FreeswitchService] - ;; If FreeSWITCH is not being used then you don't need to set any of these parameters - ;; - ;; The IP address of your FreeSWITCH server. The common case is for this to be the same as the server running the OpenSim standalone - ;; This has to be set for the FreeSWITCH service to work - ;; This address must be reachable by viewers. - ;ServerAddress = 127.0.0.1 - - ;; The following configuration parameters are optional - - ;; By default, this is the same as the ServerAddress - ; Realm = 127.0.0.1 - - ;; By default, this is the same as the ServerAddress on port 5060 - ; SIPProxy = 127.0.0.1:5060 - - ;; Default is 5000ms - ; DefaultTimeout = 5000 - - ;; The dial plan context. Default is "default" - ; Context = default - - ;; Currently unused - ; UserName = freeswitch - - ;; Currently unused - ; Password = password - - ;; The following parameters are for STUN = Simple Traversal of UDP through NATs - ;; See http://wiki.freeswitch.org/wiki/NAT_Traversal - ;; stun.freeswitch.org is not guaranteed to be running so use it in - ;; production at your own risk - ; EchoServer = 127.0.0.1 - ; EchoPort = 50505 - ; AttemptSTUN = false - -[GridInfoService] - ; These settings are used to return information on a get_grid_info call. - ; Client launcher scripts and third-party clients make use of this to - ; autoconfigure the client and to provide a nice user experience. If you - ; want to facilitate that, you should configure the settings here according - ; to your grid or standalone setup. - ; - ; See http://opensimulator.org/wiki/GridInfo - - ; login uri: for grid this is the login server URI - login = ${Const|BaseURL}:${Const|PublicPort}/ - - ; long grid name: the long name of your grid - gridname = "the lost continent of hippo" - - ; short grid name: the short name of your grid - gridnick = "hippogrid" - - ; login page: optional: if it exists it will be used to tell the client to use - ; this as splash page. May also be served from an external web server, e.g. for - ; information on a standalone - ;welcome = ${Const|BaseURL}/welcome - - ; helper uri: optional: if it exists it will be used to tell the client to use - ; this for all economy related things - ;economy = ${Const|BaseURL}/economy - - ; web page of grid: optional: page providing further information about your grid - ;about = ${Const|BaseURL}/about - - ; account creation: optional: page providing further information about obtaining - ; a user account on your grid - ;register = ${Const|BaseURL}/register - - ; help: optional: page providing further assistance for users of your grid - ;help = ${Const|BaseURL}/help - - ; password help: optional: page providing password assistance for users of your grid - ;password = ${Const|BaseURL}/password - - ; HG address of the gatekeeper, if you have one - ; this is the entry point for all the regions of the world - ; gatekeeper = ${Const|BaseURL}:${Const|PublicPort}/ - - ; HG user domain, if you have one - ; this is the entry point for all user-related HG services - ; uas = ${Const|BaseURL}:${Const|PublicPort}/ - -[MapImageService] - ; Set this if you want to change the default - ; TilesStoragePath = "maptiles" - -[AuthorizationService] - ; If you have regions with access restrictions - ; specify them here using the convention - ; Region_ = - ; Valid flags are: - ; DisallowForeigners -- HG visitors not allowed - ; DisallowResidents -- only Admins and Managers allowed - ; Example: - ; Region_Test_1 = "DisallowForeigners" - -;; -;; HG configurations -;; -[GatekeeperService] - ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented - ; ExternalName = "${Const|BaseURL}:${Const|PublicPort}" - - ; Does this grid allow incoming links to any region in it? - ; If false, HG TPs happen only to the Default regions specified in [GridService] section - AllowTeleportsToAnyRegion = true - - ;; Regular expressions for controlling which client versions are accepted/denied. - ;; An empty string means nothing is checked. - ;; - ;; Example 1: allow only these 3 types of clients (any version of them) - ;; AllowedClients = "Imprudence|Hippo|Second Life" - ;; - ;; Example 2: allow all clients except these - ;; DeniedClients = "Twisted|Crawler|Cryolife|FuckLife|StreetLife|GreenLife|AntiLife|KORE-Phaze|Synlyfe|Purple Second Life|SecondLi |Emerald" - ;; - ;; Note that these are regular expressions, so every character counts. - ;; Also note that this is very weak security and should not be trusted as a reliable means - ;; for keeping bad clients out; modified clients can fake their identifiers. - ;; - ;; - ;AllowedClients = "" - ;DeniedClients = "" - - ;; Are foreign visitors allowed? - ;ForeignAgentsAllowed = true - ;; - ;; If ForeignAgentsAllowed is true, make exceptions using AllowExcept. - ;; Leave blank or commented for no exceptions. - ; AllowExcept = "http://griefer.com:8002, http://enemy.com:8002" - ;; - ;; If ForeignAgentsAllowed is false, make exceptions using DisallowExcept - ;; Leave blank or commented for no exceptions. - ; DisallowExcept = "http://myfriendgrid.com:8002, http://myboss.com:8002" - -[UserAgentService] - ;; User level required to be contacted from other grids - ;LevelOutsideContacts = 0 - - ;; Restrictions on destinations of local users. - ;; Are local users allowed to visit other grids? - ;; What user level? Use variables of this forrm: - ;; ForeignTripsAllowed_Level_ = true | false - ;; (the default is true) - ;; For example: - ; ForeignTripsAllowed_Level_0 = false - ; ForeignTripsAllowed_Level_200 = true ; true is default, no need to say it - ;; - ;; If ForeignTripsAllowed is false, make exceptions using DisallowExcept - ;; Leave blank or commented for no exceptions. - ; DisallowExcept_Level_0 = "http://myothergrid.com:8002, http://boss.com:8002" - ;; - ;; If ForeignTripsAllowed is true, make exceptions using AllowExcept. - ;; Leave blank or commented for no exceptions. - ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002" - - ;; This variable controls what is exposed to profiles of local users - ;; as seen from outside of this grid. Leave it uncommented for exposing - ;; UserTitle, UserFlags and the creation date. Uncomment and change to False - ;; to block this info from being exposed. - ; ShowUserDetailsInHGProfile = True - -[HGInventoryService] - ;; If you have this set under [Hypergrid], no need to set it here, leave it commented - ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" - -[HGAssetService] - ;; If you have this set under [Hypergrid], no need to set it here, leave it commented - ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" - - ;; The asset types that this grid can export to / import from other grids. - ;; Comma separated. - ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: - ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, - ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh - ;; - ;; Leave blank or commented if you don't want to apply any restrictions. - ;; A more strict, but still reasonable, policy may be to disallow the exchange - ;; of scripts, like so: - ; DisallowExport ="LSLText" - ; DisallowImport ="LSLBytecode" - -[HGInventoryAccessModule] - ;; If you have these set under [Hypergrid], no need to set it here, leave it commented - ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" - ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" - - ;; If you want to protect your assets from being copied by foreign visitors - ;; uncomment the next line. You may want to do this on sims that have licensed content. - ;; true = allow exports, false = disallow exports. True by default. - ; OutboundPermission = True - - ;; Send visual reminder to local users that their inventories are unavailable while they are traveling - ;; and available when they return. True by default. - ;RestrictInventoryAccessAbroad = True - -[HGFriendsModule] - ; User level required to be able to send friendship invitations to foreign users - ;LevelHGFriends = 0; - -[Messaging] - ; === HG ONLY === - ;; If you have this set under [Hypergrid], no need to set it here, leave it commented - ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" - -[EntityTransfer] - ;; User level from which local users are allowed to HG teleport. Default 0 (all users) - ;LevelHGTeleport = 0 - - ;; Are local users restricted from taking their appearance abroad? - ;; Default is no restrictions - ;RestrictAppearanceAbroad = false - - ;; If appearance is restricted, which accounts' appearances are allowed to be exported? - ;; Comma-separated list of account names - AccountForAppearance = "Test User, Astronaut Smith" - -[UserProfilesService] - ;; To use, set Enabled to true then configure for your site... - Enabled = false - LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" - - ;; Configure this for separate databse - ; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" - ; Realm = UserProfiles - - UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService - AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" diff --git a/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini deleted file mode 100644 index eaacfff..0000000 --- a/bin/config-include/StandaloneHypergrid.ini +++ /dev/null @@ -1,195 +0,0 @@ -;; -;; Please don't change this file. -;; All optional settings are in StandaloneCommon.ini.example, -;; which you can copy and change. -;; - -[Startup] - WorldMapModule = "HGWorldMap" - -[Modules] - AssetServices = "HGAssetBroker" - InventoryServices = "HGInventoryBroker" - NeighbourServices = "LocalNeighbourServicesConnector" - AuthenticationServices = "LocalAuthenticationServicesConnector" - AuthorizationServices = "LocalAuthorizationServicesConnector" - GridServices = "LocalGridServicesConnector" - PresenceServices = "LocalPresenceServicesConnector" - UserAccountServices = "LocalUserAccountServicesConnector" - AgentPreferencesServices= "LocalAgentPreferencesServicesConnector" - GridUserServices = "LocalGridUserServicesConnector" - SimulationServices = "RemoteSimulationConnectorModule" - AvatarServices = "LocalAvatarServicesConnector" - UserProfilesServices = "LocalUserProfilesServicesConnector" - MapImageService = "MapImageServiceModule" - EntityTransferModule = "HGEntityTransferModule" - InventoryAccessModule = "HGInventoryAccessModule" - FriendsModule = "HGFriendsModule" - UserManagementModule = "HGUserManagementModule" - SearchModule = "BasicSearchModule" - - InventoryServiceInConnector = true - AssetServiceInConnector = true - HypergridServiceInConnector = true - NeighbourServiceInConnector = true - LibraryModule = true - LLLoginServiceInConnector = true - GridInfoServiceInConnector = true - AuthenticationServiceInConnector = true - SimulationServiceInConnector = true - MapImageServiceInConnector = true - -[Messaging] - MessageTransferModule = HGMessageTransferModule - LureModule = HGLureModule - -[SimulationDataStore] - LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" - -[EstateDataStore] - LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" - -[AssetService] - LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService" - - ; For HGAssetBroker - LocalGridAssetService = "OpenSim.Services.AssetService.dll:AssetService" - HypergridAssetService = "OpenSim.Services.Connectors.dll:HGAssetServiceConnector" - -[InventoryService] - ; For HGInventoryBroker - LocalGridInventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" - -[AvatarService] - LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService" - -[LibraryService] - LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" - LibraryName = "OpenSim Library" - DefaultLibrary = "./inventory/Libraries.xml" - -[AuthenticationService] - LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" - -[GridService] - ; LocalGridServicesConnector needs this - LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" - Realm = "regions" - StorageProvider = "OpenSim.Data.Null.dll" - - ; Needed to display non-default map tile images for remote regions - AssetService = "OpenSim.Services.AssetService.dll:AssetService" - - HypergridLinker = true - AllowHypergridMapSearch = true - -[PresenceService] - LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService" - StorageProvider = "OpenSim.Data.Null.dll" - -[UserAccountService] - LocalServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService" - - ;; These are for creating new accounts by the service - AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" - GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" - GridService = "OpenSim.Services.GridService.dll:GridService" - InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" - AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" - - ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 to show a default "Ruth" avatar rather than a cloud. - CreateDefaultAvatarEntries = true - -[GridUserService] - LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService" - -[FriendsService] - LocalServiceModule = "OpenSim.Services.FriendsService.dll" - -[Friends] - Connector = "OpenSim.Services.FriendsService.dll" - -[AgentPreferencesService] - LocalServiceModule = "OpenSim.Services.UserAccountService.dll:AgentPreferencesService" - -[LoginService] - LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService" - UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" - GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" - UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" - AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" - InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" - PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" - GridService = "OpenSim.Services.GridService.dll:GridService" - AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" - FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" - - ; This inventory service will be used to initialize the user's inventory - HGInventoryServicePlugin = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" - HGInventoryServiceConstructorArg = "HGInventoryService" - -[MapImageService] - LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" - -[GatekeeperService] - LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService" - ;; for the service - UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" - GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" - UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" - PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" - GridService = "OpenSim.Services.GridService.dll:GridService" - AuthenticationService = "OpenSim.Services.Connectors.dll:AuthenticationServicesConnector" - SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector" - -[UserAgentService] - LocalServiceModule = "OpenSim.Services.HypergridService.dll:UserAgentService" - ;; for the service - GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" - GridService = "OpenSim.Services.GridService.dll:GridService" - GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService" - PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" - FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" - UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" - - ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 to show a default "Ruth" avatar rather than a cloud. - CreateDefaultAvatarEntries = true - -;; The interface that local users get when they are in other grids -;; This greatly restricts the inventory operations while in other grids -[HGInventoryService] - ; For the InventoryServiceInConnector - LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" - ;; alternatives: - ;; HG1.5, more permissive, not recommended, but still supported - ;LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInventoryService" - ;; HG1.0, totally permissive, not recommended, but OK for grids with 100% trust - ;LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService" - - UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" - AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" - -;; The interface that local users get when they are in other grids -;; This restricts/filters the asset operations from the outside -[HGAssetService] - LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGAssetService" - UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" - -[HGFriendsService] - LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFriendsService" - UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" - FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" - UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" - GridService = "OpenSim.Services.GridService.dll:GridService" - PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" - -[HGInstantMessageService] - LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" - GridService = "OpenSim.Services.GridService.dll:GridService" - PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" - UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" - InGatekeeper = True - -;; This should always be the very last thing on this file -[Includes] - Include-Common = "config-include/StandaloneCommon.ini" diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini deleted file mode 100644 index 0a03d4c..0000000 --- a/bin/config-include/osslEnable.ini +++ /dev/null @@ -1,230 +0,0 @@ -; Enable OSSL functions. -; Including this file in a region's set of INI files, causes the OpenSimulator -; specific functions to be enabled. -; See http://opensimulator.org/wiki/OSSL for a description of OSSL functions and -; refer to http://opensimulator.org/wiki/OSSL_Implemented for a list of functions. - -; The below file lists all the functions and specifies who has permission to -; execute the function. Some of the functions are for maintainance or can be -; mis-used so the permission to execute a function can be limited. Ability to -; execute a function is based on the owner of the prim holding the script. - -[XEngine] - ; Allow the use of os* functions (some are dangerous) - AllowOSFunctions = true - - ; Allow the user of mod* functions. This allows a script to pass messages - ; to a region module via the modSendCommand() function and is used by some - ; modules to extend the scripting language. - AllowMODFunctions = true - - ; Allow the use of LightShare functions. - ; The setting enable_windlight = true must also be enabled in the [LightShare] section. - AllowLightShareFunctions = true - - ; Threat level to allow. One of None, VeryLow, Low, Moderate, High, VeryHigh, Severe. - ; See http://opensimulator.org/wiki/Threat_level for more information on these levels. - ; This is the default level and can be overridden with the Allow_ specifications. - ; Blanket enabling the ossl functions is dangerous and we do not recommend setting higher - ; than 'Low' unless you have a high level of trust in all the users that can run scripts - ; in your simulator. It is safer to explicitly allow certain types of user to run - ; higher threat level OSSL functions, as detailed later on. - OSFunctionThreatLevel = VeryLow - - ; Each of the OSSL functions can be enabled or disabled individually. - ; To disable, set the value to 'false'. - ; To enable for everyone, set the value to 'true'. - ; To enable for individuals or groups, set it to a comma separated list. This checks - ; against the owner of the object containing the script. - ; The comma separated entries in the list may be one of: - ; "ESTATE_MANAGER" -- enable for estate manager - ; "ESTATE_OWNER" -- enable for estate owner - ; "PARCEL_OWNER" -- enable for parcel owner - ; "PARCEL_GROUP_MEMBER" -- enable for any member of the parcel group - ; uuid -- enable for specified ID (may be avatar or group ID) - - ; The OSSL function name is prepended with "Allow_" and it checks against - ; the owners of the containing prim. There can also be entries beginning with - ; 'Creators_". The 'Creators_" parameters can only be a list of UUIDs and it is - ; checked against the creator of the script itself. - - ; Allowing ossl functions for anyone owning a parcel can be dangerous especially if - ; a region is selling or otherwise giving away parcel ownership. By default, parcel - ; ownership or group membership does not enable OSSL functions. Uncomment the - ; appropriate line below to allow parcel ownership and groups to do restricted - ; OSSL functions. It might be better to check the list below and edit the ones - ; to enable individually. - osslParcelO = "" - osslParcelOG = "" - ; osslParcelO = "PARCEL_OWNER," - ; osslParcelOG = "PARCEL_GROUP_MEMBER,PARCEL_OWNER," - - ; There are a block of functions for creating and controlling NPCs. - ; These can be mis-used so limit use to those you can trust. - osslNPC = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - - ; ThreatLevel None - Allow_osDrawEllipse = true - Allow_osDrawFilledPolygon = true - Allow_osDrawFilledRectangle = true - Allow_osDrawImage = true - Allow_osDrawLine = true - Allow_osDrawPolygon = true - Allow_osDrawRectangle = true - Allow_osDrawText = true - Allow_osGetAgents = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetAvatarList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetCurrentSunHour = true - Allow_osGetGender = true - Allow_osGetHealth = true - Allow_osGetInventoryDesc = true - Allow_osGetMapTexture = true - Allow_osGetRegionSize = true - Allow_osGetRezzingObject = true - Allow_osGetSunParam = true - Allow_osGetTerrainHeight = true - Allow_osIsNpc = true - Allow_osIsUUID = true - Allow_osList2Double = true - Allow_osMax = true - Allow_osMin = true - Allow_osMovePen = true - Allow_osNpcGetOwner = ${XEngine|osslNPC} - Allow_osParseJSON = true - Allow_osParseJSONNew = true - Allow_osSetFontName = true - Allow_osSetFontSize = true - Allow_osSetPenCap = true - Allow_osSetPenColor = true - Allow_osSetPenSize = true - Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osTeleportOwner = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osWindActiveModelPluginName = true - Allow_osCheckODE = true ; Here for completeness. This function cannot be turned off - - ; ThreatLevel Nuisance - Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER - - ; ThreatLevel VeryLow - Allow_osEjectFromGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceBreakAllLinks = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceBreakLink = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetDrawStringSize = true - Allow_osGetWindParam = true - Allow_osInviteToGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osReplaceString = true - Allow_osSetDynamicTextureData = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureDataBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureDataBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureURLBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureURLBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetParcelMediaURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetParcelSIPAddress = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetPrimFloatOnWater = true - Allow_osSetWindParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER - Allow_osUnixTimeToTimestamp = true - - ; ThreatLevel Low - Allow_osAvatarName2Key = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osFormatString = true - Allow_osKey2Name = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osListenRegex = true - Allow_osLoadedCreationDate = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osLoadedCreationID = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osLoadedCreationTime = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osMessageObject = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osRegexIsMatch = true - Allow_osGetAvatarHomeURI = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - - ; ThreatLevel Moderate - Allow_osDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetGridCustom = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetGridGatekeeperURI = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetGridHomeURI = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetGridLoginURI = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetGridName = true - Allow_osGetGridNick = true - Allow_osGetNumberOfAttachments = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetRegionStats = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetSimulatorMemory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osMessageAttachments = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetSpeed = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - - ; ThreatLevel High - Allow_osCauseDamage = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osCauseHealing = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceAttachToAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceAttachToAvatarFromInventory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceCreateLink = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osForceDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetAgentIP = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetLinkPrimitiveParams = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetPhysicsEngineType = true - Allow_osGetPrimitiveParams = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetRegionMapTexture = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetScriptEngineName = true - Allow_osGetSimulatorVersion = true - Allow_osMakeNotecard = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osMatchString = true - Allow_osNpcCreate = ${XEngine|osslNPC} - Allow_osNpcGetPos = ${XEngine|osslNPC} - Allow_osNpcGetRot = ${XEngine|osslNPC} - Allow_osNpcLoadAppearance = ${XEngine|osslNPC} - Allow_osNpcMoveTo = ${XEngine|osslNPC} - Allow_osNpcMoveToTarget = ${XEngine|osslNPC} - Allow_osNpcPlayAnimation = ${XEngine|osslNPC} - Allow_osNpcRemove = ${XEngine|osslNPC} - Allow_osNpcSaveAppearance = ${XEngine|osslNPC} - Allow_osNpcSay = ${XEngine|osslNPC} - Allow_osNpcSetRot = ${XEngine|osslNPC} - Allow_osNpcShout = ${XEngine|osslNPC} - Allow_osNpcSit = ${XEngine|osslNPC} - Allow_osNpcStand = ${XEngine|osslNPC} - Allow_osNpcStopAnimation = ${XEngine|osslNPC} - Allow_osNpcStopMoveToTarget = ${XEngine|osslNPC} - Allow_osNpcTouch = ${XEngine|osslNPC} - Allow_osNpcWhisper = ${XEngine|osslNPC} - Allow_osOwnerSaveAppearance = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER - Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER - Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetContentType = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetPrimitiveParams = false - Allow_osSetProjectionParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetStateEvents = false ; deprecated - Allow_osSetTerrainHeight = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetTerrainTexture = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetTerrainTextureHeight = ESTATE_MANAGER,ESTATE_OWNER - - ; ThreatLevel VeryHigh - Allow_osAgentSaveAppearance = ESTATE_MANAGER,ESTATE_OWNER - ; Warning: The next function allows scripts to force animations on avatars without the user giving permission. - ; Enabling this can allow forced animations which can trigger traumatic episodes in vulnerable populations. - ; Similar things can be said for several of the 'force' functions. Enable with care and control. - ; Some of these were added as early functionality for NPCs. This has been replaced with the NPC functions. - Allow_osAvatarPlayAnimation = false - Allow_osAvatarStopAnimation = false - Allow_osForceDetachFromAvatar = false - Allow_osForceOtherSit = false - ; The notecard functions can cause a lot of load on the region if over used - Allow_osGetNotecard = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetNotecardLine = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetNumberOfNotecardLines = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetRot = false - Allow_osSetParcelDetails = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - - ; ThreatLevel Severe - Allow_osConsoleCommand = false - Allow_osForceAttachToOtherAvatarFromInventory = false - Allow_osGrantScriptPermissions = false - Allow_osKickAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osRevokeScriptPermissions = false - Allow_osTeleportAgent = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - diff --git a/bin/config-include/storage/SQLiteStandalone.ini b/bin/config-include/storage/SQLiteStandalone.ini deleted file mode 100644 index 67d98ff..0000000 --- a/bin/config-include/storage/SQLiteStandalone.ini +++ /dev/null @@ -1,39 +0,0 @@ -; These are the initialization settings for running OpenSim Standalone with an SQLite database - -[DatabaseService] - StorageProvider = "OpenSim.Data.SQLite.dll" - ConnectionString = "URI=file:OpenSim.db,version=3,UseUTF16Encoding=True" - -[AssetService] - ConnectionString = "URI=file:Asset.db,version=3" - -; The HGAssetService section controls the connection given to the AssetService in a Hypergrid configuration. -; This has to be separate from [AssetService] because the Hypergrid facing connector uses [HGAssetService] for its config data instead. -; However, the internal asset service will still use the [AssetService] section. -; Therefore, you will almost certainly want the ConnectionString in [HGAssetService] to be the same as in [AssetService] -; so that they both access the same database. -; This issue does not apply to normal MySQL/MSSQL configurations, since by default they use the settings in [DatabaseService] and -; do not have separate connection strings for different services. -[HGAssetService] - ConnectionString = "URI=file:Asset.db,version=3" - -[InventoryService] - ;ConnectionString = "URI=file:inventory.db,version=3" - ; if you have a legacy inventory store use the connection string below - ConnectionString = "URI=file:inventory.db,version=3,UseUTF16Encoding=True" - -[AvatarService] - ConnectionString = "URI=file:avatars.db,version=3" - -[AuthenticationService] - ConnectionString = "URI=file:auth.db,version=3" - -[UserAccountService] - ConnectionString = "URI=file:userprofiles.db,version=3" - -[GridUserService] - ConnectionString = "URI=file:griduser.db,version=3" - -[FriendsService] - ConnectionString = "URI=file:friends.db,version=3" - diff --git a/bin/pCampBot.exe.config b/bin/pCampBot.exe.config index f017309..7ccc3ce 100755 --- a/bin/pCampBot.exe.config +++ b/bin/pCampBot.exe.config @@ -19,7 +19,7 @@ - + @@ -31,7 +31,7 @@ - + diff --git a/config/OpenSim.ini b/config/OpenSim.ini new file mode 100644 index 0000000..899c685 --- /dev/null +++ b/config/OpenSim.ini @@ -0,0 +1,1162 @@ +;; This is the main configuration file for OpenSimulator. +;; If it's named OpenSim.ini then it will be loaded by OpenSimulator. +;; If it's named OpenSim.ini.example then you will need to copy it to +;; OpenSim.ini first (if that file does not already exist) +;; +;; Once you have copied OpenSim.ini.example to OpenSim.ini you will at least +;; need to set the constants in the [Const] section and pick an architecture +;; in the [Architecture] section at the end of this file. The architecture +;; will require a suitable .ini file in the config-include directory, either +;; StandaloneCommon.ini or GridCommon.ini which you can copy and modify from the +;; available .example files. +;; +;; The settings in this file are in the form " = ". For example, +;; save_crashes = false in the [Startup] section below. +;; +;; All settings are initially commented out and the default value used, as +;; found in OpenSimDefaults.ini. To change a setting, first uncomment it by +;; deleting the initial semicolon (;) and then change the value. This will +;; override the value in OpenSimDefaults.ini +;; +;; If you want to find out what configuration OpenSimulator has finished with +;; once all the configuration files are loaded then type "config show" on the +;; region console command line. +;; +;; +;; NOTES FOR DEVELOPERS REGARDING THE FORMAT OF THIS FILE +;; +;; All leading white space is ignored, but preserved. +;; +;; Double semicolons denote a text comment +;; +;; ;# denotes a configuration directive description +;; formatted as: +;; {option} {depends on} {question to ask} {choices} default value +;; Any text comments following the declaration, up to the next blank line. +;; will be copied to the generated file (NOTE: generation is not yet +;; implemented) +;; +;; A * in the choices list will allow an empty entry. +;; An empty question will set the default if the dependencies are +;; satisfied. +;; +;; ; denotes a commented out option. +;; Any options added to OpenSim.ini.example should be initially commented +;; out. + + +[Const] + ; For a grid these will usually be the externally accessible IP/DNS + ; name and use default public port 8002 and default private port 8003 + ; For a standalone this will usually be the externally accessible IP/DNS + ; name and use default public port 9000. The private port is not used + ; in the configuration for a standalone. + + ;# {BaseURL} {} {BaseURL} {"http://example.com" "http://127.0.0.1"} "http://127.0.0.1" + BaseURL = http://127.0.0.1 + + ;# {PublicPort} {} {PublicPort} {8002 9000} "8002" + PublicPort = "8002" + + ;# {PrivatePort} {} {PrivatePort} {8003} "8003" + PrivatePort = "8003" + + +[Startup] + ;# {ConsolePrompt} {} {ConsolePrompt} {} "Region (\R) " + ;; Console prompt + ;; Certain special characters can be used to customize the prompt + ;; Currently, these are + ;; \R - substitute region name + ;; \\ - substitute \ + ; ConsolePrompt = "Region (\R) " + + ;# {ConsoleHistoryFileEnabled} {} {Save console commands to a history file?} {true false} true + ;; Console commands can be saved to a file, so the command history persists after a restart. (default is false) + ; ConsoleHistoryFileEnabled = true + + ;# {ConsoleHistoryFile} {} {Filename in which to save history} {} OpenSimConsoleHistory.txt + ;; The history file can be just a filename (relative to OpenSim's bin/ directory + ;; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/) + ; ConsoleHistoryFile = "OpenSimConsoleHistory.txt" + + ;# {ConsoleHistoryFileLines} {} {How many lines of history to save?} {} 100 + ;; How many lines of command history should we keep? (default is 100) + ; ConsoleHistoryFileLines = 100 + + ;# {save_crashes} {} {Save crashes to disk?} {true false} false + ;; Set this to true if you want to log crashes to disk + ;; this can be useful when submitting bug reports. + ;; However, this will only log crashes within OpenSimulator that cause the + ;; entire program to exit + ;; It will not log crashes caused by virtual machine failures, which + ;; includes mono and ODE failures. + ;; You will need to capture these native stack traces by recording the + ;; session log itself. + ; save_crashes = false + + ;# {crash_dir} {save_crashes:true} {Directory to save crashes to?} {} crashes + ;; Directory to save crashes to if above is enabled + ;; (default is /opensimdir/crashes/*.txt or C:\opensim\crashes\*.txt) + ; crash_dir = "crashes" + + ;# {PIDFile} {} {Path to PID file?} {} + ;; Place to create a PID file + ; PIDFile = "/tmp/OpenSim.exe.pid" + + ;# {RegistryLocation} {} {Addins Registry Location} {} + ; Set path to directory for addin registry if you want addins outside of bin. + ; Information about the registered repositories and installed plugins will + ; be stored here. The OpenSim.exe process must have R/W access to the location. + ; RegistryLocation = "." + + ;# {ConfigDirectory} {} {Set path to directory for modular ini files} {} + ; Used by region module addins. You can set this to outside bin, so that addin + ; configurations will survive updates. The OpenSim.exe process must have R/W access + ; to the location. + ; ConfigDirectory = "." + + ;# {region_info_source} {} {Where to load region from?} {filesystem web} filesystem + ;; Determine where OpenSimulator looks for the files which tell it + ;; which regions to server + ;; Default is "filesystem" + ; region_info_source = "filesystem" + ; region_info_source = "web" + + ;# {regionload_regionsdir} {region_info_source} {Location of file?} {} Regions + ;; Determines where the region XML files are stored if you are loading + ;; these from the filesystem. + ;; Defaults to bin/Regions in your OpenSimulator installation directory + ; regionload_regionsdir="C:\somewhere\xmlfiles\" + + ;# {regionload_webserver_url} {region_info_source} {URL to load region from?} {} + ;; Determines the page from which regions xml is retrieved if you are + ;; loading these from the web. + ;; The XML here has the same format as it does on the filesystem + ;; (including the tag), except that everything is also enclosed + ;; in a tag. + ; regionload_webserver_url = "http://example.com/regions.xml"; + + ;# {allow_regionless} {} {Allow simulator to start up with no regions configured.} {true false} false + ;; Allow the simulator to start up if there are no region configuration available + ;; from the selected region_info_source. + ; allow_regionless = false + + ;# {MaxPrimUndos} {} {Maximum number of undos avialable for position, rotation and scale changes of each prim} {} 20 + ;; Increasing the number of undos available number will increase memory usage. + MaxPrimUndos = 20 + + ;# {NonPhysicalPrimMin} {} {Minimum size of nonphysical prims?} {} 0.001 + ;; Minimum size for non-physical prims. Affects resizing of existing + ;; prims. This can be overridden in the region config file (as + ;; NonPhysicalPrimMin!). + ; NonPhysicalPrimMin = 0.001 + + ;# {NonPhysicalPrimMax} {} {Maximum size of nonphysical prims?} {} 256 + ;; Maximum size for non-physical prims. Affects resizing of existing + ;; prims. This can be overridden in the region config file (as + ;; NonPhysicalPrimMax!). + ; NonPhysicalPrimMax = 256 + + ;# {PhysicalPrimMin} {} {Minimum size of physical prims?} {} 0.01 + ;; Minimum size where a prim can be physical. Affects resizing of + ;; existing prims. This can be overridden in the region config file. + ; PhysicalPrimMin = 0.01 + + ;# {PhysicalPrimMax} {} {Maximum size of physical prims?} {} 64 + ;; Maximum size where a prim can be physical. Affects resizing of + ;; existing prims. This can be overridden in the region config file. + ; PhysicalPrimMax = 64 + + ;# {ClampPrimSize} {} {Clamp viewer rezzed prims to max sizes?} {true false} false + ;; If a viewer attempts to rez a prim larger than the non-physical or + ;; physical prim max, clamp the dimensions to the appropriate maximum + ;; This can be overridden in the region config file. + ; ClampPrimSize = false + + ;# {LinksetPrims} {} {Max prims an object will hold?} {} 0 + ;; Maximum number of prims allowable in a linkset. Affects creating new + ;; linksets. Ignored if less than or equal to zero. + ;; This can be overridden in the region config file. + ; LinksetPrims = 0 + + ;# {AllowScriptCrossing} {} {Allow scripts to cross into this region} {true false} true + ;; Allow scripts to keep running when they cross region boundaries, rather + ;; than being restarted. State is reloaded on the destination region. + ;; This only applies when crossing to a region running in a different + ;; simulator. + ;; For crossings where the regions are on the same simulator the script is + ;; always kept running. + ; AllowScriptCrossing = true + + ;# {TrustBinaries} {AllowScriptCrossing:true} {Accept compiled binary script code? (DANGEROUS!)} {true false} false + ;; Allow compiled script binary code to cross region boundaries. + ;; If you set this to "true", any region that can teleport to you can + ;; inject ARBITRARY BINARY CODE into your system. Use at your own risk. + ;; YOU HAVE BEEN WARNED!!! + ; TrustBinaries = false + + ;# {CombineContiguousRegions} {} {Create megaregions where possible? (Do not use with existing content or varregions!)} {true false} false + ;; Combine all contiguous regions into one large megaregion + ;; Order your regions from South to North, West to East in your regions.ini + ;; and then set this to true + ;; Warning! Don't use this with regions that have existing content!, + ;; This will likely break them + ;; Also, this setting should be set to false for varregions as they are proper larger single regions rather than combined smaller regions. + ; CombineContiguousRegions = false + + ;# {InworldRestartShutsDown} {} {Shutdown instance on region restart?} {true false} false + ;; If you have only one region in an instance, or to avoid the many bugs + ;; that you can trigger in modules by restarting a region, set this to + ;; true to make the entire instance exit instead of restarting the region. + ;; This is meant to be used on systems where some external system like + ;; Monit will restart any instance that exits, thereby making the shutdown + ;; into a restart. + ; InworldRestartShutsDown = false + + ;; 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. + ;; If both of these values are set to zero then persistence of all changed + ;; objects will happen on every sweep. + + ;# {MinimumTimeBeforePersistenceConsidered} {} {Time before un-changed object may be persisted} {} 60 + ;; Objects will be considered for persistance in the next sweep when they + ;; have not changed for this number of seconds. + ; MinimumTimeBeforePersistenceConsidered = 60 + + ;# {MaximumTimeBeforePersistenceConsidered} {} {Time before changed objects may be persisted?} {} 600 + ;; Objects will always be considered for persistance in the next sweep + ;; if the first change occurred this number of seconds ago. + ; MaximumTimeBeforePersistenceConsidered = 600 + + ;# {physical_prim} {} {Allow prims to be physical?} {true false} true + ;; if you would like to allow prims to be physical and move by physics + ;; with the physical checkbox in the client set this to true. + ; physical_prim = true + + ;; Select a mesher here. + ;; + ;; Meshmerizer properly handles complex prims by using triangle meshes. + ;; Note that only the ODE physics engine currently deals with meshed + ;; prims in a satisfactory way. + + ;# {meshing} {} {Select mesher} {Meshmerizer ZeroMesher} Meshmerizer + ;; ZeroMesher is faster but leaves the physics engine to model the mesh + ;; using the basic shapes that it supports. + ;; Usually this is only a box. + ;; Default is Meshmerizer + ; meshing = Meshmerizer + ; meshing = ZeroMesher + + ;; Choose one of the physics engines below + ;# {physics} {} {Select physics engine} {OpenDynamicsEngine BulletSim basicphysics POS} BulletSim + ;; BulletSim is the default physics engine. It provides the best performance and most functionality. + ;; BulletSim supports varregions. + ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. + ;; It continues to provide a workable physics implementation. It does not currently support varregions. + ;; basicphysics effectively does not model physics at all, making all objects phantom. + ;; Default is BulletSim + ; physics = OpenDynamicsEngine + ; physics = BulletSim + ; physics = basicphysics + ; physics = POS + + ;# {DefaultScriptEngine} {} {Default script engine} {XEngine} XEngine + ;; Default script engine to use. Currently, we only have XEngine + ; DefaultScriptEngine = "XEngine" + + ;# {HttpProxy} {} {Proxy URL for llHTTPRequest and dynamic texture loading} {} http://proxy.com:8080 + ;; Http proxy setting for llHTTPRequest and dynamic texture loading, if + ;; required + ; HttpProxy = "http://proxy.com:8080" + + ;# {HttpProxyExceptions} {HttpProxy} {Set of regular expressions defining URL that should not be proxied} {} + ;; If you're using HttpProxy, then you can set HttpProxyExceptions to a + ;; list of regular expressions for URLs that you don't want to go through + ;; the proxy. + ;; For example, servers inside your firewall. + ;; Separate patterns with a ';' + ; HttpProxyExceptions = ".mydomain.com;localhost" + + ;# {emailmodule} {} {Provide llEmail and llGetNextEmail functionality? (requires SMTP server)} {true false} false + ;; The email module requires some configuration. It needs an SMTP + ;; server to send mail through. + ; emailmodule = DefaultEmailModule + + ;# {SpawnPointRouting} {} {Set routing method for Telehub Spawnpoints} {closest random sequence} closest + ;; SpawnPointRouting adjusts the landing for incoming avatars. + ;; "closest" will place the avatar at the SpawnPoint located in the closest + ;; available spot to the destination (typically map click/landmark). + ;; "random" will place the avatar on a randomly selected spawnpoint; + ;; "sequence" will place the avatar on the next sequential SpawnPoint + ; SpawnPointRouting = closest + + ;# {TelehubAllowLandmark} {} {Allow users with landmarks to override telehub routing} {true false} false + ;; TelehubAllowLandmark allows users with landmarks to override telehub + ;; routing and land at the landmark coordinates when set to true + ;; default is false + ; TelehubAllowLandmark = false + + +[AccessControl] + ;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {} + ;; Bar (|) separated list of viewers which may gain access to the regions. + ;; One can use a substring of the viewer name to enable only certain + ;; versions + ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" + ;; - "Imprudence" has access + ;; - "Imprudence 1.3" has access + ;; - "Imprudence 1.3.1" has no access + ; AllowedClients = "" + + ;# {DeniedClients} {} {Bar (|) separated list of denied clients} {} + ;; Bar (|) separated list of viewers which may not gain access to the regions. + ;; One can use a Substring of the viewer name to disable only certain + ;; versions + ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" + ;; - "Imprudence" has no access + ;; - "Imprudence 1.3" has no access + ;; - "Imprudence 1.3.1" has access + ;; + ; DeniedClients = "" + + +[Map] + ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true + ;; Map tile options. + ;; If true, then maptiles are generated using the MapImageModule below. + ;; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden + ;; in individual region config file(s). If you do not want to upload map tiles at all, then you will need + ;; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ + ; GenerateMaptiles = true + + ;# {MapImageModule} {} {The map image module to use} {MapImageModule Warp3DImageModule} MapImageModule + ;; The module to use in order to generate map images. + ;; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can + ;; generate better images. + ;MapImageModule = "MapImageModule" + + ;# {MaptileRefresh} {GenerateMaptiles} {Maptile refresh period?} {} 0 + ;; If desired, a running region can update the map tiles periodically + ;; to reflect building activity. This names no sense of you don't have + ;; prims on maptiles. Value is in seconds. + ; MaptileRefresh = 0 + + ;# {MaptileStaticUUID} {} {Asset ID for static map texture} {} 00000000-0000-0000-0000-000000000000 + ;; If not generating maptiles, use this static texture asset ID + ;; This may be overridden on a per region basis in Regions.ini + ; MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" + + ;# {TextureOnMapTile} {} {Use terrain textures for map tiles?} {true false} true + ;; Use terrain texture for maptiles if true, use shaded green if false + ; TextureOnMapTile = true + + ;# {DrawPrimOnMapTile} {} {Draw prim shapes on map tiles?} {true false} false + ;; Draw objects on maptile. This step might take a long time if you've + ;; got a large number of objects, so you can turn it off here if you'd like. + ; DrawPrimOnMapTile = true + + ;# {TexturePrims} {} {Texture prims on map tiles?} {true false} true + ;; Texture the faces of the prims that are rendered on the map tiles. + ; TexturePrims = true + + ;# {TexturePrimSize} {} {Size of prims to texture faces?} {} 48 + ;; Only texture prims that have a diagonal size greater than this number + ; TexturePrimSize = 48 + + ;# {RenderMeshes} {} {Render meshes and sculpties on map tiles?} {true false} false + ;; Attempt to render meshes and sculpties on the map + ; RenderMeshes = false; + + +[Permissions] + ;# {permissionmodules} {} {Permission modules to use (may specify multiple modules, separated by comma} {} DefaultPermissionsModule + ;; Permission modules to use, separated by comma. + ;; Possible modules are DefaultPermissionsModule, PrimLimitsModule + ; permissionmodules = DefaultPermissionsModule + + ;# {serverside_object_permissions} {permissionmodules:DefaultPermissionsModule} {Activate permission handling by the sim?} {true false} true + ;; These are the parameters for the default permissions module + ;; + ;; If set to false, then, in theory, the server never carries out + ;; permission checks (allowing anybody to copy + ;; any item, etc. This may not yet be implemented uniformally. + ;; If set to true, then all permissions checks are carried out + ; serverside_object_permissions = true + + ;# {allow_grid_gods} {} {Allow grid gods?} {true false} false + ;; This allows users with a UserLevel of 200 or more to assume god + ;; powers in the regions in this simulator. + ; allow_grid_gods = false + + ;; This allows some control over permissions + ;; please note that this still doesn't duplicate SL, and is not intended to + ;# {region_owner_is_god} {} {Allow region owner gods} {true false} true + ;; Allow region owners to assume god powers in their regions + ; region_owner_is_god = true + + ;# {region_manager_is_god} {} {Allow region manager gods} {true false} false + ;; Allow region managers to assume god powers in regions they manage + ; region_manager_is_god = false + + ;# {parcel_owner_is_god} {} {Allow parcel owner gods} {true false} true + ;; Allow parcel owners to assume god powers in their parcels + ; parcel_owner_is_god = true + + ;# {simple_build_permissions} {} {Allow building in parcel by access list (no groups)} {true false} false + ;; More control over permissions + ;; This is definitely not SL! + ;; Provides a simple control for land owners to give build rights to + ;; specific avatars in publicly accessible parcels that disallow object + ;; creation in general. + ;; Owners specific avatars by adding them to the Access List of the parcel + ;; without having to use the Groups feature + ; simple_build_permissions = false + + +[Estates] + ; If these values are commented out then the user will be asked for estate details when required (this is the normal case). + ; If these values are uncommented then they will be used to create a default estate as necessary. + ; New regions will be automatically assigned to that default estate. + + ;# {DefaultEstateName} {} {Default name for estate?} {} My Estate + ;; Name for the default estate + ; DefaultEstateName = My Estate + + ;# {DefaultEstateOwnerName} {} {Default estate owner name?} {} FirstName LastName + ;; Name for default estate owner + ; DefaultEstateOwnerName = FirstName LastName + + + ; ** Standalone Estate Settings ** + ; The following parameters will only be used on a standalone system to + ; create an estate owner that does not already exist + + ;# {DefaultEstateOwnerUUID} {} {Default estate owner UUID?} {} 00000000-0000-0000-0000-000000000000 + ;; If DefaultEstateOwnerUUID is left at UUID.Zero (as below) then a random + ;; UUID will be assigned. This is normally what you want + ; DefaultEstateOwnerUUID = 00000000-0000-0000-0000-000000000000 + + ;# {DefaultEstateOwnerEMail} {} {Default estate owner email?} {} + ;; Email address for the default estate owner + ; DefaultEstateOwnerEMail = owner@domain.com + + ;# {DefaultEstateOwnerPassword} {} {Default estate owner password} {} + ;; Password for the default estate owner + ; DefaultEstateOwnerPassword = password + + +[SMTP] + ;; The SMTP server enabled the email module to send email to external + ;; destinations. + + ;# {enabled} {[Startup]emailmodule:DefaultEmailModule} {Enable SMTP service?} {true false} false + ;; Enable sending email via SMTP + ; enabled = false + + ;# {internal_object_host} {[Startup]emailmodule:DefaultEmailModule enabled:true} {Host name to treat as internal (object to object) email?} {} lsl.opensim.local + ; internal_object_host = lsl.opensim.local + + ;# {host_domain_header_from} {[Startup]emailmodule:DefaultEmailModule enabled:true} {From address to use in the sent email header?} {} 127.0.0.1 + ; host_domain_header_from = "127.0.0.1" + + ;# {email_pause_time} {[Startup]emailmodule:DefaultEmailModule enabled:true} {Period in seconds to delay after an email is sent.} {} 20 + ; email_pause_time = 20 + + ;# {email_max_size} {[Startup]emailmodule:DefaultEmailModule enabled:true} {Maximum total size of email in bytes.} {} 4096 + ; email_max_size = 4096 + + ;# {SMTP_SERVER_HOSTNAME} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server name?} {} 127.0.0.1 + ; SMTP_SERVER_HOSTNAME = "127.0.0.1" + + ;# {SMTP_SERVER_PORT} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server name?} {SMTP server port?} {} 25 + ; SMTP_SERVER_PORT = 25 + + ;# {SMTP_SERVER_LOGIN} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server user name?} {} + ; SMTP_SERVER_LOGIN = "" + + ;# {SMTP_SERVER_PASSWORD} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server password} {} + ; SMTP_SERVER_PASSWORD = "" + + +[Network] + ;# {ConsoleUser} {} {User name for console account} {} + ;; Configure the remote console user here. This will not actually be used + ;; unless you use -console=rest at startup. + ; ConsoleUser = "Test" + ;# {ConsolePass} {} {Password for console account} {} + ; ConsolePass = "secret" + ;# {console_port} {} {Port for console connections} {} 0 + ; console_port = 0 + + ;# {http_listener_port} {} {TCP Port for this simulator to listen on? (This must be unique to the simulator!)} {} 9000 + ;; Simulator HTTP port. This is not the region port, but the port the + ;; entire simulator listens on. This port uses the TCP protocol, while + ;; the region ports use UDP. + ; http_listener_port = 9000 + + ; By default, OpenSimulator does not allow scripts to make HTTP calls to addresses on the simulator's LAN. + ; See the OutboundDisallowForUserScripts parameter in OpenSimDefaults.ini for more information on this filter. + ; If you need to allow scripts to make some LAN calls use the OutboundDisallowForUserScriptsExcept parameter below. + ; We recommend that you do not override OutboundDisallowForUserScripts directly unless you are very sure about what you're doing. + ; + ; You can whitelist individual endpoints by IP or FQDN, e.g. + ; + ; OutboundDisallowForUserScriptsExcept = 192.168.1.3:8003 + ; + ; You can specify multiple addresses by separating them with a bar. For example, + ; + ; OutboundDisallowForUserScriptsExcept = 192.168.1.3:8003|myinternalserver:8000 + ; + ; If an address if given without a port number then port 80 is assumed + ; + ; You can also specify a network range in CIDR notation to whitelist, e.g. + ; + ; OutboundDisallowForUserScriptsExcept = 192.168.1.0/24 + ; + ; to whitelist all ports on addresses 192.168.1.0 to 192.168.1.255 + ; To specify an individual IP address use the /32 netmask + ; + ; OutboundDisallowForUserScriptsExcept = 192.168.1.2/32 + ; + ; See http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation for more information on CIDR notation + + ;# {ExternalHostNameForLSL} {} {Hostname to use for HTTP-IN URLs. This should be reachable from the internet.} {} + ;; Hostname to use in llRequestURL/llRequestSecureURL + ;; if not defined - default machine name is being used + ;; (on Windows this mean NETBIOS name - useably only inside local network) + ; ExternalHostNameForLSL = "127.0.0.1" + + ;# {shard} {} {Name to use for X-Secondlife-Shard header? (press enter if unsure)} {} OpenSim + ;; What is reported as the "X-Secondlife-Shard" + ;; Defaults to the user server url if not set + ;; The old default is "OpenSim", set here for compatibility + ;; The below is not commented for compatibility. + shard = "OpenSim" + + ;# {user_agent} {} {User agent to report to web servers?} {} OpenSim LSL (Mozilla Compatible) + ;; What is reported as the "User-Agent" when using llHTTPRequest + ;; Defaults to not sent if not set here. See the notes section in the wiki + ;; at http://wiki.secondlife.com/wiki/LlHTTPRequest for comments on adding + ;; " (Mozilla Compatible)" to the text where there are problems with a + ;; web server + ; user_agent = "OpenSim LSL (Mozilla Compatible)" + + ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services. + ;; Use this if your central services in port 8003 need to be accessible on the Internet + ;; but you want to protect them from unauthorized access. The username and password + ;; here need to match the ones in the Robust service configuration. + ; AuthType = "BasicHttpAuthentication" + ; HttpAuthUsername = "some_username" + ; HttpAuthPassword = "some_password" + ;; + ;; Any of these 3 variables above can be overriden in any of the service sections. + + +[XMLRPC] + ;# {XmlRpcRouterModule} {} {Module used to route incoming llRemoteData calls} {XmlRpcRouterModule XmlRpcGridRouterModule} XmlRpcRouterModule + ;; If enabled and set to XmlRpcRouterModule, this will post an event, + ;; "xmlrpc_uri(string)" to the script concurrently with the first + ;; remote_data event. This will contain the fully qualified URI an + ;; external site needs to use to send XMLRPC requests to that script + ;; + ;; If enabled and set to XmlRpcGridRouterModule, newly created channels + ;; will be registered with an external service via a configured uri + ;XmlRpcRouterModule = "XmlRpcRouterModule" + + ;# {XmlRpcPort} {} {Port for incoming llRemoteData xmlrpc calls} {} 20800 + ;XmlRpcPort = 20800 + + ;# {XmlRpcHubURI} {XmlRpcRouterModule} {URI for external service used to register xmlrpc channels created in the simulator. This depends on XmlRpcRouterModule being set to XmlRpcGridRouterModule} {} http://example.com + ;; If XmlRpcRouterModule is set to XmlRpcGridRouterModule, the simulator + ;; will use this address to register xmlrpc channels on the external + ;; service + ; XmlRpcHubURI = http://example.com + + +[ClientStack.LindenUDP] + ;; See OpensSimDefaults.ini for the throttle options. You can copy the + ;; relevant sections and override them here. + ;; DO NOT MODIFY OpenSimDefaults.ini, as your changes would be lost + ;; with the next update! + + ;# {DisableFacelights} {} {Stop facelights from working?} {true false} false + ;; Quash and remove any light properties from attachments not on the + ;; hands. This allows flashlights and lanterns to function, but kills + ;; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps + ;; will also be affected. + ;; This is especially important in artistic builds that depend on lights + ;; on the build for their appearance, since facelights will cause the + ;; building's lights to possibly not be rendered. + ; DisableFacelights = "false" + + +[ClientStack.LindenCaps] + ;; For the long list of capabilities, see OpenSimDefaults.ini + ;; Here are the few ones you may want to change. Possible values + ;; are: + ;; "" -- empty, capability disabled + ;; "localhost" -- capability enabled and served by the simulator + ;; "" -- capability enabled and served by some other server + ;; + ; These are enabled by default to localhost. Change if you see fit. + Cap_GetTexture = "localhost" + Cap_GetMesh = "localhost" + Cap_AvatarPickerSearch = "localhost" + Cap_GetDisplayNames = "localhost" + + +[SimulatorFeatures] + + ;# {SearchServerURI} {} {URL of the search server} {} + ;; Optional. If given this serves the same purpose as the grid wide + ;; [LoginServices] SearchURL setting and will override that where + ;; supported by viewers. + ;SearchServerURI = "http://127.0.0.1:9000/" + + ;# {DestinationGuideURI} {} {URL of the destination guide} {} + ;; Optional. If given this serves the same purpose as the grid wide + ;; [LoginServices] DestinationGuide setting and will override that where + ;; supported by viewers. + ;DestinationGuideURI = "http://127.0.0.1:9000/guide" + + +[Chat] + ;# {whisper_distance} {} {Distance at which a whisper is heard, in meters?} {} 10 + ;; Distance in meters that whispers should travel. + ; whisper_distance = 10 + + ;# {say_distance} {} {Distance at which normal chat is heard, in meters?} {} 20 + ;; Distance in meters that ordinary chat should travel. + ; say_distance = 20 + + ;# {shout_distance} {} {Distance at which a shout is heard, in meters?} {} 100 + ;; Distance in meters that shouts should travel. + ; shout_distance = 100 + + +[EntityTransfer] + ;# {DisableInterRegionTeleportCancellation} {} {Determine whether the cancel button is shown at all during teleports.} {false true} false + ;; This option exists because cancelling at certain points can result in an unuseable session (frozen avatar, etc.) + ;; Disabling cancellation can be okay in small closed grids where all teleports are highly likely to suceed. + ;DisableInterRegionTeleportCancellation = false + + +[Messaging] + ;# {OfflineMessageModule} {} {Module to use for offline message storage} {OfflineMessageModule "Offline Message Module V2" *} + ;; Module to handle offline messaging. The core module requires an external + ;; web service to do this. See OpenSim wiki. + ; OfflineMessageModule = OfflineMessageModule + ;; Or, alternatively, use this one, which works for both standalones and grids + ; OfflineMessageModule = "Offline Message Module V2" + + ;# {OfflineMessageURL} {OfflineMessageModule:OfflineMessageModule Offline Message Module V2:Offline Message Module V2} {URL of offline messaging service} {} + ;; URL of web service for offline message storage. Leave it commented if your service is local to the sim. + ; OfflineMessageURL = ${Const|BaseURL}/Offline.php + ; OfflineMessageURL = ${Const|BaseURL}:${Const|PrivatePort} + + ;# {StorageProvider} {Offline Message Module V2:Offline Message Module V2} {DLL that provides the storage interface} {OpenSim.Data.MySQL.dll} + ;; For standalones, this is the storage dll. + ; StorageProvider = OpenSim.Data.MySQL.dll + + ;# {MuteListModule} {OfflineMessageModule:OfflineMessageModule} {} {} MuteListModule + ;; Mute list handler (not yet implemented). MUST BE SET to allow offline + ;; messages to work + ; MuteListModule = MuteListModule + + ;# {MuteListURL} {OfflineMessageModule:OfflineMessageModule} {} {} http://yourserver/Mute.php + ;; URL of the web service that serves mute lists. Not currently used, but + ;; must be set to allow offline messaging to work. + ; MuteListURL = http://yourserver/Mute.php + + ;; Control whether group invites and notices are stored for offline users. + ;; Default is true. + ;; This applies to both core groups module. + ; ForwardOfflineGroupMessages = true + + +[BulletSim] + ;# {AvatarToAvatarCollisionsByDefault} {[Startup]physics:BulletSim} {Should avatars collide with each other?} {true false} true + AvatarToAvatarCollisionsByDefault = true + + +[ODEPhysicsSettings] + ;# {mesh_sculpted_prim} {[Startup]physics:OpenDynamicsEngine} {Mesh sculpties so they collide as they look?} {true false} true + ;; Do we want to mesh sculpted prim to collide like they look? + ;; If you are seeing sculpt texture decode problems + ;; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception") + ;; then you might want to try setting this to false. + ; mesh_sculpted_prim = true + + ;# {use_NINJA_physics_joints} {[Startup]physics:OpenDynamicsEngine} {Use jointed (NINJA) physics?} {true false} false + ;; If you would like physics joints to be enabled through a special naming + ;; convention in the client, set this to true. + ;; (see NINJA Physics, http://opensimulator.org/wiki/NINJA_Physics) + ; use_NINJA_physics_joints = false + + +[RemoteAdmin] + ;; This is the remote admin module, which uses XMLRPC requests to + ;; manage regions from a web interface. + + ;# {enabled} {} {Enable the remote admin interface?} {true false} false + ; enabled = false + + ;# {port} {enabled:true} {Port to use for the remote admin interface? (0 = default)} {} 0 + ;; Set this to a nonzero value to have remote admin use a different port + ; port = 0 + + ;# {access_password} {enabled:true} {Password for the remote admin interface} {} + ;; This password is required to make any XMLRPC call (should be set as + ;; the "password" parameter) + ; access_password = "" + + ;# {access_ip_addresses} {enabled:true} {List the IP addresses allowed to call RemoteAdmin?} {} + ;; List the IP addresses allowed to call RemoteAdmin + ;; If access_ip_addresses isn't set, then all IP addresses can access RemoteAdmin. + ;; access_ip_addresses = 0.0.0.0, 0.0.0.0 ... + ; access_ip_addresses = + + ;# {create_region_enable_voice} {enabled:true} {Enable voice for newly created regions?} {true false} false + ;; set this variable to true if you want the create_region XmlRpc + ;; call to unconditionally enable voice on all parcels for a newly + ;; created region + ; create_region_enable_voice = false + + ;# {create_region_public} {enabled:true} {Make newly created regions public?} {true false} false + ;; set this variable to false if you want the create_region XmlRpc + ;; call to create all regions as private per default (can be + ;; overridden in the XmlRpc call) + ; create_region_public = false + + ;# {enabled_methods} {enabled:true} {List of methods to allow, separated by |} {} all + ;; enable only those methods you deem to be appropriate using a | delimited + ;; whitelist. + ;; For example: + ;; enabled_methods = admin_broadcast|admin_save_oar|admin_save_xml + ;; if this parameter is not specified but enabled = true, all methods + ;; will be available + ; enabled_methods = all + + ;; specify the default appearance for an avatar created through the remote + ;; admin interface + ;; This will only take effect is the file specified by the + ;; default_appearance setting below exists + ; default_male = Default Male + ; default_female = Default Female + + ;; Update appearance copies inventory items and wearables of default + ;; avatars. if this value is false, just worn assets are copied to the + ;; Clothes folder; if true, all Clothes and Bodyparts subfolders are copied. + ;; The receiver will wear the same items the default avatar did wear. + ; copy_folders = false + + ;; Path to default appearance XML file that specifies the look of the + ;; default avatars + ; default_appearance = default_appearance.xml + + +[Wind] + ;# {enabled} {} {Enable wind module?} {true false} true + ;; Enables the wind module. + ; enabled = true + + ;# {wind_update_rate} {enabled:true} {Wind update rate in frames?} {} 150 + ;; How often should wind be updated, as a function of world frames. + ;; Approximately 50 frames a second + ; wind_update_rate = 150 + + ;; The Default Wind Plugin to load + ; wind_plugin = SimpleRandomWind + + ;; These settings are specific to the ConfigurableWind plugin + ;; To use ConfigurableWind as the default, simply change wind_plugin + ;; to ConfigurableWind and uncomment the following. + ; avg_strength = 5.0 + ; avg_direction = 0.0 + ; var_strength = 5.0 + ; var_direction = 30.0 + ; rate_change = 1.0 + + ;# {strength} {enabled:true wind_plugin:SimpleRandomWind} {Wind strength?} {} 1.0 + ;; This setting is specific to the SimpleRandomWind plugin + ;; Adjusts wind strength. 0.0 = no wind, 1.0 = normal wind. + ; strength = 1.0 + + +[LightShare] + ;# {enable_windlight} {} {Enable LightShare technology?} {true false} false + ;; This enables the transmission of Windlight scenes to supporting clients, + ;; such as the Meta7 viewer. + ;; It has no ill effect on viewers which do not support server-side + ;; windlight settings. + ; enable_windlight = false + + +[Materials] + ;# {enable_materials} {} {Enable Materials support?} {true false} true + ;; This enables the use of Materials. + ; enable_materials = true + ; MaxMaterialsPerTransaction = 50 + +[DataSnapshot] + ;# {index_sims} {} {Enable data snapshotting (search)?} {true false} false + ;; The following set of configs pertains to search. + ;; Set index_sims to true to enable search engines to index your + ;; searchable data. + ;; If false, no data will be exposed, DataSnapshot module will be off, + ;; and you can ignore the rest of these search-related configs. + ; index_sims = false + + ;# {data_exposure} {index_sims:true} {How much data should be exposed?} {minimum all} minimum + ;; The variable data_exposure controls what the regions expose: + ;; minimum: exposes only things explicitly marked for search + ;; all: exposes everything + ; data_exposure = minimum + + ;# {gridname} {index_sims:true} {Enter the name fo your grid} {} OSGrid + ;; If search is on, change this to your grid name; will be ignored for + ;; standalones + ; gridname = "OSGrid" + + ;# {default_snapshot_period} {index_sims:true} {Period between data snapshots?} {} 1200 + ;; Period between data snapshots, in seconds. 20 minutes, for starters, + ;; so that you see the initial changes fast. + ;; Later, you may want to increase this to 3600 (1 hour) or more + ; default_snapshot_period = 1200 + + ;; This will be created in bin, if it doesn't exist already. It will hold + ;; the data snapshots. + ; snapshot_cache_directory = "DataSnapshot" + + ;; [Supported, but obsolete] + ;# {data_services} {index_sims:true} {Data service URLs to register with?} {} http://metaverseink.com/cgi-bin/register.py + ; This semicolon-separated string serves to notify specific data services + ; about the existence of this sim. Uncomment if you want to index your + ; data with this and/or other search providers. + ; data_services="http://metaverseink.com/cgi-bin/register.py" + + ;; New way of specifying data services, one per service + ;DATA_SRV_MISearch = "http://metaverseink.com/cgi-bin/register.py" + +[Economy] + ;# {SellEnabled} {} {Enable selling for 0?} {true false} true + ; The default economy module only implements just enough to allow free actions (transfer of objects, etc). + ; There is no intention to implement anything further in core OpenSimulator. + ; This functionality has to be provided by third party modules. + + ;; Enables selling things for $0. Default is true. + ; SellEnabled = true + + ;# {PriceUpload} {} {Price for uploading?} {} 0 + ;; Money Unit fee to upload textures, animations etc. Default is 0. + ; PriceUpload = 0 + + ;# {PriceGroupCreate} {} {Fee for group creation} {} 0 + ;; Money Unit fee to create groups. Default is 0. + ; PriceGroupCreate = 0 + + +[XEngine] + ;# {Enabled} {} {Enable the XEngine scripting engine?} {true false} true + ;; Enable this engine in this OpenSim instance + ; Enabled = true + + ;; How many threads to keep alive even if nothing is happening + ; MinThreads = 2 + + ;; How many threads to start at maximum load + ; MaxThreads = 100 + + ;; Time a thread must be idle (in seconds) before it dies + ; IdleTimeout = 60 + + ;# {Priority} {Enabled:true} {Priority for script engine threads?} {Lowest BelowNormal Normal AboveNormal Highest} BelowNormal + ;; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", + ;; "Highest") + ; Priority = "BelowNormal" + + ;; Maximum number of events to queue for a script (excluding timers) + ; MaxScriptEventQueue = 300 + + ;; Stack size per script engine thread in bytes. + ;; If you are experiencing StackOverflowExceptions you may want to increase this (e.g. double it). + ;; The trade-off may be increased memory usage by the script engine. + ; ThreadStackSize = 262144 + + ;; Set this to true (the default) to load each script into a separate + ;; AppDomain. + ;; + ;; Setting this to false will load all script assemblies into the + ;; current AppDomain, which will significantly improve script loading times. + ;; It will also reduce initial per-script memory overhead. + ;; + ;; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted. + ;; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region. + ;; Some Windows users have also reported script loading problems when AppDomainLoading = false + ; AppDomainLoading = true + + ;; Controls whether scripts are stopped by aborting their threads externally (abort) or by co-operative checks from the compiled script (co-op) + ;; co-op will be more stable but this option is currently experimental. + ;; If moving from co-op to abort, existing script DLLs will need to be recompiled. + ;; This currently can only be done manually, either by setting DeleteScriptsOnStartup = true for one run + ;; or by deleting the script DLL* files in caches/ScriptEngines// + ;; One can move from co-op back to abort without recompilation, but reverting back to co-op again will need script recompile + ;; Current valid values are "abort" and "co-op" + ; ScriptStopStrategy = abort + + + ;# {DeleteScriptsOnStartup} {} {Delete previously compiled script DLLs on startup?} {true false} true + ;; Controls whether previously compiled scripts DLLs are deleted on sim restart. If you set this to false + ;; then startup will be considerably faster since scripts won't need to be recompiled. However, then it becomes your responsibility to delete the + ;; compiled scripts if you're recompiling OpenSim from source code and internal interfaces used + ;; by scripts have changed. + DeleteScriptsOnStartup = false + + ;# {DefaultCompileLanguage} {Enabled:true} {Default script language?} {lsl vb cs} lsl + ;; Default language for scripts + ; DefaultCompileLanguage = "lsl" + + ;# {AllowedCompilers} {Enabled:true} {Languages to allow (comma separated)?} {} lsl + ;; List of allowed languages (lsl,vb,cs) + ;; AllowedCompilers=lsl,cs,vb + ;; *warning*, non lsl languages have access to static methods such as + ;; System.IO.File. Enable at your own risk. + ; AllowedCompilers = "lsl" + + ;; Compile debug info (line numbers) into the script assemblies + ; CompileWithDebugInformation = true + + ; ==== Settings for MOD and OSSL functions have been moved to the [OSSL] section + + ;# {EventLimit} {} {Amount of time a script can spend in an event handler} {} 30 + ;; Time a script can spend in an event handler before it is interrupted + ; EventLimit = 30 + + ;# {KillTimedOutScripts} {} {Kill script in case of event time overruns?} {true false} false + ;; If a script overruns it's event limit, kill the script? + ; KillTimedOutScripts = false + + ;# {ScriptDelayFactor} {} {Multiplier for scripting delays} {} 1.0 + ;; Sets the multiplier for the scripting delays + ; ScriptDelayFactor = 1.0 + + ;# {ScriptDistanceLimitFactor} {} {Multiplier for 10.0m distance limits?} {} + ;; The factor the 10 m distances limits are multiplied by + ; ScriptDistanceLimitFactor = 1.0 + + ;# {NotecardLineReadCharsMax} {} {Maximum length of notecard line?} {} 255 + ;; Maximum length of notecard line read + ;; Increasing this to large values potentially opens + ;; up the system to malicious scripters + ; NotecardLineReadCharsMax = 255 + + ;# {SensorMaxRange} {} {Sensor range} {} 96.0 + ;; Sensor settings + ; SensorMaxRange = 96.0 + ;# {SensorMaxResults} {} {Max sensor results returned?} {} + ; SensorMaxResults = 16 + + ;# {DisableUndergroundMovement} {} {Disable underground movement of prims} {true false} true + ;; Disable underground movement of prims (default true); set to + ;; false to allow script controlled underground positioning of + ;; prims + ; DisableUndergroundMovement = true + + ;# {ScriptEnginesPath} {} {Path to script assemblies} {} ScriptEngines + ;; Path to script engine assemblies + ;; Default is ../caches/ScriptEngines + ; ScriptEnginesPath = "ScriptEngines" + +[OSSL] + ;# {Include-osslEnable} {} {Include file for enabling and permissions for OSSL functions} {} + ;; Optionally include file to enable OSSL functions and set permissions on who can use which. + ;; If this INI file is not included, the OSSL functions are disabled. + Include-osslEnable = "config-include/osslEnable.ini" + + +[MRM] + ;; Enables the Mini Region Modules Script Engine. + ; Enabled = false + + ;; Runs MRM in a Security Sandbox + ;; WARNING: DISABLING IS A SECURITY RISK. + ; Sandboxed = true + + ;; The level sandbox to use, adjust at your OWN RISK. + ;; Valid values are: + ;; * FullTrust + ;; * SkipVerification + ;; * Execution + ;; * Nothing + ;; * LocalIntranet + ;; * Internet + ;; * Everything + ; SandboxLevel = "Internet" + + ;; Only allow Region Owners to run MRMs + ;; May represent a security risk if you disable this. + ; OwnerOnly = true + + +[FreeSwitchVoice] + ;; In order for this to work you need a functioning FreeSWITCH PBX set up. + ;; Configuration details at http://opensimulator.org/wiki/Freeswitch_Module + ; Enabled = false + + ;; You need to load a local service for a standalone, and a remote service + ;; for a grid region. Use one of the lines below, as appropriate + ;; If you're using Freeswitch on a standalone then you will also need to configure the [FreeswitchService] section in config-include/StandaloneCommon.ini + ; LocalServiceModule = OpenSim.Services.FreeswitchService.dll:FreeswitchService + ; LocalServiceModule = OpenSim.Services.Connectors.dll:RemoteFreeswitchConnector + + ;; If using a remote connector, specify the server URL + ; FreeswitchServiceURL = http://my.grid.server:8004/fsapi + + +[Groups] + ;# {Enabled} {} {Enable groups?} {true false} false + ;; Enables the groups module + ; Enabled = false + + ;# {LevelGroupCreate} {Enabled:true} {User level for creating groups} {} 0 + ;; Minimum user level required to create groups + ; LevelGroupCreate = 0 + + ;# {Module} {Enabled:true} {Groups module to use? (Use GroupsModule to use Flotsam/Simian)} {Default "Groups Module V2"} Default + ;; The default module can use a PHP XmlRpc server from the Flotsam project at + ;; http://code.google.com/p/flotsam/ + ;; or from the SimianGrid project at http://code.google.com/p/openmetaverse + ; Module = Default + ;; or... use Groups Module V2, which works for standalones and robust grids + ; Module = "Groups Module V2" + + ;# {StorageProvider} {Module:Groups Module V2} {The DLL that provides the storage for V2} {OpenSim.Data.MySQL.dll} + ; StorageProvider = OpenSim.Data.MySQL.dll + + ;# {ServicesConnectorModule} {Module:GroupsModule Module:Groups Module V2} {Service connector to use for groups} {XmlRpcGroupsServicesConnector SimianGroupsServicesConnector "Groups Local Service Connector" "Groups Remote Service Connector" "Groups HG Service Connector"} XmlRpcGroupsServicesConnector + ;; Service connectors to the Groups Service as used in the GroupsModule. Select one as follows: + ;; -- for Flotsam Groups use XmlRpcGroupsServicesConnector + ;; -- for Simian Groups use SimianGroupsServicesConnector + ;; -- for V2 Groups, standalone, non-HG use "Groups Local Service Connector" + ;; -- for V2 Groups, grided sim, non-HG use "Groups Remote Service Connector" + ;; -- for V2 Groups, HG, both standalone and grided sim, use "Groups HG Service Connector" + ;; Note that the quotes "" around the words are important! + ; ServicesConnectorModule = XmlRpcGroupsServicesConnector + + ;# {LocalService} {ServicesConnectorModule:Groups HG Service Connector} {Is the group service in this process or elsewhere?} {local remote} local + ;; Used for V2 in HG only. If standalone, set this to local; if grided sim, set this to remote + ; LocalService = local + + ;# {SecretKey} {ServicesConnectorModule:Groups Remote Service Connector} {Secret key between sim and remote group service} {} "" + ;; Used for V2 in Remote only. + ; SecretKey = "" + + ;# {GroupsServerURI} {Module:GroupsModule (ServicesConnectorModule:Groups Remote Service Connector or (ServicesConnectorModule:Groups HG Service Connector and LocalService:remote))} {Groups Server URI} {} + ;; URI for the groups services of this grid + ;; e.g. http://yourxmlrpcserver.com/xmlrpc.php for Flotsam XmlRpc + ;; or http://mygridserver.com:82/Grid/ for SimianGrid + ;; or ${Const|BaseURL}:${Const|PrivatePort} for robust, V2 + ;; Leave it commented for standalones, V2 + ; GroupsServerURI = "" + + ;# {HomeURI} {ServicesConnectorModule:Groups HG Service Connector} {What's the home address of this world?} {} + ;; Used for V2 in HG only. For example + ;; http://mygridserver.com:9000 or http://mygridserver.com:8002 + ;; If you have this set under [Startup], no need to set it here, leave it commented + ; HomeURI = "" + + ;# {MessagingEnabled} {Module:GroupsModule Module:Groups Module V2} {Is groups messaging enabled?} {true false} true + ; MessagingEnabled = true + + ;# {MessagingModule} {MessagingEnabled:true} {Module to use for groups messaging} {GroupsMessagingModule "Groups Messaging Module V2"} GroupsMessagingModule + ; MessagingModule = GroupsMessagingModule + ; or use "Groups Messaging Module V2" for Groups V2 + ; MessagingModule = "Groups Messaging Module V2" + + ;# {NoticesEnabled} {Module:GroupsModule Module:Groups Module V2} {Enable group notices?} {true false} true + ;; Enable Group Notices + ; NoticesEnabled = true + + ;# {MessageOnlineUsersOnly} {Module:GroupsModule Module} {Message online users only?} {true false} false + ; Experimental option to only message online users rather than all users + ; Should make large groups with few online members messaging faster, as the expense of more calls to presence service + ; Applies Flotsam Group only. V2 has this always on, no other option + ; MessageOnlineUsersOnly = false + + ;; This makes the Group module very chatty on the console. + ; DebugEnabled = false + + ; This makes the Group Messaging module very chatty on the console. + ; DebugMessagingEnabled = false + + ;; XmlRpc Security settings. These must match those set on your backend + ;; groups service if the service is using these keys + ; XmlRpcServiceReadKey = 1234 + ; XmlRpcServiceWriteKey = 1234 + + +[InterestManagement] + ;# {UpdatePrioritizationScheme} {} {Update prioritization scheme?} {BestAvatarResponsiveness Time Distance SimpleAngularDistance FrontBack} BestAvatarResponsiveness + ;; This section controls how state updates are prioritized for each client + ;; Valid values are BestAvatarResponsiveness, Time, Distance, + ;; SimpleAngularDistance, FrontBack + ; UpdatePrioritizationScheme = BestAvatarResponsiveness + + +[MediaOnAPrim] + ;# {Enabled} {} {Enable Media-on-a-Prim (MOAP)} {true false} true + ;; Enable media on a prim facilities + ; Enabled = true; + + +[NPC] + ;# {Enabled} {} {Enable Non Player Character (NPC) facilities} {true false} false + ; Enabled = false + + +[Terrain] + ;# {InitialTerrain} {} {Initial terrain type} {pinhead-island flat} pinhead-island + ; InitialTerrain = "pinhead-island" + + +[UserProfiles] + ;# {ProfileServiceURL} {} {Set url to UserProfilesService} {} + ;; Set the value of the url to your UserProfilesService + ;; If un-set / "" the module is disabled + ;; ProfileServiceURL = ${Const|BaseURL}:${Const|PublicPort} + +[XBakes] + ;# {URL} {} {Set URL for Baked texture service} {} + ;; Sets the URL for the baked texture ROBUST service. + ;; Disabled when unset. + ;; URL = ${Const|BaseURL}:${Const|PrivatePort} + +;; +;; Optional module to highlight God names in the viewer. +;; Uncomment and customize appropriately if you want this behavior. +;; +;[GodNames] +; Enabled = false +; FullNames = "Test User, Foo Bar" +; Surnames = "Kryztlsk" + +[Architecture] + ;# {Include-Architecture} {} {Choose one of the following architectures} {config-include/Standalone.ini config-include/StandaloneHypergrid.ini config-include/Grid.ini config-include/GridHypergrid.ini config-include/SimianGrid.ini config-include/HyperSimianGrid.ini} config-include/Standalone.ini + ;; Uncomment one of the following includes as required. For instance, to create a standalone OpenSim, + ;; uncomment Include-Architecture = "config-include/Standalone.ini" + ;; + ;; Then you will need to copy and edit the corresponding *Common.example file in config-include/ + ;; that the referenced .ini file goes on to include. + ;; + ;; For instance, if you chose "config-include/Standalone.ini" then you will need to copy + ;; "config-include/StandaloneCommon.ini.example" to "config-include/StandaloneCommon.ini" before + ;; editing it to set the database and backend services that OpenSim will use. + ;; + Include-Architecture = "config-include/Standalone.ini" + ; Include-Architecture = "config-include/StandaloneHypergrid.ini" + ; Include-Architecture = "config-include/Grid.ini" + ; Include-Architecture = "config-include/GridHypergrid.ini" + ; Include-Architecture = "config-include/SimianGrid.ini" + ; Include-Architecture = "config-include/HyperSimianGrid.ini" diff --git a/config/OpenSimDefaults.ini b/config/OpenSimDefaults.ini new file mode 100644 index 0000000..7ed31d4 --- /dev/null +++ b/config/OpenSimDefaults.ini @@ -0,0 +1,2124 @@ +; This file contains defaults for various settings in OpenSimulator. These can be overriden +; by changing the same setting in OpenSim.ini (once OpenSim.ini.example has been copied to OpenSim.ini). + +[Startup] + ; Console prompt + ; Certain special characters can be used to customize the prompt + ; Currently, these are + ; \R - substitute region name + ; \\ - substtitue \ + ConsolePrompt = "Region (\R) " + + ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) + ConsoleHistoryFileEnabled = true + + ; Log file location. This can be set to a simple file path + ; LogFile = "../logs/OpenSim.log + + ; The history file can be just a filename (relative to OpenSim's bin/ directory + ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/) + ConsoleHistoryFile = "OpenSimConsoleHistory.txt" + + ; How many lines of command history should we keep? (default is 100) + ConsoleHistoryFileLines = 100 + + ; Set this to true if you want to log crashes to disk + ; this can be useful when submitting bug reports. + ; However, this will only log crashes within OpenSimulator that cause the entire program to exit + ; It will not log crashes caused by virtual machine failures, which includes mono and ODE failures. + ; You will need to capture these native stack traces by recording the session log itself. + save_crashes = false + + ; Directory to save crashes to if above is enabled + ; (default is /opensimdir/crashes/*.txt or C:\opensim\crashes\*.txt) + crash_dir = "crashes" + + ; Place to create a PID file + ; PIDFile = "/tmp/OpenSim.exe.pid" + + ; Console commands run at startup + startup_console_commands_file = "startup_commands.txt" + + ; Console commands run on shutdown + shutdown_console_commands_file = "shutdown_commands.txt" + + ; Console commands run every 20 minutes + ; timer_Script = "filename" + + ; timer_Script time interval (default 20 min) + ; The time is 60 per minute + ; timer_Interval = 1200 + + ; ## + ; ## SYSTEM + ; ## + + ; Sets the method that OpenSim will use to fire asynchronous + ; events. Valid values are UnsafeQueueUserWorkItem, + ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread. + ; + ; SmartThreadPool is reported to work well on Mono/Linux, but + ; UnsafeQueueUserWorkItem has been benchmarked with better + ; performance on .NET/Windows + ; + ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security + ; privileges. However, as calling code is trusted anyway this is safe (if you set + ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons). + async_call_method = SmartThreadPool + + ; Max threads to allocate on the FireAndForget thread pool + ; when running with the SmartThreadPool option above + MaxPoolThreads = 300 + + ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently. + ; This improves performance in regions with large numbers of connections (in the hundreds). + JobEngineEnabled = true + + ; Plugin Registry Location + ; Set path to directory for plugin registry. Information about the + ; registered repositories and installed plugins will be stored here. + ; The OpenSim.exe process must have R/W access to the location. + RegistryLocation = "." + + ; Used by region module addins. You can set this to outside bin, so that addin + ; configurations will survive updates. The OpenSim.exe process must have R/W access + ; to the location. + ConfigDirectory = "." + + ; ## + ; ## CLIENTS + ; ## + + ; Set this to the DLL containing the client stack to use. + clientstack_plugin="OpenSim.Region.ClientStack.LindenUDP.dll" + + ; ## + ; ## REGIONS + ; ## + + ; Determine where OpenSimulator looks for the files which tell it which regions to server + ; Defaults to "filesystem" if this setting isn't present + region_info_source = "filesystem" + ; region_info_source = "web" + + ; Determines where the region XML files are stored if you are loading these from the filesystem. + ; Defaults to bin/Regions in your OpenSimulator installation directory + ; regionload_regionsdir="C:\somewhere\xmlfiles\" + + ; Determines the page from which regions xml is retrieved if you are loading these from the web + ; The XML here has the same format as it does on the filesystem (including the tag), + ; except that everything is also enclosed in a tag. + ; regionload_webserver_url = "http://example.com/regions.xml"; + + ;; Allow the simulator to start up if there are no region configuration available + ;; from the selected region_info_source. + allow_regionless = false + + ;; Allow child agents to see into the region even if their root counterpart isn't allowed in here + see_into_region = true + + ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos + ; Increasing this number will increase memory usage. + MaxPrimUndos = 20 + + ; Maximum size of non physical prims. Affects resizing of existing prims. This can be overridden in the region config file (as NonPhysicalPrimMax!). + NonPhysicalPrimMax = 256 + + ; Maximum size of physical prims. Affects resizing of existing prims. This can be overridden in the region config file. + PhysicalPrimMax = 64 + + ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum + ; This can be overridden in the region config file. + ClampPrimSize = false + + ; Maximum number of prims allowable in a linkset. Affects creating new linksets. Ignored if less than or equal to zero. + ; This can be overridden in the region config file. + LinksetPrims = 0 + + ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region. + ; This only applies when crossing to a region running in a different simulator. + ; For crossings where the regions are on the same simulator the script is always kept running. + AllowScriptCrossing = true + + ; Allow compiled script binary code to cross region boundaries. + ; If you set this to "true", any region that can teleport to you can + ; inject ARBITRARY BINARY CODE into your system. Use at your own risk. + ; YOU HAVE BEEN WARNED!!! + TrustBinaries = false + + ; Combine all contiguous regions into one large megaregion + ; Order your regions from South to North, West to East in your regions.ini and then set this to true + ; Warning! Don't use this with regions that have existing content!, This will likely break them + CombineContiguousRegions = false + + ; Extend the region's draw distance; 255m is the default which includes + ; one neighbor on each side of the current region, 767m would go three + ; neighbors on each side for a total of 49 regions in view. Warning, unless + ; all the regions have the same drawdistance, you will end up with strange + ; effects because the agents that get closed may be inconsistent. + DefaultDrawDistance = 255.0 + + ; If you have only one region in an instance, or to avoid the many bugs + ; that you can trigger in modules by restarting a region, set this to + ; true to make the entire instance exit instead of restarting the region. + ; This is meant to be used on systems where some external system like + ; Monit will restart any instance that exits, thereby making the shutdown + ; into a restart. + InworldRestartShutsDown = false + + ; Use of normalized 55FPS statistics + ; Opensim does not have a frame rate control like other simulators. + ; Most parameters that control timing can be configurable region by region. + ; To achieve closer compatibility with values expected by viewers, scripts and users + ; some parameters are converted to a equivalent per frame value. + ; Additionally, they are scaled to values they would have on a system running at a nominal 55 frames per second rate. + ; The scale factor it 55 * FrameTime, corresponding to 5 with default configuration + ; You can choose to show the true physics FPS to viewers by setting Normalized55FPS to false. + ; Normalized55FPS = true + + ; The minimum proportion of a second that any particular frame can take to execute. + ; Only change this if you really know what you're doing, and be prepared to change UpdatePhysicsEveryNFrames + ; (and other Frames params) to match! For instance, halving MinFrameTime to 0.0445 require + ; UpdatePhysicsEveryNFrames = 2 unless you don't mind your avatar walking like Benny Hill. + MinFrameTime = 0.089 + + ; The values below represent the percentage of the target frame time that, + ; when underrun, should trigger yellow or red in the lag meter. + ; Less than 60% of FPS is amber by default, less then 40% is red. + ; These values are advisory. Viewers may choose to not use them but it is + ; encouraged that they do. + ; FrameTimeWarnPercent = 60; + ; FrameTimeCritPercent = 40; + + ; Send scheduled updates to objects in the scene + ; This must be a whole number + UpdateObjectsEveryNFrames = 1; + + ; Send position/velocity, etc. updates to agents in the scene + ; This must be a whole number + UpdateAgentsEveryNFrames = 1; + + ; Apply pending forces from physics calculations to an entity. + ; This must be a whole number + UpdateEntityMovementEveryNFrames = 1; + + ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap. + ; This must be a whole number + UpdateCoarseLocationsEveryNFrames = 50; + + ; Update physics. Within each update physics also updates in a series of contigous mini-steps + ; This must be a whole number + UpdatePhysicsEveryNFrames = 1; + + ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1. + ; This must be a whole number + UpdateEventsEveryNFrames = 1; + + ; Send terrain updates to viewers + ; This must be a whole number + UpdateTerrainEveryNFrames = 50; + + ; Persitently store any objects which meet the PRIM STORAGE criteria + ; This must be a whole number + UpdateStorageEveryNFrames = 200; + + ; Clean up temp on rez objects. + ; This must be a whole number + UpdateTempCleaningEveryNSeconds = 180; + + ; ## + ; ## PRIM STORAGE + ; ## + + ; 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. + ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep. + ; + ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds + MinimumTimeBeforePersistenceConsidered = 60 + ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago + MaximumTimeBeforePersistenceConsidered = 600 + + ; ## + ; ## PHYSICS + ; ## + + ; If true then prims can be collided with by avatars, other prims, etc. + ; If false then all prims are phantom, no matter whether their phantom flag is checked or unchecked. + ; Also, no prims are subject to physics. + collidable_prim = true + + ; If true then prims can be made subject to physics (gravity, pushing, etc.). + ; If false then physics flag can be set but it is not honoured. However, prims are still solid for the purposes of collision direction + physical_prim = true + + ; Select a mesher here. + ; + ; Meshmerizer properly handles complex prims by using triangle meshes. + ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way + ; + ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports + ; Usually this is only a box + + meshing = Meshmerizer + ;meshing = ZeroMesher + + ; Path to decoded sculpty maps + ; Defaults to "j2kDecodeCache + ;DecodedSculptMapPath = "j2kDecodeCache" + + ; if you use Meshmerizer and want sculpt map collisions, setting this to + ; to true will store decoded sculpt maps in a special folder in your bin + ; folder, which can reduce startup times by reducing asset requests. Some + ; versions of mono dont work well when reading the cache files, so set this + ; to false if you have compatibility problems. + ;CacheSculptMaps = true + + ;; BulletSim is the default physics engine. It provides the best performance and most functionality. + ;; BulletSim supports varregions. + ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. + ;; It continues to provide a workable physics implementation. It does not currently support varregions. + ;; basicphysics effectively does not model physics at all, making all objects phantom. + ;; Default is OpenDynamicsEngine + physics = BulletSim + ;physics = modified_BulletX + ;physics = OpenDynamicsEngine + ;physics = basicphysics + ;physics = POS + + ; ## + ; ## SCRIPT ENGINE + ; ## + + DefaultScriptEngine = "XEngine" + + ; ## + ; ## EMAIL MODULE + ; ## + + ;emailmodule = DefaultEmailModule + + ; ## + ; ## ANIMATIONS + ; ## + + ; If enabled, enableFlySlow will change the primary fly state to + ; FLYSLOW, and the "always run" state will be the regular fly. + enableflyslow = false + + ; PreJump is an additional animation state, but it probably + ; won't look right until the physics engine supports it + ; (i.e delays takeoff for a moment) + + ; Simulator statistics are output to the console periodically at debug level INFO. + ; Setting this to zero disables this output. + ; LogShowStatsSeconds = 3600 + + ; Simulator Stats URI + ; Enable JSON simulator data by setting a URI name (case sensitive) + ; Returns regular sim stats (SimFPS, ...) + Stats_URI = "jsonSimStats" + + ; Simulator StatsManager URI + ; Enable fetch of StatsManager registered stats. Fetch is query which can optionally + ; specify category, container and stat to fetch. If not selected, returns all of that type. + ; http://simulatorHTTPport/ManagedStats/?cat=Category&cont=Container&stat=Statistic + ; ManagedStatsRemoteFetchURI = "ManagedStats" + + ; Make OpenSim start all regions woth logins disabled. They will need + ; to be enabled from the console if this is set + ; StartDisabled = false + + ; Image decoding. Use CSJ2K for layer boundary decoding if true, + ; OpenJPEG if false + ; UseCSJ2K = true + + ; Use "Trash" folder for items deleted from the scene + ; When set to True (the default) items deleted from the scene will be + ; stored in the user's trash or lost and found folder. When set to + ; False items will be removed from the scene permanently + UseTrashOnDelete = True + + ; # + ; # Logging + ; # + + ; Force logging when the thread pool approaches an overload condition + ; Provides useful data for post-mortem analysis even in a production + ; system with reduced logging + LogOverloads = True + +[Map] + ;WorldMapModule = "WorldMap" + ;MapImageModule = "MapImageModule" + + ; World map blacklist timeout in seconds + ;BlacklistTimeout = 600 + + ; Set to false to not generate any maptiles + ;GenerateMaptiles = true + + ; Refresh (in seconds) the map tile periodically + ;MaptileRefresh = 0 + + ; If not generating maptiles, use this static texture asset ID + ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" + + ; Draw objects on maptile. This step might take a long time if you've got a large number of + ; objects, so you can turn it off here if you'd like. + DrawPrimOnMapTile = true + + ; Use terrain texture for maptiles if true, use shaded green if false + TextureOnMapTile = true + + ; Texture prims + TexturePrims = true + + ; Only texture prims that have a diagonal size greater than this number + TexturePrimSize = 48 + + ; Attempt to render meshes and sculpties on the map + RenderMeshes = false; + +[Permissions] + ; ## + ; ## PERMISSIONS + ; ## + + ;permissionmodules = "DefaultPermissionsModule" + + ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy + ; any item, etc. This may not yet be implemented uniformally. + ; If set to true, then all permissions checks are carried out + ; Default is true + serverside_object_permissions = true + + allow_grid_gods = false + + ; This allows somne control over permissions + ; please note that this still doesn't duplicate SL, and is not intended to + ;region_owner_is_god = true + ;region_manager_is_god = false + ;parcel_owner_is_god = true + + ; Control user types that are allowed to create new scripts + ; Only enforced if serviceside_object_permissions is true + ; + ; Current possible values are + ; all - anyone can create scripts (subject to normal permissions) + ; gods - only administrators can create scripts (as long as allow_grid_gods is true) + ; Default value is all + ; allowed_script_creators = all + + ; Control user types that are allowed to edit (save) scripts + ; Only enforced if serviceside_object_permissions is true + ; + ; Current possible values are + ; all - anyone can edit scripts (subject to normal permissions) + ; gods - only administrators can edit scripts (as long as allow_grid_gods is true) + ; Default value is all + ; allowed_script_editors = all + + ; Provides a simple control for land owners to give build rights to specific avatars + ; in publicly accessible parcels that disallow object creation in general. + ; Owners specific avatars by adding them to the Access List of the parcel + ; without having to use the Groups feature + ; Disabled by default + ; simple_build_permissions = False + + ; Minimum user level required to upload assets + ;LevelUpload = 0 + + +[RegionReady] + ; Enable this module to get notified once all items and scripts in the region have been completely loaded and compiled + enabled = true + + ; Channel on which to signal region readiness through a message + ; formatted as follows: "{server_startup|oar_file_load},{0|1},n,[oar error]" + ; - the first field indicating whether this is an initial server startup + ; - the second field is a number indicating whether the OAR file loaded ok (1 == ok, 0 == error) + ; - the third field is a number indicating how many scripts failed to compile + ; - "oar error" if supplied, provides the error message from the OAR load + channel_notify = -800 + + ; - disallow logins while scripts are loading + ; Instability can occur on regions with 100+ scripts if users enter before they have finished loading + login_disable = true + + ; - send an alert as json to a service + ; alert_uri = "http://myappserver.net/my_handler/" + + +[EstateManagement] + ; If false, then block any region restart requests from the client even if they are otherwise valid. + ; Default is true + AllowRegionRestartFromClient = true + + +[UserProfiles] + ;# {ProfileURL} {} {Set url to UserProfilesService} {} + ;; Set the value of the url to your UserProfilesService + ;; If un-set / "" the module is disabled + ;; If the ProfileURL is not set, then very BASIC + ;; profile support will be configured. If the ProfileURL is set to a + ;; valid URL, then full profile support will be configured. The URL + ;; points to your grid's Robust user profiles service + ;; + ; ProfileURL = http://127.0.0.1:9000 + + +[SMTP] + enabled = false + + ;enabled = true + ;internal_object_host = lsl.opensim.local + ;host_domain_header_from = 127.0.0.1 + ;SMTP_SERVER_HOSTNAME = 127.0.0.1 + ;SMTP_SERVER_PORT = 25 + ;SMTP_SERVER_LOGIN = foo + ;SMTP_SERVER_PASSWORD = bar + + +[Network] + ConsoleUser = "Test" + ConsolePass = "secret" + http_listener_port = 9000 + console_port = 0 + + ; ssl config: Experimental! The auto https config only really works definately on windows XP now + ; you need a Cert Request/Signed pair installed in the MY store with the CN specified below + ; you can use https on other platforms, but you'll need to configure the httpapi yourself for now + http_listener_ssl = false ; Also create a SSL server + http_listener_cn = "localhost" ; Use the cert with the common name + http_listener_sslport = 9001 ; Use this port for SSL connections + http_listener_ssl_cert = "" ; Currently unused, but will be used for OSHttpServer + + ; HTTPS for "Out of band" management applications such as the remote + ; admin module + ; + ; Create https_listener = "True" will create a listener on the port + ; specified. Provide the path to your server certificate along with it's + ; password + ; https_listener = False + ; Set our listener to this port + ; https_port = 0 + ; Path to X509 certificate + ; cert_path = "path/to/cert.p12" + ; Password for cert + ; cert_pass = "password" + + ; Hostname to use in llRequestURL/llRequestSecureURL + ; if not defined - default machine name is being used + ; (on Windows this mean NETBIOS name - useably only inside local network) + ; ExternalHostNameForLSL=127.0.0.1 + + ; Disallow the following address ranges for user scripting calls (e.g. llHttpRequest()) + ; This is based on http://en.wikipedia.org/wiki/Reserved_IP_addresses + ; This stops users making HTTP calls to machines in the simulator's local network. + ; If you need to allow some LAN calls we recommend you use OutboundDisallowForUserScriptsExcept documented in OpenSim.ini.example + ; If you override OutboundDisallowForUserScripts directly you need to be very careful. + ; + ; Network ranges are specified in CIDR notation (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation) with multiple entries separated by | + ; To specify an individual IP address use the /32 netmask (e.g. 192.168.1.3/32) + ; You can also specify individual : endpoints (e.g. 192.168.1.3:8003) + ; If an address if given without a port number then port 80 is assumed. + OutboundDisallowForUserScripts = 0.0.0.0/8|10.0.0.0/8|100.64.0.0/10|127.0.0.0/8|169.254.0.0/16|172.16.0.0/12|192.0.0.0/24|192.0.2.0/24|192.88.99.0/24|192.168.0.0/16|198.18.0.0/15|198.51.100.0/24|203.0.113.0/24|224.0.0.0/4|240.0.0.0/4|255.255.255.255/32 + ; + ; You can also prevent all user script outgoing calls with the following override in OpenSim.ini + ; + ; OutboundDisallowForUserScripts = 0.0.0.0/0 + ; + ; You can also disable the blacklist entirely with an empty entry + ; + ; OutboundDisallowForUserScripts = "" + + ; What is reported as the "X-Secondlife-Shard" + ; Defaults to the user server url if not set + ; The old default is "OpenSim", set here for compatibility + shard = "OpenSim" + + ; What is reported as the "User-Agent" when using llHTTPRequest + ; Defaults to not sent if not set here. See the notes section in the wiki at + ; http://wiki.secondlife.com/wiki/LlHTTPRequest for comments on adding + ; " (Mozilla Compatible)" to the text where there are problems with a web server + ;user_agent = "OpenSim LSL (Mozilla Compatible)" + + ; OpenSim can send multiple simultaneous requests for services such as asset + ; retrieval. However, some versions of mono appear to hang when there are too + ; many simultaneous requests, default is 30 and is currently applied only to assets + ;MaxRequestConcurrency = 30 + +[AccessControl] + ; Viewer-based access control. |-separated list of allowed viewers. + ; AllowedClients = "" + + ; Viewer-based access control. |-separated list of denied viewers. + ; No restrictions by default. + ; DeniedClients = "" + + +[ClientStack.LindenUDP] + ; Set this to true to process incoming packets asynchronously. Networking is + ; already separated from packet handling with a queue, so this will only + ; affect whether networking internals such as packet decoding and + ; acknowledgement accounting are done synchronously or asynchronously + ; Default is true. + ; + ;async_packet_handling = true + + ; The client socket receive buffer size determines how many + ; incoming requests we can process; the default on .NET is 8192 + ; which is about 2 4k-sized UDP datagrams. On mono this is + ; whatever the underlying operating system has as default; for + ; example, ubuntu 8.04 or SLES11 have about 111k, which is about + ; 27 4k-sized UDP datagrams (on linux platforms you can [as root] + ; do "sysctl net.core.rmem_default" to find out what your system + ; uses a default socket receive buffer size. + ; + ; client_socket_rcvbuf_size allows you to specify the receive + ; buffer size LLUDPServer should use. NOTE: this will be limited + ; by the system's settings for the maximum client receive buffer + ; size (on linux systems you can set that with "sysctl -w + ; net.core.rmem_max=X") + ; + ;client_socket_rcvbuf_size = 8388608 + + ; Maximum outbound bytes per second for a single scene. This can be used to + ; throttle total outbound UDP traffic for a simulator. The default value is + ; 0, meaning no throttling at the scene level. The example given here is + ; 20 megabits + ; + ;scene_throttle_max_bps = 2500000 + + ; Maximum bytes per second to send to any single client. This will override + ; the user's viewer preference settings. The default value is 0, meaning no + ; aggregate throttling on clients (only per-category throttling). The + ; example given here is 1.5 megabits + ; + ;client_throttle_max_bps = 187500 + + ; Minimum bytes per second to send to any single client as a result of + ; adaptive throttling. Viewer preferences set to a lower number will + ; override the settin. The example given here ensures that adaptive + ; throttling will never decrease per client bandwidth below 256 kbps. + ; + ;adaptive_throttle_min_bps = 32000 + + ; Adaptive throttling attempts to limit network overload when multiple + ; clients login by starting each connection more slowly. Disabled by + ; default + ; + enable_adaptive_throttles = true + + ; Per-client bytes per second rates for the various throttle categories. + ; These are default values that will be overridden by clients. These + ; defaults are approximately equivalent to the throttles set by the Imprudence + ; viewer when maximum bandwidth is set to 350kbps + + ;resend_default = 6625 + ;land_default = 9125 + ;wind_default = 1750 + ;cloud_default = 1750 + ;task_default = 18500 + ;texture_default = 18500 + ;asset_default = 10500 + + ; Configures how ObjectUpdates are aggregated. These numbers + ; do not literally mean how many updates will be put in each + ; packet that goes over the wire, as packets are + ; automatically split on a 1400 byte boundary. These control + ; the balance between responsiveness of interest list updates + ; and total throughput. Higher numbers will ensure more full- + ; sized packets and faster sending of data, but more delay in + ; updating interest lists + ; + ;PrimUpdatesPerCallback = 100 + + ; TextureSendLimit determines how many packets will be put on + ; the outgoing queue each cycle. Like the settings above, this + ; is a balance between responsiveness to priority updates and + ; total throughput. Higher numbers will give a better + ; throughput at the cost of reduced responsiveness to client + ; priority changes or transfer aborts + ; + ;TextureSendLimit = 20 + + ; CannibalizeTextureRate allows bandwidth to be moved from the + ; UDP texture throttle to the task throttle. Since most viewers + ; use HTTP textures, this provides a means of using what is largely + ; unused bandwidth in the total throttle. The value is the proportion + ; of the texture rate to move to the task queue. It must be between + ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the + ; bandwidth is grabbed) + ; + ; CannibalizeTextureRate = 0.5 + + ; Quash and remove any light properties from attachments not on the + ; hands. This allows flashlights and lanterns to function, but kills + ; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps + ; will also be affected. + ; + ;DisableFacelights = false + + ; The time to wait before disconecting an unresponsive client. + ; The time is in seconds. The default is one minute + ; + ;AckTimeout = 60 + + ; The time to wait before disconecting an unresponsive paused client. + ; A client can be paused when the file selection dialog is open during file upload. + ; This gives extra time to find files via the dialog but will still disconnect if + ; the client crashes or loses its network connection + ; The time is in seconds. The default is five minutes. + ; + ;PausedAckTimeout = 300 + + +[ClientStack.LindenCaps] + ;; Long list of capabilities taken from + ;; http://wiki.secondlife.com/wiki/Current_Sim_Capabilities + ;; Not all are supported by OpenSim. The ones supported are + ;; set to localhost. These defaults can be overwritten + ;; in OpenSim.ini + ;; + Cap_AttachmentResources = "" + Cap_ChatSessionRequest = "" + Cap_CopyInventoryFromNotecard = "localhost" + Cap_DispatchRegionInfo = "" + Cap_EstateChangeInfo = "" + Cap_EnvironmentSettings = "localhost" + Cap_EventQueueGet = "localhost" + Cap_FetchInventory = "" + Cap_ObjectMedia = "localhost" + Cap_ObjectMediaNavigate = "localhost" + Cap_FetchLib = "" + Cap_FetchLibDescendents = "" + Cap_GetDisplayNames = "localhost" + Cap_GetTexture = "localhost" + Cap_GetMesh = "localhost" + Cap_GetObjectCost = "" + Cap_GetObjectPhysicsData = "" + Cap_GroupProposalBallot = "" + Cap_HomeLocation = "" + Cap_LandResources = "" + Cap_MapLayer = "localhost" + Cap_MapLayerGod = "localhost" + Cap_NewFileAgentInventory = "localhost" + Cap_NewFileAgentInventoryVariablePrice = "localhost" + Cap_ObjectAdd = "localhost" + Cap_ParcelPropertiesUpdate = "localhost" + Cap_ParcelMediaURLFilterList = "" + Cap_ParcelNavigateMedia = "" + Cap_ParcelVoiceInfoRequest = "" + Cap_ProductInfoRequest = "" + Cap_ProvisionVoiceAccountRequest = "" + Cap_RemoteParcelRequest = "localhost" + Cap_RequestTextureDownload = "" + Cap_SearchStatRequest = "" + Cap_SearchStatTracking = "" + Cap_SendPostcard = "" + Cap_SendUserReport = "" + Cap_SendUserReportWithScreenshot = "" + Cap_ServerReleaseNotes = "" + Cap_SimConsole = "" + Cap_SimulatorFeatures = "" + Cap_SetDisplayName = "" + Cap_StartGroupProposal = "" + Cap_TextureStats = "" + Cap_UntrustedSimulatorMessage = "" + Cap_UpdateAgentInformation = "" + Cap_UpdateAgentLanguage = "" + Cap_UpdateGestureAgentInventory = "" + Cap_UpdateNotecardAgentInventory = "localhost" + Cap_UpdateScriptAgent = "localhost" + Cap_UpdateGestureTaskInventory = "" + Cap_UpdateNotecardTaskInventory = "localhost" + Cap_UpdateScriptTask = "localhost" + Cap_UploadBakedTexture = "localhost" + Cap_UploadObjectAsset = "localhost" + Cap_ViewerStartAuction = "" + Cap_ViewerStats = "" + + ; Capabilities for fetching inventory over HTTP rather than UDP + ; FetchInventoryDescendents2 and FetchInventory2 are the ones used in the latest Linden Lab viewers (from some point in the v2 series and above) + ; It appears that Linden Lab viewer 3.3.1 onwards will not work properly if FetchInventoryDescendents2 and FetchInventory2 are not enabled + Cap_WebFetchInventoryDescendents = "" + Cap_FetchInventoryDescendents2 = "localhost" + Cap_FetchInventory2 = "localhost" + + ; Capability for searching for people + Cap_AvatarPickerSearch = "localhost" + + +[Chat] + ; Controls whether the chat module is enabled. Default is true. + enabled = true; + + ; Distance in meters that whispers should travel. Default is 10m + whisper_distance = 10 + + ; Distance in meters that ordinary chat should travel. Default is 20m + say_distance = 20 + + ; Distance in meters that shouts should travel. Default is 100m + shout_distance = 100 + +[EntityTransfer] + ; The maximum distance in regions that an agent is allowed to teleport + ; along the x or y axis. This is set to 65535 because current viewers + ; can't handle teleports that are greater than this distance + ; Setting to 0 will allow teleports of any distance + ; + max_distance = 65535 + + ; Allow avatars to cross into and out of the region. + AllowAvatarCrossing = true + + ; Minimum user level required for HyperGrid teleports + LevelHGTeleport = 0 + + ; Determine whether the cancel button is shown at all during teleports. + ; This option exists because cancelling at certain points can result in an unuseable session (frozen avatar, etc.) + ; Disabling cancellation can be okay in small closed grids where all teleports are highly likely to suceed. + DisableInterRegionTeleportCancellation = false + + +[Messaging] + ; Control which region module is used for instant messaging. + ; Default is InstantMessageModule (this is the name of the core IM module as well as the setting) + InstantMessageModule = InstantMessageModule + ; MessageTransferModule = MessageTransferModule + ; OfflineMessageModule = OfflineMessageModule + ; OfflineMessageURL = http://yourserver/Offline.php + ; MuteListModule = MuteListModule + ; MuteListURL = http://yourserver/Mute.php + + ; Control whether group messages are forwarded to offline users. Default is true. + ; ForwardOfflineGroupMessages = true + + +[Inventory] + ; Control whether multiple objects sent to inventory should be coaleseced into a single item + ; There are still some issues with coalescence, including the fact that rotation is not restored + ; and some assets may be missing from archive files. + CoalesceMultipleObjectsToInventory = true + + +[Appearance] + ; Persist avatar baked textures + ; Persisting baked textures can speed up login and region border + ; crossings especially with large numbers of users, though it + ; will store potentially large numbers of textures in your asset + ; database + PersistBakedTextures = false + + ; Control the delay before appearance is sent to other avatars and + ; saved in the avatar service. Attempts to limit the impact caused + ; by the very chatty dialog that sets appearance when an avatar + ; logs in or teleports into a region; values are in seconds + DelayBeforeAppearanceSave = 5 + DelayBeforeAppearanceSend = 2 + + ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds. + ; This may help with some situations where avatars are persistently grey, though it will not help + ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others). + ResendAppearanceUpdates = false + + ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar + ; on every login + ReuseTextures = false + + +[Attachments] + ; Controls whether avatar attachments are enabled. + ; Defaults to true - only set to false for debugging purposes + Enabled = true + + ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments + ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit + ; or when multiple avatars with medium level attachments login/change outfit simultaneously. + ; If 0 then no throttling is performed. + ThrottlePer100PrimsRezzed = 0; + + +[Mesh] + ; enable / disable Collada mesh support + ; default is true + AllowMeshUpload = true + + ; if you use Meshmerizer and want collisions for meshies, setting this to true + ; will cause OpenSim to attempt to decode meshies assets, extract the physics + ; mesh, and use it for collisions. + UseMeshiesPhysicsMesh = true + + ; Minimum user level required to upload meshes + ;LevelUpload = 0 + + +[Textures] + ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible + ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components + ; (e.g. images pulled from an external HTTP address). + ; Reusing previously generated textures results in a much faster update on the viewer but may cause issues if the viewer didn't receive all resolutions of the texture. + ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted. + ; Hence, currently considered experimental. + ; Default is false. + ReuseDynamicTextures = false + + ; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused + ; This is to workaround an apparent LL 3.3.4 and earlier viewer bug where such textures are not redisplayed properly when pulled from the viewer cache. + ; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem. + ; This setting only has an affect is ReuseDynamicTextures = true + ; Default is false + ReuseDynamicLowDataTextures = false + + +[ODEPhysicsSettings] + ; ## + ; ## Physics stats settings + ; + + ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule + ; (see http://opensimulator.org/wiki/Monitoring_Module for more details). + collect_stats = false + + ; ## + ; ## Physics logging settings - logfiles are saved to *.DIF files + ; ## + + ; default is false + ;physics_logging = true + ;; every n simulation iterations, the physics snapshot file is updated + ;physics_logging_interval = 50 + ;; append to existing physics logfile, or overwrite existing logfiles? + ;physics_logging_append_existing_logfile = true + + ;## + ;## World Settings + ;## + + ;Gravity. Feel like falling up? change world_gravityz to 9.8 instead of -9.8. m/s + world_gravityx = 0 + world_gravityy = 0 + world_gravityz = -9.8 + + ; Terminal velocity of a falling avatar + ; This is the same http://en.wikipedia.org/wiki/Terminal_velocity#Examples + ; Max value is 255, min value is 0 + avatar_terminal_velocity = 54 + + ; World Step size. (warning these are dangerous. Changing these will probably cause your scene to explode dramatically) + ; reference: fps = (0.089/ODE_STEPSIZE) * 1000; + world_stepsize = 0.0178 + world_internal_steps_without_collisions = 10 + + ;World Space settings. Affects memory consumption vs Collider CPU time for avatar and physical prim + world_hashspace_size_low = -4 + world_hashSpace_size_high = 128 + + ;Dynamic space settings Affects memory consumption vs Collider CPU time for static prim + meters_in_small_space = 29.9 + small_hashspace_size_low = -4 + small_hashspace_size_high = 66 + + ; ## + ; ## Contact properties. (the stuff that happens when things come in contact with each other) + ; ## + + ; surface layer around geometries other geometries can sink into before generating a contact + world_contact_surface_layer = 0.001 + + ; Filtering collisions helps keep things stable physics wise, but sometimes + ; it can be overzealous. If you notice bouncing, chances are it's that. + filter_collisions = false + + ; Non Moving Terrain Contact (avatar isn't moving) + nm_terraincontact_friction = 255.0 + nm_terraincontact_bounce = 0.1 + nm_terraincontact_erp = 0.1025 + + ; Moving Terrain Contact (avatar is moving) + m_terraincontact_friction = 75.0 + m_terraincontact_bounce = 0.05 + m_terrainContact_erp = 0.05025 + + ; Moving Avatar to object Contact + m_avatarobjectcontact_friction = 75.0 + m_avatarobjectcontact_bounce = 0.1 + + ; Object to Object Contact and Non-Moving Avatar to object + objectcontact_friction = 250.0 + objectcontact_bounce = 0.2 + + ; ## + ; ## Avatar Control + ; ## + + ; PID Controller Settings. These affect the math that causes the avatar to reach the + ; desired velocity + ; See http://en.wikipedia.org/wiki/PID_controller + + av_pid_derivative_linux = 2200.0 + av_pid_proportional_linux = 900.0; + + av_pid_derivative_win = 2200.0 + av_pid_proportional_win = 900.0; + + ;girth of the avatar. Adds radius to the height also + av_capsule_radius = 0.37 + + ; Max force permissible to use to keep the avatar standing up straight + av_capsule_standup_tensor_win = 550000 + av_capsule_standup_tensor_linux = 550000 + + ; specifies if the capsule should be tilted (=true; old compatibility mode) + ; or straight up-and-down (=false; better and more consistent physics behavior) + av_capsule_tilted = false + + ; used to calculate mass of avatar. + ; float AVvolume = (float) (Math.PI*Math.Pow(CAPSULE_RADIUS, 2)*CAPSULE_LENGTH); + ; av_density * AVvolume; + av_density = 80 + + ; use this value to cut 52% of the height the sim gives us + ; Currently unused + ; av_height_fudge_factor = 0.52 + + ; Movement. Smaller is faster. + + ; speed of movement with Always Run off + av_movement_divisor_walk = 1.3 + + ; speed of movement with Always Run on + av_movement_divisor_run = 0.8 + + ; When the avatar flies, it will be moved up by this amount off the ground (in meters) + minimum_ground_flight_offset = 3.0 + + ; Plant avatar. This reduces the effect of physical contacts with the avatar. + ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive. + ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active + ; will lock the avatar in place + av_planted = false + + ; No Avatar Avatar Collissions. This causes avatar to be able to walk through each other as if they're ghosts but still interact with the environment + av_av_collisions_off = false + + ; ## + ; ## Object options + ; ## + + ; used in the mass calculation. + geometry_default_density = 10.000006836 + + ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep + body_frames_auto_disable = 20 + + ; used to control llMove2Target + body_pid_derivative = 35 + body_pid_gain = 25 + + ; maximum number of contact points to generate per collision + contacts_per_collision = 80 + + ; amount of time a geom/body will try to cross a region border before it gets disabled + geom_crossing_failures_before_outofbounds = 5 + + ; start throttling the object updates if object comes in contact with 3 or more other objects + geom_contactpoints_start_throttling = 3 + + ; send 1 update for every x updates below when throttled + geom_updates_before_throttled_update = 15 + + ; Used for llSetStatus. How rigid the object rotation is held on the axis specified + body_motor_joint_maxforce_tensor_linux = 5 + body_motor_joint_maxforce_tensor_win = 5 + + ; Maximum mass an object can be before it is clamped + maximum_mass_object = 10000.01 + + ; ## + ; ## Sculpted Prim settings + ; ## + + ; Do we want to mesh sculpted prim to collide like they look? + mesh_sculpted_prim = true + + ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies + mesh_lod = 32 + + ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies + mesh_physical_lod = 16 + + ; ## + ; ## Joint support + ; ## + + ; If you would like physics joints to be enabled through a special naming + ; convention in the client, set this to true. + ; (See NINJA Physics documentation, http://opensimulator.org/wiki/NINJA_Physics) + ; Default is false + ;use_NINJA_physics_joints = true + + ; ## + ; ## additional meshing options + ; ## + + ; Physical collision mesh proxies are normally created for complex prim shapes, + ; and collisions for simple boxes and spheres are computed algorithmically. + ; If you would rather have mesh proxies for simple prims, you can set this to + ; true. Note that this will increase memory usage and region startup time. + ; Default is false. + ;force_simple_prim_meshing = true + + +[BulletSim] + ; All the BulletSim parameters can be displayed with the console command + ; "physics get all" and all are defined in the source file + ; OpenSim/Regions/Physics/BulletSPlugin/BSParam.cs. + + ; There are two bullet physics libraries, bulletunmanaged is the default and is a + ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality + ; but the c++ one is much faster. + BulletEngine = "bulletunmanaged" + ; BulletEngine = "bulletxna" + + ; BulletSim can run on its own thread independent of the simulator's heartbeat + ; thread. Enabling this will not let the physics engine slow down avatar movement, etc. + UseSeparatePhysicsThread = false + + ; Terrain implementation can use either Bullet's heightField or BulletSim can build + ; a mesh. 0=heightField, 1=mesh + TerrainImplementation = 0 + ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield + ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher + ; magnifications use lots of memory. + TerrainMeshMagnification = 2 + + ; Should avatars collide with each other? + AvatarToAvatarCollisionsByDefault = true + + ; Avatar physics height adjustments. + ; http://opensimulator.org/wiki/BulletSim#Adjusting_Avatar_Height + AvatarHeightLowFudge = 0 ; Adjustment at low end of height range + AvatarHeightMidFudge = 0 ; Adjustment at mid point of avatar height range + AvatarHeightHighFudge = 0 ; Adjustment at high end of height range + + ; Avatar walk-up-stairs parameters + ; If an avatar collides with an object 'close to its feet', the avatar will be + ; moved/pushed up do simulate stepping up. + ;AvatarStepHeight = 0.6f ; The height, below which is considered a step collision. + ;AvatarStepAngle = 0.3f ; The angle from vertical (in radians) to consider a surface a step + ;AvatarStepApproachFactor = 2f ; Approach angle factor. O=straight on, .6=~45 degrees. + ;AvatarStepGroundFudge = 0.1f ; Fudge added to bottom of avatar below which step collisions happen + ;AvatarStepForceFactor = 0f ; Avatar is pushed up by its mass times this factor + ;AvatarStepUpCorrectionFactor = 0.8f ; Avatar is displaced up the collision height times this factor + ;AvatarStepSmoothingSteps = 1 ; Number of frames after a step collision that up correction is applied + + ; Terminal velocity of a falling avatar + ; This is the same http://en.wikipedia.org/wiki/Terminal_velocity#Examples + ; negative for a downward speed. + AvatarTerminalVelocity = -54 + + ; Default linkset implmentation + ; 'Constraint' uses physics constraints to hold linkset together. 'Compound' + ; builds a compound shape from the children shapes to create a single physical + ; shape. 'Compound' uses a lot less CPU time. + LinkImplementation = 1 ; 0=constraint, 1=compound + + ; If 'true', offset a linkset's origin based on mass of linkset parts. + LinksetOffsetCenterOfMass = false + + ; If 'true', turn scuplties into meshes + MeshSculptedPrim = true + + ; If 'true', force simple prims (box and sphere) to be meshed + ; If 'false', the Bullet native special case shape is used for square rectangles + ; and even dimensioned spheres. + ForceSimplePrimMeshing = false + + ; If 'true', when creating meshes, remove all triangles that have two equal vertexes. + ; Happens often in sculpties. If turned off, there will be some doorways + ; that cannot be walked through. + ShouldRemoveZeroWidthTriangles = true + + ; If 'true', use convex hull definition in mesh asset if present. + ShouldUseAssetHulls = true + + ; If there are thousands of physical objects, these maximums should be increased. + MaxCollisionsPerFrame = 2048 + MaxUpdatesPerFrame = 8192 + + ; Detailed physics debug logging. Very verbose. + PhysicsLoggingEnabled = False + PhysicsLoggingDir = "." + VehicleLoggingEnabled = False + + +[RemoteAdmin] + enabled = false + + ; Set this to a nonzero value to have remote admin use a different port + port = 0 + + ; Set this to the ip address that you want the admin server to bind to + bind_ip_address = "0.0.0.0" + + ; This password is required to make any XMLRPC call (should be set as the "password" parameter) + access_password = unknown + + ; List the IP addresses allowed to call RemoteAdmin + ; If access_ip_addresses isn't set, then all IP addresses can access RemoteAdmin. + ; access_ip_addresses = 0.0.0.0, 0.0.0.0 ... + ; access_ip_addresses = + + ; set this variable to true if you want the create_region XmlRpc + ; call to unconditionally enable voice on all parcels for a newly + ; created region [default: false] + create_region_enable_voice = false + + ; set this variable to false if you want the create_region XmlRpc + ; call to create all regions as private per default (can be + ; overridden in the XmlRpc call) [default: true] + create_region_public = false + + ; the create_region XmlRpc call uses region_file_template to generate + ; the file name of newly create regions (if they are created + ; persistent). the parameter available are: + ; {0} - X location + ; {1} - Y location + ; {2} - region UUID + ; {3} - region port + ; {4} - region name with " ", ":", "/" mapped to "_" + region_file_template = "{0}x{1}-{2}.ini" + + ; we can limit the number of regions that XmlRpcCreateRegion will + ; allow by setting this to a positive, non-0 number: as long as the + ; number of regions is below region_limits, XmlRpcCreateRegion will + ; succeed. setting region_limit to 0 disables the check. + ; default is 0 + ;region_limit = 0 + + ; enable only those methods you deem to be appropriate using a | delimited whitelist + ; for example, enabled_methods = admin_broadcast|admin_region_query|admin_save_oar|admin_save_xml + ; if this parameter is not specified but enabled = true, all methods will be available + enabled_methods = all + + ; specify the default appearance for an avatar created through the remote admin interface + ; This will only take effect is the file specified by the default_appearance setting below exists + ;default_male = Default Male + ;default_female = Default Female + + ; update appearance copies inventory items and wearables of default avatars. if this value is false + ; (default), just worn assets are copied to the Clothes folder; if true, all Clothes and Bodyparts + ; subfolders are copied. the receiver will wear the same items the default avatar did wear. + ;copy_folders = false + + ; path to default appearance XML file that specifies the look of the default avatars + ;default_appearance = default_appearance.xml + + +; RestPlugins are not currently operational. +;[RestPlugins] +; ; Change this to true to enable REST Plugins. This must be true if you wish to use +; ; REST Region or REST Asset and Inventory Plugins +; enabled = false +; god_key = SECRET +; prefix = /admin + + +;[RestRegionPlugin] +; ; Change this to true to enable the REST Region Plugin +; enabled = false + + +;[RestHandler] +; ; Change this to true to enable the REST Asset and Inventory Plugin +; enabled = false +; authenticate = true +; secured = true +; extended-escape = true +; realm = OpenSim REST +; dump-asset = false +; path-fill = true +; dump-line-size = 32 +; flush-on-error = true + + +; IRC bridge is experimental, so if it breaks... keep both parts... yada yada +; also, not good error detection when it fails +[IRC] + enabled = false; you need to set this to true otherwise it won't connect + ;server = name.of.irc.server.on.the.net + ;; user password - only use this if the server requires one + ;password = mypass + ;nick = OpenSimBotNameProbablyMakeThisShorter + ;channel = #the_irc_channel_you_want_to_connect_to + ;user = "USER OpenSimBot 8 * :I'm an OpenSim to IRC bot" + ;port = 6667 + ;; channel to listen for configuration commands + ;commands_enabled = false + ;command_channel = 2777 + ;report_clients = true + ;; relay private chat connections + ;; relay_private_channels = true: will relay IRC chat from/to private in-world channels + ;; relay_private_channel_out -- channel to send messages out to the IRC bridge + ;; relay_private_channel_in -- channel to receive message from the IRC bridge + ;; relay_chat = false: IRC bridge will not relay normal chat + ;; access_password -- simple security device + ;; + ;; so, to just relay chat from an IRC channel to in-world region and vice versa: + ;; + ;; relay_private_channels = false + ;; relay_chat = true + ;; + ;; to relay chat only to/from private in-world channels: + ;; + ;; relay_chat = false + ;; relay_private_channels = true + ;; relay_private_channel_in = 2226 + ;; relay_private_channel_out = 2225 + ;; + ;; in this example, all chat coming in from IRC will be send out via + ;; in-world channel 2226, and all chat from in-world channel 2225 will + ;; be relayed to the IRC channel. + ;; + ;relay_private_channels = false + ;relay_private_channel_in = 2226 + ;relay_private_channel_out = 2225 + ;relay_chat = true + ;access_password = foobar + + ;;fallback_region = name of "default" region + ;;MSGformat fields : 0=botnick, 1=user, 2=region, 3=message + ;; must start with "PRIVMSG {0} : " or irc server will get upset + ;;for : : + ;;msgformat = "PRIVMSG {0} :<{1} in {2}>: {3}" + ;;for : - : + ;msgformat = "PRIVMSG {0} : {3} - {1} of {2}" + ;;for : - from : + ;;msgformat = "PRIVMSG {0} : {3} - from {1}" + + ;; exclude_list allows you to stop the IRC connector from announcing the + ;;arrival and departure of certain users. For example: admins, bots. + + ;exclude_list=User 1,User 2,User 3 + + ;;Shows modal alertbox for entering agent on IRC enabled regions + ;; + ;; Enable Alert, default = false + ;alert_show = false + ;; + ;; Show IRC serverinfo, default = true + ;alert_show_serverinfo = true + ;; + ;alert_msg_pre = "This region is linked to Irc." + ;alert_msg_post = "Everything you say in public chat can be listened." + + +; The following settings control the progression of daytime +; in the Sim. The defaults are the same as the commented out settings +[Sun] + ; number of wall clock hours for an opensim day. 24.0 would mean realtime + ;day_length = 4 + ; Year length in days + ;year_length = 60 + ; Day to Night Ratio + ;day_night_offset = 0.45 + ; send a Sun update every update_interval # of frames. A lower number will + ; make for smoother sun transition at the cost of network + ;update_interval = 100 + + +[Wind] + ; Enables the wind module. Default is true + enabled = true + + ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second + wind_update_rate = 150 + + ; The Default Wind Plugin to load + wind_plugin = SimpleRandomWind + + ; These settings are specific to the ConfigurableWind plugin + ; To use ConfigurableWind as the default, simply change wind_plugin to ConfigurableWind and uncomment the following. + ; avg_strength = 5.0 + ; avg_direction = 0.0 + ; var_strength = 0.0 + ; var_direction = 0.0 + ; rate_change = 1.0 + + ; This setting is specific to the SimpleRandomWind plugin + ; Adjusts wind strength. 0.0 = no wind, 1.0 = normal wind. Default is 1.0 + strength = 1.0 + + +[Cloud] + ; Enable this to generate classic particle clouds above the sim. + ; default is disabled - turn it on here + enabled = false + + ; Density of cloud cover 0.0 to 1.0 Defult 0.5 + density = 0.5 + + ; update interval for the cloud cover data returned by llCloud(). + ; default is 1000 + cloud_update_rate = 1000 + + +[LightShare] + ; This enables the transmission of Windlight scenes to supporting clients, such as the Meta7 viewer. + ; It has no ill effect on viewers which do not support server-side windlight settings. + enable_windlight = false + + +[Trees] + ; Enable this to allow the tree module to manage your sim trees, including growing, reproducing and dying + ; default is false + active_trees = false + + ; Density of tree population + tree_density = 1000.0 + + +[VectorRender] + ; the font to use for rendering text (default: Arial) + ; font_name = "Arial" + + +[LL-Functions] + ; Set the following to true to allow administrator owned scripts to execute console commands + ; currently unused + ; AllowosConsoleCommand=false + + ; Are god functions such as llSetObjectPermMask() allowed? If true then gods and only gods have access to these functions. + ; If false then gods cannot execute these functions either. + AllowGodFunctions = false + + ; Restrict the email address used by llEmail to the address associated with the avatars user account? + ; If true then llEmail will only send email to the address in the user account of the avatar who owns the object containing the script. + ; If false then email may be sent to any valid email address. + RestrictEmail = false + + ; Maximum number of llListen events we allow over the entire region. + ; Set this to 0 to have no limit imposed + max_listens_per_region = 1000 + + ; Maximum number of llListen events we allow per script + ; Set this to 0 to have no limit imposed. + max_listens_per_script = 64 + + ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL()) + max_external_urls_per_simulator = 100 + + ; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes. + ; Speeds up calculations but can make them inaccurate, in some cases very inaccurate. + UseSimpleBoxesInGetBoundingBox = false + + ; Add a third vector with stats when returning results from llGetBoundingBox. + ; Lists objects (groups), prims/meshes/avatars (parts) and vertices rendered. + AddStatsInGetBoundingBox = false + + ; Avatar bounding box, lower X value, constant part, when standing + LowerAvatarBoundingBoxStandingXconst = -0.275 + + ; Avatar bounding box, upper X value, constant part, when standing + UpperAvatarBoundingBoxStandingXconst = 0.275 + + ; Avatar bounding box, lower Y value, constant part, when standing + LowerAvatarBoundingBoxStandingYconst = -0.35 + + ; Avatar bounding box, upper Y value, constant part, when standing + UpperAvatarBoundingBoxStandingYconst = 0.35 + + ; Avatar bounding box, lower Z value, constant part, when standing + LowerAvatarBoundingBoxStandingZconst = -0.1 + + ; Avatar bounding box, lower Z value, coefficient to multiply with avatar height, when standing + LowerAvatarBoundingBoxStandingZcoeff = -0.5 + + ; Avatar bounding box, upper Z value, constant part, when standing + UpperAvatarBoundingBoxStandingZconst = 0.1 + + ; Avatar bounding box, upper Z value, coefficient to multiply with avatar height, when standing + UpperAvatarBoundingBoxStandingZcoeff = 0.5 + + ; Avatar bounding box, lower X value, constant part, when groundsitting + LowerAvatarBoundingBoxGroundsittingXconst = -0.3875 + + ; Avatar bounding box, upper X value, constant part, when groundsitting + UpperAvatarBoundingBoxGroundsittingXconst = 0.3875 + + ; Avatar bounding box, lower Y value, constant part, when groundsitting + LowerAvatarBoundingBoxGroundsittingYconst = -0.5 + + ; Avatar bounding box, upper Y value, constant part, when groundsitting + UpperAvatarBoundingBoxGroundsittingYconst = 0.5 + + ; Avatar bounding box, lower Z value, constant part, when groundsitting + LowerAvatarBoundingBoxGroundsittingZconst = -0.05 + + ; Avatar bounding box, lower Z value, coefficient to multiply with avatar height, when groundsitting + LowerAvatarBoundingBoxGroundsittingZcoeff = -0.375 + + ; Avatar bounding box, upper Z value, constant part, when groundsitting + UpperAvatarBoundingBoxGroundsittingZconst = 0.5 + + ; Avatar bounding box, upper Z value, coefficient to multiply with avatar height, when groundsitting + UpperAvatarBoundingBoxGroundsittingZcoeff = 0.0 + + ; Avatar bounding box, lower X value, constant part, when sitting + LowerAvatarBoundingBoxSittingXconst = -0.5875 + + ; Avatar bounding box, upper X value, constant part, when sitting + UpperAvatarBoundingBoxSittingXconst = 0.1875 + + ; Avatar bounding box, lower Y value, constant part, when sitting + LowerAvatarBoundingBoxSittingYconst = -0.35 + + ; Avatar bounding box, upper Y value, constant part, when sitting + UpperAvatarBoundingBoxSittingYconst = 0.35 + + ; Avatar bounding box, lower Z value, constant part, when sitting + LowerAvatarBoundingBoxSittingZconst = -0.35 + + ; Avatar bounding box, lower Z value, coefficient to multiply with avatar height, when sitting + LowerAvatarBoundingBoxSittingZcoeff = -0.375 + + ; Avatar bounding box, upper Z value, constant part, when sitting + UpperAvatarBoundingBoxSittingZconst = -0.25 + + ; Avatar bounding box, upper Z value, coefficient to multiply with avatar height, when sitting + UpperAvatarBoundingBoxSittingZcoeff = 0.25 + + ; Safety coefficient for max bounding box from prim size box X coordinate + ; Worst case is twisted and sheared box, 1+sqrt(2) + PrimBoundingBoxSafetyCoefficientX = 2.414214 + + ; Safety coefficient for max bounding box from prim size box Y coordinate + ; Worst case is twisted and sheared box, 1+sqrt(2) + PrimBoundingBoxSafetyCoefficientY = 2.414214 + + ; Safety coefficient for max bounding box from prim size box Z coordinate + ; Worst case is twisted tube, 0.5+sqrt(1.25) + PrimBoundingBoxSafetyCoefficientZ = 1.618034 + + ; Use llCastRay V3 if true. + ; Implements llCastRay similar but not identical to Second Life. + ; See http://wiki.secondlife.com/wiki/LlCastRay . + ; NEW + ; Meshes prims for good accuracy in ray hit detection, + ; handling basic and tortured prims, sculpts and meshes. + ; Uses ellipsoid, correctly sized avatar capsules. + ; Handles complex terrain, multi-prim objects and seated avatars. + ; Implements throttling and the status codes + ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED, + ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW. + ; WARNING + ; Can be faster on some servers and scenes, but slower on others, + ; compared to previous version of llCastRay in OpenSimulator. + ; Is in most cases considerably slower than llCastRay in Second Life. + ; Generates geometry meshes and can therefore use much system resources. + UseLlCastRayV3 = false + + ; Accepted calculation precision error in calculations in llCastRay V3 + FloatToleranceInLlCastRay = 0.00001 + + ; Accepted distance difference between duplicate hits in llCastRay V3 + FloatTolerance2InLlCastRay = 0.001 + + ; Detail level when rendering prims in llCastRay V3 + ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call + PrimDetailLevelInLlCastRay = 1 + + ; Detail level when rendering sculpts in llCastRay V3 + ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call + SculptDetailLevelInLlCastRay = 1 + + ; Detail level when rendering meshes in llCastRay V3 + ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call + MeshDetailLevelInLlCastRay = 3 + + ; Detail level when rendering avatar capsules in llCastRay V3 + ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call + AvatarDetailLevelInLlCastRay = 1 + + ; Maximum number of returned hits from llCastRay V3 + MaxHitsInLlCastRay = 16 + + ; Maximum number of returned hits per prim from llCastRay V3 + MaxHitsPerPrimInLlCastRay = 16 + + ; Maximum number of returned hits per object from llCastRay V3 + MaxHitsPerObjectInLlCastRay = 16 + + ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true + DetectExitHitsInLlCastRay = false + + ; Filter on parts instead of groups in llCastRay V3 if true + FilterPartsInLlCastRay = false + + ; Detect attachments in llCastRay V3 if true + DoAttachmentsInLlCastRay = false + + ; Throttle period length in ms before which all old llCastRay use is discarded in llCastRay V3 + ; The sum of AvailableTimeInMsPerRegionInLlCastRay and all AvailableTimeInMsPerAvatarInLlCastRay should not exceed this + ThrottleTimeInMsInLlCastRay = 200 + + ; Available time in ms for llCastRay per throttle period and 65536 m2 land area in llCastRay V3 + AvailableTimeInMsPerRegionInLlCastRay = 40 + + ; Available time in ms for llCastRay per throttle period and avatar when script in attachment or vehicle in llCastRay V3 + AvailableTimeInMsPerAvatarInLlCastRay = 10 + + ; Required available time in ms left to perform a new llCastRay in llCastRay V3 + RequiredAvailableTimeInMsInLlCastRay = 2 + + ; Maximum available time in ms possible in llCastRay V3, not to get too high values with varregions + MaximumAvailableTimeInMsInLlCastRay = 40 + + ; Use cached meshes in llCastRay V3 if true + ; Improves performance but uses more memory + UseMeshCacheInLlCastRay = true + + +[DataSnapshot] + ; The following set of configs pertains to search. + ; Set index_sims to true to enable search engines to index your searchable data + ; If false, no data will be exposed, DataSnapshot module will be off, and you can ignore the rest of these search-related configs + ; default is false + index_sims = false + + ; The variable data_exposure controls what the regions expose: + ; minimum: exposes only things explicitly marked for search + ; all: exposes everything + data_exposure = minimum + + ; If search is on, change this to your grid name; will be ignored for standalones + gridname = "OSGrid" + + ; Period between data snapshots, in seconds. 20 minutes, for starters, so that you see the initial changes fast. + ; Later, you may want to increase this to 3600 (1 hour) or more + default_snapshot_period = 1200 + + ; This will be created in bin, if it doesn't exist already. It will hold the data snapshots. + snapshot_cache_directory = "DataSnapshot" + + ; Uncomment if you want to index your data with this and/or other search providers. One entry per + ; data service + ;DATA_SRV_MISearch = "http://metaverseink.com/cgi-bin/register.py" + + +[Economy] + ; These economy values get used in the BetaGridLikeMoneyModule. - This module is for demonstration only - + ; The default economy module only implements just enough to allow free actions (transfer of objects, etc). + ; There is no intention to implement anything further in core OpenSimulator. + ; This functionality has to be provided by third party modules. + + ;; Enables selling things for $0. Default is true. + SellEnabled = true + + ;; Money Unit fee to upload textures, animations etc. Default is 0. + PriceUpload = 0 + + ;; Money Unit fee to create groups. Default is 0. + PriceGroupCreate = 0 + + ; We don't really know what the rest of these values do. These get sent to the client + ; These taken from Agni at a Public Telehub. Change at your own risk. + ObjectCount = 0 + PriceEnergyUnit = 100 + PriceObjectClaim = 10 + PricePublicObjectDecay = 4 + PricePublicObjectDelete = 4 + PriceParcelClaim = 1 + PriceParcelClaimFactor = 1 + + PriceRentLight = 5 + TeleportMinPrice = 2 + TeleportPriceExponent = 2 + EnergyEfficiency = 1 + PriceObjectRent = 1 + PriceObjectScaleFactor = 10 + PriceParcelRent = 1 + + +[XEngine] + ; Enable this engine in this OpenSim instance + Enabled = true + + ; How many threads to keep alive even if nothing is happening + MinThreads = 2 + + ; How many threads to start at maximum load + MaxThreads = 100 + + ; Time a thread must be idle (in seconds) before it dies + IdleTimeout = 60 + + ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest") + Priority = "BelowNormal" + + ; Maximum number of events to queue for a script (excluding timers) + MaxScriptEventQueue = 300 + + ; Stack size per thread created + ThreadStackSize = 262144 + + ; Set this to true (the default) to load each script into a separate + ; AppDomain. Setting this to false will load all script assemblies into the + ; current AppDomain, which will reduce the per-script overhead at the + ; expense of reduced security and the inability to garbage collect the + ; script assemblies + AppDomainLoading = true + + ; Controls whether previously compiled scripts DLLs are deleted on sim restart. If you set this to false + ; then startup will be considerably faster since scripts won't need to be recompiled. However, then it becomes your responsibility to delete the + ; compiled scripts if you're recompiling OpenSim from source code and internal interfaces used + ; by scripts have changed. + ; DeleteScriptsOnStartup = false + + ; Controls whether scripts are stopped by aborting their threads externally (abort) + ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op). + ; co-op will be more stable as aborting threads can cause instability. + ; abort was the default option in OpenSimulator 0.8 and before. + ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary. + ; However, the setting change will not take affect until the next time you restart the simulator. + ; Setting changes will not affect state information stored for scripts. + ScriptStopStrategy = co-op + + ; Rate to poll for asynchronous command replies (ms) + ; currently unused + ;AsyncLLCommandLoopms = 50 + + ; Save the source of all compiled scripts + WriteScriptSourceToDebugFile = false + + ; Default language for scripts + DefaultCompileLanguage = lsl + + ; List of allowed languages (lsl,vb,cs) + ; AllowedCompilers=lsl,cs,vb + ; *warning*, non lsl languages have access to static methods such as System.IO.File. Enable at your own risk. + AllowedCompilers=lsl + + ; Compile debug info (line numbers) into the script assemblies + CompileWithDebugInformation = true + + ; Allow the user of mod* functions. This allows a script to pass messages + ; to a region module via the modSendCommand() function + ; Default is false + AllowMODFunctions = false + + ; Allow the use of os* functions (some are dangerous) + AllowOSFunctions = false + + ; Allow the user of LightShare functions + AllowLightShareFunctions = false + + ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe + OSFunctionThreatLevel = VeryLow + + ; OS Functions enable/disable + ; For each function, you can add one line, as shown + ; The default for all functions allows them if below threat level + + ; true allows the use of the function unconditionally + ; Allow_osSetRegionWaterHeight = true + + ; false disables the function completely + ; Allow_osSetRegionWaterHeight = false + + ; Comma separated list of UUIDS allows the function for that list of UUIDS + ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb + + ; Comma separated list of owner classes that allow the function for a particular class of owners. Choices are + ; - PARCEL_GROUP_MEMBER: allow if objectgroup is the same group as the parcel + ; - PARCEL_OWNER: allow if the objectowner is parcelowner + ; - ESTATE_MANAGER: allow if the object owner is a estate manager + ; - ESTATE_OWNER: allow if objectowner is estateowner + ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb, PARCEL_OWNER, ESTATE_OWNER>, ... + + ; You can also use script creators as the uuid + ; Creators_osSetRegionWaterHeight = , ... + + ; If both Allow_ and Creators_ are given, effective permissions + ; are the union of the two. + + ; Interval (s) between background save of script states + SaveInterval = 120 + + ; Interval (s) between maintenance runs (0 = disable) + MaintenanceInterval = 10 + + ; Time a script can spend in an event handler before it is interrupted + EventLimit = 30 + + ; If a script overruns it's event limit, kill the script? + KillTimedOutScripts = false + + ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested + ; before aborting the thread (such as when an object containing scripts is taken into inventory). + WaitForEventCompletionOnScriptStop = 1000; + + ; Sets the multiplier for the scripting delays + ScriptDelayFactor = 1.0 + + ; The factor the 10 m distances llimits are multiplied by + ScriptDistanceLimitFactor = 1.0 + + ; Maximum length of notecard line read + ; Increasing this to large values potentially opens + ; up the system to malicious scripters + ; NotecardLineReadCharsMax = 255 + + ; Minimum settable timer interval. Any timer setting less than this is + ; rounded up to this minimum interval. + ; MinTimerInterval = 0.5 + + ; Sensor settings + SensorMaxRange = 96.0 + SensorMaxResults = 16 + + ; Allow for llCreateLink and llBreakLink to work without asking for permission + ; only enable this in a trusted environment otherwise you may be subject to hijacking + ; AutomaticLinkPermission = false + + ; Disable underground movement of prims (default true); set to + ; false to allow script controlled underground positioning of + ; prims + ; DisableUndergroundMovement = true + + ;; Path to script assemblies + ; ScriptEnginesPath = "ScriptEngines" + + +[Concierge] + ; Enable concierge module + ; Default is false + enabled = false + + ; name of the concierge + whoami = "jeeves" + + ; password for updating the welcome message templates via XmlRpc + password = SECRET + + ; regex specifying for which regions concierge service is desired; if + ; empty, then for all + regions = "^MeetingSpace-" + + ; for each region that matches the regions regexp you can provide + ; (optionally) a welcome template using format substitution: + ; {0} is replaced with the name of the avatar entering the region + ; {1} is replaced with the name of the region + ; {2} is replaced with the name of the concierge (whoami variable above) + + welcomes = /path/to/welcome/template/directory + + ; Concierge can send attendee lists to an event broker whenever an + ; avatar enters or leaves a concierged region. the URL is subject + ; to format substitution: + ; {0} is replaced with the region's name + ; {1} is replaced with the region's UUID + broker = "http://broker.place.com/{1}" + + +[MRM] + ; Enables the Mini Region Modules Script Engine. + ; default is false + Enabled = false + + ; Runs MRM in a Security Sandbox + ; WARNING: DISABLING IS A SECURITY RISK. + Sandboxed = true + + ; The level sandbox to use, adjust at your OWN RISK. + ; Valid values are: + ; * FullTrust + ; * SkipVerification + ; * Execution + ; * Nothing + ; * LocalIntranet + ; * Internet + ; * Everything + SandboxLevel = "Internet" + + ; Only allow Region Owners to run MRMs + ; May represent a security risk if you disable this. + OwnerOnly = true + + +[Hypergrid] + ; Keep it false for now. Making it true requires the use of a special client in order to access inventory + safemode = false + + +[VivoxVoice] + ; The VivoxVoice module will allow you to provide voice on your + ; region(s). It uses the same voice technology as the LL grid and + ; works with recent LL clients (we have tested 1.22.9.110075, so + ; anything later ought to be fine as well). + ; + ; For this to work you need to obtain an admin account from Vivox + ; that allows you to create voice accounts and region channels. + + enabled = false + + ; vivox voice server + vivox_server = www.foobar.vivox.com + + ; vivox SIP URI + vivox_sip_uri = foobar.vivox.com + + ; vivox admin user name + vivox_admin_user = DeepThroat + + ; vivox admin password + vivox_admin_password = VoiceG4te + + ; channel type: "channel" or "positional" + ; - positional: spatial sound (default) + ; - channel: normal "conference call", no spatial sound + ;vivox_channel_type = positional + + ; channel characteristics (unless you know what you are doing, i'd + ; leave them as they are --- now you WILL muck around with them, + ; huh? sigh) + + ; channel distance model: + ; 0 - no attenuation + ; 1 - inverse distance attenuation + ; 2 - linear attenuation (default) + ; 3 - exponential attenuation + ;vivox_channel_distance_model = 2 + + ; channel mode: + ; - "open" (default) + ; - "lecture" + ; - "presentation" + ; - "auditorium" + ;vivox_channel_mode = "open" + + ; channel roll off: rate of attenuation + ; - a value between 1.0 and 4.0, default is 2.0 + ;vivox_channel_roll_off = 2.0 + + ; channel max range: distance at which channel is silent + ; - a value between 0 and 160, default is 80 + ;vivox_channel_max_range = 80 + + ; channel clamping distance: distance before attenuation applies + ; - a value between 0 and 160, default is 10 + ;vivox_channel_clamping_distance = 10 + + +[Groups] + Enabled = false + + ; This is the current groups stub in Region.CoreModules.Avatar.Groups. All the other settings below only really + ; apply to the Flotsam/SimianGrid GroupsModule + Module = Default + + ; This module can use a PHP XmlRpc server from the Flotsam project at http://code.google.com/p/flotsam/ + ; or from the SimianGrid project at http://code.google.com/p/openmetaverse + ;Module = GroupsModule + + ; Enable Group Notices + ;NoticesEnabled = true + + ; This makes the Group module very chatty on the console. + DebugEnabled = false + + ; This makes the Groups Messaging module very chatty on the console. + DebugMessagingEnabled = false + + ; Groups data is cached for this number of seconds before another request is made to the groups service + ; Set to 0 to disable the cache. + ; Default is 30 seconds + GroupsCacheTimeout = 30 + + ; Specify which messaging module to use for groups messaging and if it's enabled + MessagingModule = GroupsMessagingModule + ;MessagingEnabled = true + + ; Experimental option to only message cached online users rather than all users + ; Should make large group with few online members messaging faster, as the expense of more calls to ROBUST presence service + ; (Flotsam groups only; in V2 this is always on) + MessageOnlineUsersOnly = false + + ; Service connectors to the Groups Service. Select one depending on whether you're using a Flotsam XmlRpc backend or a SimianGrid backend + + ; SimianGrid Service for Groups + ;ServicesConnectorModule = SimianGroupsServicesConnector + ;GroupsServerURI = http://mygridserver.com:82/Grid/ + + ; Flotsam XmlRpc Service for Groups + ;ServicesConnectorModule = XmlRpcGroupsServicesConnector + ;GroupsServerURI = http://yourxmlrpcserver.com/xmlrpc.php + + ; XmlRpc Security settings. These must match those set on your backend groups service if the service is using these keys + ;XmlRpcServiceReadKey = 1234 + ;XmlRpcServiceWriteKey = 1234 + + ; Disables HTTP Keep-Alive for XmlRpcGroupsServicesConnector HTTP Requests, + ; this is a work around fora problem discovered on some Windows based region servers. + ; Only disable keep alive if you see a large number (dozens) of the following Exceptions: + ; System.Net.WebException: The request was aborted: The request was canceled. + ; XmlRpcDisableKeepAlive = false + + ; Minimum user level required to create groups + ;LevelGroupCreate = 0 + + +[PacketPool] + ;RecyclePackets = true; + ;RecycleDataBlocks = true; + + ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets. + ; This reduces data churn + RecycleBaseUDPPackets = true + + +[InterestManagement] + ; This section controls how state updates are prioritized for each client + ; Valid values are BestAvatarResponsiveness, Time, Distance, + ; SimpleAngularDistance, and FrontBack + UpdatePrioritizationScheme = BestAvatarResponsiveness + ReprioritizationEnabled = true + ReprioritizationInterval = 2000.0 + RootReprioritizationDistance = 10.0 + ChildReprioritizationDistance = 20.0 + + ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region + ; Updates will always be sent to the avatar that the update addresses and if av velocity is effectively zero (to prevent drift due to missing updates). + ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars. + RootTerseUpdatePeriod = 0 + + ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region + ; n > 1 will reduce UDP traffic but may lead to laggier movement observed in other avatars, though values up to 4 may not generate a noticeable effect. + ChildTerseUpdatePeriod = 0 + + ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance + RootPositionUpdateTolerance = 0.05 + + ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance + RootRotationUpdateTolerance = 0.1 + + ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance + RootVelocityUpdateTolerance = 0.001 + +[Monitoring] + ; Enable region monitoring + ; If true, this will print out an error if more than a minute has passed since the last simulator frame + ; Also is another source of region statistics provided via the regionstats URL + Enabled = true + + +[WebStats] + ; View region statistics via a web page + ; See http://opensimulator.org/wiki/FAQ#Region_Statistics_on_a_Web_Page + ; Use a web browser and type in the "Login URI" + "/SStats/" + ; For example- http://127.0.0.1:9000/SStats/ + ; enabled=false + +[Statistics] + ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames + ; to include in the averaging calculations + NumberOfFrames=10 + +[MediaOnAPrim] + ; Enable media on a prim facilities + Enabled = true; + + +[NPC] + ;; Enable Non Player Character (NPC) facilities + Enabled = false + + +[Terrain] + ; Values can be "pinhead-island" or "flat" + InitialTerrain = "pinhead-island" + ; If 'true' each avatar is only sent terrain patches within their view distance + ; This also changes the region terrain loading from 'lawn mower' to ordered around + ; the avatar outward. + SendTerrainUpdatesByViewDistance = True + +[LandManagement] + ; When editing terrain or objects, parcel layer info is updated in the viewer. + ; This can be expensive for large regions. If this variable is 'true', only the + ; parcel layer data around the area of interest is sent. The parcel layer info + ; is sent for 'ParcelLayerViewDistance' around the interest point. + ; If 'ParcelLayerViewDistance' is >= 128, the operation for legacy sized regions + ; will be what it has always been (send the whole region's parcel layer info). + ; Other parcel updates (login, changing parcel ownership, ...) will still send + ; whole region. + LimitParcelLayerUpdateDistance = true + ParcelLayerViewDistance = 128 + +;; +;; If you are using a simian grid frontend you can enable +;; this module to upload tile images for the mapping fn +;; +[SimianGridMaptiles] + Enabled = False + MaptileURL = "http://www.mygrid.com/Grid/" + RefreshTime = 3600 + + +;; +;; JsonStore module provides structured store for scripts +;; +[JsonStore] + Enabled = False + + ;; Enable direct access to the SOP dynamic attributes + EnableObjectStore = False + MaxStringSpace = 0 + + +;; +;; These are defaults that are overwritten below in [Architecture]. +;; These defaults allow OpenSim to work out of the box with +;; zero configuration +;; +[AssetService] + DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" + AssetLoaderArgs = "assets/AssetSets.xml" + + ; Disable this to prevent the default asset set from being inserted into the + ; asset store each time the region starts + AssetLoaderEnabled = true + + +[GridService] + ;; default standalone, overridable in StandaloneCommon.ini + StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" + + +[AutoBackupModule] + ;; default is module is disabled at the top level + AutoBackupModuleEnabled = false + + +[Sounds] + ;; {Module} {} {Implementation of ISoundModule to use.} {OpenSim.Region.CoreModules.dll:SoundModule} + Module = OpenSim.Region.CoreModules.dll:SoundModule + + ;; {MaxDistance} {} {Cut-off distance at which sounds will not be sent to users} {100.0} + MaxDistance = 100.0 + + +[ServiceThrottle] + ;; Default time interval (in ms) for the throttle service thread to wake up + Interval = 5000 + +[Dwell] + ;; This enables the built in basic dwell module + DwellModule = DefaultDwellModule + +[Modules] + Include-modules = "addon-modules/*/config/*.ini" + diff --git a/config/Regions/Regions.ini.example b/config/Regions/Regions.ini.example new file mode 100644 index 0000000..e20fee6 --- /dev/null +++ b/config/Regions/Regions.ini.example @@ -0,0 +1,98 @@ +; * This is an example region config file. +; * +; * If OpenSimulator is started up without any regions, it will ask you configuration questions to generate a Regions.ini file for you. +; * So there is no need to change this file directly, it is only for reference. +; * However, if you prefer you can also copy this file to Regions.ini and appropriately change the parameters below. +; * Only files ending with .ini and .xml in this directly will be loaded by OpenSimulator. +; * +; * You can multiple regions into one file or make one file per region +; * The section name is the region name +; * + +[Default Region] + +; * +; * You MUST change this! It will NOT be done for you! +; * + +RegionUUID = 11111111-2222-3333-4444-555555555555 + +Location = 1000,1000 +InternalAddress = 0.0.0.0 +InternalPort = 9000 +AllowAlternatePorts = False +ExternalHostName = SYSTEMIP + +; * +; * Variable-sized regions allows the creation of large, borderless spaces. +; * The default is 256 meters. For larger spaces, set these to multiples of 256. +; * For the time being, X and Y need to be the same. +; * +; SizeX = 512 +; SizeY = 512 + +; * +; * Prim data +; * This allows limiting the sizes of prims and the region prim count +; * + +; NonPhysicalPrimMax = 256 +; PhysicalPrimMax = 64 +; ClampPrimSize = False +; MaxPrims = 15000 +; MaxAgents = 100 + +; * Max prims per user (per parcel). +; * Negative values will disable the check. +; MaxPrimsPerUser = -1 + +; * +; * Multi-Tenancy. Only set if needed +; * + +; ScopeID = "00000000-0000-0000-0000-000000000000" + +; * +; * Product name (used in search from viewer 1.23 +; * + +; RegionType = "Mainland" + +; * Region Specific Static Maptiles: +; * Important: To use any kind of texture *assets* as a static maptile, the following +; * things must be set in the [Map] section of OpenSim.ini : +; * +; * MapImageModule = "MapImageModule" +; * GenerateMaptiles = false +; * +; * Now, there is a setting in [Map] in OpenSim.ini called +; * +; * MaptileStaticUUID = 00000000-0000-0000-0000-000000000000 +; * +; * where, given the criteria above, lets you specify the UUID of a texture asset to use +; * as a maptile *Simulator Wide*. Here, you can override that on a per region basis for +; * Simulators that run multiple regions: + +; MaptileStaticUUID = 00000000-0000-0000-0000-000000000000 + + +; * Region Specific Static Maptiles from file: +; * It is also possible to create maptiles using external image files of the right size +; * and supported formats (bmp,png,jpg in RGB 24bpp format) +; * +; * Important: To use any kind of texture *files* as a static maptile, the following +; * things must be set in the [Map] section of OpenSim.ini : +; * +; * MapImageModule = "MapImageModule" +; * GenerateMaptiles = true +; * +; * The image must be the same size in pixels as the region or varregion is in meters. +; * i.e. 256x256 pixels for single region of 256x256m, or 1280x1280 pixels for a varregion +; * of size 1280x1280m. The image can be loaded from anywhere by setting the path +; * ie: MaptileStaticFile = "maptiles/SomeFile.png" +; * +; * If this setting is used, then the base map is generated from this file instead of being +; * built using MapImageModule's terrain and prim renderer. Parcel 'for sale' overlays are +; * still drawn on top of the static map by the World Map module. + +; MaptileStaticFile = "SomeFile.png" diff --git a/config/Robust.Tests.ini b/config/Robust.Tests.ini new file mode 100644 index 0000000..c25e39b --- /dev/null +++ b/config/Robust.Tests.ini @@ -0,0 +1,468 @@ +; * FOR TESTS ONLY -- DO NOT USE THIS FILE +[Const] + + ; The URL of the Robust server + BaseURL = "http://127.0.0.1" + + ; The public port of the Robust server + PublicPort = "8888" + + ; The private port of the Robust server, same for testing + PrivatePort = "8888" + + +; * The startup section lists all the connectors to start up in this server +; * instance. This may be only one, or it may be the entire server suite. +; * Multiple connectors should be separated by commas. +; * +; * These are the IN connectors the server uses, the in connectors +; * read this config file and load the needed service and database connectors +; * +; * The full syntax of a connector string is: +; * [[@]/][:] +; * +[Startup] + ; Place to create a PID file + ; If no path if specified then a PID file is not created. + ; PIDFile = "/tmp/Robust.exe.pid" + + ; Plugin Registry Location + ; Set path to directory for plugin registry. Information + ; about the registered repositories and installed plugins + ; will be stored here + ; The Robust.exe process must have R/W access to the location + RegistryLocation = "." + + ; Modular configurations + ; Set path to directory for modular ini files... + ; The Robust.exe process must have R/W access to the location + ConfigDirectory = "." + + console = "rest" + + ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) + ConsoleHistoryFileEnabled = false + + ; The history file can be just a filename (relative to OpenSim's bin/ directory + ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/) + ConsoleHistoryFile = "RobustConsoleHistory.txt" + + ; How many lines of command history should we keep? (default is 100) + ConsoleHistoryFileLines = 100 + +[ServiceList] + GridServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridServiceConnector" + PresenceServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:PresenceServiceConnector" + InstantMessageServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:InstantMessageServerConnector" + UserAccountServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:UserAccountServiceConnector" + InventoryInConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XInventoryInConnector" + + ;; Uncomment as more tests are added + ;AssetServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AssetServiceConnector" + ;GridInfoServerInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" + ;AuthenticationServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" + ;OpenIdServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:OpenIdServerConnector" + ;AvatarServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AvatarServiceConnector" + ;LLLoginServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector" + ;GridUserServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridUserServiceConnector" + ;FriendsServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:FriendsServiceConnector" + ;MapAddServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MapAddServiceConnector" + ;MapGetServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:MapGetServiceConnector" + ;OfflineIMServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" + ;GroupsServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" + ;BakedTextureService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XBakesConnector" + ;UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector" + ;EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector" + +; * This is common for all services, it's the network setup for the entire +; * server instance, if none is specified above +; * +[Network] + port = ${Const|PrivatePort} + + ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services. + ;; Use this if your central services in port ${Const|PrivatePort} need to be accessible on the Internet + ;; but you want to protect them from unauthorized access. + ; AuthType = "BasicHttpAuthentication" + ; HttpAuthUsername = "some_username" + ; HttpAuthPassword = "some_password" + ;; + ;; AuthType above can be overriden in any of the service sections below by + ; AuthType = "None" + ;; This is useful in cases where you want to protect most of the services, + ;; but unprotect individual services. Username and Password can also be + ;; overriden if you want to use different credentials for the different services. + + ;; By default, scripts are not allowed to call private services via llHttpRequest() + ;; Such calls are detected by the X-SecondLife-Shared HTTP header + ;; If you allow such calls you must be sure that they are restricted to very trusted scripters + ;; (remember scripts can also be in visiting avatar attachments). + ;; This can be overriden in individual private service sections if necessary + AllowllHTTPRequestIn = false + + ; * The following are for the remote console + ; * They have no effect for the local or basic console types + ; * Leave commented to diable logins to the console + ;ConsoleUser = Test + ;ConsolePass = secret + ;ConsolePort = 0 + + +[DatabaseService] + ; PGSQL + ; Uncomment these lines if you want to use PGSQL storage + ; Change the connection string to your db details + ;StorageProvider = "OpenSim.Data.PGSQL.dll" + ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" + + ; Null + ; Uncomment these lines if you want to use MySQL storage + ; Change the connection string to your db details + StorageProvider = "OpenSim.Data.Null.dll" + ConnectionString = "" + + +; * As an example, the below configuration precisely mimicks the legacy +; * asset server. It is read by the asset IN connector (defined above) +; * and it then loads the OUT connector (a local database module). That, +; * in turn, reads the asset loader and database connection information +; * +[AssetService] + LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService" + DefaultAssetLoader = "" + + ; Allow maptile assets to remotely deleted by remote calls to the asset service. + ; There is no harm in having this as false - it just means that historical maptile assets are not deleted. + ; This only applies to maptiles served via the version 1 viewer mechanisms + ; Default is false + AllowRemoteDelete = false + + ; Allow all assets to be remotely deleted. + ; Only set this to true if you are operating a grid where you control all calls to the asset service + ; (where a necessary condition is that you control all simulators) and you need this for admin purposes. + ; If set to true, AllowRemoteDelete = true is required as well. + ; Default is false. + AllowRemoteDeleteAllTypes = false + + +; * This configuration loads the inventory server modules. It duplicates +; * the function of the legacy inventory server +; * +[InventoryService] + LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService" + + StorageProvider = "OpenSim.Tests.Common.dll:TestXInventoryDataPlugin" + ConnectionString = "" + + ; Will calls to purge folders (empty trash) and immediately delete/update items or folders (not move to trash first) succeed? + ; If this is set to false then some other arrangement must be made to perform these operations if necessary. + AllowDelete = true + + +; * This is the new style grid service. +; * "Realm" is the table that is used for user lookup. +; * It defaults to "regions", which uses the legacy tables +; * +[GridService] + LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" + ; Realm = "regions" + ; AllowDuplicateNames = "True" + + ;; Next, we can specify properties of regions, including default and fallback regions + ;; The syntax is: Region_ = "" + ;; or: Region_ = "" + ;; where can be DefaultRegion, DefaultHGRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut, Reservation, NoMove, Authenticate + ;; + ;; DefaultRegion If a local login cannot be placed in the required region (e.g. home region does not exist, avatar is not allowed entry, etc.) + ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion + ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified + ;; an explicit region. + ;; + ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online + ;; region will be used. + ;; + ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the + ;; order specified. This only applies to local logins at this time, not Hypergrid connections. + ;; + ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins. + ;; + ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid. + ;; + ;; Example specification: + ; Region_Welcome_Area = "DefaultRegion, FallbackRegion" + ; (replace spaces with underscore) + + ;; Allow supporting viewers to export content + ;; Set to false to prevent export + ExportSupported = true + + + + +; * This is the new style authentication service. Currently, only MySQL +; * is implemented. +; * +[AuthenticationService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + + ;; Allow the service to process HTTP getauthinfo calls. + ;; Default is false. + ; AllowGetAuthInfo = false + + ;; Allow the service to process HTTP setauthinfo calls. + ;; Default is false. + ; AllowSetAuthInfo = false + + ;; Allow the service to process HTTP setpassword calls. + ;; Default is false. + ; AllowSetPassword = false + + +; * This is the new style authentication service. Currently, only MySQL +; * is implemented. "Realm" is the table that is used for user lookup. +; * It defaults to "useraccounts", which uses the new style. +; * Realm = "users" will use the legacy tables as an authentication source +; * +[UserAccountService] + StorageProvider = "OpenSim.Data.Null.dll" + ConnectionString = "" + + ; for the server connector + LocalServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService" + ; Realm = "useraccounts" + + ; These are for creating new accounts by the service + ;AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + GridService = "OpenSim.Services.GridService.dll:GridService" + InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" + ;AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" + ;GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" + + ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 + ;; to show a default "Ruth" avatar rather than a cloud for a newly created user. + ;; Default is false + CreateDefaultAvatarEntries = true + + ;; Allow the service to process HTTP createuser calls. + ;; Default is false. + AllowCreateUser = true + + ;; Allow the service to process HTTP setaccount calls. + ;; Default is false. + AllowSetAccount = true + + +[GridUserService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService" + + +[PresenceService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService" + ; Set this to true to allow the use of advanced web services and multiple + ; bots using one account + AllowDuplicatePresences = false; + + +[AvatarService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService" + + +[FriendsService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.FriendsService.dll:FriendsService" + +[EstateService] + LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" + +[LibraryService] + LibraryName = "OpenSim Library" + DefaultLibrary = "./inventory/Libraries.xml" + + +[LoginService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService" + ; for the service + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" + AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" + AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + GridService = "OpenSim.Services.GridService.dll:GridService" + SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector" + LibraryService = "OpenSim.Services.InventoryService.dll:LibraryService" + FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" + + ; The minimum user level required for a user to be able to login. 0 by default + ; If you disable a particular user's account then you can set their login level below this number. + ; You can also change this level from the console though these changes will not be persisted. + ; MinLoginLevel = 0 + + ; Ask co-operative viewers to use a different currency name + ;Currency = "" + + ;; Set minimum fee to publish classified + ; ClassifiedFee = 0 + + WelcomeMessage = "Welcome, Avatar!" + AllowRemoteSetLoginLevel = "false" + + ; For V2 map + MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/"; + + ; Url to search service + ; SearchURL = "${Const|BaseURL}:${Const|PublicPort}/"; + + ; For V3 destination guide + ; DestinationGuide = "${Const|BaseURL}/guide" + + ; For V3 avatar picker (( work in progress )) + ; AvatarPicker = "${Const|BaseURL}/avatars" + + ; If you run this login server behind a proxy, set this to true + ; HasProxy = false + + ;; Regular expressions for controlling which client versions are accepted/denied. + ;; An empty string means nothing is checked. + ;; + ;; Example 1: allow only these 3 types of clients (any version of them) + ;; AllowedClients = "Imprudence|Hippo|Second Life" + ;; + ;; Example 2: allow all clients except these + ;; DeniedClients = "Twisted|Crawler|Cryolife|FuckLife|StreetLife|GreenLife|AntiLife|KORE-Phaze|Synlyfe|Purple Second Life|SecondLi |Emerald" + ;; + ;; Note that these are regular expressions, so every character counts. + ;; Also note that this is very weak security and should not be trusted as a reliable means + ;; for keeping bad clients out; modified clients can fake their identifiers. + ;; + ;; + ;AllowedClients = "" + ;DeniedClients = "" + + ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time" + ;; Viewers do not listen to timezone sent by the server. They use Pacific Standard Time instead, + ;; but rely on the server to calculate Daylight Saving Time. Sending another DST than US Pacific + ;; would result in time inconsistencies between grids (during summer and around DST transition period) + ;; default let OpenSim calculate US Pacific DST + ;; "none" disable DST (equivallent to "local" with system set to GMT) + ;; "local" force legacy behaviour (using local system time to calculate DST) + ; DSTZone = "America/Los_Angeles;Pacific Standard Time" + + ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time" + ;; Viewers do not receive timezone information from the server - almost all (?) default to Pacific Standard Time + ;; However, they do rely on the server to tell them whether it's Daylight Saving Time or not. + ;; Hence, calculating DST based on a different timezone can result in a misleading viewer display and inconsistencies between grids. + ;; By default, this setting uses various timezone names to calculate DST with regards to the viewer's standard PST. + ;; Options are + ;; "none" no DST + ;; "local" use the server's only timezone to calculate DST. This is previous OpenSimulator behaviour. + ;; "America/Los_Angeles;Pacific Standard Time" use these timezone names to look up Daylight savings. + ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows + DSTZone = "America/Los_Angeles;Pacific Standard Time" + + ;Basic Login Service Dos Protection Tweaks + ;; + ;; Some Grids/Users use a transparent proxy that makes use of the X-Forwarded-For HTTP Header, If you do, set this to true + ;; If you set this to true and you don't have a transparent proxy, it may allow attackers to put random things in the X-Forwarded-For header to + ;; get around this basic DOS protection. + ;DOSAllowXForwardedForHeader = false + ;; + ;; The protector adds up requests during this rolling period of time, default 10 seconds + ;DOSRequestTimeFrameMS = 10000 + ;; + ;; The amount of requests in the above timeframe from the same endpoint that triggers protection + ;DOSMaxRequestsInTimeFrame = 5 + ;; + ;; The amount of time that a specific endpoint is blocked. Default 2 minutes. + ;DOSForgiveClientAfterMS = 120000 + ;; + ;; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0. + + +[MapImageService] + LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" + + ; Set this if you want to change the default + ; TilesStoragePath = "maptiles" + ; + ; If for some reason you have the AddMapTile service outside the firewall (e.g. ${Const|PublicPort}), + ; you may want to set this. Otherwise, don't set it, because it's already protected. + ; GridService = "OpenSim.Services.GridService.dll:GridService" + ; + ; Additionally, if you run this server behind a proxy, set this to true + ; HasProxy = false + + +[Messaging] + ; OfflineIM + OfflineIMService = "" + + +[GridInfoService] + ; These settings are used to return information on a get_grid_info call. + ; Client launcher scripts and third-party clients make use of this to + ; autoconfigure the client and to provide a nice user experience. If you + ; want to facilitate that, you should configure the settings here according + ; to your grid or standalone setup. + ; + ; See http://opensimulator.org/wiki/GridInfo + + ; login uri: for grid this is the login server URI + login = ${Const|BaseURL}:${Const|PublicPort}/ + + ; long grid name: the long name of your grid + gridname = "the lost continent of hippo" + + ; short grid name: the short name of your grid + gridnick = "hippogrid" + + ; login page: optional: if it exists it will be used to tell the client to use + ; this as splash page + ;welcome = ${Const|BaseURL}/welcome + + ; helper uri: optional: if it exists if will be used to tell the client to use + ; this for all economy related things + ;economy = ${Const|BaseURL}:${Const|PublicPort}/ + + ; web page of grid: optional: page providing further information about your grid + ;about = ${Const|BaseURL}/about/ + + ; account creation: optional: page providing further information about obtaining + ; a user account on your grid + ;register = ${Const|BaseURL}/register + + ; help: optional: page providing further assistance for users of your grid + ;help = ${Const|BaseURL}/help + + ; password help: optional: page providing password assistance for users of your grid + ;password = ${Const|BaseURL}/password + + +[UserProfilesService] + LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" + Enabled = false + ;; Configure this for separate profiles database + ;; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;" + ;; Realm = UserProfiles + UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService + AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + + +[BakedTextureService] + LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes" + ;; This directory must be writable by the user ROBUST runs as. It will be created automatically. + BaseDirectory = "./bakes" + +[HGInstantMessageService] + LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" + GridService = "OpenSim.Services.GridService.dll:GridService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + UserAgentService = "" + ; This should always be true in the Robust config + InGatekeeper = True diff --git a/config/Robust.ini b/config/Robust.ini new file mode 100644 index 0000000..099d4da --- /dev/null +++ b/config/Robust.ini @@ -0,0 +1,572 @@ +; * Run +; * $ Robust.exe -inifile Robust.ini +; * +; ** +; * +; * The Const section allows us to define some basic information that we +; * will use throughout our configuration. We will provide examples for +; * setting the base url of the Robust server and the public and private ports +; * it uses. Changing the values of the constants will set the operating +; * parameters thoughout the configuration. Other constants that may prove +; * to be useful may be added to the followin section. They may be +; * referenced anywhere in the configuration by using ${Const|Name}. One +; * such use is providing a base path for setting locations that Robust +; * uses to write data. +; * +[Const] + + ; The URL of the Robust server + BaseURL = "http://127.0.0.1" + + ; The public port of the Robust server + PublicPort = "8002" + + ; The private port of the Robust server + PrivatePort = "8003" + + +; * The startup section lists all the connectors to start up in this server +; * instance. This may be only one, or it may be the entire server suite. +; * Multiple connectors should be separated by commas. +; * +; * These are the IN connectors the server uses, the in connectors +; * read this config file and load the needed service and database connectors +; * +; * The full syntax of a connector string is: +; * [[@]/][:] +; * +[Startup] + ; Place to create a PID file + ; If no path if specified then a PID file is not created. + ; PIDFile = "/tmp/Robust.exe.pid" + + ; Plugin Registry Location + ; Set path to directory for plugin registry. Information + ; about the registered repositories and installed plugins + ; will be stored here + ; The Robust.exe process must have R/W access to the location + RegistryLocation = "." + + ; Modular configurations + ; Set path to directory for modular ini files... + ; The Robust.exe process must have R/W access to the location + ConfigDirectory = "." + + ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) + ConsoleHistoryFileEnabled = true + + ; The history file can be just a filename (relative to OpenSim's bin/ directory + ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/) + ConsoleHistoryFile = "RobustConsoleHistory.txt" + + ; How many lines of command history should we keep? (default is 100) + ConsoleHistoryFileLines = 100 + +[ServiceList] + AssetServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AssetServiceConnector" + InventoryInConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XInventoryInConnector" + ;; Uncomment if you have set up Freeswitch (see [FreeswitchService] below) + ;VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector" + GridServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridServiceConnector" + GridInfoServerInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" + AuthenticationServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" + OpenIdServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:OpenIdServerConnector" + AvatarServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AvatarServiceConnector" + LLLoginServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector" + PresenceServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:PresenceServiceConnector" + UserAccountServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:UserAccountServiceConnector" + GridUserServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridUserServiceConnector" + AgentPreferencesServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AgentPreferencesServiceConnector" + FriendsServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:FriendsServiceConnector" + MapAddServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MapAddServiceConnector" + MapGetServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:MapGetServiceConnector" + ;; Uncomment this if you want offline IM to work + ;OfflineIMServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" + ;; Uncomment this if you want Groups V2 to work + ;GroupsServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" + ;; Uncomment to provide bakes caching + ;BakedTextureService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XBakesConnector" + + ;; Uncomment for UserProfiles see [UserProfilesService] to configure... + ; UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector" + + ;; Uncomment if you want to have centralized estate data + ; EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector" + +; * This is common for all services, it's the network setup for the entire +; * server instance, if none is specified above +; * +[Network] + port = ${Const|PrivatePort} + + ; HTTPS for "Out of band" management applications such as the remote admin + ; module. May specify https_main = True to make the main http server + ; use https or "False" to make the main server HTTP + ; https_main = False + ; + ; Create https_listener = "True" will create a listener on the port + ; specified. Provide the path to your server certificate along with it's + ; password + ; https_listener = False + ; + ; Set our listener to this port + ; https_port = 0 + ; + ; Path to X509 certificate + ; cert_path = "path/to/cert.p12" + ; + ; Password for cert + ; cert_pass = "password" + + ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services. + ;; Use this if your central services in port ${Const|PrivatePort} need to be accessible on the Internet + ;; but you want to protect them from unauthorized access. + ; AuthType = "BasicHttpAuthentication" + ; HttpAuthUsername = "some_username" + ; HttpAuthPassword = "some_password" + ;; + ;; AuthType above can be overriden in any of the service sections below by + ; AuthType = "None" + ;; This is useful in cases where you want to protect most of the services, + ;; but unprotect individual services. Username and Password can also be + ;; overriden if you want to use different credentials for the different services. + + ;; By default, scripts are not allowed to call private services via llHttpRequest() + ;; Such calls are detected by the X-SecondLife-Shared HTTP header + ;; If you allow such calls you must be sure that they are restricted to very trusted scripters + ;; (remember scripts can also be in visiting avatar attachments). + ;; This can be overriden in individual private service sections if necessary + AllowllHTTPRequestIn = false + + ; * The following are for the remote console + ; * They have no effect for the local or basic console types + ; * Leave commented to diable logins to the console + ;ConsoleUser = Test + ;ConsolePass = secret + ;ConsolePort = 0 + +[AccessControl] + ;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {} + ;; Bar (|) separated list of viewers which may gain access to the regions. + ;; One can use a substring of the viewer name to enable only certain + ;; versions + ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" + ;; - "Imprudence" has access + ;; - "Imprudence 1.3" has access + ;; - "Imprudence 1.3.1" has no access + ; AllowedClients = "" + + ;# {DeniedClients} {} {Bar (|) separated list of denied clients} {} + ;; Bar (|) separated list of viewers which may not gain access to the regions. + ;; One can use a Substring of the viewer name to disable only certain + ;; versions + ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" + ;; - "Imprudence" has no access + ;; - "Imprudence 1.3" has no access + ;; - "Imprudence 1.3.1" has access + ; DeniedClients = "" + + +[DatabaseService] + ; PGSQL + ; Uncomment these lines if you want to use PGSQL storage + ; Change the connection string to your db details + ;StorageProvider = "OpenSim.Data.PGSQL.dll" + ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" + + ; MySQL + ; Uncomment these lines if you want to use MySQL storage + ; Change the connection string to your db details + StorageProvider = "OpenSim.Data.MySQL.dll" + ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;" + + +; * As an example, the below configuration precisely mimicks the legacy +; * asset server. It is read by the asset IN connector (defined above) +; * and it then loads the OUT connector (a local database module). That, +; * in turn, reads the asset loader and database connection information +; * +[AssetService] + + ;; Choose an asset service (Only one option should be enabled) + LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService" + ;LocalServiceModule = "OpenSim.Services.FSAssetService.dll:FSAssetConnector" + + ;; FSAsset Directories. Base directory, where final asset files are stored and Spool directory for temp files + ;; These directories must be on the same physical filesystem + ;BaseDirectory = "./fsassets/data" + ;SpoolDirectory = "./fsassets/tmp" + + ;; Original service can be checked if FSAssets can not find an asset + ;FallbackService = "OpenSim.Services.AssetService.dll:AssetService"; + + ;; How many days since last updating the access time before its updated again by FSAssets when accessing an asset + ;; Reduces DB calls if asset is requested often. Default value 0 will always update access time + ;DaysBetweenAccessTimeUpdates = 30 + + ;; FSAssets Custom Database Config (Leave blank to use grids default database configuration) + ;StorageProvider = "" + ;ConnectionString = "" + ;Realm = "fsassets" + + ;; The following are common to both the default asset service and FSAsset service + + ;; Default loader for loading default assets from XML on first run + DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" + AssetLoaderArgs = "./assets/AssetSets.xml" + + ; Allow maptile assets to remotely deleted by remote calls to the asset service. + ; There is no harm in having this as false - it just means that historical maptile assets are not deleted. + ; This only applies to maptiles served via the version 1 viewer mechanisms + ; Default is false + AllowRemoteDelete = false + + ; Allow all assets to be remotely deleted. + ; Only set this to true if you are operating a grid where you control all calls to the asset service + ; (where a necessary condition is that you control all simulators) and you need this for admin purposes. + ; If set to true, AllowRemoteDelete = true is required as well. + ; Default is false. + AllowRemoteDeleteAllTypes = false + + +; * This configuration loads the inventory server modules. It duplicates +; * the function of the legacy inventory server +; * +[InventoryService] + LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService" + + ; Will calls to purge folders (empty trash) and immediately delete/update items or folders (not move to trash first) succeed? + ; If this is set to false then some other arrangement must be made to perform these operations if necessary. + AllowDelete = true + + +; * This is the new style grid service. +; * "Realm" is the table that is used for user lookup. +; * It defaults to "regions", which uses the legacy tables +; * +[GridService] + LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" + ; Realm = "regions" + ; AllowDuplicateNames = "True" + + ;; Next, we can specify properties of regions, including default and fallback regions + ;; The syntax is: Region_ = "" + ;; or: Region_ = "" + ;; where can be DefaultRegion, DefaultHGRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut, Reservation, NoMove, Authenticate + ;; + ;; DefaultRegion If a local login cannot be placed in the required region (e.g. home region does not exist, avatar is not allowed entry, etc.) + ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion + ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified + ;; an explicit region. + ;; + ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online + ;; region will be used. + ;; + ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the + ;; order specified. This only applies to local logins at this time, not Hypergrid connections. + ;; + ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins. + ;; + ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid. + ;; + ;; Example specification: + ; Region_Welcome_Area = "DefaultRegion, FallbackRegion" + ; (replace spaces with underscore) + + ;; Allow supporting viewers to export content + ;; Set to false to prevent export + ExportSupported = true + + +; * This is the configuration for the freeswitch server in grid mode +[FreeswitchService] + LocalServiceModule = "OpenSim.Services.FreeswitchService.dll:FreeswitchService" + + ;; The IP address of your FreeSWITCH server. + ;; This address must be reachable by viewers. + ; ServerAddress = 127.0.0.1 + + ;; The following configuration parameters are optional + + ;; By default, this is the same as the ServerAddress + ; Realm = 127.0.0.1 + + ;; By default, this is the same as the ServerAddress on port 5060 + ; SIPProxy = 127.0.0.1:5060 + + ;; Default is 5000ms + ; DefaultTimeout = 5000 + + ;; The dial plan context. Default is "default" + ; Context = default + + ;; Currently unused + ; UserName = freeswitch + + ;; Currently unused + ; Password = password + + ;; The following parameters are for STUN = Simple Traversal of UDP through NATs + ;; See http://wiki.freeswitch.org/wiki/NAT_Traversal + ;; stun.freeswitch.org is not guaranteed to be running so use it in + ;; production at your own risk + ; EchoServer = 127.0.0.1 + ; EchoPort = 50505 + ; AttemptSTUN = false + + +; * This is the new style authentication service. Currently, only MySQL +; * is implemented. +; * +[AuthenticationService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + + ;; Allow the service to process HTTP getauthinfo calls. + ;; Default is false. + ; AllowGetAuthInfo = false + + ;; Allow the service to process HTTP setauthinfo calls. + ;; Default is false. + ; AllowSetAuthInfo = false + + ;; Allow the service to process HTTP setpassword calls. + ;; Default is false. + ; AllowSetPassword = false + + +[OpenIdService] + ; for the server connector + AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + UserAccountServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService" + + +; * This is the new style authentication service. Currently, only MySQL +; * is implemented. "Realm" is the table that is used for user lookup. +; * It defaults to "useraccounts", which uses the new style. +; * Realm = "users" will use the legacy tables as an authentication source +; * +[UserAccountService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService" + ; Realm = "useraccounts" + + ; These are for creating new accounts by the service + AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + GridService = "OpenSim.Services.GridService.dll:GridService" + InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" + AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" + GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" + + ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 + ;; to show a default "Ruth" avatar rather than a cloud for a newly created user. + ;; Default is false + CreateDefaultAvatarEntries = true + + ;; Allow the service to process HTTP createuser calls. + ;; Default is false. + ; AllowCreateUser = false + + ;; Allow the service to process HTTP setaccount calls. + ;; Default is false. + ; AllowSetAccount = false + + +[GridUserService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService" + + +[AgentPreferencesService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.UserAccountService.dll:AgentPreferencesService" + + +[PresenceService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService" + ; Set this to true to allow the use of advanced web services and multiple + ; bots using one account + AllowDuplicatePresences = false; + + +[AvatarService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService" + + +[FriendsService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.FriendsService.dll:FriendsService" + +[EstateService] + LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" + +[LibraryService] + LibraryName = "OpenSim Library" + DefaultLibrary = "./inventory/Libraries.xml" + + +[LoginService] + ; for the server connector + LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService" + ; for the service + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" + AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" + AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + GridService = "OpenSim.Services.GridService.dll:GridService" + SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector" + LibraryService = "OpenSim.Services.InventoryService.dll:LibraryService" + FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" + + ; The minimum user level required for a user to be able to login. 0 by default + ; If you disable a particular user's account then you can set their login level below this number. + ; You can also change this level from the console though these changes will not be persisted. + ; MinLoginLevel = 0 + + ; Ask co-operative viewers to use a different currency name + ;Currency = "" + + ;; Set minimum fee to publish classified + ; ClassifiedFee = 0 + + WelcomeMessage = "Welcome, Avatar!" + AllowRemoteSetLoginLevel = "false" + + ; For V2 map + MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/"; + + ; Url to search service + ; SearchURL = "${Const|BaseURL}:${Const|PublicPort}/"; + + ; For V3 destination guide + ; DestinationGuide = "${Const|BaseURL}/guide" + + ; For V3 avatar picker (( work in progress )) + ; AvatarPicker = "${Const|BaseURL}/avatars" + + ; If you run this login server behind a proxy, set this to true + ; HasProxy = false + + ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time" + ;; Viewers do not listen to timezone sent by the server. They use Pacific Standard Time instead, + ;; but rely on the server to calculate Daylight Saving Time. Sending another DST than US Pacific + ;; would result in time inconsistencies between grids (during summer and around DST transition period) + ;; default let OpenSim calculate US Pacific DST + ;; "none" disable DST (equivallent to "local" with system set to GMT) + ;; "local" force legacy behaviour (using local system time to calculate DST) + ; DSTZone = "America/Los_Angeles;Pacific Standard Time" + + ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time" + ;; Viewers do not receive timezone information from the server - almost all (?) default to Pacific Standard Time + ;; However, they do rely on the server to tell them whether it's Daylight Saving Time or not. + ;; Hence, calculating DST based on a different timezone can result in a misleading viewer display and inconsistencies between grids. + ;; By default, this setting uses various timezone names to calculate DST with regards to the viewer's standard PST. + ;; Options are + ;; "none" no DST + ;; "local" use the server's only timezone to calculate DST. This is previous OpenSimulator behaviour. + ;; "America/Los_Angeles;Pacific Standard Time" use these timezone names to look up Daylight savings. + ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows + DSTZone = "America/Los_Angeles;Pacific Standard Time" + + ;Basic Login Service Dos Protection Tweaks + ;; + ;; Some Grids/Users use a transparent proxy that makes use of the X-Forwarded-For HTTP Header, If you do, set this to true + ;; If you set this to true and you don't have a transparent proxy, it may allow attackers to put random things in the X-Forwarded-For header to + ;; get around this basic DOS protection. + ;DOSAllowXForwardedForHeader = false + ;; + ;; The protector adds up requests during this rolling period of time, default 10 seconds + ;DOSRequestTimeFrameMS = 10000 + ;; + ;; The amount of requests in the above timeframe from the same endpoint that triggers protection + ;DOSMaxRequestsInTimeFrame = 5 + ;; + ;; The amount of time that a specific endpoint is blocked. Default 2 minutes. + ;DOSForgiveClientAfterMS = 120000 + ;; + ;; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0. + + +[MapImageService] + LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" + + ; Set this if you want to change the default + ; TilesStoragePath = "maptiles" + ; + ; If for some reason you have the AddMapTile service outside the firewall (e.g. ${Const|PublicPort}), + ; you may want to set this. Otherwise, don't set it, because it's already protected. + ; GridService = "OpenSim.Services.GridService.dll:GridService" + ; + ; Additionally, if you run this server behind a proxy, set this to true + ; HasProxy = false + + +[Messaging] + ; OfflineIM + OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" + + +[Groups] + ;; Sets the maximum number of groups an agent may join + ; MaxAgentGroups = 42 + + +[GridInfoService] + ; These settings are used to return information on a get_grid_info call. + ; Client launcher scripts and third-party clients make use of this to + ; autoconfigure the client and to provide a nice user experience. If you + ; want to facilitate that, you should configure the settings here according + ; to your grid or standalone setup. + ; + ; See http://opensimulator.org/wiki/GridInfo + + ; login uri: for grid this is the login server URI + login = ${Const|BaseURL}:${Const|PublicPort}/ + + ; long grid name: the long name of your grid + gridname = "the lost continent of hippo" + + ; short grid name: the short name of your grid + gridnick = "hippogrid" + + ; login page: optional: if it exists it will be used to tell the client to use + ; this as splash page + ;welcome = ${Const|BaseURL}/welcome + + ; helper uri: optional: if it exists it will be used to tell the client to use + ; this for all economy related things + ;economy = ${Const|BaseURL}/economy + + ; web page of grid: optional: page providing further information about your grid + ;about = ${Const|BaseURL}/about + + ; account creation: optional: page providing further information about obtaining + ; a user account on your grid + ;register = ${Const|BaseURL}/register + + ; help: optional: page providing further assistance for users of your grid + ;help = ${Const|BaseURL}/help + + ; password help: optional: page providing password assistance for users of your grid + ;password = ${Const|BaseURL}/password + + +[UserProfilesService] + LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" + Enabled = false + ;; Configure this for separate profiles database + ;; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;" + ;; Realm = UserProfiles + UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService + AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + + +[BakedTextureService] + LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes" + ;; This directory must be writable by the user ROBUST runs as. It will be created automatically. + BaseDirectory = "./bakes" diff --git a/config/config-include/CenomeCache.ini.example b/config/config-include/CenomeCache.ini.example new file mode 100644 index 0000000..4340493 --- /dev/null +++ b/config/config-include/CenomeCache.ini.example @@ -0,0 +1,14 @@ +[AssetCache] + ;; + ;; Options for CenomeAssetCache + ;; + + ; Max size of the cache in bytes + ; 134217728 = 128 MB, 26843556 = 256 MB, etc (default: 134217728) + MaxSize = 134217728 + + ; How many assets it is possible to store in the cache (default: 4096) + MaxCount = 4096 + + ; Expiration time in minutes (default: 30) + ExpirationTime = 30 diff --git a/config/config-include/FlotsamCache.ini.example b/config/config-include/FlotsamCache.ini.example new file mode 100644 index 0000000..c166523 --- /dev/null +++ b/config/config-include/FlotsamCache.ini.example @@ -0,0 +1,56 @@ +[AssetCache] + ;; + ;; Options for FlotsamAssetCache + ;; + + ; cache directory can be shared by multiple instances + CacheDirectory = ../caches/assetcache + ; Other examples: + ;CacheDirectory = /directory/writable/by/OpenSim/instance + + ; Log level + ; 0 - (Error) Errors only + ; 1 - (Info) Hit Rate Stats + Level 0 + ; 2 - (Debug) Cache Activity (Reads/Writes) + Level 1 + ; + LogLevel = 0 + + ; How often should hit rates be displayed (given in AssetRequests) + ; 0 to disable + HitRateDisplay = 100 + + ; Set to false for no memory cache + MemoryCacheEnabled = false + + ; Set to false for no file cache + FileCacheEnabled = true + + ; How long {in hours} to keep assets cached in memory, .5 == 30 minutes + ; Optimization: for VPS or limited memory system installs set Timeout to .016 (1 minute) + ; increases performance without large memory impact + MemoryCacheTimeout = 2 + + ; How long {in hours} to keep assets cached on disk, .5 == 30 minutes + ; Specify 0 if you do not want your disk cache to expire + FileCacheTimeout = 48 + + ; How often {in hours} should the disk be checked for expired filed + ; Specify 0 to disable expiration checking + FileCleanupTimer = 1.0 ;every hour + + ; If WAIT_ON_INPROGRESS_REQUESTS has been defined then this specifies how + ; long (in miliseconds) to block a request thread while trying to complete + ; an existing write to disk. + ; NOTE: THIS PARAMETER IS NOT CURRENTLY USED BY THE CACHE + ; WaitOnInprogressTimeout = 3000 + + ; Number of tiers to use for cache directories (current valid + ; range 1 to 3) + ;CacheDirectoryTiers = 1 + + ; Number of letters per path tier, 1 will create 16 directories + ; per tier, 2 - 256, 3 - 4096 and 4 - 65K + ;CacheDirectoryTierLength = 3 + + ; Warning level for cache directory size + ;CacheWarnAt = 30000 diff --git a/config/config-include/Grid.ini b/config/config-include/Grid.ini new file mode 100644 index 0000000..3c61ee0 --- /dev/null +++ b/config/config-include/Grid.ini @@ -0,0 +1,74 @@ +;; +;; Please don't change this file. +;; All optional settings are in GridCommon.ini.example, +;; which you can copy and change. +;; + +[Includes] + Include-Common = "config-include/GridCommon.ini" + +[Modules] + AssetServices = "RemoteAssetServicesConnector" + InventoryServices = "RemoteXInventoryServicesConnector" + GridServices = "RemoteGridServicesConnector" + AvatarServices = "RemoteAvatarServicesConnector" + NeighbourServices = "RemoteNeighbourServicesConnector" + AuthenticationServices = "RemoteAuthenticationServicesConnector" + AuthorizationServices = "LocalAuthorizationServicesConnector" + PresenceServices = "RemotePresenceServicesConnector" + UserAccountServices = "RemoteUserAccountServicesConnector" + AgentPreferencesServices= "RemoteAgentPreferencesServicesConnector" + GridUserServices = "RemoteGridUserServicesConnector" + SimulationServices = "RemoteSimulationConnectorModule" + EntityTransferModule = "BasicEntityTransferModule" + InventoryAccessModule = "BasicInventoryAccessModule" + LandServices = "RemoteLandServicesConnector" + MapImageService = "MapImageServiceModule" + SearchModule = "BasicSearchModule" + + LandServiceInConnector = true + NeighbourServiceInConnector = true + SimulationServiceInConnector = true + LibraryModule = true + +[SimulationService] + ; This is the protocol version which the simulator advertises to the source destination when acting as a target destination for a teleport + ; It is used to control the teleport handoff process. + ; Valid values are + ; "SIMULATION/0.3" + ; - This is the default, and it supports teleports to variable-sized regions + ; - Older versions can teleport to this one, but only if the destination region + ; is 256x256 + ; "SIMULATION/0.2" + ; - A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol + ; - this protocol is more efficient than "SIMULATION/0.1" + ; "SIMULATION/0.1" + ; - this is an older teleport protocol used in OpenSimulator 0.7.5 and before. + ConnectorProtocolVersion = "SIMULATION/0.3" + +[SimulationDataStore] + LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" + +[EstateDataStore] + LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" + +[GridService] + LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" + ; for the LocalGridServicesConnector which is used by the Remote one + StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" + NetworkConnector = "OpenSim.Services.Connectors.dll:GridServicesConnector" + + ; Because LocalGridServicesConnector starts this service, in grid mode we need to suppress + ; the inappropriate console commands that it registers. + SuppressConsoleCommands = true + +[LibraryService] + LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" + LibraryName = "OpenSim Library" + DefaultLibrary = "./inventory/Libraries.xml" + +[Friends] + Connector = "OpenSim.Services.Connectors.dll:FriendsServicesConnector" + +[MapImageService] + LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector" diff --git a/config/config-include/GridCommon.ini.example b/config/config-include/GridCommon.ini.example new file mode 100644 index 0000000..0922cf5 --- /dev/null +++ b/config/config-include/GridCommon.ini.example @@ -0,0 +1,245 @@ +; This is the main configuration file for an instance of OpenSim running in grid mode + +[DatabaseService] + ; + ; ### Choose the DB + ; + + ; SQLite + Include-Storage = "config-include/storage/SQLiteStandalone.ini"; + + ; MySql + ; Uncomment these lines if you want to use mysql storage + ; Change the connection string to your db details + ;StorageProvider = "OpenSim.Data.MySQL.dll" + ;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" + ; Uncomment this line if you are using MySQL and want to use a different database for estates + ; The usual application for this is to allow estates to be spread out across multiple simulators by share the same database. + ; Most people won't need to do this so only uncomment if you know what you're doing. + ;EstateConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" + + ; MSSQL + ; Uncomment these lines if you want to use MSSQL storage + ; Change the connection string to your db details + ; The value for server property is shown in your SQL Server Management Studio login dialog. + ; (This sample is the default of express edition) + ;StorageProvider = "OpenSim.Data.MSSQL.dll" + ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;" + + ; PGSQL + ; Uncomment these lines if you want to use PGSQL storage + ; Change the connection string to your db details + ;StorageProvider = "OpenSim.Data.PGSQL.dll" + ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" + +[Hypergrid] + ; Uncomment the variables in this section only if you are in + ; Hypergrid configuration. Otherwise, ignore. + + ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server that + ;; runs the UserAgentsService. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + + ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server + ;; that runs the Gatekeeper service. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" + +[Modules] + ;; Choose one cache module and the corresponding config file, if it exists. + ;; Copy the config .example file into your own .ini file and adapt that. + ;; We recommend the use of the FlotsamAssetCache since this is most actively maintained. + + AssetCaching = "FlotsamAssetCache" + Include-FlotsamCache = "config-include/FlotsamCache.ini" + + ;AssetCaching = "CenomeMemoryAssetCache" + ;Include-CenomeCache = "config-include/CenomeCache.ini" + + ;AssetCaching = "GlynnTuckerAssetCache" + + ;; Optionally, the port for the LLProxyLoginModule module can be changed + ;Setup_LLProxyLoginModule = "9090/" + + ;; Authorization is not on by default, as it depends on external php + ;AuthorizationServices = "RemoteAuthorizationServicesConnector" + +[AssetService] + DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" + AssetLoaderArgs = "assets/AssetSets.xml" + + ; + ; Change this to your grid-wide asset server. Do not add a slash to the end of any of these addresses. + ; + AssetServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + +[InventoryService] + ; + ; Change this to your grid-wide inventory server + ; + InventoryServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + +[GridInfo] + ; + ; Change this to your grid info service + ; + GridInfoURI = "${Const|BaseURL}:${Const|PublicPort}" + +[GridService] + ; + ; Change this to your grid-wide grid server + ; + GridServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + ;AllowHypergridMapSearch = true + + ;; Directory for map tile images of linked regions + ; MapTileDirectory = "./maptiles" + + ; === HG ONLY === + ;; Change this to the address of your Gatekeeper service + ;; (usually bundled with the rest of the services in one + ;; Robust server in port ${Const|PublicPort}, but not always) + Gatekeeper="${Const|BaseURL}:${Const|PublicPort}" + +[EstateDataStore] + ; + ; Uncomment if you want centralized estate data at robust server, + ; in which case the URL in [EstateService] will be used + ; + ;LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataRemoteConnector" + +[EstateService] + EstateServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + +[Messaging] + ; === HG ONLY === + ;; Change this to the address of your Gatekeeper service + ;; (usually bundled with the rest of the services in one + ;; Robust server in port ${Const|PublicPort}, but not always) + Gatekeeper = "${Const|BaseURL}:${Const|PublicPort}" + +[AvatarService] + ; + ; Change this to your grid-wide grid server + ; + AvatarServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + +[AgentPreferencesService] + ; + ; Change this to your grid-wide avatar prefs server + ; + AgentPreferencesServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + +[PresenceService] + ; + ; Change this to your grid-wide presence server + ; + PresenceServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + +[UserAccountService] + ; + ; Change this to your grid-wide user accounts server + ; + UserAccountServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + +[GridUserService] + ; + ; Change this to your grid-wide user accounts server + ; + GridUserServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + +[AuthenticationService] + ; + ; Change this to your grid-wide authentication server + ; + AuthenticationServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + +[FriendsService] + ; + ; Change this to your grid-wide friends server + ; + FriendsServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + +[HGInventoryAccessModule] + ; + ; === HG ONLY === + ; Change this to your server + ; accessible from other grids + ; + HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + Gatekeeper = "${Const|BaseURL}:${Const|PublicPort}" + ;; If you want to protect your assets from being copied by foreign visitors + ;; set this to false. You may want to do this on sims that have licensed content. + ;; Default is true. + ; OutboundPermission = True + + ;; Send visual reminder to local users that their inventories are unavailable while they are traveling + ;; and available when they return. True by default. + ;RestrictInventoryAccessAbroad = True + + ;; Warning: advanced and unusual. Default is false. + ;; Enables configurations where grids share user services, including inventory, + ;; while separating regions' assets from users' assets. Asset transfer between + ;; the users' asset server and the regions' asset server is done in HG-like manner. + ; CheckSeparateAssets = false + ; RegionHGAssetServerURI = ${Const|BaseURL}:${Const|PublicPort} + + +[HGAssetService] + ; + ; === HG ONLY === + ; Change this to your server + ; accessible from other grids + ; + HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + + ;; The asset types that this grid can export to / import from other grids. + ;; Comma separated. + ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: + ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, + ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh + ;; + ;; Leave blank or commented if you don't want to apply any restrictions. + ;; A more strict, but still reasonable, policy may be to disallow the exchange + ;; of scripts, like so: + ; DisallowExport ="LSLText" + ; DisallowImport ="LSLBytecode" + +[HGFriendsModule] + ; User level required to be able to send friendship invitations to foreign users + ;LevelHGFriends = 0; + +[UserAgentService] + ; + ; === HG ONLY === + ; Change this to your user agent server (HG robust) + ; + UserAgentServerURI = "${Const|BaseURL}:${Const|PublicPort}" + +[MapImageService] + MapImageServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + +[AuthorizationService] + ; If you have regions with access restrictions + ; specify them here using the convention + ; Region_ = + ; Valid flags are: + ; DisallowForeigners -- HG visitors not allowed + ; DisallowResidents -- only Admins and Managers allowed + ; Example: + ; Region_Test_1 = "DisallowForeigners" + +;; Uncomment if you are using SimianGrid for grid services +[SimianGrid] + ;; SimianGrid services URL + ;; SimianServiceURL = "http://grid.sciencesim.com/Grid/" + + ;; Capability assigned by the grid administrator for the simulator + ;; SimulatorCapability = "00000000-0000-0000-0000-000000000000" diff --git a/config/config-include/GridHypergrid.ini b/config/config-include/GridHypergrid.ini new file mode 100644 index 0000000..602d673 --- /dev/null +++ b/config/config-include/GridHypergrid.ini @@ -0,0 +1,108 @@ +;; +;; Please don't change this file. +;; All optional settings are in GridCommon.ini.example, +;; which you can copy and change. +;; + +[Includes] + Include-Common = "config-include/GridCommon.ini" + +[Startup] + WorldMapModule = "HGWorldMap" + +[Modules] + AssetServices = "HGAssetBroker" + InventoryServices = "HGInventoryBroker" + GridServices = "RemoteGridServicesConnector" + AvatarServices = "RemoteAvatarServicesConnector" + NeighbourServices = "RemoteNeighbourServicesConnector" + AuthenticationServices = "RemoteAuthenticationServicesConnector" + AuthorizationServices = "LocalAuthorizationServicesConnector" + PresenceServices = "RemotePresenceServicesConnector" + UserAccountServices = "RemoteUserAccountServicesConnector" + AgentPreferencesServices= "RemoteAgentPreferencesServicesConnector" + GridUserServices = "RemoteGridUserServicesConnector" + SimulationServices = "RemoteSimulationConnectorModule" + EntityTransferModule = "HGEntityTransferModule" + InventoryAccessModule = "HGInventoryAccessModule" + LandServices = "RemoteLandServicesConnector" + FriendsModule = "HGFriendsModule" + MapImageService = "MapImageServiceModule" + UserManagementModule = "HGUserManagementModule" + SearchModule = "BasicSearchModule" + + LandServiceInConnector = true + NeighbourServiceInConnector = true + SimulationServiceInConnector = true + LibraryModule = true + +[SimulationService] + ; This is the protocol version which the simulator advertises to the source destination when acting as a target destination for a teleport + ; It is used to control the teleport handoff process. + ; Valid values are + ; "SIMULATION/0.3" + ; - This is the default, and it supports teleports to variable-sized regions + ; - Older versions can teleport to this one, but only if the destination region + ; is 256x256 + ; "SIMULATION/0.2" + ; - A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol + ; - this protocol is more efficient than "SIMULATION/0.1" + ; "SIMULATION/0.1" + ; - this is an older teleport protocol used in OpenSimulator 0.7.5 and before. + ConnectorProtocolVersion = "SIMULATION/0.3" + +[Profile] + Module = "BasicProfileModule" + +[SimulationDataStore] + LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" + +[EstateDataStore] + LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" + +[AssetService] + LocalGridAssetService = "OpenSim.Services.Connectors.dll:AssetServicesConnector" + HypergridAssetService = "OpenSim.Services.Connectors.dll:HGAssetServiceConnector" + +[InventoryService] + LocalGridInventoryService = "OpenSim.Region.CoreModules.dll:RemoteXInventoryServicesConnector" + +[GridService] + ; RemoteGridServicesConnector instantiates a LocalGridServicesConnector, + ; which in turn uses this + LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" + StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" + + NetworkConnector = "OpenSim.Services.Connectors.dll:GridServicesConnector" + + ; Needed to display non-default map tile images for linked regions + AssetService = "OpenSim.Services.Connectors.dll:AssetServicesConnector" + + HypergridLinker = true + AllowHypergridMapSearch = true + SuppressConsoleCommands = true + +[LibraryService] + LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" + LibraryName = "OpenSim Library" + DefaultLibrary = "./inventory/Libraries.xml" + +[Friends] + Connector = "OpenSim.Services.Connectors.dll:FriendsServicesConnector" + +[Messaging] + MessageTransferModule = HGMessageTransferModule + ; HG lures break normal in grid lures, so don't use them. +; TODO - double check this is still the case. +; LureModule = HGLureModule + LureModule = LureModule + + +[HGInstantMessageService] + LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" + GridService = "OpenSim.Services.Connectors.dll:GridServicesConnector" + PresenceService = "OpenSim.Services.Connectors.dll:PresenceServicesConnector" + UserAgentService = "OpenSim.Services.Connectors.dll:UserAgentServiceConnector" + +[MapImageService] + LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector" diff --git a/config/config-include/HyperSimianGrid.ini b/config/config-include/HyperSimianGrid.ini new file mode 100644 index 0000000..efad577 --- /dev/null +++ b/config/config-include/HyperSimianGrid.ini @@ -0,0 +1,97 @@ +;; +;; Please don't change this file. +;; All optional settings are in GridCommon.ini.example, +;; which you can copy and change. +;; + +;; +;; In GridCommon.ini, these are the URLs you would use if SimianGrid is +;; installed at http://www.mygrid.com/Grid/ +;; +; AssetServerURI = "http://www.mygrid.com/Grid/?id=" +; InventoryServerURI = "http://www.mygrid.com/Grid/" +; AvatarServerURI = "http://www.mygrid.com/Grid/" +; PresenceServerURI = "http://www.mygrid.com/Grid/" +; UserAccountServerURI = "http://www.mygrid.com/Grid/" +; AuthenticationServerURI = "http://www.mygrid.com/Grid/" +; FriendsServerURI = "http://www.mygrid.com/Grid/" +; GroupsServerURI = "http://www.mygrid.com/Grid/" + +[Includes] + Include-Common = "config-include/GridCommon.ini" + +[Modules] + GridServices = "RemoteGridServicesConnector" + PresenceServices = "SimianPresenceServiceConnector" + UserAccountServices = "SimianUserAccountServiceConnector" + AuthenticationServices = "SimianAuthenticationServiceConnector" + AssetServices = "HGAssetBroker" + InventoryServices = "HGInventoryBroker" + AvatarServices = "SimianAvatarServiceConnector" + + NeighbourServices = "RemoteNeighbourServicesConnector" + SimulationServices = "RemoteSimulationConnectorModule" + EntityTransferModule = "HGEntityTransferModule" + InventoryAccessModule = "HGInventoryAccessModule" + + LandServiceInConnector = true + NeighbourServiceInConnector = true + SimulationServiceInConnector = true + LibraryModule = false + + AssetCaching = "FlotsamAssetCache" + +[SimulationDataStore] + LocalServiceModule = "OpenSim.Services.Connectors.dll:SimulationDataService" + +[EstateDataStore] + LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataService" + +[Friends] + Connector = "OpenSim.Services.Connectors.dll:SimianFriendsServiceConnector" + +[GridService] + LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" + StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" + NetworkConnector = "OpenSim.Services.Connectors.dll:SimianGridServiceConnector" + + HypergridLinker = true + AllowHypergridMapSearch = true + +[LibraryService] + LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" + LibraryName = "OpenSim Library" + DefaultLibrary = "./inventory/Libraries.xml" + +[AssetService] + DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" + LocalGridAssetService = "OpenSim.Services.Connectors.dll:SimianAssetServiceConnector" + HypergridAssetService = "OpenSim.Services.Connectors.dll:HGAssetServiceConnector" + AssetLoaderArgs = "assets/AssetSets.xml" + +[InventoryService] + LocalGridInventoryService = "OpenSim.Services.Connectors.dll:SimianInventoryServiceConnector" + +[Groups] + Enabled = true + Module = GroupsModule + DebugEnabled = false + NoticesEnabled = true + MessagingModule = GroupsMessagingModule + MessagingEnabled = true + ServicesConnectorModule = SimianGroupsServicesConnector + +[Profiles] + Module = "SimianProfiles" + +[HGInventoryAccessModule] + ; + ; === HG ONLY === + ; Change this to your profile server + ; accessible from other grids + ; + ProfileServerURI = "http://mygridserver.com:8002/user" + + ;; If you want to protect your assets from being copied by foreign visitors + ;; uncomment the next line. You may want to do this on sims that have licensed content. + ; OutboundPermission = False diff --git a/config/config-include/SimianGrid.ini b/config/config-include/SimianGrid.ini new file mode 100644 index 0000000..5749656 --- /dev/null +++ b/config/config-include/SimianGrid.ini @@ -0,0 +1,77 @@ +;; +;; Please don't change this file. +;; All optional settings are in GridCommon.ini.example, +;; which you can copy and change. +;; + +;; +;; In GridCommon.ini, these are the URLs you would use if SimianGrid is +;; installed at http://www.mygrid.com/Grid/ +;; +; AssetServerURI = "http://www.mygrid.com/Grid/?id=" +; InventoryServerURI = "http://www.mygrid.com/Grid/" +; AvatarServerURI = "http://www.mygrid.com/Grid/" +; PresenceServerURI = "http://www.mygrid.com/Grid/" +; UserAccountServerURI = "http://www.mygrid.com/Grid/" +; AuthenticationServerURI = "http://www.mygrid.com/Grid/" +; FriendsServerURI = "http://www.mygrid.com/Grid/" +; GroupsServerURI = "http://www.mygrid.com/Grid/" + +[Includes] + Include-Common = "config-include/GridCommon.ini" + +[Modules] + GridServices = "RemoteGridServicesConnector" + PresenceServices = "SimianPresenceServiceConnector" + UserAccountServices = "SimianUserAccountServiceConnector" + AuthenticationServices = "SimianAuthenticationServiceConnector" + AssetServices = "SimianAssetServiceConnector" + InventoryServices = "SimianInventoryServiceConnector" + AvatarServices = "SimianAvatarServiceConnector" + + NeighbourServices = "RemoteNeighbourServicesConnector" + SimulationServices = "RemoteSimulationConnectorModule" + EntityTransferModule = "BasicEntityTransferModule" + InventoryAccessModule = "BasicInventoryAccessModule" + + LandServiceInConnector = true + NeighbourServiceInConnector = true + SimulationServiceInConnector = true + LibraryModule = false + + AssetCaching = "FlotsamAssetCache" + +[SimulationDataStore] + LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" + +[EstateDataStore] + LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" + +[Friends] + Connector = "OpenSim.Services.Connectors.dll:SimianFriendsServiceConnector" + +[GridService] + LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" + StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" + NetworkConnector = "OpenSim.Services.Connectors.dll:SimianGridServiceConnector" + +[LibraryService] + LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" + LibraryName = "OpenSim Library" + DefaultLibrary = "./inventory/Libraries.xml" + +[AssetService] + DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" + AssetLoaderArgs = "assets/AssetSets.xml" + +[Groups] + Enabled = true + Module = GroupsModule + DebugEnabled = false + NoticesEnabled = true + MessagingModule = GroupsMessagingModule + MessagingEnabled = true + ServicesConnectorModule = SimianGroupsServicesConnector + +[Profiles] + Module = "SimianProfiles" diff --git a/config/config-include/Standalone.ini b/config/config-include/Standalone.ini new file mode 100644 index 0000000..78ada2b --- /dev/null +++ b/config/config-include/Standalone.ini @@ -0,0 +1,118 @@ +;; +;; Please don't change this file. +;; All optional settings are in StandaloneCommon.ini.example, +;; which you can copy and change. +;; + +[Modules] + AssetServices = "LocalAssetServicesConnector" + InventoryServices = "LocalInventoryServicesConnector" + NeighbourServices = "LocalNeighbourServicesConnector" + AuthenticationServices = "LocalAuthenticationServicesConnector" + AuthorizationServices = "LocalAuthorizationServicesConnector" + GridServices = "LocalGridServicesConnector" + PresenceServices = "LocalPresenceServicesConnector" + UserProfilesServices = "LocalUserProfilesServicesConnector" + UserAccountServices = "LocalUserAccountServicesConnector" + AgentPreferencesServices= "LocalAgentPreferencesServicesConnector" + GridUserServices = "LocalGridUserServicesConnector" + SimulationServices = "LocalSimulationConnectorModule" + AvatarServices = "LocalAvatarServicesConnector" + EntityTransferModule = "BasicEntityTransferModule" + InventoryAccessModule = "BasicInventoryAccessModule" + MapImageService = "MapImageServiceModule" + SearchModule = "BasicSearchModule" + + LibraryModule = true + LLLoginServiceInConnector = true + GridInfoServiceInConnector = true + MapImageServiceInConnector = true + +[SimulationDataStore] + LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" + +[EstateDataStore] + LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" + +[AssetService] + LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService" + +[InventoryService] + LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService" + +[LibraryService] + LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" + LibraryName = "OpenSim Library" + DefaultLibrary = "./inventory/Libraries.xml" + +[AvatarService] + LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService" + +[AuthenticationService] + LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + +[GridService] + LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" + Realm = "regions" + StorageProvider = "OpenSim.Data.Null.dll" + +[PresenceService] + LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService" + StorageProvider = "OpenSim.Data.Null.dll" + +[UserAccountService] + LocalServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService" + + ;; These are for creating new accounts + AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" + GridService = "OpenSim.Services.GridService.dll:GridService" + InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" + AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" + + ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 to show a default "Ruth" avatar rather than a cloud. + CreateDefaultAvatarEntries = true + +[GridUserService] + LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService" + +[FriendsService] + LocalServiceModule = "OpenSim.Services.FriendsService.dll" + +[Friends] + Connector = "OpenSim.Services.FriendsService.dll" + +[AgentPreferencesService] + LocalServiceModule = "OpenSim.Services.UserAccountService.dll:AgentPreferencesService" + +[LoginService] + LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService" + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" + AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + GridService = "OpenSim.Services.GridService.dll:GridService" + AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" + FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" + + WelcomeMessage = "Welcome, Avatar!" + + ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time" + ;; Viewers do not receive timezone information from the server - almost all (?) default to Pacific Standard Time + ;; However, they do rely on the server to tell them whether it's Daylight Saving Time or not. + ;; Hence, calculating DST based on a different timezone can result in a misleading viewer display and inconsistencies between grids. + ;; By default, this setting uses various timezone names to calculate DST with regards to the viewer's standard PST. + ;; Options are + ;; "none" no DST + ;; "local" use the server's only timezone to calculate DST. This is previous OpenSimulator behaviour. + ;; "America/Los_Angeles;Pacific Standard Time" use these timezone names to look up Daylight savings. + ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows + DSTZone = "America/Los_Angeles;Pacific Standard Time" + +[MapImageService] + LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" + +;; This should always be the very last thing on this file +[Includes] + Include-Common = "config-include/StandaloneCommon.ini" diff --git a/config/config-include/StandaloneCommon.ini.example b/config/config-include/StandaloneCommon.ini.example new file mode 100644 index 0000000..d0b152c --- /dev/null +++ b/config/config-include/StandaloneCommon.ini.example @@ -0,0 +1,398 @@ +; This is the main configuration file for an instance of OpenSim running in standalone mode + +[DatabaseService] + ; + ; ### Choose the DB + ; + + ; SQLite + Include-Storage = "config-include/storage/SQLiteStandalone.ini"; + + ; MySql + ; Uncomment these lines if you want to use mysql storage + ; Change the connection string to your db details + ;StorageProvider = "OpenSim.Data.MySQL.dll" + ;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" + + ; Uncomment this line if you are using MySQL and want to use a different database for estates. + ; The usual application for this is to allow estates to be spread out across multiple simulators by share the same database. + ; Most people won't need to do this so only uncomment if you know what you're doing. + ;EstateConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" + + ; MSSQL + ; Uncomment these lines if you want to use MSSQL storage + ; Change the connection string to your db details + ; The value for server property is shown in your SQL Server Management Studio login dialog. + ; (This sample is the default of express edition) + ;StorageProvider = "OpenSim.Data.MSSQL.dll" + ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;" + + ; PGSQL + ; Uncomment these lines if you want to use PGSQL storage + ; Change the connection string to your db details + ;StorageProvider = "OpenSim.Data.PGSQL.dll" + ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" + +[Hypergrid] + ; Uncomment the variables in this section only if you are in + ; Hypergrid configuration. Otherwise, ignore. + + ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server that + ;; runs the UserAgentsService. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + + ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server + ;; that runs the Gatekeeper service. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" + +[Modules] + ;; Choose one cache module and the corresponding config file, if it exists. + ;; Copy the config .example file into your own .ini file and alter that + ;; We recommend the use of the FlotsamAssetCache since this is most actively maintained. + + AssetCaching = "FlotsamAssetCache" + Include-FlotsamCache = "config-include/FlotsamCache.ini" + + ;AssetCaching = "CenomeMemoryAssetCache" + ;Include-CenomeCache = "config-include/CenomeCache.ini" + + ;AssetCaching = "GlynnTuckerAssetCache" + + ;; Authorization is not on by default, as it depends on external php + ;AuthorizationServices = "LocalAuthorizationServicesConnector" + +[AssetService] + DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" + AssetLoaderArgs = "assets/AssetSets.xml" + +[GridService] + ;; For in-memory region storage (default) + StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" + ;;--- For MySql region storage (alternative) + ;StorageProvider = "OpenSim.Data.MySQL.dll:MySqlRegionData" + + ;; Directory for map tile images of remote regions + ; MapTileDirectory = "./maptiles" + + ;; Next, we can specify properties of regions, including default and fallback regions + ;; The syntax is: Region_ = "" + ;; where can be DefaultRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut + ;; + ;; DefaultRegion If a local login cannot be placed in the required region (e.g. home region does not exist, avatar is not allowed entry, etc.) + ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion + ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified + ;; an explicit region. + ;; + ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online + ;; region will be used. + ;; + ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the + ;; order specified. This only applies to local logins at this time, not Hypergrid connections. + ;; + ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins. + ;; + ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid. + ;; + ;; For example: + Region_Welcome_Area = "DefaultRegion, FallbackRegion" + + ;; Allow supporting viewers to export content + ;; Set to false to prevent export + ExportSupported = true + + ; === HG ONLY === + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented + ; GatekeeperURI="${Const|BaseURL}:${Const|PublicPort}" + +[LibraryModule] + ; Set this if you want to change the name of the OpenSim Library + ;LibraryName = "My World's Library" + +[LoginService] + WelcomeMessage = "Welcome, Avatar!" + ;; If you have Gatekeeper set under [Hypergrid], no need to set it here, leave it commented + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" + + SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_InventoryServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_AssetServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_ProfileServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_FriendsServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_IMServerURI = "${Const|BaseURL}:${Const|PublicPort}" + + ;; For Viewer 2 + MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/" + + ; Url to search service + ; SearchURL = "${Const|BaseURL}:${Const|PublicPort}"; + + ; For V3 destination guide + ; DestinationGuide = "${Const|BaseURL}/guide" + + ; The minimum user level required for a user to be able to login. 0 by default + ; If you disable a particular user's account then you can set their login level below this number. + ; You can also change this level from the console though these changes will not be persisted. + ; MinLoginLevel = 0 + + ;; Ask co-operative viewers to use a different currency name + ;Currency = "" + + ;; Set minimum fee to publish classified + ; ClassifiedFee = 0 + + ; Basic Login Service Dos Protection Tweaks + ; ; + ; ; Some Grids/Users use a transparent proxy that makes use of the X-Forwarded-For HTTP Header, If you do, set this to true + ; ; If you set this to true and you don't have a transparent proxy, it may allow attackers to put random things in the X-Forwarded-For header to + ; ; get around this basic DOS protection. + ; DOSAllowXForwardedForHeader = false + ; ; + ; ; The protector adds up requests during this rolling period of time, default 10 seconds + ; DOSRequestTimeFrameMS = 10000 + ; ; + ; ; The amount of requests in the above timeframe from the same endpoint that triggers protection + ; DOSMaxRequestsInTimeFrame = 5 + ; ; + ; ; The amount of time that a specific endpoint is blocked. Default 2 minutes. + ; DOSForgiveClientAfterMS = 120000 + ; ; + ; ; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0. + +[FreeswitchService] + ;; If FreeSWITCH is not being used then you don't need to set any of these parameters + ;; + ;; The IP address of your FreeSWITCH server. The common case is for this to be the same as the server running the OpenSim standalone + ;; This has to be set for the FreeSWITCH service to work + ;; This address must be reachable by viewers. + ;ServerAddress = 127.0.0.1 + + ;; The following configuration parameters are optional + + ;; By default, this is the same as the ServerAddress + ; Realm = 127.0.0.1 + + ;; By default, this is the same as the ServerAddress on port 5060 + ; SIPProxy = 127.0.0.1:5060 + + ;; Default is 5000ms + ; DefaultTimeout = 5000 + + ;; The dial plan context. Default is "default" + ; Context = default + + ;; Currently unused + ; UserName = freeswitch + + ;; Currently unused + ; Password = password + + ;; The following parameters are for STUN = Simple Traversal of UDP through NATs + ;; See http://wiki.freeswitch.org/wiki/NAT_Traversal + ;; stun.freeswitch.org is not guaranteed to be running so use it in + ;; production at your own risk + ; EchoServer = 127.0.0.1 + ; EchoPort = 50505 + ; AttemptSTUN = false + +[GridInfoService] + ; These settings are used to return information on a get_grid_info call. + ; Client launcher scripts and third-party clients make use of this to + ; autoconfigure the client and to provide a nice user experience. If you + ; want to facilitate that, you should configure the settings here according + ; to your grid or standalone setup. + ; + ; See http://opensimulator.org/wiki/GridInfo + + ; login uri: for grid this is the login server URI + login = ${Const|BaseURL}:${Const|PublicPort}/ + + ; long grid name: the long name of your grid + gridname = "the lost continent of hippo" + + ; short grid name: the short name of your grid + gridnick = "hippogrid" + + ; login page: optional: if it exists it will be used to tell the client to use + ; this as splash page. May also be served from an external web server, e.g. for + ; information on a standalone + ;welcome = ${Const|BaseURL}/welcome + + ; helper uri: optional: if it exists it will be used to tell the client to use + ; this for all economy related things + ;economy = ${Const|BaseURL}/economy + + ; web page of grid: optional: page providing further information about your grid + ;about = ${Const|BaseURL}/about + + ; account creation: optional: page providing further information about obtaining + ; a user account on your grid + ;register = ${Const|BaseURL}/register + + ; help: optional: page providing further assistance for users of your grid + ;help = ${Const|BaseURL}/help + + ; password help: optional: page providing password assistance for users of your grid + ;password = ${Const|BaseURL}/password + + ; HG address of the gatekeeper, if you have one + ; this is the entry point for all the regions of the world + ; gatekeeper = ${Const|BaseURL}:${Const|PublicPort}/ + + ; HG user domain, if you have one + ; this is the entry point for all user-related HG services + ; uas = ${Const|BaseURL}:${Const|PublicPort}/ + +[MapImageService] + ; Set this if you want to change the default + ; TilesStoragePath = "maptiles" + +[AuthorizationService] + ; If you have regions with access restrictions + ; specify them here using the convention + ; Region_ = + ; Valid flags are: + ; DisallowForeigners -- HG visitors not allowed + ; DisallowResidents -- only Admins and Managers allowed + ; Example: + ; Region_Test_1 = "DisallowForeigners" + +;; +;; HG configurations +;; +[GatekeeperService] + ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented + ; ExternalName = "${Const|BaseURL}:${Const|PublicPort}" + + ; Does this grid allow incoming links to any region in it? + ; If false, HG TPs happen only to the Default regions specified in [GridService] section + AllowTeleportsToAnyRegion = true + + ;; Regular expressions for controlling which client versions are accepted/denied. + ;; An empty string means nothing is checked. + ;; + ;; Example 1: allow only these 3 types of clients (any version of them) + ;; AllowedClients = "Imprudence|Hippo|Second Life" + ;; + ;; Example 2: allow all clients except these + ;; DeniedClients = "Twisted|Crawler|Cryolife|FuckLife|StreetLife|GreenLife|AntiLife|KORE-Phaze|Synlyfe|Purple Second Life|SecondLi |Emerald" + ;; + ;; Note that these are regular expressions, so every character counts. + ;; Also note that this is very weak security and should not be trusted as a reliable means + ;; for keeping bad clients out; modified clients can fake their identifiers. + ;; + ;; + ;AllowedClients = "" + ;DeniedClients = "" + + ;; Are foreign visitors allowed? + ;ForeignAgentsAllowed = true + ;; + ;; If ForeignAgentsAllowed is true, make exceptions using AllowExcept. + ;; Leave blank or commented for no exceptions. + ; AllowExcept = "http://griefer.com:8002, http://enemy.com:8002" + ;; + ;; If ForeignAgentsAllowed is false, make exceptions using DisallowExcept + ;; Leave blank or commented for no exceptions. + ; DisallowExcept = "http://myfriendgrid.com:8002, http://myboss.com:8002" + +[UserAgentService] + ;; User level required to be contacted from other grids + ;LevelOutsideContacts = 0 + + ;; Restrictions on destinations of local users. + ;; Are local users allowed to visit other grids? + ;; What user level? Use variables of this forrm: + ;; ForeignTripsAllowed_Level_ = true | false + ;; (the default is true) + ;; For example: + ; ForeignTripsAllowed_Level_0 = false + ; ForeignTripsAllowed_Level_200 = true ; true is default, no need to say it + ;; + ;; If ForeignTripsAllowed is false, make exceptions using DisallowExcept + ;; Leave blank or commented for no exceptions. + ; DisallowExcept_Level_0 = "http://myothergrid.com:8002, http://boss.com:8002" + ;; + ;; If ForeignTripsAllowed is true, make exceptions using AllowExcept. + ;; Leave blank or commented for no exceptions. + ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002" + + ;; This variable controls what is exposed to profiles of local users + ;; as seen from outside of this grid. Leave it uncommented for exposing + ;; UserTitle, UserFlags and the creation date. Uncomment and change to False + ;; to block this info from being exposed. + ; ShowUserDetailsInHGProfile = True + +[HGInventoryService] + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + +[HGAssetService] + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + + ;; The asset types that this grid can export to / import from other grids. + ;; Comma separated. + ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: + ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, + ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh + ;; + ;; Leave blank or commented if you don't want to apply any restrictions. + ;; A more strict, but still reasonable, policy may be to disallow the exchange + ;; of scripts, like so: + ; DisallowExport ="LSLText" + ; DisallowImport ="LSLBytecode" + +[HGInventoryAccessModule] + ;; If you have these set under [Hypergrid], no need to set it here, leave it commented + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" + + ;; If you want to protect your assets from being copied by foreign visitors + ;; uncomment the next line. You may want to do this on sims that have licensed content. + ;; true = allow exports, false = disallow exports. True by default. + ; OutboundPermission = True + + ;; Send visual reminder to local users that their inventories are unavailable while they are traveling + ;; and available when they return. True by default. + ;RestrictInventoryAccessAbroad = True + +[HGFriendsModule] + ; User level required to be able to send friendship invitations to foreign users + ;LevelHGFriends = 0; + +[Messaging] + ; === HG ONLY === + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" + +[EntityTransfer] + ;; User level from which local users are allowed to HG teleport. Default 0 (all users) + ;LevelHGTeleport = 0 + + ;; Are local users restricted from taking their appearance abroad? + ;; Default is no restrictions + ;RestrictAppearanceAbroad = false + + ;; If appearance is restricted, which accounts' appearances are allowed to be exported? + ;; Comma-separated list of account names + AccountForAppearance = "Test User, Astronaut Smith" + +[UserProfilesService] + ;; To use, set Enabled to true then configure for your site... + Enabled = false + LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" + + ;; Configure this for separate databse + ; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" + ; Realm = UserProfiles + + UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService + AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" diff --git a/config/config-include/StandaloneHypergrid.ini b/config/config-include/StandaloneHypergrid.ini new file mode 100644 index 0000000..eaacfff --- /dev/null +++ b/config/config-include/StandaloneHypergrid.ini @@ -0,0 +1,195 @@ +;; +;; Please don't change this file. +;; All optional settings are in StandaloneCommon.ini.example, +;; which you can copy and change. +;; + +[Startup] + WorldMapModule = "HGWorldMap" + +[Modules] + AssetServices = "HGAssetBroker" + InventoryServices = "HGInventoryBroker" + NeighbourServices = "LocalNeighbourServicesConnector" + AuthenticationServices = "LocalAuthenticationServicesConnector" + AuthorizationServices = "LocalAuthorizationServicesConnector" + GridServices = "LocalGridServicesConnector" + PresenceServices = "LocalPresenceServicesConnector" + UserAccountServices = "LocalUserAccountServicesConnector" + AgentPreferencesServices= "LocalAgentPreferencesServicesConnector" + GridUserServices = "LocalGridUserServicesConnector" + SimulationServices = "RemoteSimulationConnectorModule" + AvatarServices = "LocalAvatarServicesConnector" + UserProfilesServices = "LocalUserProfilesServicesConnector" + MapImageService = "MapImageServiceModule" + EntityTransferModule = "HGEntityTransferModule" + InventoryAccessModule = "HGInventoryAccessModule" + FriendsModule = "HGFriendsModule" + UserManagementModule = "HGUserManagementModule" + SearchModule = "BasicSearchModule" + + InventoryServiceInConnector = true + AssetServiceInConnector = true + HypergridServiceInConnector = true + NeighbourServiceInConnector = true + LibraryModule = true + LLLoginServiceInConnector = true + GridInfoServiceInConnector = true + AuthenticationServiceInConnector = true + SimulationServiceInConnector = true + MapImageServiceInConnector = true + +[Messaging] + MessageTransferModule = HGMessageTransferModule + LureModule = HGLureModule + +[SimulationDataStore] + LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" + +[EstateDataStore] + LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" + +[AssetService] + LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService" + + ; For HGAssetBroker + LocalGridAssetService = "OpenSim.Services.AssetService.dll:AssetService" + HypergridAssetService = "OpenSim.Services.Connectors.dll:HGAssetServiceConnector" + +[InventoryService] + ; For HGInventoryBroker + LocalGridInventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" + +[AvatarService] + LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService" + +[LibraryService] + LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" + LibraryName = "OpenSim Library" + DefaultLibrary = "./inventory/Libraries.xml" + +[AuthenticationService] + LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + +[GridService] + ; LocalGridServicesConnector needs this + LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" + Realm = "regions" + StorageProvider = "OpenSim.Data.Null.dll" + + ; Needed to display non-default map tile images for remote regions + AssetService = "OpenSim.Services.AssetService.dll:AssetService" + + HypergridLinker = true + AllowHypergridMapSearch = true + +[PresenceService] + LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService" + StorageProvider = "OpenSim.Data.Null.dll" + +[UserAccountService] + LocalServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService" + + ;; These are for creating new accounts by the service + AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" + GridService = "OpenSim.Services.GridService.dll:GridService" + InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" + AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" + + ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 to show a default "Ruth" avatar rather than a cloud. + CreateDefaultAvatarEntries = true + +[GridUserService] + LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService" + +[FriendsService] + LocalServiceModule = "OpenSim.Services.FriendsService.dll" + +[Friends] + Connector = "OpenSim.Services.FriendsService.dll" + +[AgentPreferencesService] + LocalServiceModule = "OpenSim.Services.UserAccountService.dll:AgentPreferencesService" + +[LoginService] + LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService" + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" + UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" + AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + GridService = "OpenSim.Services.GridService.dll:GridService" + AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" + FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" + + ; This inventory service will be used to initialize the user's inventory + HGInventoryServicePlugin = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" + HGInventoryServiceConstructorArg = "HGInventoryService" + +[MapImageService] + LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" + +[GatekeeperService] + LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService" + ;; for the service + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" + UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + GridService = "OpenSim.Services.GridService.dll:GridService" + AuthenticationService = "OpenSim.Services.Connectors.dll:AuthenticationServicesConnector" + SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector" + +[UserAgentService] + LocalServiceModule = "OpenSim.Services.HypergridService.dll:UserAgentService" + ;; for the service + GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" + GridService = "OpenSim.Services.GridService.dll:GridService" + GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + + ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 to show a default "Ruth" avatar rather than a cloud. + CreateDefaultAvatarEntries = true + +;; The interface that local users get when they are in other grids +;; This greatly restricts the inventory operations while in other grids +[HGInventoryService] + ; For the InventoryServiceInConnector + LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" + ;; alternatives: + ;; HG1.5, more permissive, not recommended, but still supported + ;LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInventoryService" + ;; HG1.0, totally permissive, not recommended, but OK for grids with 100% trust + ;LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService" + + UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" + +;; The interface that local users get when they are in other grids +;; This restricts/filters the asset operations from the outside +[HGAssetService] + LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGAssetService" + UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + +[HGFriendsService] + LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFriendsService" + UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" + FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + GridService = "OpenSim.Services.GridService.dll:GridService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + +[HGInstantMessageService] + LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" + GridService = "OpenSim.Services.GridService.dll:GridService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" + InGatekeeper = True + +;; This should always be the very last thing on this file +[Includes] + Include-Common = "config-include/StandaloneCommon.ini" diff --git a/config/config-include/osslEnable.ini b/config/config-include/osslEnable.ini new file mode 100644 index 0000000..0a03d4c --- /dev/null +++ b/config/config-include/osslEnable.ini @@ -0,0 +1,230 @@ +; Enable OSSL functions. +; Including this file in a region's set of INI files, causes the OpenSimulator +; specific functions to be enabled. +; See http://opensimulator.org/wiki/OSSL for a description of OSSL functions and +; refer to http://opensimulator.org/wiki/OSSL_Implemented for a list of functions. + +; The below file lists all the functions and specifies who has permission to +; execute the function. Some of the functions are for maintainance or can be +; mis-used so the permission to execute a function can be limited. Ability to +; execute a function is based on the owner of the prim holding the script. + +[XEngine] + ; Allow the use of os* functions (some are dangerous) + AllowOSFunctions = true + + ; Allow the user of mod* functions. This allows a script to pass messages + ; to a region module via the modSendCommand() function and is used by some + ; modules to extend the scripting language. + AllowMODFunctions = true + + ; Allow the use of LightShare functions. + ; The setting enable_windlight = true must also be enabled in the [LightShare] section. + AllowLightShareFunctions = true + + ; Threat level to allow. One of None, VeryLow, Low, Moderate, High, VeryHigh, Severe. + ; See http://opensimulator.org/wiki/Threat_level for more information on these levels. + ; This is the default level and can be overridden with the Allow_ specifications. + ; Blanket enabling the ossl functions is dangerous and we do not recommend setting higher + ; than 'Low' unless you have a high level of trust in all the users that can run scripts + ; in your simulator. It is safer to explicitly allow certain types of user to run + ; higher threat level OSSL functions, as detailed later on. + OSFunctionThreatLevel = VeryLow + + ; Each of the OSSL functions can be enabled or disabled individually. + ; To disable, set the value to 'false'. + ; To enable for everyone, set the value to 'true'. + ; To enable for individuals or groups, set it to a comma separated list. This checks + ; against the owner of the object containing the script. + ; The comma separated entries in the list may be one of: + ; "ESTATE_MANAGER" -- enable for estate manager + ; "ESTATE_OWNER" -- enable for estate owner + ; "PARCEL_OWNER" -- enable for parcel owner + ; "PARCEL_GROUP_MEMBER" -- enable for any member of the parcel group + ; uuid -- enable for specified ID (may be avatar or group ID) + + ; The OSSL function name is prepended with "Allow_" and it checks against + ; the owners of the containing prim. There can also be entries beginning with + ; 'Creators_". The 'Creators_" parameters can only be a list of UUIDs and it is + ; checked against the creator of the script itself. + + ; Allowing ossl functions for anyone owning a parcel can be dangerous especially if + ; a region is selling or otherwise giving away parcel ownership. By default, parcel + ; ownership or group membership does not enable OSSL functions. Uncomment the + ; appropriate line below to allow parcel ownership and groups to do restricted + ; OSSL functions. It might be better to check the list below and edit the ones + ; to enable individually. + osslParcelO = "" + osslParcelOG = "" + ; osslParcelO = "PARCEL_OWNER," + ; osslParcelOG = "PARCEL_GROUP_MEMBER,PARCEL_OWNER," + + ; There are a block of functions for creating and controlling NPCs. + ; These can be mis-used so limit use to those you can trust. + osslNPC = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + + ; ThreatLevel None + Allow_osDrawEllipse = true + Allow_osDrawFilledPolygon = true + Allow_osDrawFilledRectangle = true + Allow_osDrawImage = true + Allow_osDrawLine = true + Allow_osDrawPolygon = true + Allow_osDrawRectangle = true + Allow_osDrawText = true + Allow_osGetAgents = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetAvatarList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetCurrentSunHour = true + Allow_osGetGender = true + Allow_osGetHealth = true + Allow_osGetInventoryDesc = true + Allow_osGetMapTexture = true + Allow_osGetRegionSize = true + Allow_osGetRezzingObject = true + Allow_osGetSunParam = true + Allow_osGetTerrainHeight = true + Allow_osIsNpc = true + Allow_osIsUUID = true + Allow_osList2Double = true + Allow_osMax = true + Allow_osMin = true + Allow_osMovePen = true + Allow_osNpcGetOwner = ${XEngine|osslNPC} + Allow_osParseJSON = true + Allow_osParseJSONNew = true + Allow_osSetFontName = true + Allow_osSetFontSize = true + Allow_osSetPenCap = true + Allow_osSetPenColor = true + Allow_osSetPenSize = true + Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osTeleportOwner = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osWindActiveModelPluginName = true + Allow_osCheckODE = true ; Here for completeness. This function cannot be turned off + + ; ThreatLevel Nuisance + Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER + + ; ThreatLevel VeryLow + Allow_osEjectFromGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceBreakAllLinks = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceBreakLink = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetDrawStringSize = true + Allow_osGetWindParam = true + Allow_osInviteToGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osReplaceString = true + Allow_osSetDynamicTextureData = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureDataBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureDataBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureURLBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureURLBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetParcelMediaURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetParcelSIPAddress = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetPrimFloatOnWater = true + Allow_osSetWindParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER + Allow_osUnixTimeToTimestamp = true + + ; ThreatLevel Low + Allow_osAvatarName2Key = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osFormatString = true + Allow_osKey2Name = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osListenRegex = true + Allow_osLoadedCreationDate = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osLoadedCreationID = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osLoadedCreationTime = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osMessageObject = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osRegexIsMatch = true + Allow_osGetAvatarHomeURI = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + + ; ThreatLevel Moderate + Allow_osDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGridCustom = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGridGatekeeperURI = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGridHomeURI = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGridLoginURI = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGridName = true + Allow_osGetGridNick = true + Allow_osGetNumberOfAttachments = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetRegionStats = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetSimulatorMemory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osMessageAttachments = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetSpeed = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + + ; ThreatLevel High + Allow_osCauseDamage = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osCauseHealing = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceAttachToAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceAttachToAvatarFromInventory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceCreateLink = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetAgentIP = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetLinkPrimitiveParams = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetPhysicsEngineType = true + Allow_osGetPrimitiveParams = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetRegionMapTexture = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetScriptEngineName = true + Allow_osGetSimulatorVersion = true + Allow_osMakeNotecard = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osMatchString = true + Allow_osNpcCreate = ${XEngine|osslNPC} + Allow_osNpcGetPos = ${XEngine|osslNPC} + Allow_osNpcGetRot = ${XEngine|osslNPC} + Allow_osNpcLoadAppearance = ${XEngine|osslNPC} + Allow_osNpcMoveTo = ${XEngine|osslNPC} + Allow_osNpcMoveToTarget = ${XEngine|osslNPC} + Allow_osNpcPlayAnimation = ${XEngine|osslNPC} + Allow_osNpcRemove = ${XEngine|osslNPC} + Allow_osNpcSaveAppearance = ${XEngine|osslNPC} + Allow_osNpcSay = ${XEngine|osslNPC} + Allow_osNpcSetRot = ${XEngine|osslNPC} + Allow_osNpcShout = ${XEngine|osslNPC} + Allow_osNpcSit = ${XEngine|osslNPC} + Allow_osNpcStand = ${XEngine|osslNPC} + Allow_osNpcStopAnimation = ${XEngine|osslNPC} + Allow_osNpcStopMoveToTarget = ${XEngine|osslNPC} + Allow_osNpcTouch = ${XEngine|osslNPC} + Allow_osNpcWhisper = ${XEngine|osslNPC} + Allow_osOwnerSaveAppearance = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER + Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER + Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetContentType = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetPrimitiveParams = false + Allow_osSetProjectionParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetStateEvents = false ; deprecated + Allow_osSetTerrainHeight = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetTerrainTexture = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetTerrainTextureHeight = ESTATE_MANAGER,ESTATE_OWNER + + ; ThreatLevel VeryHigh + Allow_osAgentSaveAppearance = ESTATE_MANAGER,ESTATE_OWNER + ; Warning: The next function allows scripts to force animations on avatars without the user giving permission. + ; Enabling this can allow forced animations which can trigger traumatic episodes in vulnerable populations. + ; Similar things can be said for several of the 'force' functions. Enable with care and control. + ; Some of these were added as early functionality for NPCs. This has been replaced with the NPC functions. + Allow_osAvatarPlayAnimation = false + Allow_osAvatarStopAnimation = false + Allow_osForceDetachFromAvatar = false + Allow_osForceOtherSit = false + ; The notecard functions can cause a lot of load on the region if over used + Allow_osGetNotecard = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetNotecardLine = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetNumberOfNotecardLines = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetRot = false + Allow_osSetParcelDetails = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + + ; ThreatLevel Severe + Allow_osConsoleCommand = false + Allow_osForceAttachToOtherAvatarFromInventory = false + Allow_osGrantScriptPermissions = false + Allow_osKickAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osRevokeScriptPermissions = false + Allow_osTeleportAgent = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + diff --git a/config/config-include/storage/SQLiteStandalone.ini b/config/config-include/storage/SQLiteStandalone.ini new file mode 100644 index 0000000..14051cc --- /dev/null +++ b/config/config-include/storage/SQLiteStandalone.ini @@ -0,0 +1,39 @@ +; These are the initialization settings for running OpenSim Standalone with an SQLite database + +[DatabaseService] + StorageProvider = "OpenSim.Data.SQLite.dll" + ConnectionString = "URI=file:../db/OpenSim.db,version=3,UseUTF16Encoding=True" + +[AssetService] + ConnectionString = "URI=file:../db/Asset.db,version=3" + +; The HGAssetService section controls the connection given to the AssetService in a Hypergrid configuration. +; This has to be separate from [AssetService] because the Hypergrid facing connector uses [HGAssetService] for its config data instead. +; However, the internal asset service will still use the [AssetService] section. +; Therefore, you will almost certainly want the ConnectionString in [HGAssetService] to be the same as in [AssetService] +; so that they both access the same database. +; This issue does not apply to normal MySQL/MSSQL configurations, since by default they use the settings in [DatabaseService] and +; do not have separate connection strings for different services. +[HGAssetService] + ConnectionString = "URI=file:../db/Asset.db,version=3" + +[InventoryService] + ;ConnectionString = "URI=file:../db/inventory.db,version=3" + ; if you have a legacy inventory store use the connection string below + ConnectionString = "URI=file:../db/inventory.db,version=3,UseUTF16Encoding=True" + +[AvatarService] + ConnectionString = "URI=file:../db/avatars.db,version=3" + +[AuthenticationService] + ConnectionString = "URI=file:../db/auth.db,version=3" + +[UserAccountService] + ConnectionString = "URI=file:../db/userprofiles.db,version=3" + +[GridUserService] + ConnectionString = "URI=file:../db/griduser.db,version=3" + +[FriendsService] + ConnectionString = "URI=file:../db/friends.db,version=3" + diff --git a/db/.keep b/db/.keep new file mode 100644 index 0000000..e69de29 diff --git a/logs/.keep b/logs/.keep new file mode 100644 index 0000000..e69de29 -- cgit v1.1