From 5e4d6cab00cb29cd088ab7b62ab13aff103b64cb Mon Sep 17 00:00:00 2001 From: onefang Date: Sun, 19 May 2019 21:24:15 +1000 Subject: Dump OpenSim 0.9.0.1 into it's own branch. --- bin/config-include/CenomeCache.ini.example | 14 + bin/config-include/FlotsamCache.ini.example | 97 ++++++ bin/config-include/Grid.ini | 60 ++++ bin/config-include/GridCommon.ini.example | 249 +++++++++++++++ bin/config-include/GridHypergrid.ini | 87 ++++++ bin/config-include/HyperSimianGrid.ini | 97 ++++++ bin/config-include/SimianGrid.ini | 77 +++++ bin/config-include/Standalone.ini | 122 ++++++++ bin/config-include/StandaloneCommon.ini.example | 398 ++++++++++++++++++++++++ bin/config-include/StandaloneHypergrid.ini | 199 ++++++++++++ bin/config-include/osslEnable.ini | 266 ++++++++++++++++ bin/config-include/storage/SQLiteStandalone.ini | 39 +++ 12 files changed, 1705 insertions(+) create mode 100644 bin/config-include/CenomeCache.ini.example create mode 100644 bin/config-include/FlotsamCache.ini.example create mode 100644 bin/config-include/Grid.ini create mode 100644 bin/config-include/GridCommon.ini.example create mode 100644 bin/config-include/GridHypergrid.ini create mode 100644 bin/config-include/HyperSimianGrid.ini create mode 100644 bin/config-include/SimianGrid.ini create mode 100644 bin/config-include/Standalone.ini create mode 100644 bin/config-include/StandaloneCommon.ini.example create mode 100644 bin/config-include/StandaloneHypergrid.ini create mode 100644 bin/config-include/osslEnable.ini create mode 100644 bin/config-include/storage/SQLiteStandalone.ini (limited to 'bin/config-include') diff --git a/bin/config-include/CenomeCache.ini.example b/bin/config-include/CenomeCache.ini.example new file mode 100644 index 0000000..4340493 --- /dev/null +++ b/bin/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/bin/config-include/FlotsamCache.ini.example b/bin/config-include/FlotsamCache.ini.example new file mode 100644 index 0000000..4f16943 --- /dev/null +++ b/bin/config-include/FlotsamCache.ini.example @@ -0,0 +1,97 @@ +[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 + ; assets can be requested several times in short periods + ; so even a small memory cache is useful + MemoryCacheEnabled = false + + ; If a memory cache hit happens, or the asset is still in memory + ; due to other causes, update the timestamp on the disk file anyway. + ; Don't turn this on unless you share your asset cache between simulators + ; AND use an external process, e.g. cron job, to clean it up. + UpdateFileTimeOnCacheHit = false + + ; Enabling this will cache negative fetches. If an asset is negative-cached + ; it will not be re-requested from the asset server again for a while. + ; Generally, this is a good thing. + ; + ; Regular expiration settings (non-sliding) mean that the asset will be + ; retried after the time has expired. Sliding expiration means that + ; the time the negative cache will keep the asset is refreshed each + ; time a fetch is attempted. Use sliding expiration if you have rogue + ; scripts hammering the asset server with requests for nonexistent + ; assets. + ; + ; There are two cases where negative caching may cause issues: + ; + ; 1 - If an invalid asset is repeatedly requested by a script and that asset is + ; subsequently created, it will not be seen until fcache clear + ; is used. This is a very theoretical scenario since UUID collisions + ; are deemed to be not occuring in practice. + ; This can only become an issue with sliding expiration time. + ; + ; 2 - If the asset service is clustered, an asset may not have propagated + ; to all cluster members when it is first attempted to fetch it. + ; This may theoretically occur with networked vendor systems and + ; would lead to an asset not found message. However, after the + ; expiration time has elapsed, the asset will then be fetchable. + ; + ; The defaults below are suitable for all small to medium installations + ; including grids. + NegativeCacheEnabled = true + NegativeCacheTimeout = 120 + NegativeCacheSliding = false + + ; Set to false for no file cache + FileCacheEnabled = true + + ; How long {in hours} to keep assets cached in memory, .5 == 30 minutes + ; even a few minutes may mean many assets loaded to memory, if not all. + ; this is good if memory is not a problem. + ; if memory is a problem then a few seconds may actually save same. + ; see hit rates with console comand: fcache status + MemoryCacheTimeout = .016 ; one minute + + ; 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 files + ; Specify 0 to disable expiration checking + FileCleanupTimer = 0.0 ; disabled + + ; 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 new file mode 100644 index 0000000..ab8f25d --- /dev/null +++ b/bin/config-include/Grid.ini @@ -0,0 +1,60 @@ +;; +;; 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 = "NeighbourServicesOutConnector" + AuthenticationServices = "RemoteAuthenticationServicesConnector" + AuthorizationServices = "LocalAuthorizationServicesConnector" + PresenceServices = "RemotePresenceServicesConnector" + UserAccountServices = "RemoteUserAccountServicesConnector" + AgentPreferencesServices= "RemoteAgentPreferencesServicesConnector" + GridUserServices = "RemoteGridUserServicesConnector" + SimulationServices = "RemoteSimulationConnectorModule" + EntityTransferModule = "BasicEntityTransferModule" + InventoryAccessModule = "BasicInventoryAccessModule" + LandServices = "RemoteLandServicesConnector" + MapImageService = "MapImageServiceModule" + SearchModule = "BasicSearchModule" + MuteListService = "RemoteMuteListServicesConnector" + + LandServiceInConnector = true + NeighbourServiceInConnector = true + SimulationServiceInConnector = true + LibraryModule = true + +[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.example b/bin/config-include/GridCommon.ini.example new file mode 100644 index 0000000..e93ce3c --- /dev/null +++ b/bin/config-include/GridCommon.ini.example @@ -0,0 +1,249 @@ +; 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}" + ;MaxRetries = 0 + +[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" + +[MuteListService] + MuteListServerURI = "${Const|BaseURL}:${Const|PrivatePort}" diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini new file mode 100644 index 0000000..78bcd73 --- /dev/null +++ b/bin/config-include/GridHypergrid.ini @@ -0,0 +1,87 @@ +;; +;; 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 = "NeighbourServicesOutConnector" + 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" + MuteListService = "RemoteMuteListServicesConnector" + + LandServiceInConnector = true + NeighbourServiceInConnector = true + SimulationServiceInConnector = true + LibraryModule = true + +[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 + LureModule = HGLureModule + +[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 new file mode 100644 index 0000000..24f9813 --- /dev/null +++ b/bin/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 = "NeighbourServicesOutConnector" + 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 new file mode 100644 index 0000000..fdf7ca2 --- /dev/null +++ b/bin/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 = "NeighbourServicesOutConnector" + 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 new file mode 100644 index 0000000..127b073 --- /dev/null +++ b/bin/config-include/Standalone.ini @@ -0,0 +1,122 @@ +;; +;; 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 = "NeighbourServicesOutConnector" + 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" + MuteListService = "LocalMuteListServicesConnector" + + 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" + +[MuteListService] + LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService" + +;; 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 new file mode 100644 index 0000000..8931557 --- /dev/null +++ b/bin/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/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini new file mode 100644 index 0000000..e305972 --- /dev/null +++ b/bin/config-include/StandaloneHypergrid.ini @@ -0,0 +1,199 @@ +;; +;; 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 = "NeighbourServicesOutConnector" + 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" + MuteListService = "LocalMuteListServicesConnector" + + 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 + +[MuteListService] + LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService" + +;; 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 new file mode 100644 index 0000000..ed90649 --- /dev/null +++ b/bin/config-include/osslEnable.ini @@ -0,0 +1,266 @@ +; 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 + + ; Some 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: + ; "GRID_GOD" -- enable for users with UserLevel >= 200 + ; "GOD" -- enable for users with rights to be god (local or grid) + ; "ACTIVE_GOD" -- enable for users that are present and with active god power + ; "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) + ; from this we can also create macros that can be include in the list as + ; ${XEngine|macroname} see examples below + + ; parcel macros + ; 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," + + ; NPC macros + ; These can be mis-used so limit use to those you can trust. + osslNPC = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + + ; 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. + +; ************************************************* + + ; ThreatLevel None + Allow_osGetAgents = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetAvatarList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGender = true + Allow_osGetHealth = true + Allow_osGetHealRate = true + Allow_osGetNPCList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetRezzingObject = true + Allow_osNpcGetOwner = ${XEngine|osslNPC} + Allow_osParseJSON = true + Allow_osParseJSONNew = true + Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osTeleportOwner = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osWindActiveModelPluginName = true + + ; 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_osGetWindParam = true + Allow_osInviteToGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osReplaceString = true + Allow_osSetDynamicTextureData = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureDataFace = ${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 + Allow_osNpcSetProfileAbout = ${XEngine|osslNPC} + Allow_osNpcSetProfileImage = ${XEngine|osslNPC} + Allow_osDie = ${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_osGetSimulatorMemoryKB = ${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_osSetHealth = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetHealRate = ${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_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_osForceAttachToOtherAvatarFromInventory = 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_osGrantScriptPermissions = false + Allow_osKickAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osRevokeScriptPermissions = false + Allow_osTeleportAgent = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osTeleportObject = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + + ; ThreatLevel Severe with additional internal restrictions + Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable) + +; available functions out of Threat level control (for reference only) +; Allow_osCheckODE = true +; Allow_osClearInertia = true +; Allow_osCollisionSound = true +; Allow_osDrawEllipse = true +; Allow_osDrawFilledEllipse = true +; Allow_osDrawFilledPolygon = true +; Allow_osDrawFilledRectangle = true +; Allow_osDrawImage = true +; Allow_osDrawLine = true +; Allow_osDrawPolygon = true +; Allow_osDrawRectangle = true +; Allow_osDrawResetTransform = true +; Allow_osDrawRotationTransform = true +; Allow_osDrawScaleTransform = true +; Allow_osDrawText = true +; Allow_osDrawTranslationTransform = true +; Allow_osGetCurrentSunHour = true +; Allow_osGetInertiaData = true +; Allow_osGetInventoryDesc = true +; Allow_osGetLinkNumber = true +; Allow_osGetMapTexture = true +; Allow_osGetPhysicsEngineName = true +; Allow_osGetRegionSize = true +; Allow_osGetSunParam = true +; Allow_osGetTerrainHeight = true +; Allow_osGetDrawStringSize = true +; Allow_osIsNpc = true +; Allow_osIsUUID = true +; Allow_osList2Double = true +; Allow_osMax = true +; Allow_osMin = true +; Allow_osMovePen = true +; Allow_osSetFontName = true +; Allow_osSetFontSize = true +; Allow_osSetInertia = true +; Allow_osSetInertiaAsBox = true +; Allow_osSetInertiaAsSphere = true +; Allow_osSetInertiaAsCylinder = true +; Allow_osSetPenCap = true +; Allow_osSetPenColor = true +; Allow_osSetPenSize = true +; Allow_osVolumeDetect = true diff --git a/bin/config-include/storage/SQLiteStandalone.ini b/bin/config-include/storage/SQLiteStandalone.ini new file mode 100644 index 0000000..67d98ff --- /dev/null +++ b/bin/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: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" + -- cgit v1.1 From 7874a0b578acd49ecb981e1f1bdcbd33a67d16c6 Mon Sep 17 00:00:00 2001 From: onefang Date: Sun, 19 May 2019 22:39:27 +1000 Subject: Less Oh Silly Threat detection. Scripts run a little faster if they don't stop to be overly paranoid all the time. --- bin/config-include/osslEnable.ini | 248 +++++++++++++++++++------------------- 1 file changed, 127 insertions(+), 121 deletions(-) (limited to 'bin/config-include') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index ed90649..b984079 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -29,7 +29,7 @@ ; 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 + OSFunctionThreatLevel = Moderate ; Some of the OSSL functions can be enabled or disabled individually. ; To disable, set the value to 'false'. @@ -55,10 +55,8 @@ ; 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," + osslParcelO = "PARCEL_OWNER," + osslParcelOG = "PARCEL_GROUP_MEMBER,PARCEL_OWNER," ; NPC macros ; These can be mis-used so limit use to those you can trust. @@ -71,119 +69,174 @@ ; ************************************************* - ; ThreatLevel None - Allow_osGetAgents = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetAvatarList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER +; ThreatLevel None +; Commented functions are out of Threat level control (for reference only) +; Allow_osCheckODE = true +; Allow_osClearInertia = true +; Allow_osCollisionSound = true + Allow_osDie = true +; Allow_osDrawEllipse = true +; Allow_osDrawFilledEllipse = true +; Allow_osDrawFilledPolygon = true +; Allow_osDrawFilledRectangle = true +; Allow_osDrawImage = true +; Allow_osDrawLine = true +; Allow_osDrawPolygon = true +; Allow_osDrawRectangle = true +; Allow_osDrawResetTransform = true +; Allow_osDrawRotationTransform = true +; Allow_osDrawScaleTransform = true +; Allow_osDrawText = true +; Allow_osDrawTranslationTransform = true + Allow_osFormatString = true +; Allow_osGetCurrentSunHour = true + Allow_osGetAgents = true + Allow_osGetAvatarList = true +; Allow_osGetDrawStringSize = true Allow_osGetGender = true + Allow_osGetGridCustom = true + Allow_osGetGridHomeURI = true + Allow_osGetGridLoginURI = true + Allow_osGetGridName = true + Allow_osGetGridNick = true Allow_osGetHealth = true Allow_osGetHealRate = true - Allow_osGetNPCList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER +; Allow_osGetInertiaData = true +; Allow_osGetInventoryDesc = true +; Allow_osGetLinkNumber = true +; Allow_osGetMapTexture = true + ; The notecard functions can cause a lot of load on the region if over used. + ; So can any LSL loop. Pffft + Allow_osGetNotecard = true + Allow_osGetNotecardLine = true + Allow_osGetNumberOfNotecardLines = true + Allow_osMakeNotecard = true + Allow_osGetNPCList = true +; Allow_osGetPhysicsEngineName = true + Allow_osGetPhysicsEngineType = true + + Allow_osGetRegionMapTexture = true +; Allow_osGetRegionSize = true Allow_osGetRezzingObject = true - Allow_osNpcGetOwner = ${XEngine|osslNPC} + Allow_osGetScriptEngineName = true + Allow_osGetSimulatorVersion = true +; Allow_osGetSunParam = true +; Allow_osGetTerrainHeight = true + Allow_osGetWindParam = true +; Allow_osIsNpc = true +; Allow_osIsUUID = true + Allow_osKey2Name = true +; Allow_osList2Double = true + Allow_osListenRegex = true + Allow_osLoadedCreationDate = true + Allow_osLoadedCreationID = true + Allow_osLoadedCreationTime = true + Allow_osMatchString = true +; Allow_osMax = true +; Allow_osMin = true + Allow_osMessageObject = true +; Allow_osMovePen = true + Allow_osNpcGetOwner = true + Allow_osNpcGetPos = true + Allow_osNpcGetRot = nlue + Allow_osNpcLoadAppearance = true + Allow_osNpcMoveTo = true + Allow_osNpcMoveToTarget = true + Allow_osNpcPlayAnimation = true + Allow_osNpcRemove = true + Allow_osNpcSaveAppearance = true + Allow_osNpcSay = true + Allow_osNpcSetProfileAbout = true + Allow_osNpcSetProfileImage = true + Allow_osNpcSetRot = true + Allow_osNpcShout = true + Allow_osNpcSit = true + Allow_osNpcStand = true + Allow_osNpcStopAnimation = true + Allow_osNpcStopMoveToTarget = true + Allow_osNpcTouch = true + Allow_osNpcWhisper = true + Allow_osOwnerSaveAppearance = true Allow_osParseJSON = true Allow_osParseJSONNew = true - Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osTeleportOwner = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osRegexIsMatch = true + Allow_osReplaceString = true + Allow_osSetDynamicTextureData = true + Allow_osSetDynamicTextureDataFace = true + Allow_osSetDynamicTextureDataBlend = true + Allow_osSetDynamicTextureDataBlendFace = true + Allow_osSetDynamicTextureURL = true + Allow_osSetDynamicTextureURLBlend = true + Allow_osSetDynamicTextureURLBlendFace = true +; Allow_osSetFontName = true +; Allow_osSetFontSize = true +; Allow_osSetInertia = true +; Allow_osSetInertiaAsBox = true +; Allow_osSetInertiaAsSphere = true +; Allow_osSetInertiaAsCylinder = true +; Allow_osSetPenCap = true +; Allow_osSetPenColor = true +; Allow_osSetPenSize = true + Allow_osSetPrimitiveParams = true +; Allow_osVolumeDetect = true + Allow_osTeleportOwner = true Allow_osWindActiveModelPluginName = true + Allow_osUnixTimeToTimestamp = true + + ; ThreatLevel Nuisance Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetWindParam = ${XEngine|osslParcelOG}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_osGetWindParam = true + Allow_osForceCreateLink = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetLinkPrimitiveParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetPrimitiveParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osInviteToGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osReplaceString = true - Allow_osSetDynamicTextureData = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureDataFace = ${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 - Allow_osNpcSetProfileAbout = ${XEngine|osslNPC} - Allow_osNpcSetProfileImage = ${XEngine|osslNPC} - Allow_osDie = ${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_osGetSimulatorMemoryKB = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osMessageAttachments = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetSpeed = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osMessageAttachments = true + Allow_osRequestURL = true + Allow_osRequestSecureURL = true + Allow_osSetSpeed = true ; ThreatLevel High - Allow_osCauseDamage = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osCauseDamage = ESTATE_MANAGER,ESTATE_OWNER Allow_osCauseHealing = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetHealth = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetHealRate = ${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_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_osParcelSetDetails = 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_osSetParcelDetails = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetProjectionParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetStateEvents = false ; deprecated @@ -197,18 +250,13 @@ ; 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_osAvatarPlayAnimation = true + Allow_osAvatarStopAnimation = true Allow_osForceAttachToOtherAvatarFromInventory = 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 + Allow_osSetRot = ESTATE_OWNER, ESTATE_MANAGER ; ThreatLevel Severe Allow_osConsoleCommand = false @@ -221,46 +269,4 @@ ; ThreatLevel Severe with additional internal restrictions Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable) -; available functions out of Threat level control (for reference only) -; Allow_osCheckODE = true -; Allow_osClearInertia = true -; Allow_osCollisionSound = true -; Allow_osDrawEllipse = true -; Allow_osDrawFilledEllipse = true -; Allow_osDrawFilledPolygon = true -; Allow_osDrawFilledRectangle = true -; Allow_osDrawImage = true -; Allow_osDrawLine = true -; Allow_osDrawPolygon = true -; Allow_osDrawRectangle = true -; Allow_osDrawResetTransform = true -; Allow_osDrawRotationTransform = true -; Allow_osDrawScaleTransform = true -; Allow_osDrawText = true -; Allow_osDrawTranslationTransform = true -; Allow_osGetCurrentSunHour = true -; Allow_osGetInertiaData = true -; Allow_osGetInventoryDesc = true -; Allow_osGetLinkNumber = true -; Allow_osGetMapTexture = true -; Allow_osGetPhysicsEngineName = true -; Allow_osGetRegionSize = true -; Allow_osGetSunParam = true -; Allow_osGetTerrainHeight = true -; Allow_osGetDrawStringSize = true -; Allow_osIsNpc = true -; Allow_osIsUUID = true -; Allow_osList2Double = true -; Allow_osMax = true -; Allow_osMin = true -; Allow_osMovePen = true -; Allow_osSetFontName = true -; Allow_osSetFontSize = true -; Allow_osSetInertia = true -; Allow_osSetInertiaAsBox = true -; Allow_osSetInertiaAsSphere = true -; Allow_osSetInertiaAsCylinder = true -; Allow_osSetPenCap = true -; Allow_osSetPenColor = true -; Allow_osSetPenSize = true -; Allow_osVolumeDetect = true + -- cgit v1.1 From 5e27d15a1f8045de70e5b061dcda51b0e5555701 Mon Sep 17 00:00:00 2001 From: onefang Date: Sun, 19 May 2019 22:57:26 +1000 Subject: Major clean up of .ini files. Sorry about the lack of details. --- bin/config-include/FlotsamCache.ini | 97 ++++++ bin/config-include/GridCommon.ini | 255 +++++++++++++++ bin/config-include/GridCommon.ini.example | 5 +- bin/config-include/StandaloneCommon.ini | 401 ++++++++++++++++++++++++ bin/config-include/StandaloneCommon.ini.example | 5 +- 5 files changed, 761 insertions(+), 2 deletions(-) create mode 100644 bin/config-include/FlotsamCache.ini create mode 100644 bin/config-include/GridCommon.ini create mode 100644 bin/config-include/StandaloneCommon.ini (limited to 'bin/config-include') diff --git a/bin/config-include/FlotsamCache.ini b/bin/config-include/FlotsamCache.ini new file mode 100644 index 0000000..cf06d6c --- /dev/null +++ b/bin/config-include/FlotsamCache.ini @@ -0,0 +1,97 @@ +[AssetCache] + ;; + ;; Options for FlotsamAssetCache + ;; + + ; cache directory can be shared by multiple instances + CacheDirectory = ${Paths|CachePath}/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 + ; assets can be requested several times in short periods + ; so even a small memory cache is useful + MemoryCacheEnabled = false + + ; If a memory cache hit happens, or the asset is still in memory + ; due to other causes, update the timestamp on the disk file anyway. + ; Don't turn this on unless you share your asset cache between simulators + ; AND use an external process, e.g. cron job, to clean it up. + UpdateFileTimeOnCacheHit = false + + ; Enabling this will cache negative fetches. If an asset is negative-cached + ; it will not be re-requested from the asset server again for a while. + ; Generally, this is a good thing. + ; + ; Regular expiration settings (non-sliding) mean that the asset will be + ; retried after the time has expired. Sliding expiration means that + ; the time the negative cache will keep the asset is refreshed each + ; time a fetch is attempted. Use sliding expiration if you have rogue + ; scripts hammering the asset server with requests for nonexistent + ; assets. + ; + ; There are two cases where negative caching may cause issues: + ; + ; 1 - If an invalid asset is repeatedly requested by a script and that asset is + ; subsequently created, it will not be seen until fcache clear + ; is used. This is a very theoretical scenario since UUID collisions + ; are deemed to be not occuring in practice. + ; This can only become an issue with sliding expiration time. + ; + ; 2 - If the asset service is clustered, an asset may not have propagated + ; to all cluster members when it is first attempted to fetch it. + ; This may theoretically occur with networked vendor systems and + ; would lead to an asset not found message. However, after the + ; expiration time has elapsed, the asset will then be fetchable. + ; + ; The defaults below are suitable for all small to medium installations + ; including grids. + NegativeCacheEnabled = true + NegativeCacheTimeout = 120 + NegativeCacheSliding = false + + ; Set to false for no file cache + FileCacheEnabled = true + + ; How long {in hours} to keep assets cached in memory, .5 == 30 minutes + ; even a few minutes may mean many assets loaded to memory, if not all. + ; this is good if memory is not a problem. + ; if memory is a problem then a few seconds may actually save same. + ; see hit rates with console comand: fcache status + MemoryCacheTimeout = .016 ; one minute + + ; 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 files + ; Specify 0 to disable expiration checking + FileCleanupTimer = 0.0 ; disabled + + ; 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/GridCommon.ini b/bin/config-include/GridCommon.ini new file mode 100644 index 0000000..8621651 --- /dev/null +++ b/bin/config-include/GridCommon.ini @@ -0,0 +1,255 @@ +; 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 + ; + + ; 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=***;" + + StorageProvider = "${Const|DataProvider}" + ConnectionString = "${Const|ConnectionString}" + + +[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. + ; I think only Windows needs caching, haven't noticed any difference under Linux, which uses spare memory for file caching anyway. + + 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|AssetServerPort}" + +[InventoryService] + ; + ; Change this to your grid-wide inventory server + ; + InventoryServerURI = "${Const|GridURL}:${Const|PrivatePort}" + ;MaxRetries = 0 + +[GridInfo] + ; + ; Change this to your grid info service + ; + GridInfoURI = "${Const|GridURL}:${Const|PublicPort}" + +[GridService] + ; + ; Change this to your grid-wide grid server + ; + GridServerURI = "${Const|GridURL}:${Const|PrivatePort}" + AllowHypergridMapSearch = true + + ;; Directory for map tile images of linked regions + MapTileDirectory = "${Paths|CachePath}/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|GridURL}:${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|GridURL}:${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|GridURL}:${Const|PublicPort}" + +[AvatarService] + ; + ; Change this to your grid-wide grid server + ; + AvatarServerURI = "${Const|GridURL}:${Const|PrivatePort}" + +[AgentPreferencesService] + ; + ; Change this to your grid-wide avatar prefs server + ; + AgentPreferencesServerURI = "${Const|GridURL}:${Const|PrivatePort}" + +[PresenceService] + ; + ; Change this to your grid-wide presence server + ; + PresenceServerURI = "${Const|GridURL}:${Const|PrivatePort}" + +[UserAccountService] + ; + ; Change this to your grid-wide user accounts server + ; + UserAccountServerURI = "${Const|GridURL}:${Const|PrivatePort}" + +[GridUserService] + ; + ; Change this to your grid-wide user accounts server + ; + GridUserServerURI = "${Const|GridURL}:${Const|PrivatePort}" + +[AuthenticationService] + ; + ; Change this to your grid-wide authentication server + ; + AuthenticationServerURI = "${Const|GridURL}:${Const|PrivatePort}" + +[FriendsService] + ; + ; Change this to your grid-wide friends server + ; + FriendsServerURI = "${Const|GridURL}:${Const|PrivatePort}" + +[HGInventoryAccessModule] + ; + ; === HG ONLY === + ; Change this to your server + ; accessible from other grids + ; + HomeURI = "${Const|GridURL}:${Const|PublicPort}" + Gatekeeper = "${Const|GridURL}:${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|GridURL}:${Const|PublicPort} + + +[HGAssetService] + ; + ; === HG ONLY === + ; Change this to your server + ; accessible from other grids + ; + HomeURI = "${Const|GridURL}:${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|GridURL}:${Const|PublicPort}" + +[MapImageService] + MapImageServerURI = "${Const|GridURL}:${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" + +[MuteListService] + MuteListServerURI = "${Const|BaseURL}:${Const|PrivatePort}" diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index e93ce3c..5406295 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -6,7 +6,7 @@ ; ; SQLite - Include-Storage = "config-include/storage/SQLiteStandalone.ini"; + ; Include-Storage = "config-include/storage/SQLiteStandalone.ini"; ; MySql ; Uncomment these lines if you want to use mysql storage @@ -32,6 +32,9 @@ ;StorageProvider = "OpenSim.Data.PGSQL.dll" ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" + StorageProvider = "${Const|DataProvider}" + ConnectionString = "${Const|ConnectionString}" + [Hypergrid] ; Uncomment the variables in this section only if you are in ; Hypergrid configuration. Otherwise, ignore. diff --git a/bin/config-include/StandaloneCommon.ini b/bin/config-include/StandaloneCommon.ini new file mode 100644 index 0000000..1db62c8 --- /dev/null +++ b/bin/config-include/StandaloneCommon.ini @@ -0,0 +1,401 @@ +; 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=***;" + + StorageProvider = "${Const|DataProvider}" + ConnectionString = "${Const|ConnectionString}" + +[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/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index 8931557..53f0da2 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -6,7 +6,7 @@ ; ; SQLite - Include-Storage = "config-include/storage/SQLiteStandalone.ini"; + ;Include-Storage = "config-include/storage/SQLiteStandalone.ini"; ; MySql ; Uncomment these lines if you want to use mysql storage @@ -33,6 +33,9 @@ ;StorageProvider = "OpenSim.Data.PGSQL.dll" ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" + StorageProvider = "${Const|DataProvider}" + ConnectionString = "${Const|ConnectionString}" + [Hypergrid] ; Uncomment the variables in this section only if you are in ; Hypergrid configuration. Otherwise, ignore. -- cgit v1.1 From 5def40e4a4d7b5594917451292bb173b1f5d5db8 Mon Sep 17 00:00:00 2001 From: onefang Date: Sun, 19 May 2019 22:57:56 +1000 Subject: Some extra examples and performance .ini files. --- bin/config-include/SimBalanced.ini | 889 ++++++++++++++++++++++++ bin/config-include/SimDefault.ini | 884 +++++++++++++++++++++++ bin/config-include/SimFast.ini | 884 +++++++++++++++++++++++ bin/config-include/SimLean.ini | 884 +++++++++++++++++++++++ bin/config-include/config.ini.IG_example | 54 ++ bin/config-include/config.ini.MG_example | 178 +++++ bin/config-include/config.ini.localhost_example | 52 ++ 7 files changed, 3825 insertions(+) create mode 100644 bin/config-include/SimBalanced.ini create mode 100644 bin/config-include/SimDefault.ini create mode 100644 bin/config-include/SimFast.ini create mode 100644 bin/config-include/SimLean.ini create mode 100644 bin/config-include/config.ini.IG_example create mode 100644 bin/config-include/config.ini.MG_example create mode 100644 bin/config-include/config.ini.localhost_example (limited to 'bin/config-include') diff --git a/bin/config-include/SimBalanced.ini b/bin/config-include/SimBalanced.ini new file mode 100644 index 0000000..fbf778f --- /dev/null +++ b/bin/config-include/SimBalanced.ini @@ -0,0 +1,889 @@ +;; hopefully a well balanced configuration that works well for everything. + + +[Startup] + ; ## + ; ## 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 + + ; 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 = 42 + + ; 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 = true + + ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative. + ClampNegativeZ = 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 + + ; Main Frame time + ; This defines the rate of several simulation events. + ; Default value should meet most needs. + ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads. + ; It should not be less than the physics engine step time. + ; Being a integer multiple of it may reduce some jitter in reported physics FPS. + ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same + FrameTime = 0.0909 + + ; 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 + + ; Physics simulation execution or syncronization, acording to engine. Should be 1 + ; 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 + ; ## + + ; 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 + ;; select ubODEMeshmerizer only with ubOde physics engine + meshing = ubODEMeshmerizer + + ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit + ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions + ; edit the line ulimit -s 262144, and change this last value + + ; 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 BulletSim + ;physics = BulletSim + ;physics = modified_BulletX + ;physics = OpenDynamicsEngine + ;physics = basicphysics + ;physics = POS + ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also + physics = ubODE + + ; ## + ; ## SCRIPT ENGINE + ; ## + + ;; Default script engine to use. Currently, we only have XEngine + DefaultScriptEngine = "XEngine" + + ; Image decoding. Use CSJ2K for layer boundary decoding if true, + ; OpenJPEG if false + ; UseCSJ2K = true + + +[Map] + ; 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 + + ;WorldMapModule = "WorldMap" + + ; 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 = "Warp3DImageModule" + + ; World map blacklist timeout in seconds + ;BlacklistTimeout = 600 + + ; 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 = 5 + + ; Attempt to render meshes and sculpties on the map + RenderMeshes = true + + UseAntiAliasing = true + + +[Network] + ; 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 + + +[ClientStack.LindenUDP] + ; 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 + + ; 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 + + +[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 = true + + ; 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 = true + + ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar + ; on every login + ReuseTextures = true + + +[Attachments] + ; 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 + + +[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 = true + + ; 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 = true + + +[ODEPhysicsSettings] + ; ## + ; ## Physics stats settings ( most ignored by ubOde ) + ; + + ; 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 = true + + ; ## + ; ## 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 + ;## + + ; World Step size. + ; with legacy ODE this value needs to be close to 0.02s + ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load + ; you will need to test acording to you needs + ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS + world_stepsize = 0.01818 + ; number of iterations of constrains solver, higher should improve results + ; up to a point where acumulated math errors eliminate the improvement + ; more steps may increase CPU load. No real gain in changing + world_solver_iterations = 10 + + ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim + ; defines spaces partition cells min and max sizes == 2^value + world_hashspace_level_low = -5 + world_hashSpace_level_high = 12 + + meters_in_small_space = 29.9 + + + ; ## + ; ## 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 = true + + ; 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 = 2200.0 + av_pid_proportional = 900.0 + + ; 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 + + ; 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 + ; ## + + ; 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 + + ; 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 + + ; ## + ; ## Sculpted Prim settings + ; ## + + ; 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 + + ; 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 + + ; ## + ; ## additional meshing options + ; ## + + ; Physics needs to create internal meshs (or convert the object meshs or scultps) + ; for all prims except simple boxes and spheres. + + ; collisions of small objects againts larger ones can have a increased CPU load cost + ; so this are represented by a simple BOX + ; if all their scale dimensions are lower or equal to this option. Default is 0.1m + ; (ubOde only) + ; MinSizeToMeshmerize = 0.1 + + +[BulletSim] + ; 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 = true + + ; 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 = 1 + + ; Should avatars collide with each other? + AvatarToAvatarCollisionsByDefault = true + + ; 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 = true + + ; 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 + + +[Sun] + ; 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] + ; 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 + + +[Cloud] + ; update interval for the cloud cover data returned by llCloud(). + ; default is 1000 + cloud_update_rate = 1000 + + +[Trees] + ; active_trees allows module to change its trees in time. + ; some will be deleted, others created and rest may grow + ; default is false. You can change it with console command tree active true | false later + active_trees = false + ; the trees change execution time rate (in ms) + update_rate = 1000 + + ; allow the trees to grow. + ; DANGER + ; this option causes high network use on the order of + ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second + allowGrow = false + + +[LL-Functions] + ; Maximum number of llListen events we allow over the entire region. + ; Set this to 0 to have no limit imposed + max_listens_per_region = 0 + + ; Maximum number of llListen events we allow per script + ; Set this to 0 to have no limit imposed. + max_listens_per_script = 0 + + ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL()) + max_external_urls_per_simulator = 256 + + ; 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 + + ; 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 = true + + ; 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 + + ; 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 + + +[XEngine] + ; 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 = "Normal" + + ; Maximum number of events to queue for a script (excluding timers) + MaxScriptEventQueue = 3000 + + ; Stack size per thread created + ThreadStackSize = 262144 + + ; Set this to true 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 initial per-script memory overhead, + ; but deleted scripts stay inactive using memory. + ; Significantly improving script loading times. + ; 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. + ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited. + ; At this time some mono versions seem to have problems with the true option, + ; so default is now false until a fix is found, to simply life of less technical skilled users. + ; + ; At least on my desktop, this seems to be what soaks up 4 - 5 times the memory. + AppDomainLoading = false + + ; 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. + ; It should be true on first run after updating opensim binary version + ; after first run you can change to false. + ; You can also set it to false and delete the script DLLs by hand + ; This does not delete cached scripts state. + DeleteScriptsOnStartup = true + + ; CompactMemOnLoad + ; forces calls to memory garbage collector before loading each script DLL during region startup. + ; Peak memory usage is reduced and region starts with a more compacted memory allocation. + ; But this costs a lot of time, so region load will take a lot longer. + ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true) + CompactMemOnLoad = true + + ; 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 + + ; Compile debug info (line numbers) into the script assemblies + CompileWithDebugInformation = true + + ; Interval (s) between background save of script states + SaveInterval = 120 + + ; Interval (s) between maintenance runs (0 = disable) + MaintenanceInterval = 10 + + ; 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 + + ; Minimum settable timer interval. Any timer setting less than this is + ; rounded up to this minimum interval. + MinTimerInterval = 0.1 + + ; Sensor settings + SensorMaxRange = 1024.0 + SensorMaxResults = 64 + + +[Groups] + ; 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 + + +[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 + + ; TEST OPTION KEEP AS FALSE + ; if true, don't send object updates if outside view range + ObjectsCullingByDistance = false + + ; 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 + + +[Statistics] + ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames + ; to include in the averaging calculations + NumberOfFrames=10 + + +[Terrain] + ; 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 = 1024 + + +;; If you are using a simian grid frontend you can enable +;; this module to upload tile images for the mapping fn +;; +[SimianGridMaptiles] + RefreshTime = 3600 + + +;; +;; These are defaults that are overwritten below in [Architecture]. +;; These defaults allow OpenSim to work out of the box with +;; zero configuration +;; +[AssetService] + ; Disable this to prevent the default asset set from being inserted into the + ; asset store each time the region starts + AssetLoaderEnabled = false + + +[AutoBackupModule] + ;; default is module is disabled at the top level + AutoBackupModuleEnabled = false + + +[ServiceThrottle] + ;; Default time interval (in ms) for the throttle service thread to wake up + Interval = 5000 + + +[Materials] + MaxMaterialsPerTransaction = 50 diff --git a/bin/config-include/SimDefault.ini b/bin/config-include/SimDefault.ini new file mode 100644 index 0000000..3f2e713 --- /dev/null +++ b/bin/config-include/SimDefault.ini @@ -0,0 +1,884 @@ +[Startup] + ; ## + ; ## 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 + + ; 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 + + ; 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 + + ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative. + ClampNegativeZ = false + + ; 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 + + ; Main Frame time + ; This defines the rate of several simulation events. + ; Default value should meet most needs. + ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads. + ; It should not be less than the physics engine step time. + ; Being a integer multiple of it may reduce some jitter in reported physics FPS. + ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same + FrameTime = 0.0909 + + ; 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 + + ; Physics simulation execution or syncronization, acording to engine. Should be 1 + ; 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 + ; ## + + ; 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 + ;; select ubODEMeshmerizer only with ubOde physics engine + meshing = ubODEMeshmerizer + + ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit + ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions + ; edit the line ulimit -s 262144, and change this last value + + ; 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 BulletSim + ;physics = BulletSim + ;physics = modified_BulletX + ;physics = OpenDynamicsEngine + ;physics = basicphysics + ;physics = POS + ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also + physics = ubODE + + ; ## + ; ## SCRIPT ENGINE + ; ## + + ;; Default script engine to use. Currently, we only have XEngine + DefaultScriptEngine = "XEngine" + + ; Image decoding. Use CSJ2K for layer boundary decoding if true, + ; OpenJPEG if false + ; UseCSJ2K = true + + +[Map] + ; 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 + + ;WorldMapModule = "WorldMap" + + ; 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" + + ; World map blacklist timeout in seconds + ;BlacklistTimeout = 600 + + ; 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 + + ;UseAntiAliasing = true + + +[Network] + ; 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 + + +[ClientStack.LindenUDP] + ; 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 = false + + ; 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 + + ; 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 + + +[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 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 + + +[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 ( most ignored by ubOde ) + ; + + ; 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 + ;## + + ; World Step size. + ; with legacy ODE this value needs to be close to 0.02s + ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load + ; you will need to test acording to you needs + ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS + world_stepsize = 0.01818 + ; number of iterations of constrains solver, higher should improve results + ; up to a point where acumulated math errors eliminate the improvement + ; more steps may increase CPU load. No real gain in changing + world_solver_iterations = 10 + + ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim + ; defines spaces partition cells min and max sizes == 2^value + world_hashspace_level_low = -5 + world_hashSpace_level_high = 12 + + meters_in_small_space = 29.9 + + + ; ## + ; ## 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.1 + 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 = 2200.0 + av_pid_proportional = 900.0 + + ; 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 + + ; 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 + ; ## + + ; 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 + + ; 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 + + ; ## + ; ## Sculpted Prim settings + ; ## + + ; 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 + + ; 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 + + ; ## + ; ## additional meshing options + ; ## + + ; Physics needs to create internal meshs (or convert the object meshs or scultps) + ; for all prims except simple boxes and spheres. + + ; collisions of small objects againts larger ones can have a increased CPU load cost + ; so this are represented by a simple BOX + ; if all their scale dimensions are lower or equal to this option. Default is 0.1m + ; (ubOde only) + ; MinSizeToMeshmerize = 0.1 + + +[BulletSim] + ; 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 + + ; 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 + + +[Sun] + ; 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] + ; 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 + + +[Cloud] + ; update interval for the cloud cover data returned by llCloud(). + ; default is 1000 + cloud_update_rate = 1000 + + +[Trees] + ; active_trees allows module to change its trees in time. + ; some will be deleted, others created and rest may grow + ; default is false. You can change it with console command tree active true | false later + active_trees = false + ; the trees change execution time rate (in ms) + update_rate = 1000 + + ; allow the trees to grow. + ; DANGER + ; this option causes high network use on the order of + ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second + allowGrow = false + + +[LL-Functions] + ; 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 + + ; 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 + + ; 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 + + +[XEngine] + ; 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 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 initial per-script memory overhead, + ; but deleted scripts stay inactive using memory. + ; Significantly improving script loading times. + ; 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. + ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited. + ; At this time some mono versions seem to have problems with the true option, + ; so default is now false until a fix is found, to simply life of less technical skilled users. + AppDomainLoading = false + + ; 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. + ; It should be true on first run after updating opensim binary version + ; after first run you can change to false. + ; You can also set it to false and delete the script DLLs by hand + ; This does not delete cached scripts state. + DeleteScriptsOnStartup = true + + ; CompactMemOnLoad + ; forces calls to memory garbage collector before loading each script DLL during region startup. + ; Peak memory usage is reduced and region starts with a more compacted memory allocation. + ; But this costs a lot of time, so region load will take a lot longer. + ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true) + ; CompactMemOnLoad = 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 + + ; Compile debug info (line numbers) into the script assemblies + CompileWithDebugInformation = true + + ; Interval (s) between background save of script states + SaveInterval = 120 + + ; Interval (s) between maintenance runs (0 = disable) + MaintenanceInterval = 10 + + ; 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 + + ; 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 + + +[Groups] + ; 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 + + +[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 + + ; TEST OPTION KEEP AS FALSE + ; if true, don't send object updates if outside view range + ObjectsCullingByDistance = false + + ; 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 + + +[Statistics] + ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames + ; to include in the averaging calculations + NumberOfFrames=10 + + +[Terrain] + ; 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] + RefreshTime = 3600 + + +;; +;; These are defaults that are overwritten below in [Architecture]. +;; These defaults allow OpenSim to work out of the box with +;; zero configuration +;; +[AssetService] + ; Disable this to prevent the default asset set from being inserted into the + ; asset store each time the region starts + AssetLoaderEnabled = true + + +[AutoBackupModule] + ;; default is module is disabled at the top level + AutoBackupModuleEnabled = false + + +[ServiceThrottle] + ;; Default time interval (in ms) for the throttle service thread to wake up + Interval = 5000 + + +[Materials] + MaxMaterialsPerTransaction = 50 diff --git a/bin/config-include/SimFast.ini b/bin/config-include/SimFast.ini new file mode 100644 index 0000000..40d3cc1 --- /dev/null +++ b/bin/config-include/SimFast.ini @@ -0,0 +1,884 @@ +[Startup] + ; ## + ; ## 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 + + ; 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 = 42 + + ; 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 = true + + ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative. + ClampNegativeZ = 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 + + ; Main Frame time + ; This defines the rate of several simulation events. + ; Default value should meet most needs. + ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads. + ; It should not be less than the physics engine step time. + ; Being a integer multiple of it may reduce some jitter in reported physics FPS. + ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same + FrameTime = 0.0909 + + ; 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 + + ; Physics simulation execution or syncronization, acording to engine. Should be 1 + ; 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 + ; ## + + ; 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 + ;; select ubODEMeshmerizer only with ubOde physics engine + meshing = ubODEMeshmerizer + + ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit + ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions + ; edit the line ulimit -s 262144, and change this last value + + ; 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 BulletSim + ;physics = BulletSim + ;physics = modified_BulletX + ;physics = OpenDynamicsEngine + ;physics = basicphysics + ;physics = POS + ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also + physics = ubODE + + ; ## + ; ## SCRIPT ENGINE + ; ## + + ;; Default script engine to use. Currently, we only have XEngine + DefaultScriptEngine = "XEngine" + + ; Image decoding. Use CSJ2K for layer boundary decoding if true, + ; OpenJPEG if false + ; UseCSJ2K = true + + +[Map] + ; 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 = false + + ;WorldMapModule = "WorldMap" + + ; 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 = "Map3DImageModule" + + ; World map blacklist timeout in seconds + ;BlacklistTimeout = 600 + + ; 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 = false + + ; Use terrain texture for maptiles if true, use shaded green if false + TextureOnMapTile = false + + ; Texture prims + TexturePrims = false + + ; Only texture prims that have a diagonal size greater than this number + TexturePrimSize = 64 + + ; Attempt to render meshes and sculpties on the map + RenderMeshes = false + + UseAntiAliasing = false + + +[Network] + ; 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 + + +[ClientStack.LindenUDP] + ; 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 = false + + ; 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 + + ; 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 + + +[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 = true + + +[Attachments] + ; 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 + + +[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 = true + + ; 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 = true + + +[ODEPhysicsSettings] + ; ## + ; ## Physics stats settings ( most ignored by ubOde ) + ; + + ; 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 + ;## + + ; World Step size. + ; with legacy ODE this value needs to be close to 0.02s + ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load + ; you will need to test acording to you needs + ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS + world_stepsize = 0.015 + ; number of iterations of constrains solver, higher should improve results + ; up to a point where acumulated math errors eliminate the improvement + ; more steps may increase CPU load. No real gain in changing + world_solver_iterations = 10 + + ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim + ; defines spaces partition cells min and max sizes == 2^value + world_hashspace_level_low = -5 + world_hashSpace_level_high = 12 + + meters_in_small_space = 29.9 + + + ; ## + ; ## 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 = 2200.0 + av_pid_proportional = 900.0 + + ; 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 + + ; Movement. Smaller is faster. + + ; speed of movement with Always Run off + av_movement_divisor_walk = 1.4 + + ; speed of movement with Always Run on + av_movement_divisor_run = 0.9 + + ; 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 = true + + ; 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 = true + + ; ## + ; ## Object options + ; ## + + ; 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 + + ; 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 + + ; ## + ; ## Sculpted Prim settings + ; ## + + ; 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 = false + + ; 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 + + ; ## + ; ## additional meshing options + ; ## + + ; Physics needs to create internal meshs (or convert the object meshs or scultps) + ; for all prims except simple boxes and spheres. + + ; collisions of small objects againts larger ones can have a increased CPU load cost + ; so this are represented by a simple BOX + ; if all their scale dimensions are lower or equal to this option. Default is 0.1m + ; (ubOde only) + ; MinSizeToMeshmerize = 0.1 + + +[BulletSim] + ; 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 = true + + ; 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 = 1 + + ; Should avatars collide with each other? + AvatarToAvatarCollisionsByDefault = false + + ; 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 = false + + ; 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 = true + + ; 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 + + +[Sun] + ; 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] + ; 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 + + +[Cloud] + ; update interval for the cloud cover data returned by llCloud(). + ; default is 1000 + cloud_update_rate = 1000 + + +[Trees] + ; active_trees allows module to change its trees in time. + ; some will be deleted, others created and rest may grow + ; default is false. You can change it with console command tree active true | false later + active_trees = false + ; the trees change execution time rate (in ms) + update_rate = 1000 + + ; allow the trees to grow. + ; DANGER + ; this option causes high network use on the order of + ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second + allowGrow = false + + +[LL-Functions] + ; Maximum number of llListen events we allow over the entire region. + ; Set this to 0 to have no limit imposed + max_listens_per_region = 0 + + ; Maximum number of llListen events we allow per script + ; Set this to 0 to have no limit imposed. + max_listens_per_script = 0 + + ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL()) + max_external_urls_per_simulator = 256 + + ; 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 = true + + ; 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 = true + + ; 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 + + ; 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 + + +[XEngine] + ; 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 = "Normal" + + ; Maximum number of events to queue for a script (excluding timers) + MaxScriptEventQueue = 3000 + + ; Stack size per thread created + ThreadStackSize = 262144 + + ; Set this to true 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 initial per-script memory overhead, + ; but deleted scripts stay inactive using memory. + ; Significantly improving script loading times. + ; 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. + ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited. + ; At this time some mono versions seem to have problems with the true option, + ; so default is now false until a fix is found, to simply life of less technical skilled users. + AppDomainLoading = false + + ; 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. + ; It should be true on first run after updating opensim binary version + ; after first run you can change to false. + ; You can also set it to false and delete the script DLLs by hand + ; This does not delete cached scripts state. + DeleteScriptsOnStartup = false + + ; CompactMemOnLoad + ; forces calls to memory garbage collector before loading each script DLL during region startup. + ; Peak memory usage is reduced and region starts with a more compacted memory allocation. + ; But this costs a lot of time, so region load will take a lot longer. + ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true) + CompactMemOnLoad = true + + ; 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 = abort + + ; Rate to poll for asynchronous command replies (ms) + ; currently unused + ;AsyncLLCommandLoopms = 50 + + ; Compile debug info (line numbers) into the script assemblies + CompileWithDebugInformation = false + + ; Interval (s) between background save of script states + SaveInterval = 120 + + ; Interval (s) between maintenance runs (0 = disable) + MaintenanceInterval = 10 + + ; 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 + + ; Minimum settable timer interval. Any timer setting less than this is + ; rounded up to this minimum interval. + MinTimerInterval = 0.1 + + ; Sensor settings + SensorMaxRange = 96.0 + SensorMaxResults = 64 + + +[Groups] + ; 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 + + +[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 + + ; TEST OPTION KEEP AS FALSE + ; if true, don't send object updates if outside view range + ObjectsCullingByDistance = false + + ; 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 + + +[Statistics] + ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames + ; to include in the averaging calculations + NumberOfFrames=10 + + +[Terrain] + ; 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] + RefreshTime = 3600 + + +;; +;; These are defaults that are overwritten below in [Architecture]. +;; These defaults allow OpenSim to work out of the box with +;; zero configuration +;; +[AssetService] + ; Disable this to prevent the default asset set from being inserted into the + ; asset store each time the region starts + AssetLoaderEnabled = false + + +[AutoBackupModule] + ;; default is module is disabled at the top level + AutoBackupModuleEnabled = false + + +[ServiceThrottle] + ;; Default time interval (in ms) for the throttle service thread to wake up + Interval = 5000 + + +[Materials] + MaxMaterialsPerTransaction = 50 diff --git a/bin/config-include/SimLean.ini b/bin/config-include/SimLean.ini new file mode 100644 index 0000000..0e80320 --- /dev/null +++ b/bin/config-include/SimLean.ini @@ -0,0 +1,884 @@ +[Startup] + ; ## + ; ## 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 = false + + ; 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 = 10 + + ; 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 + + ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative. + ClampNegativeZ = false + + ; 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 + + ; Main Frame time + ; This defines the rate of several simulation events. + ; Default value should meet most needs. + ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads. + ; It should not be less than the physics engine step time. + ; Being a integer multiple of it may reduce some jitter in reported physics FPS. + ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same + FrameTime = 0.0909 + + ; 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 + + ; Physics simulation execution or syncronization, acording to engine. Should be 1 + ; 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 + ; ## + + ; 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 + ;; select ubODEMeshmerizer only with ubOde physics engine + meshing = ubODEMeshmerizer + + ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit + ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions + ; edit the line ulimit -s 262144, and change this last value + + ; 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 = false + + ;; 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 = BulletSim + ;physics = modified_BulletX + ;physics = OpenDynamicsEngine + ;physics = basicphysics + ;physics = POS + ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also + physics = ubODE + + ; ## + ; ## SCRIPT ENGINE + ; ## + + ;; Default script engine to use. Currently, we only have XEngine + DefaultScriptEngine = "XEngine" + + ; Image decoding. Use CSJ2K for layer boundary decoding if true, + ; OpenJPEG if false + ; UseCSJ2K = true + + +[Map] + ; 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 = false + + ;WorldMapModule = "WorldMap" + + ; 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 = "Map3DImageModule" + + ; World map blacklist timeout in seconds + ;BlacklistTimeout = 600 + + ; 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 = false + + ; Use terrain texture for maptiles if true, use shaded green if false + TextureOnMapTile = false + + ; Texture prims + TexturePrims = false + + ; 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 + + UseAntiAliasing = false + + +[Network] + ; 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 + + +[ClientStack.LindenUDP] + ; 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 = false + + ; 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 + + ; 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 + + +[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 = true + + +[Attachments] + ; 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 + + +[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 ( most ignored by ubOde ) + ; + + ; 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 + ;## + + ; World Step size. + ; with legacy ODE this value needs to be close to 0.02s + ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load + ; you will need to test acording to you needs + ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS + world_stepsize = 0.01818 + ; number of iterations of constrains solver, higher should improve results + ; up to a point where acumulated math errors eliminate the improvement + ; more steps may increase CPU load. No real gain in changing + world_solver_iterations = 10 + + ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim + ; defines spaces partition cells min and max sizes == 2^value + world_hashspace_level_low = -5 + world_hashSpace_level_high = 12 + + meters_in_small_space = 29.9 + + + ; ## + ; ## 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 = 2200.0 + av_pid_proportional = 900.0 + + ; 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 + + ; 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 + ; ## + + ; 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 + + ; 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 + + ; ## + ; ## Sculpted Prim settings + ; ## + + ; 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 + + ; 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 + + ; ## + ; ## additional meshing options + ; ## + + ; Physics needs to create internal meshs (or convert the object meshs or scultps) + ; for all prims except simple boxes and spheres. + + ; collisions of small objects againts larger ones can have a increased CPU load cost + ; so this are represented by a simple BOX + ; if all their scale dimensions are lower or equal to this option. Default is 0.1m + ; (ubOde only) + ; MinSizeToMeshmerize = 0.1 + + +[BulletSim] + ; 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 = 1 + + ; Should avatars collide with each other? + AvatarToAvatarCollisionsByDefault = false + + ; 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 = false + + ; 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 + + +[Sun] + ; 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] + ; 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 + + +[Cloud] + ; update interval for the cloud cover data returned by llCloud(). + ; default is 1000 + cloud_update_rate = 1000 + + +[Trees] + ; active_trees allows module to change its trees in time. + ; some will be deleted, others created and rest may grow + ; default is false. You can change it with console command tree active true | false later + active_trees = false + ; the trees change execution time rate (in ms) + update_rate = 1000 + + ; allow the trees to grow. + ; DANGER + ; this option causes high network use on the order of + ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second + allowGrow = false + + +[LL-Functions] + ; 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 = true + + ; 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 + + ; 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 + + +[XEngine] + ; 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 = 3000 + + ; Stack size per thread created + ThreadStackSize = 132144 + + ; Set this to true 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 initial per-script memory overhead, + ; but deleted scripts stay inactive using memory. + ; Significantly improving script loading times. + ; 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. + ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited. + ; At this time some mono versions seem to have problems with the true option, + ; so default is now false until a fix is found, to simply life of less technical skilled users. + AppDomainLoading = false + + ; 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. + ; It should be true on first run after updating opensim binary version + ; after first run you can change to false. + ; You can also set it to false and delete the script DLLs by hand + ; This does not delete cached scripts state. + DeleteScriptsOnStartup = true + + ; CompactMemOnLoad + ; forces calls to memory garbage collector before loading each script DLL during region startup. + ; Peak memory usage is reduced and region starts with a more compacted memory allocation. + ; But this costs a lot of time, so region load will take a lot longer. + ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true) + CompactMemOnLoad = true + + ; 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 = abort + + ; Rate to poll for asynchronous command replies (ms) + ; currently unused + ;AsyncLLCommandLoopms = 50 + + ; Compile debug info (line numbers) into the script assemblies + CompileWithDebugInformation = false + + ; Interval (s) between background save of script states + SaveInterval = 120 + + ; Interval (s) between maintenance runs (0 = disable) + MaintenanceInterval = 10 + + ; 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 + + ; Minimum settable timer interval. Any timer setting less than this is + ; rounded up to this minimum interval. + MinTimerInterval = 0.1 + + ; Sensor settings + SensorMaxRange = 96.0 + SensorMaxResults = 16 + + +[Groups] + ; 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 + + +[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 + + ; TEST OPTION KEEP AS FALSE + ; if true, don't send object updates if outside view range + ObjectsCullingByDistance = false + + ; 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 + + +[Statistics] + ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames + ; to include in the averaging calculations + NumberOfFrames=10 + + +[Terrain] + ; 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] + RefreshTime = 3600 + + +;; +;; These are defaults that are overwritten below in [Architecture]. +;; These defaults allow OpenSim to work out of the box with +;; zero configuration +;; +[AssetService] + ; Disable this to prevent the default asset set from being inserted into the + ; asset store each time the region starts + AssetLoaderEnabled = true + + +[AutoBackupModule] + ;; default is module is disabled at the top level + AutoBackupModuleEnabled = false + + +[ServiceThrottle] + ;; Default time interval (in ms) for the throttle service thread to wake up + Interval = 5000 + + +[Materials] + MaxMaterialsPerTransaction = 50 diff --git a/bin/config-include/config.ini.IG_example b/bin/config-include/config.ini.IG_example new file mode 100644 index 0000000..710ccae --- /dev/null +++ b/bin/config-include/config.ini.IG_example @@ -0,0 +1,54 @@ +; ** +; * 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. + +; Also put grid specific stuff here. + + +[Paths] + AssetsPath = "../../AssetFiles" + BackupPath = "../../backups" + CachePath = "../../caches" + DbPath = "../../db" + LogPath = "../../logs" + + +[Const] +; MOTD = "onefang needs a little coding or sysadmin work to keep IG going. Please help me find some." + MOTD = "More members are coming, slowly. Invite your friends to." + + GridName = "Infinite Grid" + ShortGridName = "IG" + + ; 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" + BaseHostname = "http://grid.infinitegrid.org" + HostName = "grid.infinitegrid.org" + BaseURL = http://grid.infinitegrid.org + GridURL = http://grid.infinitegrid.org + + ;# {PublicPort} {} {PublicPort} {8002 9000} "8002" + PublicPort = "8002" + + ;# {PrivatePort} {} {PrivatePort} {8003} "8003" + PrivatePort = "8003" + + + DataProvider = "OpenSim.Data.MySQL.dll" + ConnectionString = "Data Source=localhost;Database=****;User ID=****;Password=****;Old Guids=true;" + + + ; The public port of the Robust server -- THIS IS SPECIAL PORT FOR ASSSET SERVER + AssetServerPort = "8003" diff --git a/bin/config-include/config.ini.MG_example b/bin/config-include/config.ini.MG_example new file mode 100644 index 0000000..737bff4 --- /dev/null +++ b/bin/config-include/config.ini.MG_example @@ -0,0 +1,178 @@ +; ** +; * 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. + +; Also put grid specific stuff here. + + +[Paths] + AssetsPath = "../../AssetFiles" + BackupPath = "../../backups" + CachePath = "../../caches" + DbPath = "../../db" + LogPath = "../../logs" + + +[Const] + MOTD = "All of the World is a Stage, and Everyone's a Critic." + + GridName = "Misfitz Grid" + ShortGridName = "MG" + + ; 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" + BaseHostname = "http://misfitzgrid.com" + HostName = "misfitzgrid.com" + BaseURL = http://misfitzgrid.com + GridURL = http://misfitzgrid.com + + ;# {PublicPort} {} {PublicPort} {8002 9000} "8002" + PublicPort = "8002" + + ;# {PrivatePort} {} {PrivatePort} {8003} "8003" + PrivatePort = "8003" + + + DataProvider = "OpenSim.Data.MySQL.dll" + ConnectionString = "Data Source=localhost;Database=****;User ID=****;Password=****;Old Guids=true;" + + + ; jOpenSim URL + jOpensimURL = "http://misfitzgrid.com/members" + ; The public port of the Robust server -- THIS IS SPECIAL PORT FOR ASSSET SERVER + AssetServerPort = "8004" + + +[Network] + ;# {ExternalHostNameForLSL} {} {Hostname to use for HTTP-IN URLs. This should be reachable from the internet.} {} + ;; Hostname to use in llRequestURL/llRequestSecureURL + ;; if not defined - llRequestURL/llRequestSecureURL are disabled + ExternalHostNameForLSL = "server2.misfitzgrid.com" + + +[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|jOpensimURL}/components/com_opensim/interface.php + + +[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 = true + + ;# {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 = all + + ;; [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="${Const|jOpensimURL}/components/com_opensim/registersearch.php" + + +[Groups] + ;# {SecretKey} {ServicesConnectorModule:Groups Remote Service Connector} {Secret key between sim and remote group service} {} "" + ;; Used for V2 in Remote only. + SecretKey = "Kensentm3" + + +[Search] + SearchURL = ${Const|jOpensimURL}/components/com_opensim/interface.php + + +[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_Amazonas = "DisallowForeigners" + Region_Andros = "DisallowForeigners" + Region_Archangel = "DisallowForeigners" + Region_Blue_Moon = "DisallowForeigners" + Region_Blue_Water = "DisallowForeigners" + Region_Boiboi = "DisallowForeigners" +; Region_Castaway_Cay = "DisallowForeigners" + Region_Chen = "DisallowForeigners" + Region_Coruscant = "DisallowForeigners" + Region_Firefly = "DisallowForeigners" + Region_Haystack1 = "DisallowForeigners" + Region_Haystack2 = "DisallowForeigners" + Region_Isle_of_Beast = "DisallowForeigners" + Region_JaimieVille = "DisallowForeigners" + Region_Kikai_Gaki = "DisallowForeigners" + Region_KW1 = "DisallowForeigners" + Region_Lioneart = "DisallowForeigners" + Region_Lyra = "DisallowForeigners" + Region_MisFitz_Fairground = "DisallowForeigners" + Region_MisFitz_Residential_1 = "DisallowForeigners" + Region_MisFitz_Residential_2 = "DisallowForeigners" + Region_MisFitz_Sandbox = "DisallowForeigners" + Region_Neo_Kidopolis = "DisallowForeigners" + Region_Neverland = "DisallowForeigners" + Region_Ningaloo = "DisallowForeigners" + Region_Northland = "DisallowForeigners" + Region_Nucleus = "DisallowForeigners" + Region_Oreo_World = "DisallowForeigners" + Region_Parts_unKnown = "DisallowForeigners" + Region_Raja_Ampat = "DisallowForeigners" + Region_Red_Sea = "DisallowForeigners" + Region_Serenity = "DisallowForeigners" + Region_Silversmoke_Estate = "DisallowForeigners" + Region_SkyTec = "DisallowForeigners" + Region_Star_Dream = "DisallowForeigners" + Region_STS-Sandbox = "DisallowForeigners" + Region_Sweetland = "DisallowForeigners" + Region_Taboo_Too = "DisallowForeigners" + Region_TheExpanse = "DisallowForeigners" + Region_Ubercity = "DisallowForeigners" + Region_Undercity = "DisallowForeigners" + Region_White_Harbor = "DisallowForeigners" + Region_Traumland = "DisallowForeigners" + Region_Crazy_Family = "DisallowForeigners" + Region_Moonland = "DisallowForeigners" + Region_Lost_Mittens = "DisallowForeigners" + Region_The_Dugout = "DisallowForeigners" + Region_The_Sandlot = "DisallowForeigners" + Region_Wild_Shadow_Bay = "DisallowForeigners" + Region_Recreational_Hazard = "DisallowForeigners" + + +[Profile] + + ProfileServiceURL = ${Const|jOpensimURL}/components/com_opensim/interface.php + Module = "jOpenSimProfile" + + ; Optional: + Debug = true diff --git a/bin/config-include/config.ini.localhost_example b/bin/config-include/config.ini.localhost_example new file mode 100644 index 0000000..aa26abd --- /dev/null +++ b/bin/config-include/config.ini.localhost_example @@ -0,0 +1,52 @@ +; ** +; * 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. + +; Also put grid specific stuff here. + + +[Paths] + AssetsPath = "../../AssetFiles" + BackupPath = "../../backups" + CachePath = "../../caches" + DbPath = "../../db" + LogPath = "../../logs" + + +[Const] + MOTD = "Welcome to your local grid." + + GridName = "localhost Grid" + ShortGridName = "lg" + + ; 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. + + BaseHostname = "127.0.0.1" + HostName = "localhost" + BaseURL = http://${Const|BaseHostname} + GridURL = http://${Const|BaseHostname} + + ;# {PublicPort} {} {PublicPort} {8002 9000} "8002" + PublicPort = "8002" + + ;# {PrivatePort} {} {PrivatePort} {8003} "8003" + PrivatePort = "8003" + + + DataProvider = "OpenSim.Data.MySQL.dll" + ConnectionString = "Data Source=localhost;Database=****;User ID=****;Password=****;Old Guids=true;" + + + ; The public port of the Robust server -- THIS IS SPECIAL PORT FOR ASSSET SERVER + AssetServerPort = "8003" -- cgit v1.1 From ca7a2ed839f8fec5a7d7abbf50fc2c031f192fb5 Mon Sep 17 00:00:00 2001 From: onefang Date: Wed, 22 May 2019 19:14:35 +1000 Subject: Major tweaking of the scripts to suit the new setup. --- bin/config-include/config.ini.IG_example | 54 ------- bin/config-include/config.ini.MG_example | 178 ------------------------ bin/config-include/config.ini.localhost_example | 52 ------- bin/config-include/config_IG.ini | 46 ++++++ bin/config-include/config_MG.ini | 172 +++++++++++++++++++++++ bin/config-include/config_localhost.ini | 46 ++++++ 6 files changed, 264 insertions(+), 284 deletions(-) delete mode 100644 bin/config-include/config.ini.IG_example delete mode 100644 bin/config-include/config.ini.MG_example delete mode 100644 bin/config-include/config.ini.localhost_example create mode 100644 bin/config-include/config_IG.ini create mode 100644 bin/config-include/config_MG.ini create mode 100644 bin/config-include/config_localhost.ini (limited to 'bin/config-include') diff --git a/bin/config-include/config.ini.IG_example b/bin/config-include/config.ini.IG_example deleted file mode 100644 index 710ccae..0000000 --- a/bin/config-include/config.ini.IG_example +++ /dev/null @@ -1,54 +0,0 @@ -; ** -; * 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. - -; Also put grid specific stuff here. - - -[Paths] - AssetsPath = "../../AssetFiles" - BackupPath = "../../backups" - CachePath = "../../caches" - DbPath = "../../db" - LogPath = "../../logs" - - -[Const] -; MOTD = "onefang needs a little coding or sysadmin work to keep IG going. Please help me find some." - MOTD = "More members are coming, slowly. Invite your friends to." - - GridName = "Infinite Grid" - ShortGridName = "IG" - - ; 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" - BaseHostname = "http://grid.infinitegrid.org" - HostName = "grid.infinitegrid.org" - BaseURL = http://grid.infinitegrid.org - GridURL = http://grid.infinitegrid.org - - ;# {PublicPort} {} {PublicPort} {8002 9000} "8002" - PublicPort = "8002" - - ;# {PrivatePort} {} {PrivatePort} {8003} "8003" - PrivatePort = "8003" - - - DataProvider = "OpenSim.Data.MySQL.dll" - ConnectionString = "Data Source=localhost;Database=****;User ID=****;Password=****;Old Guids=true;" - - - ; The public port of the Robust server -- THIS IS SPECIAL PORT FOR ASSSET SERVER - AssetServerPort = "8003" diff --git a/bin/config-include/config.ini.MG_example b/bin/config-include/config.ini.MG_example deleted file mode 100644 index 737bff4..0000000 --- a/bin/config-include/config.ini.MG_example +++ /dev/null @@ -1,178 +0,0 @@ -; ** -; * 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. - -; Also put grid specific stuff here. - - -[Paths] - AssetsPath = "../../AssetFiles" - BackupPath = "../../backups" - CachePath = "../../caches" - DbPath = "../../db" - LogPath = "../../logs" - - -[Const] - MOTD = "All of the World is a Stage, and Everyone's a Critic." - - GridName = "Misfitz Grid" - ShortGridName = "MG" - - ; 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" - BaseHostname = "http://misfitzgrid.com" - HostName = "misfitzgrid.com" - BaseURL = http://misfitzgrid.com - GridURL = http://misfitzgrid.com - - ;# {PublicPort} {} {PublicPort} {8002 9000} "8002" - PublicPort = "8002" - - ;# {PrivatePort} {} {PrivatePort} {8003} "8003" - PrivatePort = "8003" - - - DataProvider = "OpenSim.Data.MySQL.dll" - ConnectionString = "Data Source=localhost;Database=****;User ID=****;Password=****;Old Guids=true;" - - - ; jOpenSim URL - jOpensimURL = "http://misfitzgrid.com/members" - ; The public port of the Robust server -- THIS IS SPECIAL PORT FOR ASSSET SERVER - AssetServerPort = "8004" - - -[Network] - ;# {ExternalHostNameForLSL} {} {Hostname to use for HTTP-IN URLs. This should be reachable from the internet.} {} - ;; Hostname to use in llRequestURL/llRequestSecureURL - ;; if not defined - llRequestURL/llRequestSecureURL are disabled - ExternalHostNameForLSL = "server2.misfitzgrid.com" - - -[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|jOpensimURL}/components/com_opensim/interface.php - - -[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 = true - - ;# {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 = all - - ;; [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="${Const|jOpensimURL}/components/com_opensim/registersearch.php" - - -[Groups] - ;# {SecretKey} {ServicesConnectorModule:Groups Remote Service Connector} {Secret key between sim and remote group service} {} "" - ;; Used for V2 in Remote only. - SecretKey = "Kensentm3" - - -[Search] - SearchURL = ${Const|jOpensimURL}/components/com_opensim/interface.php - - -[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_Amazonas = "DisallowForeigners" - Region_Andros = "DisallowForeigners" - Region_Archangel = "DisallowForeigners" - Region_Blue_Moon = "DisallowForeigners" - Region_Blue_Water = "DisallowForeigners" - Region_Boiboi = "DisallowForeigners" -; Region_Castaway_Cay = "DisallowForeigners" - Region_Chen = "DisallowForeigners" - Region_Coruscant = "DisallowForeigners" - Region_Firefly = "DisallowForeigners" - Region_Haystack1 = "DisallowForeigners" - Region_Haystack2 = "DisallowForeigners" - Region_Isle_of_Beast = "DisallowForeigners" - Region_JaimieVille = "DisallowForeigners" - Region_Kikai_Gaki = "DisallowForeigners" - Region_KW1 = "DisallowForeigners" - Region_Lioneart = "DisallowForeigners" - Region_Lyra = "DisallowForeigners" - Region_MisFitz_Fairground = "DisallowForeigners" - Region_MisFitz_Residential_1 = "DisallowForeigners" - Region_MisFitz_Residential_2 = "DisallowForeigners" - Region_MisFitz_Sandbox = "DisallowForeigners" - Region_Neo_Kidopolis = "DisallowForeigners" - Region_Neverland = "DisallowForeigners" - Region_Ningaloo = "DisallowForeigners" - Region_Northland = "DisallowForeigners" - Region_Nucleus = "DisallowForeigners" - Region_Oreo_World = "DisallowForeigners" - Region_Parts_unKnown = "DisallowForeigners" - Region_Raja_Ampat = "DisallowForeigners" - Region_Red_Sea = "DisallowForeigners" - Region_Serenity = "DisallowForeigners" - Region_Silversmoke_Estate = "DisallowForeigners" - Region_SkyTec = "DisallowForeigners" - Region_Star_Dream = "DisallowForeigners" - Region_STS-Sandbox = "DisallowForeigners" - Region_Sweetland = "DisallowForeigners" - Region_Taboo_Too = "DisallowForeigners" - Region_TheExpanse = "DisallowForeigners" - Region_Ubercity = "DisallowForeigners" - Region_Undercity = "DisallowForeigners" - Region_White_Harbor = "DisallowForeigners" - Region_Traumland = "DisallowForeigners" - Region_Crazy_Family = "DisallowForeigners" - Region_Moonland = "DisallowForeigners" - Region_Lost_Mittens = "DisallowForeigners" - Region_The_Dugout = "DisallowForeigners" - Region_The_Sandlot = "DisallowForeigners" - Region_Wild_Shadow_Bay = "DisallowForeigners" - Region_Recreational_Hazard = "DisallowForeigners" - - -[Profile] - - ProfileServiceURL = ${Const|jOpensimURL}/components/com_opensim/interface.php - Module = "jOpenSimProfile" - - ; Optional: - Debug = true diff --git a/bin/config-include/config.ini.localhost_example b/bin/config-include/config.ini.localhost_example deleted file mode 100644 index aa26abd..0000000 --- a/bin/config-include/config.ini.localhost_example +++ /dev/null @@ -1,52 +0,0 @@ -; ** -; * 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. - -; Also put grid specific stuff here. - - -[Paths] - AssetsPath = "../../AssetFiles" - BackupPath = "../../backups" - CachePath = "../../caches" - DbPath = "../../db" - LogPath = "../../logs" - - -[Const] - MOTD = "Welcome to your local grid." - - GridName = "localhost Grid" - ShortGridName = "lg" - - ; 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. - - BaseHostname = "127.0.0.1" - HostName = "localhost" - BaseURL = http://${Const|BaseHostname} - GridURL = http://${Const|BaseHostname} - - ;# {PublicPort} {} {PublicPort} {8002 9000} "8002" - PublicPort = "8002" - - ;# {PrivatePort} {} {PrivatePort} {8003} "8003" - PrivatePort = "8003" - - - DataProvider = "OpenSim.Data.MySQL.dll" - ConnectionString = "Data Source=localhost;Database=****;User ID=****;Password=****;Old Guids=true;" - - - ; The public port of the Robust server -- THIS IS SPECIAL PORT FOR ASSSET SERVER - AssetServerPort = "8003" diff --git a/bin/config-include/config_IG.ini b/bin/config-include/config_IG.ini new file mode 100644 index 0000000..3ec215c --- /dev/null +++ b/bin/config-include/config_IG.ini @@ -0,0 +1,46 @@ + 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. + +; Also put grid specific stuff here. + + +[Paths] + AssetsPath = "../../AssetFiles" + BackupPath = "../../backups" + CachePath = "../../caches" + DbPath = "../../db" + LogPath = "../../logs" + + +[Const] + MOTD = "onefang needs a little coding or sysadmin work to keep IG going. Please help me find some." + + GridName = "Infinite Grid" + ShortGridName = "IG" + + ; 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. + BaseHostname = "http://grid.infinitegrid.org" + HostName = "grid.infinitegrid.org" + BaseURL = ${Const|BaseHostname} + GridURL = ${Const|BaseHostname} + + PublicPort = "8002" + PrivatePort = "8003" + + ; The public port of the ROBUST asset server, which might be different. + AssetServerPort = "8003" + + ; Database credentials. + DataProvider = "OpenSim.Data.MySQL.dll" + ConnectionString = "Data Source=MYSQL_HOST;Database=MYSQL_DB;User ID=MYSQL_USER;Password=MYSQL_PASSWORD;Old Guids=true;" diff --git a/bin/config-include/config_MG.ini b/bin/config-include/config_MG.ini new file mode 100644 index 0000000..4f675d7 --- /dev/null +++ b/bin/config-include/config_MG.ini @@ -0,0 +1,172 @@ + 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. + +; Also put grid specific stuff here. + + +[Paths] + AssetsPath = "../../AssetFiles" + BackupPath = "../../backups" + CachePath = "../../caches" + DbPath = "../../db" + LogPath = "../../logs" + + +[Const] + MOTD = "All of the World is a Stage, and Everyone's a Critic." + + GridName = "Misfitz Grid" + ShortGridName = "MG" + + ; 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. + BaseHostname = "http://misfitzgrid.com" + HostName = "misfitzgrid.com" + BaseURL = ${Const|BaseHostname} + GridURL = ${Const|BaseHostname} + + PublicPort = "8002" + PrivatePort = "8003" + + ; The public port of the ROBUST asset server, which might be different. + AssetServerPort = "8003" + + ; Database credentials. + DataProvider = "OpenSim.Data.MySQL.dll" + ConnectionString = "Data Source=MYSQL_HOST;Database=MYSQL_DB;User ID=MYSQL_USER;Password=MYSQL_PASSWORD;Old Guids=true;" + + ; jOpenSim URL + jOpensimURL = "http://misfitzgrid.com/members" + + +[Network] + ;# {ExternalHostNameForLSL} {} {Hostname to use for HTTP-IN URLs. This should be reachable from the internet.} {} + ;; Hostname to use in llRequestURL/llRequestSecureURL + ;; if not defined - llRequestURL/llRequestSecureURL are disabled + ExternalHostNameForLSL = "server2.misfitzgrid.com" + + +[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|jOpensimURL}/components/com_opensim/interface.php + + +[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 = true + + ;# {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 = all + + ;; [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="${Const|jOpensimURL}/components/com_opensim/registersearch.php" + + +[Groups] + ;# {SecretKey} {ServicesConnectorModule:Groups Remote Service Connector} {Secret key between sim and remote group service} {} "" + ;; Used for V2 in Remote only. + SecretKey = "Kensentm3" + + +[Search] + SearchURL = ${Const|jOpensimURL}/components/com_opensim/interface.php + + +[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_Amazonas = "DisallowForeigners" + Region_Andros = "DisallowForeigners" + Region_Archangel = "DisallowForeigners" + Region_Blue_Moon = "DisallowForeigners" + Region_Blue_Water = "DisallowForeigners" + Region_Boiboi = "DisallowForeigners" +; Region_Castaway_Cay = "DisallowForeigners" + Region_Chen = "DisallowForeigners" + Region_Coruscant = "DisallowForeigners" + Region_Firefly = "DisallowForeigners" + Region_Haystack1 = "DisallowForeigners" + Region_Haystack2 = "DisallowForeigners" + Region_Isle_of_Beast = "DisallowForeigners" + Region_JaimieVille = "DisallowForeigners" + Region_Kikai_Gaki = "DisallowForeigners" + Region_KW1 = "DisallowForeigners" + Region_Lioneart = "DisallowForeigners" + Region_Lyra = "DisallowForeigners" + Region_MisFitz_Fairground = "DisallowForeigners" + Region_MisFitz_Residential_1 = "DisallowForeigners" + Region_MisFitz_Residential_2 = "DisallowForeigners" + Region_MisFitz_Sandbox = "DisallowForeigners" + Region_Neo_Kidopolis = "DisallowForeigners" + Region_Neverland = "DisallowForeigners" + Region_Ningaloo = "DisallowForeigners" + Region_Northland = "DisallowForeigners" + Region_Nucleus = "DisallowForeigners" + Region_Oreo_World = "DisallowForeigners" + Region_Parts_unKnown = "DisallowForeigners" + Region_Raja_Ampat = "DisallowForeigners" + Region_Red_Sea = "DisallowForeigners" + Region_Serenity = "DisallowForeigners" + Region_Silversmoke_Estate = "DisallowForeigners" + Region_SkyTec = "DisallowForeigners" + Region_Star_Dream = "DisallowForeigners" + Region_STS-Sandbox = "DisallowForeigners" + Region_Sweetland = "DisallowForeigners" + Region_Taboo_Too = "DisallowForeigners" + Region_TheExpanse = "DisallowForeigners" + Region_Ubercity = "DisallowForeigners" + Region_Undercity = "DisallowForeigners" + Region_White_Harbor = "DisallowForeigners" + Region_Traumland = "DisallowForeigners" + Region_Crazy_Family = "DisallowForeigners" + Region_Moonland = "DisallowForeigners" + Region_Lost_Mittens = "DisallowForeigners" + Region_The_Dugout = "DisallowForeigners" + Region_The_Sandlot = "DisallowForeigners" + Region_Wild_Shadow_Bay = "DisallowForeigners" + Region_Recreational_Hazard = "DisallowForeigners" + + +[Profile] + + ProfileServiceURL = ${Const|jOpensimURL}/components/com_opensim/interface.php + Module = "jOpenSimProfile" + + ; Optional: + Debug = true diff --git a/bin/config-include/config_localhost.ini b/bin/config-include/config_localhost.ini new file mode 100644 index 0000000..31f2f2c --- /dev/null +++ b/bin/config-include/config_localhost.ini @@ -0,0 +1,46 @@ +; ** 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. + +; Also put grid specific stuff here. + + +[Paths] + AssetsPath = "../../AssetFiles" + BackupPath = "../../backups" + CachePath = "../../caches" + DbPath = "../../db" + LogPath = "../../logs" + + +[Const] + MOTD = "Welcome to your local grid." + + GridName = "localhost Grid" + ShortGridName = "lg" + + ; 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. + BaseHostname = "127.0.0.1" + HostName = "localhost" + BaseURL = http://${Const|BaseHostname} + GridURL = http://${Const|BaseHostname} + + PublicPort = "8002" + PrivatePort = "8003" + + ; The public port of the ROBUST asset server, which might be different. + AssetServerPort = "8003" + + ; Database credentials. + DataProvider = "OpenSim.Data.MySQL.dll" + ConnectionString = "Data Source=MYSQL_HOST;Database=MYSQL_DB;User ID=MYSQL_USER;Password=MYSQL_PASSWORD;Old Guids=true;" -- cgit v1.1 From 7c31bad7d09b486afd7440ac6c5756da056661b3 Mon Sep 17 00:00:00 2001 From: onefang Date: Wed, 22 May 2019 21:41:21 +1000 Subject: Oops-- --- bin/config-include/config_IG.ini | 2 +- bin/config-include/config_MG.ini | 2 +- bin/config-include/config_localhost.ini | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'bin/config-include') diff --git a/bin/config-include/config_IG.ini b/bin/config-include/config_IG.ini index 3ec215c..1309abc 100644 --- a/bin/config-include/config_IG.ini +++ b/bin/config-include/config_IG.ini @@ -1,4 +1,4 @@ - information that we +; 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 diff --git a/bin/config-include/config_MG.ini b/bin/config-include/config_MG.ini index 4f675d7..b1d60c4 100644 --- a/bin/config-include/config_MG.ini +++ b/bin/config-include/config_MG.ini @@ -1,4 +1,4 @@ - information that we +; 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 diff --git a/bin/config-include/config_localhost.ini b/bin/config-include/config_localhost.ini index 31f2f2c..510c8b6 100644 --- a/bin/config-include/config_localhost.ini +++ b/bin/config-include/config_localhost.ini @@ -1,4 +1,4 @@ -; ** information that we +; 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 -- cgit v1.1 From 9657c82f1b5abf8314ed1b324966071c67194ff1 Mon Sep 17 00:00:00 2001 From: onefang Date: Mon, 3 Jun 2019 21:08:41 +1000 Subject: Adjust [AuthorizationService] sections to use the new DefaultRegionAccess. --- bin/config-include/config_IG.ini | 18 ++++++++++ bin/config-include/config_MG.ini | 72 +++++++++++----------------------------- 2 files changed, 37 insertions(+), 53 deletions(-) (limited to 'bin/config-include') diff --git a/bin/config-include/config_IG.ini b/bin/config-include/config_IG.ini index 1309abc..532c9f0 100644 --- a/bin/config-include/config_IG.ini +++ b/bin/config-include/config_IG.ini @@ -44,3 +44,21 @@ ; Database credentials. DataProvider = "OpenSim.Data.MySQL.dll" ConnectionString = "Data Source=MYSQL_HOST;Database=MYSQL_DB;User ID=MYSQL_USER;Password=MYSQL_PASSWORD;Old Guids=true;" + + +[AuthorizationService] + DefaultRegionAccess = "DisallowForeigners" + ; 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 + ; None -- No restrictions. + + Region_Infinite_Grid_Sandbox = "None" + Region_Infinite_Grid_Welcome = "None" + Region_Kellietown = "None" + Region_Sandbox = "None" + Region_SledjShovl = "None" + Region_Welcome = "None" diff --git a/bin/config-include/config_MG.ini b/bin/config-include/config_MG.ini index b1d60c4..4dd5274 100644 --- a/bin/config-include/config_MG.ini +++ b/bin/config-include/config_MG.ini @@ -104,64 +104,30 @@ [AuthorizationService] - ; If you have regions with access restrictions + DefaultRegionAccess = "DisallowForeigners" + ; 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_Amazonas = "DisallowForeigners" - Region_Andros = "DisallowForeigners" - Region_Archangel = "DisallowForeigners" - Region_Blue_Moon = "DisallowForeigners" - Region_Blue_Water = "DisallowForeigners" - Region_Boiboi = "DisallowForeigners" -; Region_Castaway_Cay = "DisallowForeigners" - Region_Chen = "DisallowForeigners" - Region_Coruscant = "DisallowForeigners" - Region_Firefly = "DisallowForeigners" - Region_Haystack1 = "DisallowForeigners" - Region_Haystack2 = "DisallowForeigners" - Region_Isle_of_Beast = "DisallowForeigners" - Region_JaimieVille = "DisallowForeigners" - Region_Kikai_Gaki = "DisallowForeigners" - Region_KW1 = "DisallowForeigners" - Region_Lioneart = "DisallowForeigners" - Region_Lyra = "DisallowForeigners" - Region_MisFitz_Fairground = "DisallowForeigners" - Region_MisFitz_Residential_1 = "DisallowForeigners" - Region_MisFitz_Residential_2 = "DisallowForeigners" - Region_MisFitz_Sandbox = "DisallowForeigners" - Region_Neo_Kidopolis = "DisallowForeigners" - Region_Neverland = "DisallowForeigners" - Region_Ningaloo = "DisallowForeigners" - Region_Northland = "DisallowForeigners" - Region_Nucleus = "DisallowForeigners" - Region_Oreo_World = "DisallowForeigners" - Region_Parts_unKnown = "DisallowForeigners" - Region_Raja_Ampat = "DisallowForeigners" - Region_Red_Sea = "DisallowForeigners" - Region_Serenity = "DisallowForeigners" - Region_Silversmoke_Estate = "DisallowForeigners" - Region_SkyTec = "DisallowForeigners" - Region_Star_Dream = "DisallowForeigners" - Region_STS-Sandbox = "DisallowForeigners" - Region_Sweetland = "DisallowForeigners" - Region_Taboo_Too = "DisallowForeigners" - Region_TheExpanse = "DisallowForeigners" - Region_Ubercity = "DisallowForeigners" - Region_Undercity = "DisallowForeigners" - Region_White_Harbor = "DisallowForeigners" - Region_Traumland = "DisallowForeigners" - Region_Crazy_Family = "DisallowForeigners" - Region_Moonland = "DisallowForeigners" - Region_Lost_Mittens = "DisallowForeigners" - Region_The_Dugout = "DisallowForeigners" - Region_The_Sandlot = "DisallowForeigners" - Region_Wild_Shadow_Bay = "DisallowForeigners" - Region_Recreational_Hazard = "DisallowForeigners" - + ; None -- No restrictions. + + Region_Blue_Moon = "None" + Region_MisFitz_ = "None" + Region_MisFitz_Continuum = "None" + Region_MisFitz_Dev = "None" + Region_MisFitz_Getaway = "None" + Region_MisFitz_Hyperport = "None" + Region_MisFitz_Motion = "None" + Region_Misfitz_Nature = "None" + Region_MisFitz_Residents1 = "None" + Region_MisFitz_Residents2 = "None" + Region_MisFitz_Sandbox = "None" + Region_MisFitz_Shopping = "None" + Region_MisFitz_Welcome = "None" + Region_MisFitz_Welcome_Beta = "None" + Region_White_Harbor = "None" [Profile] -- cgit v1.1 From 635744210f1afba34449276cb8674aa02ead221d Mon Sep 17 00:00:00 2001 From: onefang Date: Wed, 19 Jun 2019 03:27:13 +1000 Subject: IG godliness is different. --- bin/config-include/config_IG.ini | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'bin/config-include') diff --git a/bin/config-include/config_IG.ini b/bin/config-include/config_IG.ini index 532c9f0..ecdd5c0 100644 --- a/bin/config-include/config_IG.ini +++ b/bin/config-include/config_IG.ini @@ -62,3 +62,8 @@ Region_Sandbox = "None" Region_SledjShovl = "None" Region_Welcome = "None" + +[Permissions] + region_owner_is_god = true + region_manager_is_god = true + parcel_owner_is_god = false -- cgit v1.1 From 0a744b603d0670b63b469a957f026bceb075877e Mon Sep 17 00:00:00 2001 From: onefang Date: Thu, 4 Jul 2019 18:15:24 +1000 Subject: Move the MG configs to their own file. --- bin/config-include/config_MG.ini | 89 ---------------------------------------- bin/config-include/extra_MG.ini | 87 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+), 89 deletions(-) create mode 100644 bin/config-include/extra_MG.ini (limited to 'bin/config-include') diff --git a/bin/config-include/config_MG.ini b/bin/config-include/config_MG.ini index 4dd5274..fd812a7 100644 --- a/bin/config-include/config_MG.ini +++ b/bin/config-include/config_MG.ini @@ -47,92 +47,3 @@ ; jOpenSim URL jOpensimURL = "http://misfitzgrid.com/members" - - -[Network] - ;# {ExternalHostNameForLSL} {} {Hostname to use for HTTP-IN URLs. This should be reachable from the internet.} {} - ;; Hostname to use in llRequestURL/llRequestSecureURL - ;; if not defined - llRequestURL/llRequestSecureURL are disabled - ExternalHostNameForLSL = "server2.misfitzgrid.com" - - -[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|jOpensimURL}/components/com_opensim/interface.php - - -[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 = true - - ;# {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 = all - - ;; [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="${Const|jOpensimURL}/components/com_opensim/registersearch.php" - - -[Groups] - ;# {SecretKey} {ServicesConnectorModule:Groups Remote Service Connector} {Secret key between sim and remote group service} {} "" - ;; Used for V2 in Remote only. - SecretKey = "Kensentm3" - - -[Search] - SearchURL = ${Const|jOpensimURL}/components/com_opensim/interface.php - - -[AuthorizationService] - DefaultRegionAccess = "DisallowForeigners" - ; 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 - ; None -- No restrictions. - - Region_Blue_Moon = "None" - Region_MisFitz_ = "None" - Region_MisFitz_Continuum = "None" - Region_MisFitz_Dev = "None" - Region_MisFitz_Getaway = "None" - Region_MisFitz_Hyperport = "None" - Region_MisFitz_Motion = "None" - Region_Misfitz_Nature = "None" - Region_MisFitz_Residents1 = "None" - Region_MisFitz_Residents2 = "None" - Region_MisFitz_Sandbox = "None" - Region_MisFitz_Shopping = "None" - Region_MisFitz_Welcome = "None" - Region_MisFitz_Welcome_Beta = "None" - Region_White_Harbor = "None" - -[Profile] - - ProfileServiceURL = ${Const|jOpensimURL}/components/com_opensim/interface.php - Module = "jOpenSimProfile" - - ; Optional: - Debug = true diff --git a/bin/config-include/extra_MG.ini b/bin/config-include/extra_MG.ini new file mode 100644 index 0000000..3fe8a13 --- /dev/null +++ b/bin/config-include/extra_MG.ini @@ -0,0 +1,87 @@ +[Network] + ;# {ExternalHostNameForLSL} {} {Hostname to use for HTTP-IN URLs. This should be reachable from the internet.} {} + ;; Hostname to use in llRequestURL/llRequestSecureURL + ;; if not defined - llRequestURL/llRequestSecureURL are disabled + ExternalHostNameForLSL = "server2.misfitzgrid.com" + + +[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|jOpensimURL}/components/com_opensim/interface.php + + +[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 = true + + ;# {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 = all + + ;; [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="${Const|jOpensimURL}/components/com_opensim/registersearch.php" + + +[Groups] + ;# {SecretKey} {ServicesConnectorModule:Groups Remote Service Connector} {Secret key between sim and remote group service} {} "" + ;; Used for V2 in Remote only. + SecretKey = "Kensentm3" + + +[Search] + SearchURL = ${Const|jOpensimURL}/components/com_opensim/interface.php + + +[AuthorizationService] + DefaultRegionAccess = "DisallowForeigners" + ; 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 + ; None -- No restrictions. + + Region_Blue_Moon = "None" + Region_MisFitz_ = "None" + Region_MisFitz_Continuum = "None" + Region_MisFitz_Dev = "None" + Region_MisFitz_Getaway = "None" + Region_MisFitz_Hyperport = "None" + Region_MisFitz_Motion = "None" + Region_Misfitz_Nature = "None" + Region_MisFitz_Residents1 = "None" + Region_MisFitz_Residents2 = "None" + Region_MisFitz_Sandbox = "None" + Region_MisFitz_Shopping = "None" + Region_MisFitz_Welcome = "None" + Region_MisFitz_Welcome_Beta = "None" + Region_White_Harbor = "None" + +[Profile] + + ProfileServiceURL = ${Const|jOpensimURL}/components/com_opensim/interface.php + Module = "jOpenSimProfile" + + ; Optional: + Debug = true -- cgit v1.1 From abd72cda8a26025b30ed5f1e7e38a18f3a07a09b Mon Sep 17 00:00:00 2001 From: onefang Date: Thu, 4 Jul 2019 18:21:24 +1000 Subject: Put ConfigPath back in. ROBUST needs it. --- bin/config-include/config_IG.ini | 1 + bin/config-include/config_MG.ini | 1 + bin/config-include/config_localhost.ini | 1 + 3 files changed, 3 insertions(+) (limited to 'bin/config-include') diff --git a/bin/config-include/config_IG.ini b/bin/config-include/config_IG.ini index ecdd5c0..b26dc43 100644 --- a/bin/config-include/config_IG.ini +++ b/bin/config-include/config_IG.ini @@ -15,6 +15,7 @@ AssetsPath = "../../AssetFiles" BackupPath = "../../backups" CachePath = "../../caches" + ConfigPath = "../../config" DbPath = "../../db" LogPath = "../../logs" diff --git a/bin/config-include/config_MG.ini b/bin/config-include/config_MG.ini index fd812a7..1af3a56 100644 --- a/bin/config-include/config_MG.ini +++ b/bin/config-include/config_MG.ini @@ -15,6 +15,7 @@ AssetsPath = "../../AssetFiles" BackupPath = "../../backups" CachePath = "../../caches" + ConfigPath = "../../config" DbPath = "../../db" LogPath = "../../logs" diff --git a/bin/config-include/config_localhost.ini b/bin/config-include/config_localhost.ini index 510c8b6..7efdb44 100644 --- a/bin/config-include/config_localhost.ini +++ b/bin/config-include/config_localhost.ini @@ -15,6 +15,7 @@ AssetsPath = "../../AssetFiles" BackupPath = "../../backups" CachePath = "../../caches" + ConfigPath = "../../config" DbPath = "../../db" LogPath = "../../logs" -- cgit v1.1 From 77737c81234c98d72bffaa6ddca374504f971b12 Mon Sep 17 00:00:00 2001 From: onefang Date: Thu, 25 Jul 2019 20:19:51 +1000 Subject: Gatekeeper -> GatekeeperURI Coz it says all over the source code - // Legacy. Remove soon! And has since later OpenSim 0.7s. --- bin/config-include/GridCommon.ini | 6 +++--- bin/config-include/GridCommon.ini.example | 6 +++--- bin/config-include/StandaloneCommon.ini | 2 +- bin/config-include/StandaloneCommon.ini.example | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) (limited to 'bin/config-include') diff --git a/bin/config-include/GridCommon.ini b/bin/config-include/GridCommon.ini index 8621651..394fa18 100644 --- a/bin/config-include/GridCommon.ini +++ b/bin/config-include/GridCommon.ini @@ -113,7 +113,7 @@ ;; 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|GridURL}:${Const|PublicPort}" + GatekeeperURI="${Const|GridURL}:${Const|PublicPort}" [EstateDataStore] ; @@ -130,7 +130,7 @@ ;; 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|GridURL}:${Const|PublicPort}" + GatekeeperURI = "${Const|GridURL}:${Const|PublicPort}" [AvatarService] ; @@ -181,7 +181,7 @@ ; accessible from other grids ; HomeURI = "${Const|GridURL}:${Const|PublicPort}" - Gatekeeper = "${Const|GridURL}:${Const|PublicPort}" + GatekeeperURI = "${Const|GridURL}:${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. diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index 5406295..47771e3 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -110,7 +110,7 @@ ;; 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}" + GatekeeperURI="${Const|BaseURL}:${Const|PublicPort}" [EstateDataStore] ; @@ -127,7 +127,7 @@ ;; 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}" + GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" [AvatarService] ; @@ -178,7 +178,7 @@ ; accessible from other grids ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" - Gatekeeper = "${Const|BaseURL}:${Const|PublicPort}" + GatekeeperURI = "${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. diff --git a/bin/config-include/StandaloneCommon.ini b/bin/config-include/StandaloneCommon.ini index 1db62c8..8da7784 100644 --- a/bin/config-include/StandaloneCommon.ini +++ b/bin/config-include/StandaloneCommon.ini @@ -121,7 +121,7 @@ [LoginService] WelcomeMessage = "Welcome, Avatar!" - ;; If you have Gatekeeper set under [Hypergrid], no need to set it here, leave it commented + ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}" diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index 53f0da2..941a2ee 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -121,7 +121,7 @@ [LoginService] WelcomeMessage = "Welcome, Avatar!" - ;; If you have Gatekeeper set under [Hypergrid], no need to set it here, leave it commented + ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}" -- cgit v1.1 From 0a38585d4a15100183acb293edcb9c69190c61db Mon Sep 17 00:00:00 2001 From: onefang Date: Thu, 25 Jul 2019 20:20:21 +1000 Subject: Merge LureModule into HGLureModule. --- bin/config-include/GridHypergrid.ini | 1 - bin/config-include/StandaloneHypergrid.ini | 1 - 2 files changed, 2 deletions(-) (limited to 'bin/config-include') diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini index 78bcd73..96cd3c4 100644 --- a/bin/config-include/GridHypergrid.ini +++ b/bin/config-include/GridHypergrid.ini @@ -75,7 +75,6 @@ [Messaging] MessageTransferModule = HGMessageTransferModule - LureModule = HGLureModule [HGInstantMessageService] LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" diff --git a/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini index e305972..fbb7f0b 100644 --- a/bin/config-include/StandaloneHypergrid.ini +++ b/bin/config-include/StandaloneHypergrid.ini @@ -42,7 +42,6 @@ [Messaging] MessageTransferModule = HGMessageTransferModule - LureModule = HGLureModule [SimulationDataStore] LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" -- cgit v1.1 From 4848ebcbf14b9f056fccc234109408d20ccda021 Mon Sep 17 00:00:00 2001 From: onefang Date: Sun, 28 Jul 2019 00:44:28 +1000 Subject: Jiggle the grid specific configs. Add GodNames. Move the Groups and AuthorizationService sections back to config_*. Fix up the AuthorizationService for some sims. Add the so far not written AddDefaultGroup options. I'll write this soon. --- bin/config-include/config_IG.ini | 14 ++++++---- bin/config-include/config_MG.ini | 45 ++++++++++++++++++++++++++++++++- bin/config-include/config_localhost.ini | 1 - bin/config-include/extra_MG.ini | 36 -------------------------- 4 files changed, 53 insertions(+), 43 deletions(-) (limited to 'bin/config-include') diff --git a/bin/config-include/config_IG.ini b/bin/config-include/config_IG.ini index b26dc43..2730431 100644 --- a/bin/config-include/config_IG.ini +++ b/bin/config-include/config_IG.ini @@ -19,7 +19,6 @@ DbPath = "../../db" LogPath = "../../logs" - [Const] MOTD = "onefang needs a little coding or sysadmin work to keep IG going. Please help me find some." @@ -46,7 +45,6 @@ DataProvider = "OpenSim.Data.MySQL.dll" ConnectionString = "Data Source=MYSQL_HOST;Database=MYSQL_DB;User ID=MYSQL_USER;Password=MYSQL_PASSWORD;Old Guids=true;" - [AuthorizationService] DefaultRegionAccess = "DisallowForeigners" ; If you have regions with access restrictions @@ -57,14 +55,20 @@ ; DisallowResidents -- only Admins and Managers allowed ; None -- No restrictions. - Region_Infinite_Grid_Sandbox = "None" - Region_Infinite_Grid_Welcome = "None" Region_Kellietown = "None" Region_Sandbox = "None" - Region_SledjShovl = "None" Region_Welcome = "None" +[Groups] + AddDefaultGroup = "Infinite Grid support|Infinite Grid chat" + AddHGDefaultGroup_Misfitz_Grid = "Infinite Grid support" + [Permissions] region_owner_is_god = true region_manager_is_god = true parcel_owner_is_god = false + +[GodNames] + Enabled = true + FullNames = "Infinite BootsFang,Infinite Crush,infinite onefang,Infinite Riseon" +; Surnames = "Kryztlsk" diff --git a/bin/config-include/config_MG.ini b/bin/config-include/config_MG.ini index 1af3a56..6470825 100644 --- a/bin/config-include/config_MG.ini +++ b/bin/config-include/config_MG.ini @@ -19,7 +19,6 @@ DbPath = "../../db" LogPath = "../../logs" - [Const] MOTD = "All of the World is a Stage, and Everyone's a Critic." @@ -48,3 +47,47 @@ ; jOpenSim URL jOpensimURL = "http://misfitzgrid.com/members" + +[AuthorizationService] + DefaultRegionAccess = "DisallowForeigners" + ; 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 + ; None -- No restrictions. + + Region_Blue_Moon = "None" + Region_MisFitz_ = "None" + Region_MisFitz_Continuum = "None" + Region_MisFitz_Dev = "None" + Region_MisFitz_Getaway = "None" + Region_MisFitz_Hyperport = "None" + Region_MisFitz_Motion = "None" + Region_Misfitz_Nature = "None" + Region_MisFitz_Residents1 = "None" + Region_MisFitz_Residents2 = "None" + Region_MisFitz_Sandbox = "None" + Region_MisFitz_Shopping = "None" + Region_MisFitz_Welcome = "None" + Region_MisFitz_Welcome_Beta = "None" + Region_White_Harbor = "None" + + Region_Infinite_Grid_Sandbox = "None" + Region_Infinite_Grid_Welcome = "None" + Region_Kellietown = "None" + Region_Life,_the_universe,_and_everything = "None" + Region_Naughtie_Nautical = "None" + Region_Play_Island = "None" + +[Groups] + ;# {SecretKey} {ServicesConnectorModule:Groups Remote Service Connector} {Secret key between sim and remote group service} {} "" + ;; Used for V2 in Remote only. + SecretKey = "Kensentm3" + AddDefaultGroup = "MisFitz Grid Residents" + +[GodNames] + Enabled = true + FullNames = "Fr0zenHawk Chillsmoke,Korgi Silvercloud,Max Zephyr" +; Surnames = "Kryztlsk" diff --git a/bin/config-include/config_localhost.ini b/bin/config-include/config_localhost.ini index 7efdb44..9959ae1 100644 --- a/bin/config-include/config_localhost.ini +++ b/bin/config-include/config_localhost.ini @@ -19,7 +19,6 @@ DbPath = "../../db" LogPath = "../../logs" - [Const] MOTD = "Welcome to your local grid." diff --git a/bin/config-include/extra_MG.ini b/bin/config-include/extra_MG.ini index 3fe8a13..a811d54 100644 --- a/bin/config-include/extra_MG.ini +++ b/bin/config-include/extra_MG.ini @@ -4,7 +4,6 @@ ;; if not defined - llRequestURL/llRequestSecureURL are disabled ExternalHostNameForLSL = "server2.misfitzgrid.com" - [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 @@ -18,7 +17,6 @@ ; OfflineMessageURL = ${Const|BaseURL}/Offline.php OfflineMessageURL = ${Const|jOpensimURL}/components/com_opensim/interface.php - [DataSnapshot] ;# {index_sims} {} {Enable data snapshotting (search)?} {true false} false ;; The following set of configs pertains to search. @@ -41,43 +39,9 @@ ; data with this and/or other search providers. data_services="${Const|jOpensimURL}/components/com_opensim/registersearch.php" - -[Groups] - ;# {SecretKey} {ServicesConnectorModule:Groups Remote Service Connector} {Secret key between sim and remote group service} {} "" - ;; Used for V2 in Remote only. - SecretKey = "Kensentm3" - - [Search] SearchURL = ${Const|jOpensimURL}/components/com_opensim/interface.php - -[AuthorizationService] - DefaultRegionAccess = "DisallowForeigners" - ; 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 - ; None -- No restrictions. - - Region_Blue_Moon = "None" - Region_MisFitz_ = "None" - Region_MisFitz_Continuum = "None" - Region_MisFitz_Dev = "None" - Region_MisFitz_Getaway = "None" - Region_MisFitz_Hyperport = "None" - Region_MisFitz_Motion = "None" - Region_Misfitz_Nature = "None" - Region_MisFitz_Residents1 = "None" - Region_MisFitz_Residents2 = "None" - Region_MisFitz_Sandbox = "None" - Region_MisFitz_Shopping = "None" - Region_MisFitz_Welcome = "None" - Region_MisFitz_Welcome_Beta = "None" - Region_White_Harbor = "None" - [Profile] ProfileServiceURL = ${Const|jOpensimURL}/components/com_opensim/interface.php -- cgit v1.1 From 19d90af82d26e424171761f411cca7cede8738a9 Mon Sep 17 00:00:00 2001 From: onefang Date: Wed, 31 Jul 2019 20:22:55 +1000 Subject: Automatically add members to certain groups, and HGers from specific grids to certain other groups. It doesn't let them know, though the last group added will be their active group. This replaces a PHP script I used to use, that got broken by a PHP update. It also didn't let people know, no one complained. This is better. --- bin/config-include/config_IG.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin/config-include') diff --git a/bin/config-include/config_IG.ini b/bin/config-include/config_IG.ini index 2730431..79af977 100644 --- a/bin/config-include/config_IG.ini +++ b/bin/config-include/config_IG.ini @@ -60,8 +60,8 @@ Region_Welcome = "None" [Groups] - AddDefaultGroup = "Infinite Grid support|Infinite Grid chat" - AddHGDefaultGroup_Misfitz_Grid = "Infinite Grid support" + AddDefaultGroup = "Infinite Grid chat|Infinite Grid support" + AddHGDefaultGroup_misfitzgrid.com = "Infinite Grid support" [Permissions] region_owner_is_god = true -- cgit v1.1 From 9c674b5e1474eb244b9f603a078e54ad502614ac Mon Sep 17 00:00:00 2001 From: onefang Date: Fri, 2 Aug 2019 00:45:44 +1000 Subject: Oops, move the GridService Region_ stuff to grid specific config files. --- bin/config-include/config_IG.ini | 5 +++++ bin/config-include/config_MG.ini | 7 +++++++ 2 files changed, 12 insertions(+) (limited to 'bin/config-include') diff --git a/bin/config-include/config_IG.ini b/bin/config-include/config_IG.ini index 79af977..abe159b 100644 --- a/bin/config-include/config_IG.ini +++ b/bin/config-include/config_IG.ini @@ -72,3 +72,8 @@ Enabled = true FullNames = "Infinite BootsFang,Infinite Crush,infinite onefang,Infinite Riseon" ; Surnames = "Kryztlsk" + +[GridService] + Region_Welcome = "DefaultRegion, FallbackRegion, Persistent" + Region_Sandbox = "DefaultRegion, FallbackRegion, Persistent" + Region_Kellietown = "DefaultRegion, FallbackRegion, Persistent" diff --git a/bin/config-include/config_MG.ini b/bin/config-include/config_MG.ini index 6470825..a8992f8 100644 --- a/bin/config-include/config_MG.ini +++ b/bin/config-include/config_MG.ini @@ -91,3 +91,10 @@ Enabled = true FullNames = "Fr0zenHawk Chillsmoke,Korgi Silvercloud,Max Zephyr" ; Surnames = "Kryztlsk" + +[GridService] + Region_MisFitz_Welcome = "DefaultRegion, FallbackRegion" + Region_MisFitz_Shopping = "FallbackRegion" + Region_MisFitz_HyperPort = "FallbackRegion" + Region_MisFitz_Sandbox = "FallbackRegion" + Region_MisFitz_Continuum= "DefaultHGRegion" -- cgit v1.1 From bf27216a290c125f565d08700bb6693387fac9bf Mon Sep 17 00:00:00 2001 From: onefang Date: Sun, 4 Aug 2019 10:30:42 +1000 Subject: Add a basic generic web server, and a login page, plus stubs for the other basic pages. And update everyone to suit. --- bin/config-include/config_IG.ini | 23 +++++++++++++++++++++++ bin/config-include/config_MG.ini | 23 +++++++++++++++++++++++ bin/config-include/config_localhost.ini | 1 + 3 files changed, 47 insertions(+) (limited to 'bin/config-include') diff --git a/bin/config-include/config_IG.ini b/bin/config-include/config_IG.ini index abe159b..81c5c9d 100644 --- a/bin/config-include/config_IG.ini +++ b/bin/config-include/config_IG.ini @@ -18,6 +18,7 @@ ConfigPath = "../../config" DbPath = "../../db" LogPath = "../../logs" + WebPath = "../../web" [Const] MOTD = "onefang needs a little coding or sysadmin work to keep IG going. Please help me find some." @@ -77,3 +78,25 @@ Region_Welcome = "DefaultRegion, FallbackRegion, Persistent" Region_Sandbox = "DefaultRegion, FallbackRegion, Persistent" Region_Kellietown = "DefaultRegion, FallbackRegion, Persistent" + +[GridInfoService] + ; login page: optional: if it exists it will be used to tell the client to use + ; this as splash page + welcome = ${Const|BaseURL}/drupal/loginpage + + ; 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}/drupal/ + + ; account creation: optional: page providing further information about obtaining + ; a user account on your grid + register = ${Const|BaseURL}/drupal/content/How_to_join + + ; help: optional: page providing further assistance for users of your grid + help = ${Const|BaseURL}/drupal/Tags/help + + ; password help: optional: page providing password assistance for users of your grid + password = ${Const|BaseURL}/drupal diff --git a/bin/config-include/config_MG.ini b/bin/config-include/config_MG.ini index a8992f8..62b523c 100644 --- a/bin/config-include/config_MG.ini +++ b/bin/config-include/config_MG.ini @@ -18,6 +18,7 @@ ConfigPath = "../../config" DbPath = "../../db" LogPath = "../../logs" + WebPath = "../../web" [Const] MOTD = "All of the World is a Stage, and Everyone's a Critic." @@ -98,3 +99,25 @@ Region_MisFitz_HyperPort = "FallbackRegion" Region_MisFitz_Sandbox = "FallbackRegion" Region_MisFitz_Continuum= "DefaultHGRegion" + +[GridInfoService] + ; login page: optional: if it exists it will be used to tell the client to use + ; this as splash page + welcome = ${Const|jOpensimURL}/index.php?option=com_opensim + + ; 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}/_tools/helper/ + + ; 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 diff --git a/bin/config-include/config_localhost.ini b/bin/config-include/config_localhost.ini index 9959ae1..e95b04c 100644 --- a/bin/config-include/config_localhost.ini +++ b/bin/config-include/config_localhost.ini @@ -18,6 +18,7 @@ ConfigPath = "../../config" DbPath = "../../db" LogPath = "../../logs" + WebPath = "../../web" [Const] MOTD = "Welcome to your local grid." -- cgit v1.1 From 17bf8826dc09298c6fc6898ccb257af6967dead6 Mon Sep 17 00:00:00 2001 From: onefang Date: Tue, 13 Aug 2019 03:48:07 +1000 Subject: Godliness can be in the first name as well. As it is in IG. --- bin/config-include/config_IG.ini | 1 + 1 file changed, 1 insertion(+) (limited to 'bin/config-include') diff --git a/bin/config-include/config_IG.ini b/bin/config-include/config_IG.ini index 81c5c9d..186f728 100644 --- a/bin/config-include/config_IG.ini +++ b/bin/config-include/config_IG.ini @@ -72,6 +72,7 @@ [GodNames] Enabled = true FullNames = "Infinite BootsFang,Infinite Crush,infinite onefang,Infinite Riseon" + FirstNames = "Infinite,infinite" ; Surnames = "Kryztlsk" [GridService] -- cgit v1.1 From 9620e83850feb6f129ba016edbb657fcddc73165 Mon Sep 17 00:00:00 2001 From: onefang Date: Sun, 18 Aug 2019 04:27:31 +1000 Subject: Better consistency with the other config.ini files. --- bin/config-include/config_localhost.ini | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'bin/config-include') diff --git a/bin/config-include/config_localhost.ini b/bin/config-include/config_localhost.ini index e95b04c..c0a376e 100644 --- a/bin/config-include/config_localhost.ini +++ b/bin/config-include/config_localhost.ini @@ -31,10 +31,10 @@ ; 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. - BaseHostname = "127.0.0.1" + BaseHostname = "http://127.0.0.1" HostName = "localhost" - BaseURL = http://${Const|BaseHostname} - GridURL = http://${Const|BaseHostname} + BaseURL = ${Const|BaseHostname} + GridURL = ${Const|BaseHostname} PublicPort = "8002" PrivatePort = "8003" -- cgit v1.1 From 94b24792ac6eca4c27f4d3b9bb974cce4774a02f Mon Sep 17 00:00:00 2001 From: onefang Date: Sun, 18 Aug 2019 14:04:04 +1000 Subject: Add HTTPS configs. --- bin/config-include/config_IG.ini | 2 ++ bin/config-include/config_MG.ini | 2 ++ bin/config-include/config_localhost.ini | 2 ++ 3 files changed, 6 insertions(+) (limited to 'bin/config-include') diff --git a/bin/config-include/config_IG.ini b/bin/config-include/config_IG.ini index 186f728..bd809bf 100644 --- a/bin/config-include/config_IG.ini +++ b/bin/config-include/config_IG.ini @@ -35,9 +35,11 @@ HostName = "grid.infinitegrid.org" BaseURL = ${Const|BaseHostname} GridURL = ${Const|BaseHostname} + SSLURL = "https://${Const|HostName}" PublicPort = "8002" PrivatePort = "8003" + PublicSSLPort = "8443" ; The public port of the ROBUST asset server, which might be different. AssetServerPort = "8003" diff --git a/bin/config-include/config_MG.ini b/bin/config-include/config_MG.ini index 62b523c..862f7b8 100644 --- a/bin/config-include/config_MG.ini +++ b/bin/config-include/config_MG.ini @@ -35,9 +35,11 @@ HostName = "misfitzgrid.com" BaseURL = ${Const|BaseHostname} GridURL = ${Const|BaseHostname} + SSLURL = "https://${Const|HostName}" PublicPort = "8002" PrivatePort = "8003" + PublicSSLPort = "8443" ; The public port of the ROBUST asset server, which might be different. AssetServerPort = "8003" diff --git a/bin/config-include/config_localhost.ini b/bin/config-include/config_localhost.ini index c0a376e..501a1f4 100644 --- a/bin/config-include/config_localhost.ini +++ b/bin/config-include/config_localhost.ini @@ -35,9 +35,11 @@ HostName = "localhost" BaseURL = ${Const|BaseHostname} GridURL = ${Const|BaseHostname} + SSLURL = "https://${Const|HostName}" PublicPort = "8002" PrivatePort = "8003" + PublicSSLPort = "8443" ; The public port of the ROBUST asset server, which might be different. AssetServerPort = "8003" -- cgit v1.1 From 7cd9e3aadf2cb58fd6274b5d89a85a3b4491ceae Mon Sep 17 00:00:00 2001 From: onefang Date: Fri, 23 Aug 2019 16:28:02 +1000 Subject: Update documentation. Write some more. Correct some spelling errors. Clean up some out of date stuff. Make it consistant. Rearrange things. --- bin/config-include/GridCommon.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin/config-include') diff --git a/bin/config-include/GridCommon.ini b/bin/config-include/GridCommon.ini index 394fa18..26accd9 100644 --- a/bin/config-include/GridCommon.ini +++ b/bin/config-include/GridCommon.ini @@ -1,5 +1,5 @@ ; 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. +; In particular, this one is set up for connecting to IG or MG. [DatabaseService] ; -- cgit v1.1 From dd903b91e50c193feac9ddf4380a012f560c8f4a Mon Sep 17 00:00:00 2001 From: onefang Date: Fri, 23 Aug 2019 21:14:46 +1000 Subject: Allow anyone to create NPCs. Thought I did this before? Twice? --- bin/config-include/osslEnable.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin/config-include') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index b984079..7c954ec 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -136,6 +136,7 @@ ; Allow_osMin = true Allow_osMessageObject = true ; Allow_osMovePen = true + Allow_osNpcCreate = true Allow_osNpcGetOwner = true Allow_osNpcGetPos = true Allow_osNpcGetRot = nlue @@ -230,7 +231,6 @@ Allow_osForceAttachToAvatarFromInventory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osNpcCreate = ${XEngine|osslNPC} Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER Allow_osParcelSetDetails = ESTATE_MANAGER,ESTATE_OWNER Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER -- cgit v1.1 From ef72dfd0efe1eb69b2d556755ebd0de8d62bb151 Mon Sep 17 00:00:00 2001 From: onefang Date: Sun, 25 Aug 2019 07:54:54 +1000 Subject: typo-- --- bin/config-include/osslEnable.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin/config-include') diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 7c954ec..1828da1 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -139,7 +139,7 @@ Allow_osNpcCreate = true Allow_osNpcGetOwner = true Allow_osNpcGetPos = true - Allow_osNpcGetRot = nlue + Allow_osNpcGetRot = true Allow_osNpcLoadAppearance = true Allow_osNpcMoveTo = true Allow_osNpcMoveToTarget = true -- cgit v1.1