diff --git a/VERSION.txt b/VERSION.txt index 0aec50e..3ad0595 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -3.1.4 +3.1.5 diff --git a/image-opensim-herbal3d/Dockerfile-herbal3d b/image-opensim-herbal3d/Dockerfile-herbal3d index b254479..970ba1c 100644 --- a/image-opensim-herbal3d/Dockerfile-herbal3d +++ b/image-opensim-herbal3d/Dockerfile-herbal3d @@ -40,6 +40,7 @@ RUN apt-get update \ cron \ mariadb-client \ sqlite \ + libgdiplus \ && rm -rf /var/lib/{apt,dpkg,cache,log}/ # The simulator is run under the user name 'opensim' @@ -114,6 +115,9 @@ RUN cd $OPENSIMDIR \ && grep "const string VersionNumber" ./OpenSim/Framework/VersionInfo.cs | \ sed -e "s/^.*VersionNumber = \"\(.*\)\".*$/\1/" > $VERSIONDIR/OS_VERSION +# Use the proper drawing library +RUN cp $OPENSIMDIR/bin/System.Drawing.Common.dll.linux $OPENSIMDIR/bin/System.Drawing.Common.dll + # Build OpenSimulator RUN cd $OPENSIMDIR \ && chmod +x runprebuild.sh \ diff --git a/image-opensim-herbal3d/config/Loden.ini b/image-opensim-herbal3d/config/Loden.ini new file mode 100644 index 0000000..f7c0661 --- /dev/null +++ b/image-opensim-herbal3d/config/Loden.ini @@ -0,0 +1,33 @@ +; Example ini file. Put in the directory bin/config +[Loden] + Enabled=true + + ; Base directory for Loden asset storage, + OutputDir = "./LodenAssets" + ; the string added to be beginning of asset name to create URI, + URIBase = "./" + ; Whether to write .gltf or .glb file, + WriteBinaryGltf = false + + ; Number of vertices to cause splitting of buffer files, + VerticesMaxForBuffer = 50000 + ; whether double sided mesh rendering specified in GLTF, + DoubleSided = false + + ; Whether to reduce the terrain resolution by 2, + HalfRezTerrain = true + + ; The maximum pixel dimension for images if exporting, + TextureMaxSize = 1024 + ; One of: PNG, JPG, GIF, BMP, PNG + PreferredTextureFormat = "PNG" + ; One of: PNG, JPG, GIF, BMP, + PreferredTextureFormatIfNoTransparency = "JPG" + + ; If to delay mesh scaling to display/GPU time, + DisplayTimeScaling = false + + ; log detail BScene/BInstance object building, + LogBuilding = false + ; output detailed gltf construction details, + LogGltfBuilding = false diff --git a/image-opensim-herbal3d/config/OSAuth.ini b/image-opensim-herbal3d/config/OSAuth.ini new file mode 100644 index 0000000..d2a6b67 --- /dev/null +++ b/image-opensim-herbal3d/config/OSAuth.ini @@ -0,0 +1,2 @@ +[OSAuth] + Enabled=true; diff --git a/image-opensim-herbal3d/config/RaguOS.ini b/image-opensim-herbal3d/config/RaguOS.ini new file mode 100644 index 0000000..c40bb8d --- /dev/null +++ b/image-opensim-herbal3d/config/RaguOS.ini @@ -0,0 +1,56 @@ +[Ragu] + Enabled=true + + ; Hostname for external clients it access. Computed if zero length + ExternalAccessHostname = "basilalpha.bluestuff.org" + + ; For debugging, you can turn off auth checks for fetching assets + ShouldEnforceAccessAuthorization=true + + ; Each transport for each layer takes parameters. The current ones + ; defined are: + ; WSConnectionHost (default "0.0.0.0" if not specified + ; WSIsSecure (default false) + ; WSPort (at least base must be specified to compute port or specific port) + ; WSCertificate (must be specified for secure connections + ; DisableNaglesAlgorithm (default true if not specified. + ; + ; The parameters are computed based on values that can be in RegionInfo or in + ; the RaguOS.ini file. If specific port numbers are not specified, they are + ; computed based on a base port number given in one if the INI files. + ; To find a value, this looks for value in order: + ; "SpaceServer.LAYER.PARAM" in RegionInfo + ; "SpaceServer.LAYER.PARAM" in RaguOS.ini + ; "SpaceServer.PARAM" in RegionInfo (if found, builds value based on LAYER) + ; "SpaceServer.PARAM" in RaguOS.ini (if found, builds value based on LAYER) + ; For ports, if the above tests don't find anything, it looks for: + ; "SpaceServer.LAYER.BasePort" in RegionInfo + ; "SpaceServer.LAYER.BasePort" in RaguOS.ini + ; "SpaceServer.BasePort" in RegionInfo + ; "SpaceServer.BasePort" in RaguOS.ini + ; If any of these base ports are found, the port number is computed using + ; that number and the value in LayerPortOffset. (see RaguParams.cs) + + ; NOTE: The following parameters are per-simulator and per transport + ; is in either bin/config or included into OpenSim.ini. + ; If there are multiple regions per simulator, these parameters + ; can also be included in the "Regions.ini" file. + ; For simple, insecure Basil Viewer connections, "Regions.ini" could look like: + ; + ; [RegionOne] + ; RegionUUID = 88247529-5f81-400d-abf9-888327c5fd91 + ; Location = "1000,1000" + ; InternalAddress = "0.0.0.0" + ; InternalPort = 14500 + ; SpaceServer_BasePort = 14510 + ; [RegionTwo] + ; RegionUUID = d3159861-8361-480b-947f-15a37b59f4a7 + ; Location = "1000,1001" + ; InternalAddress = "0.0.0.0" + ; InternalPort = 14520 + ; SpaceServer_BasePort = 14530 + ; + ; Whether to accect secure or unsecure WebSocket connections + SpaceServer_WSIsSecure = false + ; URL to use to create inbound connection + SpaceServer_BasePort = 11440 diff --git a/image-opensim-herbal3d/config/config-basilalpha/Includes.ini b/image-opensim-herbal3d/config/config-basilalpha/Includes.ini new file mode 100755 index 0000000..af84bf3 --- /dev/null +++ b/image-opensim-herbal3d/config/config-basilalpha/Includes.ini @@ -0,0 +1,24 @@ +; This file is moved into the bin/config directory where it includes +; all the configuration from these directories. +; This file is read after OpenSimDefault.ini and OpenSim.ini +; Note that config-include/Standalone.ini and the other configuration +; files are nulled out so this becomes the only inclusion of +; configuration files after OpenSim.ini. +[Startup] + ; Region definitions are in this directory (rather than 'bin/Regions') + regionload_regionsdir = "config/config-basilalpha/Regions" + +[Architecture] + Include-osslDefaultEnable = "config/config-basilalpha/config-include/osslDefaultEnable.ini" + ; 'osslDefaultEnable.ini' includes the now empty 'bin/config-include/osslEnable.ini.ini'. + ; The next line includes the 'osslEnable.ini' from this configuration. + Include-osslEnable = "config/config-basilalpha/config-include/osslEnable.ini" + Include-Architecture = "config/config-basilalpha/config-include/GridHypergrid.ini" + ; 'GridHypergrid.ini' is usually a copy of the default 'GridHypergrid.ini.example' which + ; would include the now empty 'bin/config-include/StandaloneCommon.ini'. + ; The next line includes the 'GridCommon.ini' from this configuration. + Include-Common = "config/config-basilalpha/config-include/GridCommon.ini" + Include-Flotsam = "config/config-basilalpha/config-include/FlotsamCache.ini" + ; Last include so it overlays anything before. + ; Database is setup in this INI file as it has passwords, etc. + Include-MiscConfig = "config/config-basilalpha/misc.ini" diff --git a/image-opensim-herbal3d/config/config-basilalpha/Regions/Regions.ini b/image-opensim-herbal3d/config/config-basilalpha/Regions/Regions.ini new file mode 100644 index 0000000..91998e7 --- /dev/null +++ b/image-opensim-herbal3d/config/config-basilalpha/Regions/Regions.ini @@ -0,0 +1,26 @@ +[BasilAlpha] + +RegionUUID = 8a4ac952-5439-46a8-a394-92285f03b024 + +Location = 7400,7200 +InternalAddress = 0.0.0.0 +InternalPort = 9050 +AllowAlternatePorts = False +ExternalHostName = "basilalpha.bluestuff.org" + +DefaultLanding = <128,128,40> + +NonPhysicalPrimMax = 256 +PhysicalPrimMax = 64 +ClampPrimSize = False +MaxPrims = 20000 +MaxAgents = 20 + +MaxPrimsPerUser = 1000 + +MasterAvatarFirstName = Misterblue +MasterAvatarLastName = Waves + +SpaceServer_BasePort = 11440 + + diff --git a/image-opensim-herbal3d/config/config-basilalpha/config-include/FlotsamCache.ini b/image-opensim-herbal3d/config/config-basilalpha/config-include/FlotsamCache.ini new file mode 100644 index 0000000..4f16943 --- /dev/null +++ b/image-opensim-herbal3d/config/config-basilalpha/config-include/FlotsamCache.ini @@ -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/image-opensim-herbal3d/config/config-basilalpha/config-include/Grid.ini b/image-opensim-herbal3d/config/config-basilalpha/config-include/Grid.ini new file mode 100644 index 0000000..9520b7c --- /dev/null +++ b/image-opensim-herbal3d/config/config-basilalpha/config-include/Grid.ini @@ -0,0 +1,63 @@ +;; +;; 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 = "RegionAssetConnector" + InventoryServices = "RemoteXInventoryServicesConnector" + GridServices = "RegionGridServicesConnector" + 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" + +[AssetService] + LocalGridAssetService = "OpenSim.Services.Connectors.dll:AssetServicesConnector" + +[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/image-opensim-herbal3d/config/config-basilalpha/config-include/GridCommon.ini b/image-opensim-herbal3d/config/config-basilalpha/config-include/GridCommon.ini new file mode 100644 index 0000000..dec7f94 --- /dev/null +++ b/image-opensim-herbal3d/config/config-basilalpha/config-include/GridCommon.ini @@ -0,0 +1,233 @@ +; 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 + ; Remove SslMode=None if you need secure connection to the local mysql + ; In most cases ssl is just a pure waste of resources, specially when mySql is on same machine, and closed to outside + ;StorageProvider = "OpenSim.Data.MySQL.dll" + ;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;SslMode=None;" + ; 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;SslMode=None;" + + ; 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 variable GatekeeperURI in this section to enable + ; Hypergrid configuration. Otherwise, ignore. + + ;# {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 + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" + + ;# {GatekeeperURIAlias} {Hypergrid} {alternative hostnames (FQDN), or IPs of the gatekeeper of this world and port} {} + ;; comma separated list, + ;; in case there was for example a dns change, etc + ; GatekeeperURIAlias = myoldname.something.org + + ;# {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 + HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + + ;# {HomeURIAlias} {Hypergrid} {Old http schema (default http://), hostnames (FQDN), or IPs of the gatekeeper of this world and port (default 80 or 443)} {} + ;; comma separated list, + ;; in case there was for example a dns change, etc but it is still same grid + ; HomeURIAlias = myoldname.something.org, 127.0.0.1,127.0.0.1:8043 + + +[Modules] + ;; Asset cache module. + ;; Warning this is required for several region features + + AssetCaching = "FlotsamAssetCache" + Include-FlotsamCache = "config-include/FlotsamCache.ini" + + ;; 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|PrivURL}:${Const|PrivatePort}" + +[InventoryService] + ; + ; Change this to your grid-wide inventory server + ; + InventoryServerURI = "${Const|PrivURL}:${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|PrivURL}:${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|PrivURL}:${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|PrivURL}:${Const|PrivatePort}" + +[AgentPreferencesService] + ; + ; Change this to your grid-wide avatar prefs server + ; + AgentPreferencesServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + +[PresenceService] + ; + ; Change this to your grid-wide presence server + ; + PresenceServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + +[UserAccountService] + ; + ; Change this to your grid-wide user accounts server + ; + UserAccountServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + +[GridUserService] + ; + ; Change this to your grid-wide user server + ; + GridUserServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + +[AuthenticationService] + ; + ; Change this to your grid-wide authentication server + ; + AuthenticationServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + +[FriendsService] + ; + ; Change this to your grid-wide friends server + ; + FriendsServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + +[HGInventoryAccessModule] + ; + ; === HG ONLY === + ; Change this to your server + ; accessible from other grids + ; + ;; 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 === + ;; 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; + +[MapImageService] + MapImageServerURI = "${Const|PrivURL}:${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" + + +[MuteListService] + MuteListServerURI = "${Const|PrivURL}:${Const|PrivatePort}" diff --git a/image-opensim-herbal3d/config/config-basilalpha/config-include/GridHypergrid.ini b/image-opensim-herbal3d/config/config-basilalpha/config-include/GridHypergrid.ini new file mode 100644 index 0000000..5a48ac2 --- /dev/null +++ b/image-opensim-herbal3d/config/config-basilalpha/config-include/GridHypergrid.ini @@ -0,0 +1,88 @@ +;; +;; 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 = "RegionAssetConnector" + InventoryServices = "HGInventoryBroker" + GridServices = "RegionGridServicesConnector" + 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 + + Setup_EntityTransferModule = disabled + Setup_WorldMapModule = disabled + +[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] + 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/image-opensim-herbal3d/config/config-basilalpha/config-include/Standalone.ini b/image-opensim-herbal3d/config/config-basilalpha/config-include/Standalone.ini new file mode 100644 index 0000000..3610f11 --- /dev/null +++ b/image-opensim-herbal3d/config/config-basilalpha/config-include/Standalone.ini @@ -0,0 +1,124 @@ +;; +;; Please don't change this file. +;; All optional settings are in StandaloneCommon.ini.example, +;; which you can copy and change. +;; + +[Modules] + AssetServices = "RegionAssetConnector" + InventoryServices = "LocalInventoryServicesConnector" + NeighbourServices = "NeighbourServicesOutConnector" + AuthenticationServices = "LocalAuthenticationServicesConnector" + AuthorizationServices = "LocalAuthorizationServicesConnector" + GridServices = "RegionGridServicesConnector" + 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" + ; For RegionAssetConnector + LocalGridAssetService = "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/image-opensim-herbal3d/config/config-basilalpha/config-include/StandaloneCommon.ini b/image-opensim-herbal3d/config/config-basilalpha/config-include/StandaloneCommon.ini new file mode 100644 index 0000000..517edd5 --- /dev/null +++ b/image-opensim-herbal3d/config/config-basilalpha/config-include/StandaloneCommon.ini @@ -0,0 +1,400 @@ +; 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 detail + ; Remove SslMode=None if you need secure connection to the local mysql + ; In most cases ssl is just a pure waste of resources, specially when mySql is on same machine, and closed to outside + ;StorageProvider = "OpenSim.Data.MySQL.dll" + ;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;SslMode=None;" + + ; 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;SslMode=None;" + + ; 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 variable GatekeeperURI to enable + ; Hypergrid configuration. Otherwise, ignore. + + ;# {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}" + + ;# {GatekeeperURIAlias} {Hypergrid} {alternative hostnames (FQDN) or IPs of the gatekeeper of this world and port (default 80 or 443 if entry starts with https://)} {} + ;; comma separated list, + ;; this is to allow this world to identify this entries also as references to itself + ;; entries can be unsecure url (host:port) if using ssl, direct login url if diferent, old grid url, etc + ; GatekeeperURIAlias = myoldname.something.org, 127.0.0.1,127.0.0.1:8043 + + ;# {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}" + + ;# {HomeURIAlias} {Hypergrid} {alternative hostnames (FQDN), or IPs of the home service of this world and port (default 80 or 443)} {} + ;; comma separated list, + ;; see GatekeeperURIAlias + ; HomeURIAlias = myoldname.something.org, 127.0.0.1,127.0.0.1:8043 + +[Modules] + ;; Asset cache module. + ;; Warning this is required for several region features + + AssetCaching = "FlotsamAssetCache" + Include-FlotsamCache = "config-include/FlotsamCache.ini" + + ;; 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, DefaultHGRegion" + + ;; Allow supporting viewers to export content + ;; Set to false to prevent export + ExportSupported = true + + +[LibraryModule] + ; Set this if you want to change the name of the OpenSim Library + ;LibraryName = "My World's Library" + +[LoginService] + WelcomeMessage = "Welcome, Avatar!" + + SRV_HomeURI = "${Hypergrid|HomeURI}" + 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 + + ;; If the region requested at login is not found and there are no default or fallback regions + ;; online or defined in section [GridService], try to send user to any region online + ;; this similar to legacy (was disabled on 0.9.2.0) + ;; you should set this to false and define regions with Default and possible Fallback flags + ;; With this option set to true, users maybe sent to regions they where not supposed to be, or even know about + ;AllowLoginFallbackToAnyRegion = true + + ; 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}/ + + ;; a http page for grid status + ;GridStatus = ${Const|BaseURL}:${Const|PublicPort}/GridStatus + ;; a RSS page for grid status + ;GridStatusRSS = ${Const|BaseURL}:${Const|PublicPort}/GridStatusRSS + +[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 + + +[HGAssetService] + ;; 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 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] + + +[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/image-opensim-herbal3d/config/config-basilalpha/config-include/StandaloneHypergrid.ini b/image-opensim-herbal3d/config/config-basilalpha/config-include/StandaloneHypergrid.ini new file mode 100644 index 0000000..6265bd0 --- /dev/null +++ b/image-opensim-herbal3d/config/config-basilalpha/config-include/StandaloneHypergrid.ini @@ -0,0 +1,198 @@ +;; +;; 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 = "RegionAssetConnector" + InventoryServices = "HGInventoryBroker" + NeighbourServices = "NeighbourServicesOutConnector" + AuthenticationServices = "LocalAuthenticationServicesConnector" + AuthorizationServices = "LocalAuthorizationServicesConnector" + GridServices = "RegionGridServicesConnector" + 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 RegionAssetConnector + 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] + 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/image-opensim-herbal3d/config/config-basilalpha/config-include/osslDefaultEnable.ini b/image-opensim-herbal3d/config/config-basilalpha/config-include/osslDefaultEnable.ini new file mode 100644 index 0000000..3ecf3c5 --- /dev/null +++ b/image-opensim-herbal3d/config/config-basilalpha/config-include/osslDefaultEnable.ini @@ -0,0 +1,235 @@ +; 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/Category:OSSL_Functions for a description of OSSL functions +; do not edit this file. +; copy the line you want to change and paste it on osslEnable.ini, then change there + + +[OSSL] + ; Allow the use of os* functions (some are always available) + 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 + + ; Send function permission error to owner if true, to all if false + PermissionErrorToOwner = false + + ; Function Threat level + ; Several functions have a predefined threat level, one of: None, VeryLow, Low, Moderate, High, VeryHigh, Severe. + ; See http://opensimulator.org/wiki/Threat_level for more information on these levels. + ; 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. + ; This setting defines the highest level allowed to execute + OSFunctionThreatLevel = VeryLow + + ; The threat level can be replaced by more detailed rules by lines of the form + ; Allow_FunctionName = parameters + ; To use the default threat level coment the respective line + ; parameters can be: + ; 'false' disables the function. + ; 'true' enables for everyone + ; or 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 + ; ${OSSL|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 = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + + ; The threat level also can be replaced by lines of the form + ; Creators__FunctionName = comma separated list of UUIDs + ; this will enable the function for users that are the script creators and owners of the prim + + + ; ************************************************* + + ; ThreatLevel None + Allow_osGetAgents = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetAvatarList = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + ;Allow_osGetGender = true + ;Allow_osGetHealth = true + ;Allow_osGetHealRate = true + Allow_osGetNPCList = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + ;Allow_osGetRezzingObject = true + ;Allow_osGetSunParam = true + Allow_osNpcGetOwner = ${OSSL|osslNPC} + Allow_osSetSunParam = ESTATE_MANAGER,ESTATE_OWNER + Allow_osTeleportOwner = ${OSSL|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 = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceBreakAllLinks = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceBreakLink = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetWindParam = true + Allow_osInviteToGroup = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osReplaceString = true + Allow_osSetDynamicTextureData = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureDataFace = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureDataBlend = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureDataBlendFace = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetParcelMediaURL = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetParcelMusicURL = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetParcelSIPAddress = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetPrimFloatOnWater = true + Allow_osSetWindParam = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER + Allow_osUnixTimeToTimestamp = true + + ; ThreatLevel Low + Allow_osAvatarName2Key = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osFormatString = true + Allow_osKey2Name = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osListenRegex = true + Allow_osLoadedCreationDate = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osLoadedCreationID = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osLoadedCreationTime = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osMessageObject = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osRegexIsMatch = true + Allow_osGetAvatarHomeURI = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osNpcSetProfileAbout = ${OSSL|osslNPC} + Allow_osNpcSetProfileImage = ${OSSL|osslNPC} + Allow_osDie = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + + ; ThreatLevel Moderate + Allow_osDetectedCountry = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osDropAttachment = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osDropAttachmentAt = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetAgentCountry = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGridCustom = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGridGatekeeperURI = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGridHomeURI = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGridLoginURI = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGridName = true + Allow_osGetGridNick = true + Allow_osGetNumberOfAttachments = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetRegionStats = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetSimulatorMemory = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetSimulatorMemoryKB = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osMessageAttachments = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osReplaceAgentEnvironment = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetSpeed = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetOwnerSpeed = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osRequestURL = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osRequestSecureURL = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + + ; ThreatLevel High + Allow_osCauseDamage = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osCauseHealing = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetHealth = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetHealRate = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceAttachToAvatar = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceAttachToAvatarFromInventory = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceCreateLink = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceDropAttachment = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceDropAttachmentAt = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetLinkPrimitiveParams = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetPhysicsEngineType = true + Allow_osGetRegionMapTexture = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetScriptEngineName = true + Allow_osGetSimulatorVersion = true + Allow_osMakeNotecard = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osMatchString = true + Allow_osNpcCreate = ${OSSL|osslNPC} + Allow_osNpcGetPos = ${OSSL|osslNPC} + Allow_osNpcGetRot = ${OSSL|osslNPC} + Allow_osNpcLoadAppearance = ${OSSL|osslNPC} + Allow_osNpcMoveTo = ${OSSL|osslNPC} + Allow_osNpcMoveToTarget = ${OSSL|osslNPC} + Allow_osNpcPlayAnimation = ${OSSL|osslNPC} + Allow_osNpcRemove = ${OSSL|osslNPC} + Allow_osNpcSaveAppearance = ${OSSL|osslNPC} + Allow_osNpcSay = ${OSSL|osslNPC} + Allow_osNpcSayTo = ${OSSL|osslNPC} + Allow_osNpcSetRot = ${OSSL|osslNPC} + Allow_osNpcShout = ${OSSL|osslNPC} + Allow_osNpcSit = ${OSSL|osslNPC} + Allow_osNpcStand = ${OSSL|osslNPC} + Allow_osNpcStopAnimation = ${OSSL|osslNPC} + Allow_osNpcStopMoveToTarget = ${OSSL|osslNPC} + Allow_osNpcTouch = ${OSSL|osslNPC} + Allow_osNpcWhisper = ${OSSL|osslNPC} + Allow_osOwnerSaveAppearance = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER + Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER + Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER + Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetProjectionParams = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER + 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 = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetNotecardLine = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetNumberOfNotecardLines = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureURL = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureURLBlend = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureURLBlendFace = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetRot = false + Allow_osSetParcelDetails = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + + ; ThreatLevel Severe + Allow_osConsoleCommand = false + Allow_osKickAvatar = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osTeleportAgent = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osTeleportObject = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + + ; ThreatLevel Severe with additional internal restrictions + Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable) + Allow_osSetContentType = false + + +; Always available +; see http://opensimulator.org/wiki/Category:OSSL_Functions + +;; do no remove this line +Include-osslEnable = "config-include/osslEnable.ini" \ No newline at end of file diff --git a/image-opensim-herbal3d/config/config-basilalpha/config-include/osslEnable.ini b/image-opensim-herbal3d/config/config-basilalpha/config-include/osslEnable.ini new file mode 100644 index 0000000..af997aa --- /dev/null +++ b/image-opensim-herbal3d/config/config-basilalpha/config-include/osslEnable.ini @@ -0,0 +1,82 @@ +; local region changes for Enable OSSL functions. +; copy this file to osslEnable.ini, unless you already have one with local changes that are still valid for current opensim version. +; this file is included from osslDefaultEnable.ini file where defaults are defined, and allows to override them +; to not edit that file, copy the line you want to change to this file, then edit here +; see osslDefaultEnable.ini and +; http://opensimulator.org/wiki/Category:OSSL_Functions for a description of OSSL functions + +; do not delete this line; +[OSSL] + ; Allow the use of os* functions (some are always available) + ;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 + + ; Send function permission error to owner if true, to all if false + ;PermissionErrorToOwner = false + + ; Function Threat level + ; Several functions have a predefined threat level, one of: None, VeryLow, Low, Moderate, High, VeryHigh, Severe. + ; See http://opensimulator.org/wiki/Threat_level for more information on these levels. + ; 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. + ; This setting defines the highest level allowed to execute + OSFunctionThreatLevel = VeryLow + + ; The threat level can be replaced by more detailed rules by lines of the form + ; Allow_FunctionName = parameters + ; To use the default threat level coment the respective line + ; parameters can be: + ; 'false' disables the function. + ; 'true' enables for everyone + ; or 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 + ; ${OSSL|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 = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + + ; example + ; Allow_osNpcCreate = ${OSSL|osslNPC} + + ; The threat level also can be replaced by lines of the form + ; Creators__FunctionName = comma separated list of UUIDs + ; this will enable the function for users that are the script creators and owners of the prim + +; ************************************************* +; add lines with our region local changes, below this to replace the default on osslDefaultEnable.ini or code. + + + diff --git a/image-opensim-herbal3d/config/config-basilalpha/config-include/storage/SQLiteStandalone.ini b/image-opensim-herbal3d/config/config-basilalpha/config-include/storage/SQLiteStandalone.ini new file mode 100644 index 0000000..67d98ff --- /dev/null +++ b/image-opensim-herbal3d/config/config-basilalpha/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" + diff --git a/image-opensim-herbal3d/config/config-basilalpha/docker-compose-external-config.yml b/image-opensim-herbal3d/config/config-basilalpha/docker-compose-external-config.yml new file mode 100644 index 0000000..5cf7347 --- /dev/null +++ b/image-opensim-herbal3d/config/config-basilalpha/docker-compose-external-config.yml @@ -0,0 +1,46 @@ + +version: '3' + +services: + + dbservice: + image: mariadb:latest + environment: + MARIADB_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} + # Parameters added to invocation. + # Default is to flush after every operation which slows Docker image down. + # This flushes log once a second. + command: --innodb_flush_log_at_trx_commit=2 --sync_binlog=0 + volumes: + # NOTE: you must create this directory before starting the simulator + # This mysql data directory can be placed anywhere + - /root/opensim-sql-data:/var/lib/mysql + restart: unless-stopped + + opensim: + depends_on: + - dbservice + image: opensim-herbal3d + + environment: + CONFIG_NAME: + CONFIGKEY: + EXTERNAL_HOSTNAME: + + volumes: + # overlay the OpenSimulator bin/config/ with external config/ + - ./config:/home/opensim/opensim/bin/config + # Loden generated asset directory tree is stored externally + - /root/LodenAssets:/home/opensim/opensim/bin/LodenAssets + + ports: + - 8002:8002/tcp + - 9000:9000/tcp + - 9050-9060:9050-9060/udp + - 11400-11410:11400-11410/tcp + - 11440:11440/tcp + + links: + - dbservice:dbservice + + restart: unless-stopped diff --git a/image-opensim-herbal3d/config/config-basilalpha/docker-compose.yml b/image-opensim-herbal3d/config/config-basilalpha/docker-compose.yml new file mode 100644 index 0000000..4cf8fe4 --- /dev/null +++ b/image-opensim-herbal3d/config/config-basilalpha/docker-compose.yml @@ -0,0 +1,46 @@ + +version: '3' + +services: + + dbservice: + # MySql version 8 requires a bunch of new security stuff. Stay with v5. + # image: mysql:5 + image: mariadb:latest + environment: + MYSQL_ROOT_PASSWORD: + # Parameters added to invocation. + # Default is to flush after every operation which slows Docker image down. + # This flushes log once a second. + command: --innodb_flush_log_at_trx_commit=2 --sync_binlog=0 + volumes: + # NOTE: you must create this directory before starting the simulator + # This mysql data directory can be placed anywhere + - ~/opensim-sql-data:/var/lib/mysql + restart: unless-stopped + + opensim: + depends_on: + - dbservice + image: opensim-herbal3d + + environment: + CONFIG_NAME: + CONFIGKEY: + EXTERNAL_HOSTNAME: + + # If the configuration is outside the container. + volumes: + - ./config:/home/opensim/opensim/bin/config + + ports: + - 8002:8002/tcp + - 8002:8002/udp + - 9000:9000/tcp + - 9000:9000/udp + - 9010:9010/tcp + - 9010:9010/udp + links: + - dbservice:dbservice + + restart: unless-stopped diff --git a/image-opensim-herbal3d/config/config-basilalpha/misc.ini.ORIG b/image-opensim-herbal3d/config/config-basilalpha/misc.ini.ORIG new file mode 100755 index 0000000..e4aa25b --- /dev/null +++ b/image-opensim-herbal3d/config/config-basilalpha/misc.ini.ORIG @@ -0,0 +1,158 @@ +; Misc over-rides and settings + +; ===== OpenSim.ini ================================================= +[Startup] + MaxPoolThreads = 300 + MinPoolThreads = 32 + + CacheSculptMaps = false + + PhysicalPrimMax = 256 + ; physics = BulletSim + physics = ubODE + meshing = ubODEMeshmerizer + ; physics = OpenDynamicsEngine + ; CombineContiguousRegions = true + + DefaultScriptEngine = "YEngine" + + ; Turn off periodic statistics output to console + LogShowStatsSeconds = 0 + +[Network] + MapTileURL = "http://maptiles.osgrid.org:80" + +[Messaging] + OfflineMessageModule = OfflineMessageModule + OfflineMessageURL = http://im.osgrid.org/offline + MuteListModule = OpenSImMuteList + MuteListURL = http://im.osgrid.org/mute/index.php + ForwardOfflineGroupMessages = false + +[DataSnapshot] + index_sims = true + data_exposure = minimum + gridname = "OSGrid" + data_services = "http://search.osgrid.org/register.php" + +[Search] + Module = "OpenSimSearch" + SearchURL = http://search.osgrid.org/query.php + +[Economy] + AllowFreeTestUpload = true + MeshModelAllowTextureToInventory = true + economy = http://helper.osgrid.org/ + +[Groups] + Enabled = true + Module = "Groups Module V2" + GroupsServerURI = "http://groups.osgrid.org/xmlrpc.php" + MessagingModule = "Groups Messaging Module V2" + ServicesConnectorModule = "Groups HG Service Connector" + LocalService = remote + HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + + NoticesEnabled = true + MessagingEnabled = true + MessageOnlineUsersOnly = true + +[NPC] + Enabled = true + +[Estates] + ; NOTE That names and passwords come from environment variables set from os-secrets + DefaultEstateName = Basil Estate + DefaultEstateOwnerName = MisterBlue Waves + ; ** Standalone Estate Settings ** + ; The following parameters will only be used on a standalone system to + ; create an estate owner that does not already exist + DefaultEstateOwnerUUID = 00000000-0000-0000-0000-000000000000 + DefaultEstateOwnerEMail = owner@example.com + DefaultEstateOwnerPassword = OnlyOwnerKnows + +[Terrain] + SendTerrainUpdatesByViewDistance = true + +[YEngine] + Enabled = true + ScriptStackSize = 256 + ScriptHeapSize = 256 + UseSourceHashCode = true + MinTimerInterval = 0.1 + ScriptEnginesPath = "ScriptEngines" + +[XEngine] + Enabled = false + ; If one uses XEngine, use a larger thread stack + ThreadStackSize = 500000 + +[BulletSim] + UseSeparatePhysicsThread = true + TerrainImplementation = 0 + +; ===== GridCommon.ini ============================================== +[Hypergrid] + HomeURI = "http://hg.osgrid.org:80" + GatekeeperURI = "http://hg.osgrid.org:80" + GatekeeperURIAlias = "login.osgrid.org , users.osgrid.org" + +[Modules] + AssetCaching = "FlotsamAssetCache" + SearchModule = "BasicSearchModule" + +[AssetService] + AssetServerURI = "http://assets.osgrid.org" +[InventoryService] + InventoryServerURI = "http://inventory.osgrid.org" +[GridInfo] + GridInfoURI = "http://hg.osgrid.org:80" +[GridService] + GridServerURI = "http://grid.osgrid.org" + AllowHypergridMapSearch = true + MapTileDirectory = "./maptiles" + Gatekeeper = "http://hg.osgrid.org:80" +[Messaging] + Gatekeeper = "http://hg.osgrid.org:80" +[AvatarService] + AvatarServerURI = "http://avatar.osgrid.org" +[AgentPreferencesService] + AgentPreferencesServerURI = "http://presence.osgrid.org" +[PresenceService] + PresenceServerURI = "http://presence.osgrid.org" +[UserAccountService] + UserAccountServerURI = "http://users.osgrid.org" +[GridUserService] + GridUserServerURI = "http://users.osgrid.org" +[AuthenticationService] + AuthenticationServerURI = "http://login.osgrid.org" +[FriendService] + FriendServerURI = "http://friends.osgrid.org" + +[HGInventoryAccessModule] + HomeURI = "http://hg.osgrid.org:80" + Gatekeeper = "http://hg.osgrid.org:80" + RestrictInventoryAccessAbroad = false +[HGAssetService] + HomeURI = "http://hg.osgrid.org:80" + +[UserAgentService] + UserAgentServerURI = "http://hg.osgrid.org:80" +[MapImageService] + MapImageServerURI = "http://maptiles.osgrid.org:80" +[MuteListService] + MuteListServiceURI = http://im.osgrid.org/mute/index.php + +; ===== OpenSim.ini ================================================= + +[DatabaseService] + ; SQLite + ; Include-Storage = "config/standalone/config-include/storage/SQLiteStandalone.ini" + + ; MySql + ; Uncomment these lines if you want to use mysql storage + ; Change the connection string to your db details + ; NOTE That password comes from environment variables set from os-secrets + StorageProvider = "OpenSim.Data.MySQL.dll" + ConnectionString = "Data Source=MYSQL_DB_SOURCE;Database=MYSQL_DB_DB;User ID=MYSQL_DB_USER;Password=MYSQL_DB_USER_PASSWORD;Old Guids=true;" + diff --git a/image-opensim-herbal3d/config/config-basilalpha/official-osgrid-files/FlotsamCache.ini.txt b/image-opensim-herbal3d/config/config-basilalpha/official-osgrid-files/FlotsamCache.ini.txt new file mode 100644 index 0000000..77aa4aa --- /dev/null +++ b/image-opensim-herbal3d/config/config-basilalpha/official-osgrid-files/FlotsamCache.ini.txt @@ -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 = 1.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/image-opensim-herbal3d/config/config-basilalpha/official-osgrid-files/GridCommon.ini.txt b/image-opensim-herbal3d/config/config-basilalpha/official-osgrid-files/GridCommon.ini.txt new file mode 100644 index 0000000..e9f63a0 --- /dev/null +++ b/image-opensim-herbal3d/config/config-basilalpha/official-osgrid-files/GridCommon.ini.txt @@ -0,0 +1,226 @@ +; 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;SslMode=None;" + ; 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;SslMode=None;" + + ; 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 = "http://hg.osgrid.org:80" + + ;# {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 = "http://hg.osgrid.org:80" + GatekeeperURIAlias = "login.osgrid.org , users.osgrid.org" + +[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" + + ;;OpenSimSearch module + SearchModule = "BasicSearchModule" + +[AssetService] + DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" + AssetLoaderArgs = "assets/AssetSets.xml" + + ; + ; Change this to your grid-wide asset server. Do not add a slash to the end of any of these addresses. + ; + AssetServerURI = "http://assets.osgrid.org" + +[InventoryService] + ; + ; Change this to your grid-wide inventory server + ; + InventoryServerURI = "http://inventory.osgrid.org" + ;MaxRetries = 0 + +[GridInfo] + ; + ; Change this to your grid info service + ; + GridInfoURI = "http://hg.osgrid.org:80" + +[GridService] + ; + ; Change this to your grid-wide grid server + ; + GridServerURI = "http://grid.osgrid.org" + 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="http://hg.osgrid.org:80" + +[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 = "http://hg.osgrid.org:80" + +[AvatarService] + ; + ; Change this to your grid-wide grid server + ; + AvatarServerURI = "http://avatar.osgrid.org" + +[AgentPreferencesService] + ; + ; Change this to your grid-wide avatar prefs server + ; + AgentPreferencesServerURI = "http://presence.osgrid.org" + +[PresenceService] + ; + ; Change this to your grid-wide presence server + ; + PresenceServerURI = "http://presence.osgrid.org" + +[UserAccountService] + ; + ; Change this to your grid-wide user accounts server + ; + UserAccountServerURI = "http://users.osgrid.org" + +[GridUserService] + ; + ; Change this to your grid-wide user accounts server + ; + GridUserServerURI = "http://users.osgrid.org" + +[AuthenticationService] + ; + ; Change this to your grid-wide authentication server + ; + AuthenticationServerURI = "http://login.osgrid.org" + +[FriendsService] + ; + ; Change this to your grid-wide friends server + ; + FriendsServerURI = "http://friends.osgrid.org" + +[HGInventoryAccessModule] + ; + ; === HG ONLY === + ; Change this to your server + ; accessible from other grids + ; + HomeURI = "http://hg.osgrid.org:80" + Gatekeeper = "http://hg.osgrid.org:80" + ;; 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 = false + + +[HGAssetService] + ; + ; === HG ONLY === + ; Change this to your server + ; accessible from other grids + ; + HomeURI = "http://hg.osgrid.org:80" + + ;; The asset types that this grid can export to / import from other grids. + ;; Comma separated. + ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: + ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, + ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh + ;; + ;; Leave blank or commented if you don't want to apply any restrictions. + ;; A more strict, but still reasonable, policy may be to disallow the exchange + ;; of scripts, like so: + ; DisallowExport ="LSLText" + ; DisallowImport ="LSLBytecode" + +[HGFriendsModule] + ; User level required to be able to send friendship invitations to foreign users + ;LevelHGFriends = 0; + +[UserAgentService] + ; + ; === HG ONLY === + ; Change this to your user agent server (HG robust) + ; + UserAgentServerURI = "http://hg.osgrid.org:80" + +[MapImageService] + MapImageServerURI = "http://maptiles.osgrid.org:80" + +[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" + diff --git a/image-opensim-herbal3d/config/config-basilalpha/official-osgrid-files/OpenSim.ini.txt b/image-opensim-herbal3d/config/config-basilalpha/official-osgrid-files/OpenSim.ini.txt new file mode 100644 index 0000000..134f7c9 --- /dev/null +++ b/image-opensim-herbal3d/config/config-basilalpha/official-osgrid-files/OpenSim.ini.txt @@ -0,0 +1,1225 @@ +;; This is the main configuration file for OpenSimulator. +;; If it's named OpenSim.ini then it will be loaded by OpenSimulator. +;; If it's named OpenSim.ini.example then you will need to copy it to +;; OpenSim.ini first (if that file does not already exist) +;; +;; The settings in this file are in the form " = ". For example, +;; save_crashes = false in the [Startup] section below. +;; +;; All settings are initially commented out and the default value used, as +;; found in OpenSimDefaults.ini. To change a setting, first uncomment it by +;; deleting the initial semicolon (;) and then change the value. This will +;; override the value in OpenSimDefaults.ini +;; +;; If you want to find out what configuration OpenSimulator has finished with +;; once all the configuration files are loaded then type "config show" on the +;; region console command line. +;; +;; +;; NOTES FOR DEVELOPERS REGARDING THE FORMAT OF THIS FILE +;; +;; All leading white space is ignored, but preserved. +;; +;; Double semicolons denote a text comment +;; +;; ;# denotes a configuration directive description +;; formatted as: +;; {option} {depends on} {question to ask} {choices} default value +;; Any text comments following the declaration, up to the next blank line. +;; will be copied to the generated file (NOTE: generation is not yet +;; implemented) +;; +;; A * in the choices list will allow an empty entry. +;; An empty question will set the default if the dependencies are +;; satisfied. +;; +;; ; denotes a commented out option. +;; Any options added to OpenSim.ini.example should be initially commented +;; out. + +[Startup] + ;# {ConsolePrompt} {} {ConsolePrompt} {} "Region (\R) " + ;; Console prompt + ;; Certain special characters can be used to customize the prompt + ;; Currently, these are + ;; \R - substitute region name + ;; \\ - substitute \ + ; ConsolePrompt = "Region (\R) " + + ;# {ConsoleHistoryFileEnabled} {} {Save console commands to a history file?} {true false} true + ;; Console commands can be saved to a file, so the command history persists after a restart. (default is false) + ; ConsoleHistoryFileEnabled = true + + ;# {ConsoleHistoryFile} {} {Filename in which to save history} {} OpenSimConsoleHistory.txt + ;; The history file can be just a filename (relative to OpenSim's bin/ directory + ;; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/) + ; ConsoleHistoryFile = "OpenSimConsoleHistory.txt" + + ;# {ConsoleHistoryFileLines} {} {How many lines of history to save?} {} 100 + ;; How many lines of command history should we keep? (default is 100) + ; ConsoleHistoryFileLines = 100 + + ;# {ConsoleHistoryTimeStamp} {} {Time stamp commands in history file} {} false + ;; Time stamp commands in history file (default false) + ; ConsoleHistoryTimeStamp = false + + ;# {save_crashes} {} {Save crashes to disk?} {true false} false + ;; Set this to true if you want to log crashes to disk + ;; this can be useful when submitting bug reports. + ;; However, this will only log crashes within OpenSimulator that cause the + ;; entire program to exit + ;; It will not log crashes caused by virtual machine failures, which + ;; includes mono and ODE failures. + ;; You will need to capture these native stack traces by recording the + ;; session log itself. + ; save_crashes = false + + ;# {crash_dir} {save_crashes:true} {Directory to save crashes to?} {} crashes + ;; Directory to save crashes to if above is enabled + ;; (default is /opensimdir/crashes/*.txt or C:\opensim\crashes\*.txt) + ; crash_dir = "crashes" + + ;# {PIDFile} {} {Path to PID file?} {} + ;; Place to create a PID file + ; PIDFile = "/tmp/OpenSim.exe.pid" + + ;# {RegistryLocation} {} {Addins Registry Location} {} + ; Set path to directory for addin registry if you want addins outside of bin. + ; Information about the registered repositories and installed plugins will + ; be stored here. The OpenSim.exe process must have R/W access to the location. + ; RegistryLocation = "." + + ;# {ConfigDirectory} {} {Set path to directory for modular ini files} {} + ; Used by region module addins. You can set this to outside bin, so that addin + ; configurations will survive updates. The OpenSim.exe process must have R/W access + ; to the location. + ; ConfigDirectory = "." + + ; Sets the method that OpenSim will use to fire asynchronous + ; events. Valid values are , + ; QueueUserWorkItem, SmartThreadPool, and Thread. (QueueUserWorkItem replaces the UnsafeQueueUserWorkItem) + async_call_method = SmartThreadPool + + + ; Max threads to allocate on the FireAndForget thread pool + ; when running with the SmartThreadPool option above + MaxPoolThreads = 300 + MinPoolThreads = 32 + + ;# {region_info_source} {} {Where to load region from?} {filesystem web} filesystem + ;; Determine where OpenSimulator looks for the files which tell it + ;; which regions to server + ;; Default is "filesystem" + ; region_info_source = "filesystem" + ; region_info_source = "web" + + ;# {regionload_regionsdir} {region_info_source} {Location of file?} {} Regions + ;; Determines where the region XML files are stored if you are loading + ;; these from the filesystem. + ;; Defaults to bin/Regions in your OpenSimulator installation directory + ; regionload_regionsdir="C:\somewhere\xmlfiles\" + + ;# {regionload_webserver_url} {region_info_source} {URL to load region from?} {} + ;; Determines the page from which regions xml is retrieved if you are + ;; loading these from the web. + ;; The XML here has the same format as it does on the filesystem + ;; (including the tag), except that everything is also enclosed + ;; in a tag. + ; regionload_webserver_url = "http://example.com/regions.xml" + + ;# {allow_regionless} {} {Allow simulator to start up with no regions configured.} {true false} false + ;; Allow the simulator to start up if there are no region configuration available + ;; from the selected region_info_source. + ; allow_regionless = false + + ;# {NonPhysicalPrimMin} {} {Minimum size of nonphysical prims?} {} 0.001 + ;; Minimum size for non-physical prims. Affects resizing of existing + ;; prims. This can be overridden in the region config file (as + ;; NonPhysicalPrimMin!). + ; NonPhysicalPrimMin = 0.001 + + ;# {NonPhysicalPrimMax} {} {Maximum size of nonphysical prims?} {} 256 + ;; Maximum size for non-physical prims. Affects resizing of existing + ;; prims. This can be overridden in the region config file (as + ;; NonPhysicalPrimMax!). + ; NonPhysicalPrimMax = 256 + + ;# {PhysicalPrimMin} {} {Minimum size of physical prims?} {} 0.01 + ;; Minimum size where a prim can be physical. Affects resizing of + ;; existing prims. This can be overridden in the region config file. + ; PhysicalPrimMin = 0.01 + + ;# {PhysicalPrimMax} {} {Maximum size of physical prims?} {} 64 + ;; Maximum size where a prim can be physical. Affects resizing of + ;; existing prims. This can be overridden in the region config file. + ; PhysicalPrimMax = 64 + + ;# {ClampPrimSize} {} {Clamp viewer rezzed prims to max sizes?} {true false} false + ;; If a viewer attempts to rez a prim larger than the non-physical or + ;; physical prim max, clamp the dimensions to the appropriate maximum + ;; This can be overridden in the region config file. + ; ClampPrimSize = false + + ;# {LinksetPrims} {} {Max prims an object will hold?} {} 0 + ;; Maximum number of prims allowable in a linkset. Affects creating new + ;; linksets. Ignored if less than or equal to zero. + ;; This can be overridden in the region config file. + ; LinksetPrims = 0 + + ;# {AllowScriptCrossing} {} {Allow scripts to cross into this region} {true false} true + ;; Allow scripts to keep running when they cross region boundaries, rather + ;; than being restarted. State is reloaded on the destination region. + ;; This only applies when crossing to a region running in a different + ;; simulator. + ;; For crossings where the regions are on the same simulator the script is + ;; always kept running. + ; AllowScriptCrossing = true + + ;# {TrustBinaries} {AllowScriptCrossing:true} {Accept compiled binary script code? (DANGEROUS!)} {true false} false + ;; Allow compiled script binary code to cross region boundaries. + ;; If you set this to "true", any region that can teleport to you can + ;; inject ARBITRARY BINARY CODE into your system. Use at your own risk. + ;; YOU HAVE BEEN WARNED!!! + ; TrustBinaries = false + + ;# {InworldRestartShutsDown} {} {Shutdown instance on region restart?} {true false} false + ;; If you have only one region in an instance, or to avoid the many bugs + ;; that you can trigger in modules by restarting a region, set this to + ;; true to make the entire instance exit instead of restarting the region. + ;; This is meant to be used on systems where some external system like + ;; Monit will restart any instance that exits, thereby making the shutdown + ;; into a restart. + ; InworldRestartShutsDown = false + + ;; Persistence of changed objects happens during regular sweeps. The + ;; following control that behaviour to prevent frequently changing objects + ;; from heavily loading the region data store. + ;; If both of these values are set to zero then persistence of all changed + ;; objects will happen on every sweep. + + ;# {MinimumTimeBeforePersistenceConsidered} {} {Time before un-changed object may be persisted} {} 60 + ;; Objects will be considered for persistance in the next sweep when they + ;; have not changed for this number of seconds. + ; MinimumTimeBeforePersistenceConsidered = 60 + + ;# {MaximumTimeBeforePersistenceConsidered} {} {Time before changed objects may be persisted?} {} 600 + ;; Objects will always be considered for persistance in the next sweep + ;; if the first change occurred this number of seconds ago. + ; MaximumTimeBeforePersistenceConsidered = 600 + + ;# {physical_prim} {} {Allow prims to be physical?} {true false} true + ;; if you would like to allow prims to be physical and move by physics + ;; with the physical checkbox in the client set this to true. + ; physical_prim = true + + ;; Select a mesher here. + ;; + ;; Meshmerizer properly handles complex prims by using triangle meshes. + ;; Note that only the ODE physics engine currently deals with meshed + ;; prims in a satisfactory way. + + ;# {meshing} {} {Select mesher} {Meshmerizer ZeroMesher} Meshmerizer + ;; ZeroMesher is faster but leaves the physics engine to model the mesh + ;; using the basic shapes that it supports. + ;; Usually this is only a box. + ;; Default is Meshmerizer + ; meshing = Meshmerizer + ; meshing = ZeroMesher + ;; select ubODEMeshmerizer only with ubOde physics engine + ; meshing = ubODEMeshmerizer + + ; 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 + + ;; Choose one of the physics engines below + ;# {physics} {} {Select physics engine} {OpenDynamicsEngine BulletSim basicphysics POS} BulletSim + ;; BulletSim is the default physics engine. It provides the best performance and most functionality. + ;; BulletSim supports varregions. + ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. + ;; It continues to provide a workable physics implementation. It does not currently support varregions. + ;; basicphysics effectively does not model physics at all, making all objects phantom. + ;; Default is BulletSim + ; physics = OpenDynamicsEngine + ; physics = BulletSim + ; physics = basicphysics + ; physics = POS + ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also + ; physics = ubODE + + ; 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 + + ;# {DefaultScriptEngine} {} {Default script engine} {YEngine} YEngine + ;; Default script engine to use (Yengine if all commented) + ; DefaultScriptEngine = "XEngine" + ;; see section [YEngine} below + DefaultScriptEngine = "YEngine" + + ;# {HttpProxy} {} {Proxy URL for llHTTPRequest and dynamic texture loading} {} http://proxy.com:8080 + ;; Http proxy setting for llHTTPRequest and dynamic texture loading, if + ;; required + ; HttpProxy = "http://proxy.com:8080" + + ;# {HttpProxyExceptions} {HttpProxy} {Set of regular expressions defining URL that should not be proxied} {} + ;; If you're using HttpProxy, then you can set HttpProxyExceptions to a + ;; list of regular expressions for URLs that you don't want to go through + ;; the proxy. + ;; For example, servers inside your firewall. + ;; Separate patterns with a ';' + ; HttpProxyExceptions = ".mydomain.com;localhost" + + ;# {SpawnPointRouting} {} {Set routing method for Telehub Spawnpoints} {closest random sequence} closest + ;; SpawnPointRouting adjusts the landing for incoming avatars. + ;; "closest" will place the avatar at the SpawnPoint located in the closest + ;; available spot to the destination (typically map click/landmark). + ;; "random" will place the avatar on a randomly selected spawnpoint. + ;; "sequence" will place the avatar on the next sequential SpawnPoint. + ; SpawnPointRouting = closest + + ;# {TelehubAllowLandmark} {} {Allow users with landmarks to override telehub routing} {true false} false + ;; TelehubAllowLandmark allows users with landmarks to override telehub + ;; routing and land at the landmark coordinates when set to true + ;; default is false + ; TelehubAllowLandmark = false + + ;; SSL certificate validation options + ;; you can allow selfsigned certificates or no official CA with next option set to true + ;# {NoVerifyCertChain} {} {do not verify SSL Cert Chain} {true false} true + ; NoVerifyCertChain = true + + ;; you can also bypass the hostname or domain verification + ;# {NoVerifyCertHostname} {} {do not verify SSL Cert name versus peer name} {true false} true + ; NoVerifyCertHostname = true + ;; having both options true does provide encryption but with low security + ;; set both true if you don't care to use SSL, they are needed to contact regions or grids that do use it. + +[AccessControl] + ;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {} + ;; Bar (|) separated list of viewers which may gain access to the regions. + ;; One can use a substring of the viewer name to enable only certain + ;; versions + ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" + ;; - "Imprudence" has access + ;; - "Imprudence 1.3" has access + ;; - "Imprudence 1.3.1" has no access + ; AllowedClients = "" + + ;# {DeniedClients} {} {Bar (|) separated list of denied clients} {} + ;; Bar (|) separated list of viewers which may not gain access to the regions. + ;; One can use a Substring of the viewer name to disable only certain + ;; versions + ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" + ;; - "Imprudence" has no access + ;; - "Imprudence 1.3" has no access + ;; - "Imprudence 1.3.1" has access + ;; + ; DeniedClients = "" + + +[Map] + ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true + ;; Map tile options. + ;; If true, then maptiles are generated using the MapImageModule below. + ;; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden + ;; in individual region config file(s). If you do not want to upload map tiles at all, then you will need + ;; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ + ; GenerateMaptiles = true + + ;# {MapImageModule} {} {The map image module to use} {MapImageModule Warp3DImageModule} MapImageModule + ;; The module to use in order to generate map images. + ;; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can + ;; generate better images. + ;MapImageModule = "MapImageModule" + + ;# {MaptileRefresh} {GenerateMaptiles} {Maptile refresh period?} {} 0 + ;; If desired, a running region can update the map tiles periodically + ;; to reflect building activity. This names no sense of you don't have + ;; prims on maptiles. Value is in seconds. + ; MaptileRefresh = 0 + + ;# {MaptileStaticUUID} {} {Asset ID for static map texture} {} 00000000-0000-0000-0000-000000000000 + ;; If not generating maptiles, use this static texture asset ID + ;; This may be overridden on a per region basis in Regions.ini + ; MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" + + ;# {TextureOnMapTile} {} {Use terrain textures for map tiles?} {true false} true + ;; Use terrain texture for maptiles if true, use shaded green if false + ; TextureOnMapTile = true + + ;# {DrawPrimOnMapTile} {} {Draw prim shapes on map tiles?} {true false} false + ;; Draw objects on maptile. This step might take a long time if you've + ;; got a large number of objects, so you can turn it off here if you'd like. + ; DrawPrimOnMapTile = true + + ;# {TexturePrims} {} {Texture prims on map tiles?} {true false} true + ;; Texture the faces of the prims that are rendered on the map tiles. + ; TexturePrims = true + + ;# {TexturePrimSize} {} {Size of prims to texture faces?} {} 48 + ;; Only texture prims that have a diagonal size greater than this number + ; TexturePrimSize = 48 + + ;# {RenderMeshes} {} {Render meshes and sculpties on map tiles?} {true false} false + ;; Attempt to render meshes and sculpties on the map. + ; RenderMeshes = false + + ;# {MapColorWater} {} {Water color for textured and shaded maps} {"#1D475F"} + ; MapColorWater = "#3399FF" + + ;# {MapColor1} {} {Terrain color 1 for textured maps} {"#A58976"} + ; MapColor1 = "#A58976" + + ;# {MapColor2} {} {Terrain color 2 for textured maps} {"#455931"} + ; MapColor2 = "#455931" + + ;# {MapColor3} {} {Terrain color 3 for textured maps} {"#A29A8D"} + ; MapColor3 = "#A29A8D" + + ;# {MapColor4} {} {Terrain color 4 for textured maps} {"#C8C8C8"} + ; MapColor4 = "#C8C8C8" + + +[Permissions] + ;# {permissionmodules} {} {Permission modules to use (may specify multiple modules, separated by comma} {} DefaultPermissionsModule + ;; Permission modules to use, separated by comma. + ;; Possible modules are DefaultPermissionsModule, PrimLimitsModule + ; permissionmodules = DefaultPermissionsModule + + ;# {serverside_object_permissions} {permissionmodules:DefaultPermissionsModule} {Activate permission handling by the sim?} {true false} true + ;; These are the parameters for the default permissions module + ;; + ;; If set to false, then, in theory, the server never carries out + ;; permission checks (allowing anybody to copy + ;; any item, etc. This may not yet be implemented uniformally. + ;; If set to true, then all permissions checks are carried out + ; serverside_object_permissions = true + + ; if next 2 are false, several admin powers are only active if god powers requested on viewer + ; this reduces mistakes + ; set both to true to enable previous behaviour + automatic_gods = false + implicit_gods = false + + ;# {allow_grid_gods} {} {Allow grid gods?} {true false} false + ;; This allows users with a UserLevel of 200 or more to assume god + ;; powers in the regions in this simulator. + ;; if you don't trust grid admins, what are you doing there? + allow_grid_gods = true + + ;; This allows some control over permissions + ;; please note that this still doesn't duplicate SL, and is not intended to + ;# {region_owner_is_god} {} {Allow region owner gods} {true false} true + ;; Allow region owners to assume god powers in their regions + ; region_owner_is_god = true + + ;# {region_manager_is_god} {} {Allow region manager gods} {true false} false + ;; Allow region managers to assume god powers in regions they manage + ; region_manager_is_god = false + + ;# {simple_build_permissions} {} {Allow building in parcel by access list (no groups)} {true false} false + ;; More control over permissions + ;; This is definitely not SL! + ;; Provides a simple control for land owners to give build rights to + ;; specific avatars in publicly accessible parcels that disallow object + ;; creation in general. + ;; Owners specific avatars by adding them to the Access List of the parcel + ;; without having to use the Groups feature + ; simple_build_permissions = false + + + +[Estates] + ; If these values are commented out then the user will be asked for estate details when required (this is the normal case). + ; If these values are uncommented then they will be used to create a default estate as necessary. + ; New regions will be automatically assigned to that default estate. + + ;# {DefaultEstateName} {} {Default name for estate?} {} My Estate + ;; Name for the default estate + ; DefaultEstateName = My Estate + + ;# {DefaultEstateOwnerName} {} {Default estate owner name?} {} FirstName LastName + ;; Name for default estate owner + ; DefaultEstateOwnerName = FirstName LastName + + + ; ** Standalone Estate Settings ** + ; The following parameters will only be used on a standalone system to + ; create an estate owner that does not already exist + + ;# {DefaultEstateOwnerUUID} {} {Default estate owner UUID?} {} 00000000-0000-0000-0000-000000000000 + ;; If DefaultEstateOwnerUUID is left at UUID.Zero (as below) then a random + ;; UUID will be assigned. This is normally what you want + ; DefaultEstateOwnerUUID = 00000000-0000-0000-0000-000000000000 + + ;# {DefaultEstateOwnerEMail} {} {Default estate owner email?} {} + ;; Email address for the default estate owner + ; DefaultEstateOwnerEMail = owner@domain.com + + ;# {DefaultEstateOwnerPassword} {} {Default estate owner password} {} + ;; Password for the default estate owner + ; DefaultEstateOwnerPassword = password + +[SMTP] + ;; The SMTP server enabled the email module to send email to external + ;; destinations. + + ;# {enabled} {[Startup]emailmodule:DefaultEmailModule} {Enable SMTP service?} {true false} false + ;; Enable sending email via SMTP + ; enabled = false + + ;# {internal_object_host} {[Startup]emailmodule:DefaultEmailModule enabled:true} {Host name to treat as internal (object to object) email?} {} lsl.opensim.local + ; internal_object_host = lsl.opensim.local + + ;# {host_domain_header_from} {[Startup]emailmodule:DefaultEmailModule enabled:true} {From address to use in the sent email header?} {} 127.0.0.1 + ; host_domain_header_from = "127.0.0.1" + + ;# {email_pause_time} {[Startup]emailmodule:DefaultEmailModule enabled:true} {Period in seconds to delay after an email is sent.} {} 20 + ; email_pause_time = 20 + + ;# {email_max_size} {[Startup]emailmodule:DefaultEmailModule enabled:true} {Maximum total size of email in bytes.} {} 4096 + ; email_max_size = 4096 + + ;# {SMTP_SERVER_HOSTNAME} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server name?} {} 127.0.0.1 + ; SMTP_SERVER_HOSTNAME = "127.0.0.1" + + ;# {SMTP_SERVER_PORT} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server name?} {SMTP server port?} {} 25 + ; SMTP_SERVER_PORT = 25 + + ;# {SMTP_SERVER_LOGIN} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server user name?} {} + ; SMTP_SERVER_LOGIN = "" + + ;# {SMTP_SERVER_PASSWORD} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server password} {} + ; SMTP_SERVER_PASSWORD = "" + +[Network] + ;# {ConsoleUser} {} {User name for console account} {} + ;; Configure the remote console user here. This will not actually be used + ;; unless you use -console=rest at startup. + ; ConsoleUser = "Test" + ;# {ConsolePass} {} {Password for console account} {} + ; ConsolePass = "secret" + ;# {console_port} {} {Port for console connections} {} 0 + ; console_port = 0 + + ;# {http_listener_port} {} {TCP Port for this simulator to listen on? (This must be unique to the simulator!)} {} 9000 + ;; Simulator HTTP port. This is not the region port, but the port the + ;; entire simulator listens on. This port uses the TCP protocol, while + ;; the region ports use UDP. + ; http_listener_port = 9000 + + ; optional main server secure http (ssl) + ; to use ssl you need a ssl certificate in PKCS12 format that validates the ExternalHostnames + ; or their domains + ; some viewers by default only accept certificates signed by a oficial CA + ; to use others like self signed certificates with those viewers, + ; their debug option NoVerifySSLCert needs to be set true, You need to inform users about this + ; the main unsecure port will still open for some services. this may change in future. + + ; set http_listener_ssl to enable main server ssl. it will replace unsecure port on most functions + ;# {http_listener_ssl}{} {enable main server ssl port)} {} false + ;http_listener_ssl = false + + ; Set port for main SSL connections + ;# {http_listener_sslport}{} {main server ssl port)} {} 9001 + ;http_listener_sslport = 9001 ; + + ; currently if using ssl, regions ExternalHostName must the the same and equal to http_listener_cn + ; this may be removed in future + ;# {http_listener_cn}{} {main server ssl externalHostName)} {} "" + ;http_listener_cn = "myRegionsExternalHostName" + + ; the path for the certificate path + ;# {http_listener_cert_path}{} {main server ssl certificate file path)} {} "" + ;http_listener_cert_path = "mycert.p12" + + ;# {http_listener_cert_pass}{} {main server ssl certificate password)} {} "" + ;http_listener_cert_pass = "mycertpass" ; the cert passwork + + ; By default, OpenSimulator does not allow scripts to make HTTP calls to addresses on the simulator's LAN. + ; See the OutboundDisallowForUserScripts parameter in OpenSimDefaults.ini for more information on this filter. + ; If you need to allow scripts to make some LAN calls use the OutboundDisallowForUserScriptsExcept parameter below. + ; We recommend that you do not override OutboundDisallowForUserScripts directly unless you are very sure about what you're doing. + ; this HTTP calls can also use ssl see opensimDefaults.ini + ; + ; You can whitelist individual endpoints by IP or FQDN, e.g. + ; + ; OutboundDisallowForUserScriptsExcept = 192.168.1.3:8003 + ; + ; You can specify multiple addresses by separating them with a bar. For example, + ; + ; OutboundDisallowForUserScriptsExcept = 192.168.1.3:8003|myinternalserver:8000 + ; + ; If an address if given without a port number then port 80 is assumed + ; + ; You can also specify a network range in CIDR notation to whitelist, e.g. + ; + ; OutboundDisallowForUserScriptsExcept = 192.168.1.0/24 + ; + ; to whitelist all ports on addresses 192.168.1.0 to 192.168.1.255 + ; To specify an individual IP address use the /32 netmask + ; + ; OutboundDisallowForUserScriptsExcept = 192.168.1.2/32 + ; + ; See http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation for more information on CIDR notation + + ;# {HttpBodyMaxLenMAX} {} {Maximum bytes allowed for HTTP_BODY_MAXLENGTH} {} 16384 + ;; By default, llHTTPRequest limits the response body to 2048 bytes. + ;; This limit can be extended using HTTP_BODY_MAXLENGTH to a maximum + ;; of HttpBodyMaxLenMAX bytes. + ;; Please be aware that the limit can be set to insanely high values, + ;; effectively removing any limitation. This will expose your sim to a + ;; known attack. It is not recommended to set this limit higher than + ;; the highest value that is actually needed by existing applications! + ;; 16384 is the SL compatible value. + ; HttpBodyMaxLenMAX=16384 + + ;# {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 + ; UNCOMMENT AND SET THIS TO YOUR EXTERNAL OR LOCAL ADDRESS TO ENABLE AS NEEDED + ;ExternalHostNameForLSL = 127.0.0.1 + + ;# {shard} {} {Name to use for X-Secondlife-Shard header? (press enter if unsure)} {} OpenSim + ;; What is reported as the "X-Secondlife-Shard" + ;; Defaults to the user server url if not set + ;; The old default is "OpenSim", set here for compatibility + ;; The below is not commented for compatibility. + shard = "OpenSim" + + ;# {user_agent} {} {User agent to report to web servers?} {} OpenSim LSL (Mozilla Compatible) + ;; What is reported as the "User-Agent" when using llHTTPRequest + ;; Defaults to not sent if not set here. See the notes section in the wiki + ;; at http://wiki.secondlife.com/wiki/LlHTTPRequest for comments on adding + ;; " (Mozilla Compatible)" to the text where there are problems with a + ;; web server + ; user_agent = "OpenSim LSL (Mozilla Compatible)" + + ;; The following 3 variables are for HTTP Basic Authentication for the Robust services. + ;; Use this if your central services in port 8003 need to be accessible on the Internet + ;; but you want to protect them from unauthorized access. The username and password + ;; here need to match the ones in the Robust service configuration. + ; AuthType = "BasicHttpAuthentication" + ; HttpAuthUsername = "some_username" + ; HttpAuthPassword = "some_password" + ;; + ;; Any of these 3 variables above can be overriden in any of the service sections. + + +[XMLRPC] + ;# {XmlRpcRouterModule} {} {Module used to route incoming llRemoteData calls} {XmlRpcRouterModule XmlRpcGridRouterModule} XmlRpcRouterModule + ;; If enabled and set to XmlRpcRouterModule, this will post an event, + ;; "xmlrpc_uri(string)" to the script concurrently with the first + ;; remote_data event. This will contain the fully qualified URI an + ;; external site needs to use to send XMLRPC requests to that script + ;; + ;; If enabled and set to XmlRpcGridRouterModule, newly created channels + ;; will be registered with an external service via a configured uri + ;XmlRpcRouterModule = "XmlRpcRouterModule" + + ;# {XmlRpcPort} {} {Port for incoming llRemoteData xmlrpc calls} {} 20800 + ;XmlRpcPort = 20800 + + ;# {XmlRpcHubURI} {XmlRpcRouterModule} {URI for external service used to register xmlrpc channels created in the simulator. This depends on XmlRpcRouterModule being set to XmlRpcGridRouterModule} {} http://example.com + ;; If XmlRpcRouterModule is set to XmlRpcGridRouterModule, the simulator + ;; will use this address to register xmlrpc channels on the external + ;; service + ; XmlRpcHubURI = http://example.com + + +[ClientStack.LindenUDP] + ;; See OpensSimDefaults.ini for the throttle options. You can copy the + ;; relevant sections and override them here. + ;; DO NOT MODIFY OpenSimDefaults.ini, as your changes would be lost + ;; with the next update! + + ;# {DisableFacelights} {} {Stop facelights from working?} {true false} false + ;; Quash and remove any light properties from attachments not on the + ;; hands. This allows flashlights and lanterns to function, but kills + ;; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps + ;; will also be affected. + ;; This is especially important in artistic builds that depend on lights + ;; on the build for their appearance, since facelights will cause the + ;; building's lights to possibly not be rendered. + ; DisableFacelights = "false" + + +[ClientStack.LindenCaps] + ;; For the long list of capabilities, see OpenSimDefaults.ini + ;; Here are the few ones you may want to change. Possible values + ;; are: + ;; "" -- empty, capability disabled + ;; "localhost" -- capability enabled and served by the simulator + ;; "" -- capability enabled and served by some other server + ;; + ; These are enabled by default to localhost. Change if you see fit. + Cap_GetTexture = "localhost" + Cap_GetMesh = "localhost" + Cap_AvatarPickerSearch = "localhost" + Cap_GetDisplayNames = "localhost" + + +[SimulatorFeatures] + ;# {SearchServerURI} {} {URL of the search server} {} + ;; Optional. If given this serves the same purpose as the grid wide + ;; [LoginServices] SearchURL setting and will override that where + ;; supported by viewers. + ;SearchServerURI = "http://127.0.0.1:9000/" + + ;# {DestinationGuideURI} {} {URL of the destination guide} {} + ;; Optional. If given this serves the same purpose as the grid wide + ;; [LoginServices] DestinationGuide setting and will override that where + ;; supported by viewers. + ;DestinationGuideURI = "http://127.0.0.1:9000/guide" + + ;# {MapTileURL} {} {URL of maptile server} {} + MapTileURL = "http://maptiles.osgrid.org:80" + + +[Chat] + ;# {whisper_distance} {} {Distance at which a whisper is heard, in meters?} {} 10 + ;; Distance in meters that whispers should travel. + ; whisper_distance = 10 + + ;# {say_distance} {} {Distance at which normal chat is heard, in meters?} {} 20 + ;; Distance in meters that ordinary chat should travel. + ; say_distance = 20 + + ;# {shout_distance} {} {Distance at which a shout is heard, in meters?} {} 100 + ;; Distance in meters that shouts should travel. + ; shout_distance = 100 + + +[EntityTransfer] + ;# {DisableInterRegionTeleportCancellation} {} {Determine whether the cancel button is shown at all during teleports.} {false true} false + ;; This option exists because cancelling at certain points can result in an unuseable session (frozen avatar, etc.) + ;; Disabling cancellation can be okay in small closed grids where all teleports are highly likely to suceed. + ;DisableInterRegionTeleportCancellation = false + + ;# {LandingPointBehavior} {} {How to honor landing points and telehubs for gods.} {LandingPointBehavior_OS LandingPointBehavior_SL} LandingPointBehavior_OS + ;; This option exists to control the behavior of teleporting gods into places that have landing points + ;; and telehubs. Historically, there has been a difference: OpenSim (OS) has honored landing points and telehubs even for + ;; avatars with god permissions; SL lets gods land wherever they want. + ;LandingPointBehavior = LandingPointBehavior_OS + +[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 + + ;# {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 = http://im.osgrid.org/offline + + + ;# {StorageProvider} {Offline Message Module V2:Offline Message Module V2} {DLL that provides the storage interface} {OpenSim.Data.MySQL.dll} + ;; For standalones, this is the storage dll. + ; StorageProvider = OpenSim.Data.MySQL.dll + + ; Mute list handler + ; the provided MuteListModule is just a Dummy + ; you will need a external module for proper suport. + ; if you keep both 2 following settings comment, viewers will use mutes in their caches + ; if you uncoment both (url is ignored) the mutes will be deleted at login on this instance regions + ; WARNING: viewers mutes cache seems to shared by all grids, including SL + ; this may cause some confusion. + + ;# {MuteListModule} {OfflineMessageModule:OfflineMessageModule} {} {} MuteListModule + ;; Mute list handler (Requires OpenSimMuteList module). MUST BE SET to allow offline + ;; messages to work + MuteListModule = OpenSimMuteList + + ;# {MuteListURL} {MuteListModule:MuteListModule} {} {} http://yourserver/Mute.php + MuteListURL = http://im.osgrid.org/mute/index.php + + ;; Control whether group invites and notices are stored for offline users. + ;; Default is true. + ;; This applies to both core groups module. + ForwardOfflineGroupMessages = false + + +[BulletSim] + ;# {AvatarToAvatarCollisionsByDefault} {[Startup]physics:BulletSim} {Should avatars collide with each other?} {true false} true + AvatarToAvatarCollisionsByDefault = true + UseSeparatePhysicsThread = true + TerrainImplementation=0 + +[ODEPhysicsSettings] + ;# {mesh_sculpted_prim} {[Startup]physics:OpenDynamicsEngine} {Mesh sculpties so they collide as they look?} {true false} true + ;; Do we want to mesh sculpted prim to collide like they look? + ;; If you are seeing sculpt texture decode problems + ;; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception") + ;; then you might want to try setting this to false. + ; mesh_sculpted_prim = true + +[RemoteAdmin] + ;; This is the remote admin module, which uses XMLRPC requests to + ;; manage regions from a web interface. + + ;# {enabled} {} {Enable the remote admin interface?} {true false} false + ; enabled = false + + ;# {port} {enabled:true} {Port to use for the remote admin interface? (0 = default)} {} 0 + ;; Set this to a nonzero value to have remote admin use a different port + ; port = 0 + + ;# {access_password} {enabled:true} {Password for the remote admin interface} {} + ;; This password is required to make any XMLRPC call (should be set as + ;; the "password" parameter) + ; access_password = "" + + ;# {access_ip_addresses} {enabled:true} {List the IP addresses allowed to call RemoteAdmin?} {} + ;; List the IP addresses allowed to call RemoteAdmin + ;; If access_ip_addresses isn't set, then all IP addresses can access RemoteAdmin. + ;; access_ip_addresses = 0.0.0.0, 0.0.0.0 ... + ; access_ip_addresses = + + ;# {create_region_enable_voice} {enabled:true} {Enable voice for newly created regions?} {true false} false + ;; set this variable to true if you want the create_region XmlRpc + ;; call to unconditionally enable voice on all parcels for a newly + ;; created region + ; create_region_enable_voice = false + + ;# {create_region_public} {enabled:true} {Make newly created regions public?} {true false} false + ;; set this variable to false if you want the create_region XmlRpc + ;; call to create all regions as private per default (can be + ;; overridden in the XmlRpc call) + ; create_region_public = false + + ;# {enabled_methods} {enabled:true} {List of methods to allow, separated by |} {} all + ;; enable only those methods you deem to be appropriate using a | delimited + ;; whitelist. + ;; For example: + ;; enabled_methods = admin_broadcast|admin_save_oar|admin_save_xml + ;; if this parameter is not specified but enabled = true, all methods + ;; will be available + ; enabled_methods = all + + ;; specify the default appearance for an avatar created through the remote + ;; admin interface + ;; This will only take effect is the file specified by the + ;; default_appearance setting below exists + ; default_male = Default Male + ; default_female = Default Female + + ;; Update appearance copies inventory items and wearables of default + ;; avatars. if this value is false, just worn assets are copied to the + ;; Clothes folder; if true, all Clothes and Bodyparts subfolders are copied. + ;; The receiver will wear the same items the default avatar did wear. + ; copy_folders = false + + ;; Path to default appearance XML file that specifies the look of the + ;; default avatars + ; default_appearance = default_appearance.xml + + +[Wind] + ;# {enabled} {} {Enable wind module?} {true false} true + ;; Enables the wind module. + ; enabled = true + + ;# {wind_update_rate} {enabled:true} {Wind update rate in frames?} {} 150 + ;; How often should wind be updated, as a function of world frames. + ;; Approximately 50 frames a second + ; wind_update_rate = 150 + + ;; The Default Wind Plugin to load + ; wind_plugin = SimpleRandomWind + + ;; These settings are specific to the ConfigurableWind plugin + ;; To use ConfigurableWind as the default, simply change wind_plugin + ;; to ConfigurableWind and uncomment the following. + ; avg_strength = 5.0 + ; avg_direction = 0.0 + ; var_strength = 5.0 + ; var_direction = 30.0 + ; rate_change = 1.0 + + ;# {strength} {enabled:true wind_plugin:SimpleRandomWind} {Wind strength?} {} 1.0 + ;; This setting is specific to the SimpleRandomWind plugin + ;; Adjusts wind strength. 0.0 = no wind, 1.0 = normal wind. + ; strength = 1.0 + +[Materials] + ;# {enable_materials} {} {Enable Materials support?} {true false} true + ;; This enables the use of Materials. + ; enable_materials = true + ; MaxMaterialsPerTransaction = 50 + +[DataSnapshot] + ;# {index_sims} {} {Enable data snapshotting (search)?} {true false} false + ;; The following set of configs pertains to search. + ;; Set index_sims to true to enable search engines to index your + ;; searchable data. + ;; If false, no data will be exposed, DataSnapshot module will be off, + ;; and you can ignore the rest of these search-related configs. + index_sims = 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 = minimum + + ;# {gridname} {index_sims:true} {Enter the name fo your grid} {} OSGrid + ;; If search is on, change this to your grid name; will be ignored for + ;; standalones + gridname = "OSGrid" + + ;# {default_snapshot_period} {index_sims:true} {Period between data snapshots?} {} 1200 + ;; Period between data snapshots, in seconds. 20 minutes, for starters, + ;; so that you see the initial changes fast. + ;; Later, you may want to increase this to 3600 (1 hour) or more + ; default_snapshot_period = 1200 + + ;; This will be created in bin, if it doesn't exist already. It will hold + ;; the data snapshots. + ; snapshot_cache_directory = "DataSnapshot" + + ;; [Supported, but obsolete] + ;# {data_services} {index_sims:true} {Data service URLs to register with?} {} http://metaverseink.com/cgi-bin/register.py + ; This semicolon-separated string serves to notify specific data services + ; about the existence of this sim. Uncomment if you want to index your + ; data with this and/or other search providers. + data_services="http://search.osgrid.org/register.php" + + ;; New way of specifying data services, one per service + ;DATA_SRV_MISearch = "http://metaverseink.com/cgi-bin/register.py" + +[Search] + Module = "OpenSimSearch" + SearchURL = http://search.osgrid.org/query.php + +[Economy] + ; the economy module in use + ; To use other modules you need to override this setting + ; economymodule = BetaGridLikeMoneyModule + + ;# {SellEnabled} {} {Enable selling for 0?} {true false} true + ; The default economy module only implements just enough to allow free actions (transfer of objects, etc). + ; There is no intention to implement anything further in core OpenSimulator. + ; This functionality has to be provided by third party modules. + + AllowFreeTestUpload = true + + ;; Enables selling things for $0. Default is true. + ; SellEnabled = true + + ;# {PriceUpload} {} {Price for uploading?} {} 0 + ;; Money Unit fee to upload textures, animations etc. Default is 0. + ; PriceUpload = 0 + + ;# {PriceGroupCreate} {} {Fee for group creation} {} 0 + ;; Money Unit fee to create groups. Default is 0. + ; PriceGroupCreate = 0 + + MeshModelAllowTextureToInventory = true + + economy = http://helper.osgrid.org/ + +[YEngine] + ;; This should have better compatibility with SL scripts. + ;; implements non preemptive microthreading, so fixing problems like llSleep or long events handlers + ;; but those will suffer from timeslicing, so will be slower. + ;; compiles LSL directly to IL, so only suports LSL scripting (no C# etc) + ;; shares the Xengine APIs like LSL, OSSL, etc. + ;; TPs or crossings to/from Xengine will full recompile scripts losing state. + ;; attachment scripts may misbehave, cars will stop on crossings, etc. + Enabled = true + ScriptStackSize = 256 + ScriptHeapSize = 256 + UseSourceHashCode = true + MinTimerInterval = 0.1 + ;; Default is ./bin/ScriptEngines + ScriptEnginesPath="ScriptEngines" + +[XEngine] + ;# {Enabled} {} {Enable the XEngine scripting engine?} {true false} true + ;; Enable this engine in this OpenSim instance + Enabled = false + + ;; 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 + + ;; llSetTimerEvent minimum value. Default 0.5s, 0.05s whould be more resonable + ; MinTimerInterval = 0.5 + + ;# {Priority} {Enabled:true} {Priority for script engine threads?} {Lowest BelowNormal Normal AboveNormal Highest} BelowNormal + ;; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", + ;; "Highest") + ; Priority = "BelowNormal" + + ;; Maximum number of events to queue for a script (excluding timers) + ; MaxScriptEventQueue = 300 + + ;; Stack size per script engine thread in bytes. + ;; If you are experiencing StackOverflowExceptions you may want to increase this (e.g. double it). + ;; The trade-off may be increased memory usage by the script engine. + ; ThreadStackSize = 262144 + + ;; Set this to true to load each script into a separate + ;; AppDomain. + ;; + ;; Setting this to false will load all script assemblies into the + ;; current AppDomain, which will significantly improve script loading times. + ;; It will also reduce initial per-script memory overhead. + ;; + ;; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted. + ;; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region. + ;; 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. + ;; this should only be a issue if regions stay alive for a long time with lots of scripts added or edited. + AppDomainLoading = false + + ;; Controls whether scripts are stopped by aborting their threads externally (abort) or by co-operative checks from the compiled script (co-op) + ;; co-op will be more stable but this option is currently experimental. + ;; If moving from co-op to abort, existing script DLLs will need to be recompiled. + ;; This currently can only be done manually, either by setting DeleteScriptsOnStartup = true for one run + ;; or by deleting the script DLL* files in bin/ScriptEngines// + ;; One can move from co-op back to abort without recompilation, but reverting back to co-op again will need script recompile + ;; Current valid values are "abort" and "co-op" + ; ScriptStopStrategy = co-op + + + ;# {DeleteScriptsOnStartup} {} {Delete previously compiled script DLLs on startup?} {true false} true + ;; Controls whether previously compiled scripts DLLs are deleted on sim restart. If you set this to false + ;; then startup will be considerably faster since scripts won't need to be recompiled. However, then it becomes your responsibility to delete the + ;; compiled scripts if you're recompiling OpenSim from source code and internal interfaces used + ;; by scripts have changed. + ; DeleteScriptsOnStartup = true + + ;# {CompactMemOnLoad} {} {compacts memory on each script load at startup?} {true false} false + ;; 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 (as with DeleteScriptsOnStartup = true) + ;CompactMemOnLoad = false + + ;; Compile debug info (line numbers) into the script assemblies + ; CompileWithDebugInformation = true + + ; ==== Settings for MOD and OSSL functions have been moved to the [OSSL] section + + ;# {EventLimit} {} {Amount of time a script can spend in an event handler} {} 30 + ;; Time a script can spend in an event handler before it is interrupted + ; EventLimit = 30 + + ;# {KillTimedOutScripts} {} {Kill script in case of event time overruns?} {true false} false + ;; If a script overruns it's event limit, kill the script? + ; KillTimedOutScripts = false + + ;# {ScriptDelayFactor} {} {Multiplier for scripting delays} {} 1.0 + ;; Sets the multiplier for the scripting delays + ; ScriptDelayFactor = 1.0 + + ;# {ScriptDistanceLimitFactor} {} {Multiplier for 10.0m distance limits?} {} + ;; The factor the 10 m distances limits are multiplied by + ; ScriptDistanceLimitFactor = 1.0 + + ;# {NotecardLineReadCharsMax} {} {Maximum length of notecard line?} {} 255 + ;; Maximum length of notecard line read + ;; Increasing this to large values potentially opens + ;; up the system to malicious scripters + ; NotecardLineReadCharsMax = 255 + + ;# {SensorMaxRange} {} {Sensor range} {} 96.0 + ;; Sensor settings + ; SensorMaxRange = 96.0 + ;# {SensorMaxResults} {} {Max sensor results returned?} {} + ; SensorMaxResults = 16 + + ;# {DisableUndergroundMovement} {} {Disable underground movement of prims} {true false} true + ;; Disable underground movement of prims (default true); set to + ;; false to allow script controlled underground positioning of + ;; prims + ; DisableUndergroundMovement = true + + ;# {ScriptEnginesPath} {} {Path to script assemblies} {} ScriptEngines + ;; Path to script engine assemblies + ;; Default is ./bin/ScriptEngines + ; ScriptEnginesPath = "ScriptEngines" + +[OSSL] + ;# {Include-osslEnable} {} {Include file for enabling and permissions for OSSL functions} {} + ;; Optionally include file to enable OSSL functions and set permissions on who can use which. + ;; If this INI file is not included, the OSSL functions are disabled. + Include-osslEnable = "config-include/osslDefaultEnable.ini" + + +[MRM] + ;; Enables the Mini Region Modules Script Engine. + ; Enabled = false + + ;; Runs MRM in a Security Sandbox + ;; WARNING: DISABLING IS A SECURITY RISK. + ; Sandboxed = true + + ;; The level sandbox to use, adjust at your OWN RISK. + ;; Valid values are: + ;; * FullTrust + ;; * SkipVerification + ;; * Execution + ;; * Nothing + ;; * LocalIntranet + ;; * Internet + ;; * Everything + ; SandboxLevel = "Internet" + + ;; Only allow Region Owners to run MRMs + ;; May represent a security risk if you disable this. + ; OwnerOnly = true + + +[FreeSwitchVoice] + ;; In order for this to work you need a functioning FreeSWITCH PBX set up. + ;; Configuration details at http://opensimulator.org/wiki/Freeswitch_Module + ; Enabled = false + + ;; You need to load a local service for a standalone, and a remote service + ;; for a grid region. Use one of the lines below, as appropriate + ;; If you're using Freeswitch on a standalone then you will also need to configure the [FreeswitchService] section in config-include/StandaloneCommon.ini + ; LocalServiceModule = OpenSim.Services.FreeswitchService.dll:FreeswitchService + ; LocalServiceModule = OpenSim.Services.Connectors.dll:RemoteFreeswitchConnector + + ;; If using a remote connector, specify the server URL + ; FreeswitchServiceURL = http://my.grid.server:8004/fsapi + + +[Groups] + ;# {Enabled} {} {Enable groups?} {true false} false + ;; Enables the groups module + Enabled = true + + ;# {Module} {Enabled:true} {Groups module to use? (Use GroupsModule to use Flotsam/Simian)} {} Default + ;; This is the current groups stub in Region.CoreModules.Avatar.Groups. + ;; All the other settings below only really apply to the Flotsam/SimianGrid + ;; GroupsModule. + ;; This module can use a PHP XmlRpc server from the Flotsam project at + ;; http://code.google.com/p/flotsam/ + ;; or from the SimianGrid project at http://code.google.com/p/openmetaverse + Module = GroupsModule + + ;; Service connectors to the Groups Service. Select one depending on + ;; whether you're using a Flotsam XmlRpc backend or a SimianGrid backend + + ;# {ServicesConnectorModule} {Module:GroupsModule} {Service connector to use for groups?} {XmlRpcGroupsServicesConnector SimianGroupsServicesConnector} XmlRpcGroupsServicesConnector + ;; The service connector to use for the GroupsModule + ServicesConnectorModule = XmlRpcGroupsServicesConnector + + ;# {GroupsServerURI} {Module:GroupsModule} {Groups Server URI?} {} + ;; URI for the groups services + GroupsServerURI = "http://groups.osgrid.org/xmlrpc.php" + + ;# {NoticesEnabled} {Module:GroupsModule} {Enable group notices?} {true false} true + ;; Enable Group Notices + NoticesEnabled = true + + ;; This makes the Groups modules very chatty on the console. + ; DebugEnabled = false + + ;; Specify which messaging module to use for groups messaging and if it's + ;; enabled + MessagingModule = GroupsMessagingModule + MessagingEnabled = true + MessageOnlineUsersOnly = true + + ;; XmlRpc Security settings. These must match those set on your backend + ;; groups service. + ; XmlRpcServiceReadKey = 1234 + ; XmlRpcServiceWriteKey = 1234 + +[InterestManagement] + ;# {UpdatePrioritizationScheme} {} {Update prioritization scheme?} {BestAvatarResponsiveness Time Distance SimpleAngularDistance FrontBack} BestAvatarResponsiveness + ;; This section controls how state updates are prioritized for each client + ;; Valid values are BestAvatarResponsiveness, Time, Distance, + ;; SimpleAngularDistance, FrontBack + ; UpdatePrioritizationScheme = BestAvatarResponsiveness + + ; TEST OPTION KEEP AS FALSE + ; if true, don't send object updates if outside view range + ; ObjectsCullingByDistance = false + +[MediaOnAPrim] + ;# {Enabled} {} {Enable Media-on-a-Prim (MOAP)} {true false} true + ;; Enable media on a prim facilities + ; Enabled = true + + +[NPC] + ;# {Enabled} {} {Enable Non Player Character (NPC) facilities} {true false} false + Enabled = true + + ;; several options to control NPCs creation + + ;# {AllowNotOwned} {} {allow NPCs to be created not Owned} {true false} true + ;; allow NPCs to be created not Owned {true false} default: true + ; AllowNotOwned = true + + ;# {AllowSenseAsAvatar} {} {allow NPCs to set to be sensed as Avatars} {true false} true + ;; allow NPCs to set to be sensed as Avatars {true false} default: true + ; AllowSenseAsAvatar = true + + ;# {AllowCloneOtherAvatars} {} {allow NPCs to created cloning any avatar in region} {true false} true + ;; allow NPCs to created cloning any avatar in region {true false} default: true + ; AllowCloneOtherAvatars = true + + ;# {NoNPCGroup} {} {if true NPCs will have no group title, if false display "- NPC -"} {true false} true + ;; if true NPCs will have no group title, if false display "- NPC -" for easy identification {true false} default: true + ; NoNPCGroup = true + + +[Terrain] + ;# {InitialTerrain} {} {Initial terrain type} {pinhead-island flat} pinhead-island + ; InitialTerrain = "pinhead-island" + +[LandManagement] + ;; set this to false to not display parcel ban lines + ;ShowParcelBansLines = true + +[UserProfiles] + ;# {ProfileServiceURL} {} {Set url to UserProfilesService} {} + ;; Set the value of the url to your UserProfilesService + ;; If un-set / "" the module is disabled + ProfileServiceURL = http://services.osgrid.org + + ;# {AllowUserProfileWebURLs} {} {allow user profiles web urls} {true false} true + ;; set this to false to prevent your users to be sent to unknown + ;; web sites by other users on their profiles + ; AllowUserProfileWebURLs = false + +[XBakes] + ;# {URL} {} {Set URL for Baked texture service} {} + ;; Sets the URL for the baked texture ROBUST service. + ;; Disabled when unset. + ;; URL = ${Const|BaseURL}:${Const|PrivatePort} + URL = http://xbakes.osgrid.org + +[Architecture] + ;# {Include-Architecture} {} {Choose one of the following architectures} {config-include/Standalone.ini config-include/StandaloneHypergrid.ini config-include/Grid.ini config-include/GridHypergrid.ini config-include/SimianGrid.ini config-include/HyperSimianGrid.ini} config-include/Standalone.ini + ;; Uncomment one of the following includes as required. For instance, to create a standalone OpenSim, + ;; uncomment Include-Architecture = "config-include/Standalone.ini" + ;; + ;; Then you will need to copy and edit the corresponding *Common.example file in config-include/ + ;; that the referenced .ini file goes on to include. + ;; + ;; For instance, if you chose "config-include/Standalone.ini" then you will need to copy + ;; "config-include/StandaloneCommon.ini.example" to "config-include/StandaloneCommon.ini" before + ;; editing it to set the database and backend services that OpenSim will use. + ;; + ; Include-Architecture = "config-include/Standalone.ini" + ; Include-Architecture = "config-include/StandaloneHypergrid.ini" + ; Include-Architecture = "config-include/Grid.ini" + Include-Architecture = "config-include/GridHypergrid.ini" + ; Include-Architecture = "config-include/SimianGrid.ini" + ; Include-Architecture = "config-include/HyperSimianGrid.ini" diff --git a/image-opensim-herbal3d/config/config-basilalpha/os-secrets b/image-opensim-herbal3d/config/config-basilalpha/os-secrets new file mode 100644 index 0000000..387150a --- /dev/null +++ b/image-opensim-herbal3d/config/config-basilalpha/os-secrets @@ -0,0 +1,36 @@ +# File of secrets for the build and run images. +# This file is a template of the values to use. +# NEVER, NEVER EVER CHECK-IN the version with the real values!! + +# The configuration files look for the file 'os-secrets.crypt' and, when +# found, runs 'ccrypt' using the password from the environment variable +# "CONFIGKEY". So, edit this file and do: +# cp os-secrets tempFile +# +# ccrypt -e -E "CONFIGKEY" < tempFile > os-secrets.crypt +# rm tempFile +# or (exposing the key in the bash history): +# ccrypt -e -K thekey < os-secrets > os-secrets.crypt +# +# Later, if you need to review the passwords, decrypt the file with: +# ccrypt -d -E "CONFIGKEY" < os-secrets.crypt + +# If this next variable is defined, MYSQL is configured +export MYSQL_ROOT_ACCOUNT=root +export MYSQL_ROOT_PASSWORD=NotFoundAnywhere +export MYSQL_DB_SOURCE=dbservice +export MYSQL_DB_DB=opensim +export MYSQL_DB_USER=opensim +export MYSQL_DB_USER_PASSWORD=StuffAndNonsense + +export OPENSIM_USER=opensim +export OPENSIM_USER_PASSWORD=unknownPassword + +# The following are used to initialize estate if running standalone +export DEFAULT_ESTATE_NAME="Basil Estate" +export DEFAULT_ESTATE_OWNER="Donald Duck" +export PW_FOR_DEFAULT_ESTATE_OWNER=OnlyOwnerKnows + +# Did I mention that one should NEVER, NEVER, EVER check-in a version +# with the real passwords in it? + diff --git a/image-opensim-herbal3d/config/scripts/initializeDb.sh b/image-opensim-herbal3d/config/scripts/initializeDb.sh index 18b8d64..3c7c837 100755 --- a/image-opensim-herbal3d/config/scripts/initializeDb.sh +++ b/image-opensim-herbal3d/config/scripts/initializeDb.sh @@ -22,6 +22,9 @@ if [[ ! -z "$MYSQL_ROOT_PASSWORD" ]] ; then fi done + # set a default for the account (downward compatibility) + export MYSQL_ROOT_ACCOUNT=${MYSQL_ROOT_ACCOUNT:-root} + SQLCMDS=/tmp/mymy$$ SQLOPTIONS=/tmp/mymyoptions$$ rm -f "$SQLCMDS" @@ -36,7 +39,7 @@ quit EOFFFF cat > "$SQLOPTIONS" < /tmp/frog2 -# mprof-report --reports=sample output.mlpd -# mprof-report --reports=sample --verbose output.mlpd -# mprof-report --reports=call --verbose output.mlpd - +screen -L -S OpenSimScreen -p - -d -m ./OpenSim -console=basic