image-opensim-herbal3d: remove config-osgrid as it is not used and is probably wrong

bump version
This commit is contained in:
Robert Adams
2025-10-10 18:45:21 +00:00
parent ee01c7ee24
commit 4c047bbf22
17 changed files with 1 additions and 1465 deletions
+1 -1
View File
@@ -1 +1 @@
4.0.16
4.0.17
@@ -1,90 +0,0 @@
; This file is the first configuration file read.
; A normal configuration reads OpenSimDefaults.ini and then
; OpenSim.ini but, in this configuration setup, OpenSimDefaults.ini
; is read from the image, OpenSim.ini does not exist, and then
; this Includes.ini is read to setup global variables and then
; include the files that are in the $OPENSIMCONFIGDIR/config-include
; directory.
; Most of the included files are stock from the sources. The final "misc.ini"
; overlays values and should include the per-simulator instance changes.
; The order of include files is important as new values overlay the previous values.
; Note that all the .ini files in the regular bin/config-include have
; been null'ed out (they exist but do nothing). This is because
; the OpenSim sources often presume the config directory is "./".
; Values from the environment. Environment set from "os-secrets" so
; values are not set here. These entries just bring in the environment values.
; The values specified here are not used.
; Reference with "${Environment|Name}"
[Environment]
MYSQL_DB_HOST=dbservice
MYSQL_DB_DB=opensim
MYSQL_DB_USER=opensim
MYSQL_DB_USER_PW=NoOneKnowsIt
DEFAULT_ESTATE_NAME=MyEstate
DEFAULT_ESTATE_OWNER=Fred Flintstone
DEFAULT_ESTATE_OWNER_UUID=ff5ec374-8028-43cb-ae58-8d38d70729e5
DEFAULT_ESTATE_OWNER_PW=SomeSecret
; Copy of the [Const] section in OpenSim.ini.example since it is used in
; some of the stock include files
[Const]
; this section defines constants for grid services
; to simplify other configuration files default settings
;# {BaseHostname} {} {BaseHostname} {"example.com" "127.0.0.1"} "127.0.0.1"
BaseHostname = "127.0.0.1"
;# {BaseURL} {} {BaseURL} {"http://${Const|BaseHostname}} "http://${Const|BaseHostname}"
BaseURL = http://${Const|BaseHostname}
; If you run a grid, several services should not be availble to world, access to them should be blocked on firewall
; PrivatePort should closed at the firewall.
;# {PublicPort} {} {PublicPort} {8002 9000} "9000"
; in case of a standalone this needs to match the parameter http_listener_port in section [Network] below
; in that case the default is 9000
PublicPort = "9000"
; for a region on a grid, the grid services public port should be used, normal default is 8002
;PublicPort = "8002"
; you can also have them on a diferent url / IP
;# {PrivURL} {} {PrivURL} {"http://${Const|BaseURL}} "${Const|BaseURL}"
PrivURL = ${Const|BaseURL}
;grid default private port 8003, not used in standalone
;# {PrivatePort} {} {PrivatePort} {8003} "8003"
; port to access private grid services.
; grids that run all their regions should deny access to this port
; from outside their networks, using firewalls
PrivatePort = "8003"
[Startup]
; Region definitions are in this directory (rather than 'bin/Regions')
; Reads all .ini files in this directory
region_info_source = "filesystem"
regionload_regionsdir = "/home/opensim/opensim/bin/config/Regions"
; Region specification from URL.
; Expects XML (see http://opensimulator.org/wiki/Configuring_Regions)
;region_info_source = "web"
;regionload_webserver_url = "http://myoracle.example.com/Region?name=thisRegion"
[Architecture]
Include-osslDefaultEnable = "/home/opensim/opensim/bin/config/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 = "/home/opensim/opensim/bin/config/config-include/osslEnable.ini"
Include-Architecture = "/home/opensim/opensim/bin/config/config-include/GridHypergrid.ini"
; 'Standalone.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 'StandaloneCommon.ini' from this configuration.
Include-Common = "/home/opensim/opensim/bin/config/config-include/GridCommon.ini"
Include-Flotsam = "/home/opensim/opensim/bin/config/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 = "/home/opensim/opensim/bin/config/config-include/Final.ini"
@@ -1,28 +0,0 @@
CONFIGURATION ON DOCKER IMAGE
The OpenSim docker image is setup with most of the normal configuration nulled out.
The file 'bin/OpenSim.ini.example' has been copied to 'bin/OpenSim.ini' but all
the files that are normally included (from 'bin/config-include') have been emptied so none
of the normal network, grid, database, or cache setup is present.
The configuration relies on the feature that OpenSimulator reads all INI files
in the 'bin/config' directory.
The default installation is for a single region, standalone, sqlite based version
of OpenSimulator. 'bin/config/setup.sh' copies 'bin/config/standalone/Includes.ini'
into 'bin/config'. This file includes all the INI files
needed to configure same. 'Includes.ini' includes files from the 'standalone'
directory. This includes 'Standalone.ini' and 'StandaloneCommon.ini' to do their
normal configuration. It finally includes 'Misc.ini' which specifies parameters
that overlay everything previous for final setting and over-riding.
Edit 'Misc.ini' for specific simulator settings.
When the docker image is run, the startup script also checks for 'bin/config/setup.sh'
and, if it exists, it is executed. This allows initializing databases and any
passwords that need to be set in the configuration files.
One can completely override the configuration included in this Docker image build
by mounting a bind volume over '/home/opensim/opensim/bin/config'. For this case,
all normal OpenSimulator configuration is replaced by whatever one puts in
that 'config' directory.
@@ -1,105 +0,0 @@
; * This is an example region config file.
; *
; * If OpenSimulator is started up without any regions, it will ask you configuration questions to generate a Regions.ini file for you.
; * So there is no need to change this file directly, it is only for reference.
; * However, if you prefer you can also copy this file to Regions.ini and appropriately change the parameters below.
; * Only files ending with .ini and .xml in this directly will be loaded by OpenSimulator.
; *
; * You can multiple regions into one file or make one file per region
; * The section name is the region name
; *
[Default Region]
; *
; * You MUST change this! It will NOT be done for you!
; *
RegionUUID = 2f75645d-acfd-4296-9cc5-8b1f0537fdaf
Location = 1000,1000
InternalAddress = 0.0.0.0
InternalPort = 9000
AllowAlternatePorts = False
ExternalHostName = SYSTEMIP
;; Estate ID or Name to connect region to, leave blank for console prompt, remember estate id can not be less than 100
;; this value is only used when creating a region and after that will be ignored. 0 Will use the next auto id provided by the database
;TargetEstate = 0
; *
; * Variable-sized regions allows the creation of large, borderless spaces.
; * The default is 256 meters. For larger spaces, set these to multiples of 256.
; * For the time being, X and Y need to be the same.
; *
; SizeX = 512
; SizeY = 512
; * Default region landing point used when no teleport coords are specified
; DefaultLanding = <128,128,30>
; *
; * Prim data
; * This allows limiting the sizes of prims and the region prim count
; *
; NonPhysicalPrimMax = 256
; PhysicalPrimMax = 64
; ClampPrimSize = False
; MaxPrims = 15000
; MaxAgents = 100
; * Max prims per user (per parcel).
; * Negative values will disable the check.
; MaxPrimsPerUser = -1
; *
; * Multi-Tenancy. Only set if needed
; *
; ScopeID = "00000000-0000-0000-0000-000000000000"
; *
; * Product name (used in search from viewer 1.23
; *
; RegionType = "Mainland"
; * Region Specific Static Maptiles:
; * Important: To use any kind of texture *assets* as a static maptile, the following
; * things must be set in the [Map] section of OpenSim.ini :
; *
; * MapImageModule = "MapImageModule"
; * GenerateMaptiles = false
; *
; * Now, there is a setting in [Map] in OpenSim.ini called
; *
; * MaptileStaticUUID = 00000000-0000-0000-0000-000000000000
; *
; * where, given the criteria above, lets you specify the UUID of a texture asset to use
; * as a maptile *Simulator Wide*. Here, you can override that on a per region basis for
; * Simulators that run multiple regions:
; MaptileStaticUUID = 00000000-0000-0000-0000-000000000000
; * Region Specific Static Maptiles from file:
; * It is also possible to create maptiles using external image files of the right size
; * and supported formats (bmp,png,jpg in RGB 24bpp format)
; *
; * Important: To use any kind of texture *files* as a static maptile, the following
; * things must be set in the [Map] section of OpenSim.ini :
; *
; * MapImageModule = "MapImageModule"
; * GenerateMaptiles = true
; *
; * The image must be the same size in pixels as the region or varregion is in meters.
; * i.e. 256x256 pixels for single region of 256x256m, or 1280x1280 pixels for a varregion
; * of size 1280x1280m. The image can be loaded from anywhere by setting the path
; * ie: MaptileStaticFile = "maptiles/SomeFile.png"
; *
; * If this setting is used, then the base map is generated from this file instead of being
; * built using MapImageModule's terrain and prim renderer. Parcel 'for sale' overlays are
; * still drawn on top of the static map by the World Map module.
; MaptileStaticFile = "SomeFile.png"
@@ -1,105 +0,0 @@
; * This is an example region config file.
; *
; * If OpenSimulator is started up without any regions, it will ask you configuration questions to generate a Regions.ini file for you.
; * So there is no need to change this file directly, it is only for reference.
; * However, if you prefer you can also copy this file to Regions.ini and appropriately change the parameters below.
; * Only files ending with .ini and .xml in this directly will be loaded by OpenSimulator.
; *
; * You can multiple regions into one file or make one file per region
; * The section name is the region name
; *
[Default Region]
; *
; * You MUST change this! It will NOT be done for you!
; *
RegionUUID = 11111111-2222-3333-4444-555555555555
Location = 1000,1000
InternalAddress = 0.0.0.0
InternalPort = 9000
AllowAlternatePorts = False
ExternalHostName = SYSTEMIP
;; Estate ID or Name to connect region to, leave blank for console prompt, remember estate id can not be less than 100
;; this value is only used when creating a region and after that will be ignored. 0 Will use the next auto id provided by the database
;TargetEstate = 0
; *
; * Variable-sized regions allows the creation of large, borderless spaces.
; * The default is 256 meters. For larger spaces, set these to multiples of 256.
; * For the time being, X and Y need to be the same.
; *
; SizeX = 512
; SizeY = 512
; * Default region landing point used when no teleport coords are specified
; DefaultLanding = <128,128,30>
; *
; * Prim data
; * This allows limiting the sizes of prims and the region prim count
; *
; NonPhysicalPrimMax = 256
; PhysicalPrimMax = 64
; ClampPrimSize = False
; MaxPrims = 15000
; MaxAgents = 100
; * Max prims per user (per parcel).
; * Negative values will disable the check.
; MaxPrimsPerUser = -1
; *
; * Multi-Tenancy. Only set if needed
; *
; ScopeID = "00000000-0000-0000-0000-000000000000"
; *
; * Product name (used in search from viewer 1.23
; *
; RegionType = "Mainland"
; * Region Specific Static Maptiles:
; * Important: To use any kind of texture *assets* as a static maptile, the following
; * things must be set in the [Map] section of OpenSim.ini :
; *
; * MapImageModule = "MapImageModule"
; * GenerateMaptiles = false
; *
; * Now, there is a setting in [Map] in OpenSim.ini called
; *
; * MaptileStaticUUID = 00000000-0000-0000-0000-000000000000
; *
; * where, given the criteria above, lets you specify the UUID of a texture asset to use
; * as a maptile *Simulator Wide*. Here, you can override that on a per region basis for
; * Simulators that run multiple regions:
; MaptileStaticUUID = 00000000-0000-0000-0000-000000000000
; * Region Specific Static Maptiles from file:
; * It is also possible to create maptiles using external image files of the right size
; * and supported formats (bmp,png,jpg in RGB 24bpp format)
; *
; * Important: To use any kind of texture *files* as a static maptile, the following
; * things must be set in the [Map] section of OpenSim.ini :
; *
; * MapImageModule = "MapImageModule"
; * GenerateMaptiles = true
; *
; * The image must be the same size in pixels as the region or varregion is in meters.
; * i.e. 256x256 pixels for single region of 256x256m, or 1280x1280 pixels for a varregion
; * of size 1280x1280m. The image can be loaded from anywhere by setting the path
; * ie: MaptileStaticFile = "maptiles/SomeFile.png"
; *
; * If this setting is used, then the base map is generated from this file instead of being
; * built using MapImageModule's terrain and prim renderer. Parcel 'for sale' overlays are
; * still drawn on top of the static map by the World Map module.
; MaptileStaticFile = "SomeFile.png"
@@ -1,177 +0,0 @@
; Misc over-rides and settings
[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
[DatabaseService]
; SQLite
; Include-Storage = "/home/opensim/opensim/bin/config/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=${Environment|MYSQL_DB_HOST};Database=${Environment|MYSQL_DB_DB};User ID=${Environment|MYSQL_DB_USER};Password=${Environment|MYSQL_DB_USER_PW};SslMode=None;"
[BulletSim]
UseSeparatePhysicsThread = true
TerrainImplementation = 0
[Network]
MapTileURL = "http://maptiles.osgrid.org:80"
[Messaging]
OfflineMessageModule = Offline Message Module V2
OfflineMessageURL = http://services.osgrid.org
MuteListModule = MuteListModule
MuteListURL = http://services.osgrid.org
ForwardOfflineGroupMessages = false
InstantMessageModule = InstantMessageModule
MessageTransferModule = HGMessageTransferModule
LureModule = HGLureModule
Gatekeeper = http://hg.osgrid.org:80
[DataSnapshot]
index_sims = true
data_exposure = minimum
gridname = "OSGrid"
data_services = "http://search.osgrid.org/register.php"
[UserProfiles]
ProfileServiceURL = http://services.osgrid.org
[Search]
Module = "OpenSimSearch"
SearchURL = http://search.osgrid.org/query.php
[Economy]
AllowFreeTestUpload = true
MeshModelAllowTextureToInventory = true
economy = http://helper.osgrid.org/
[Groups]
Enabled = true
Module = GroupsModule
ServicesConnectorModule = XmlRpcGroupsServicesConnector
GroupsServerURI = "http://groups.osgrid.org/xmlrpc.php"
NoticesEnabled = true
MessagingModule = GroupsMessagingModule
MessagingEnabled = true
MessageOnlineUsersOnly = true
[NPC]
Enabled = true
[Estates]
; NOTE That names and passwords come from environment variables set from os-secrets
DefaultEstateName = ${Environment|DEFAULT_ESTATE_NAME}
DefaultEstateOwnerName = ${Environment|DEFAULT_ESTATE_OWNER}
; ** 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 = ${Environment|DEFAULT_ESTATE_OWNER_UUID}
DefaultEstateOwnerEMail = owner@example.com
DefaultEstateOwnerPassword = ${Environment|DEFAULT_ESTATE_OWNER_PW}
[Terrain]
SendTerrainUpdatesByViewDistance = true
[ExtendedPhysics]
Enabled = true
[XEngine]
Enabled = false
; If one uses XEngine, use a larger thread stack
ThreadStackSize = 500000
[YEngine]
Enabled = true
ScriptStackSize = 256
ScriptHeapSize = 256
UseSourceHashCode = true
MinTimerInterval = 0.1
ScriptEnginesPath = "ScriptEngines"
; ===== GridCommon.ini Override======================================
[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"
[FriendsService]
FriendsServerURI = "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://services.osgrid.org"
@@ -1,97 +0,0 @@
[AssetCache]
;;
;; Options for FlotsamAssetCache
;;
; cache directory can be shared by multiple instances
CacheDirectory = ./assetcache
; Other examples:
;CacheDirectory = /directory/writable/by/OpenSim/instance
; Log level
; 0 - (Error) Errors only
; 1 - (Info) Hit Rate Stats + Level 0
; 2 - (Debug) Cache Activity (Reads/Writes) + Level 1
;
LogLevel = 0
; How often should hit rates be displayed (given in AssetRequests)
; 0 to disable
HitRateDisplay = 100
; Set to false for no memory cache
; 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
; 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
@@ -1,236 +0,0 @@
; This is the main configuration file for an instance of OpenSim running in grid mode
[DatabaseService]
;
; ### Choose the DB
;
; SQLite
Include-Storage = "config-include/storage/SQLiteStandalone.ini";
; MySQL
; Uncomment these lines if you want to use MySQL storage
; Change the connection string to your db details
; 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"
; If using MySQL 8.0.4 or later, check that default-authentication-plugin=mysql_native_password
; rather than caching_sha2_password is set in /etc/mysql/mysql.conf.d/mysqld.cnf (not applicable to MariaDB).
;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=***; SSL Mode=Disable"
[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_<Region_Name> = <flags>
; 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}"
@@ -1,88 +0,0 @@
;;
;; Please don't change this file.
;; All optional settings are in GridCommon.ini.example,
;; which you can copy and change.
;;
[Includes]
Include-Common = "config-include/GridCommon.ini"
[Startup]
WorldMapModule = "HGWorldMap"
[Modules]
AssetServices = "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"
@@ -1,234 +0,0 @@
; Enable OSSL functions.
; Including this file in a region's set of INI files, causes the OpenSimulator
; specific functions to be enabled.
; See http://opensimulator.org/wiki/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
; 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"
@@ -1,82 +0,0 @@
; 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.
@@ -1,39 +0,0 @@
; These are the initialization settings for running OpenSim Standalone with an SQLite database
[DatabaseService]
StorageProvider = "OpenSim.Data.SQLite.dll"
ConnectionString = "URI=file:OpenSim.db,version=3,UseUTF16Encoding=True"
[AssetService]
ConnectionString = "URI=file:Asset.db,version=3"
; The HGAssetService section controls the connection given to the AssetService in a Hypergrid configuration.
; This has to be separate from [AssetService] because the Hypergrid facing connector uses [HGAssetService] for its config data instead.
; However, the internal asset service will still use the [AssetService] section.
; Therefore, you will almost certainly want the ConnectionString in [HGAssetService] to be the same as in [AssetService]
; so that they both access the same database.
; This issue does not apply to normal MySQL/MSSQL configurations, since by default they use the settings in [DatabaseService] and
; do not have separate connection strings for different services.
[HGAssetService]
ConnectionString = "URI=file:Asset.db,version=3"
[InventoryService]
;ConnectionString = "URI=file:inventory.db,version=3"
; if you have a legacy inventory store use the connection string below
ConnectionString = "URI=file:inventory.db,version=3,UseUTF16Encoding=True"
[AvatarService]
ConnectionString = "URI=file:avatars.db,version=3"
[AuthenticationService]
ConnectionString = "URI=file:auth.db,version=3"
[UserAccountService]
ConnectionString = "URI=file:userprofiles.db,version=3"
[GridUserService]
ConnectionString = "URI=file:griduser.db,version=3"
[FriendsService]
ConnectionString = "URI=file:friends.db,version=3"
@@ -1,39 +0,0 @@
# 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
# "OS_CONFIGKEY". So, edit this file and do:
# cp os-secrets tempFile
# <edit 'tempFile' adding real passwords>
# ccrypt -e -E "OS_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 "OS_CONFIGKEY" < os-secrets.crypt
export MYSQL_ROOT_PASSWORD=unknownStuff
export MARIADB_ROOT_PASSWORD=unknownStuff
export MYSQL_DB_HOST=dbservice
export MYSQL_DB_DB=opensim
export MYSQL_DB_USER=opensim
export MYSQL_DB_USER_PW=moreUnknownStuff
# The following are used to initialize estate if running standalone
export DEFAULT_ESTATE_NAME="MyEstate"
export DEFAULT_ESTATE_OWNER="Donald Duck"
export DEFAULT_ESTATE_OWNER_UUID=ff5ec374-8028-43cb-ae58-8d38d70729e5
export DEFAULT_ESTATE_OWNER_PW=SomeSecret
# These are values that should be in other configurtion files.
# Someday, there might be a system that inserts these parameters into files.
# For the moment, the per-installation parameters must be editted by hand.
# Host name that is advertized to a client. Set in Includes.ini and Region.ini
export EXTERNAL_HOSTNAME=127.0.0.1
# Did I mention that one should NEVER, NEVER, EVER check-in a version
# with the real passwords in it?
@@ -1,73 +0,0 @@
#! /bin/bash
# Script to create database 'opensim' in mysql if it does not exist.
# This is usually run in the container on the first time it is invoked.
# This creates the database for this simulator (MYSQL_DB_HOST) if it
# doesn't exist.
#
# Someone has set the environment variables before running this.
# Needs:
# MYSQL_ROOT_PASSWORD
# MYSQL_DB_HOST
# MYSQL_DB_DB
# MYSQL_DB_USER
# MYSQL_DB_USER_PW
OPENSIMBIN=${OPENSIMBIN:-/home/opensim/opensim/bin}
OPENSIMCONFIG=${OPENSIMCONFIG:-$OPENSIMBIN/config}
echo "opensim-docker: initializeDb.sh: "
cd "$OPENSIMCONFIG"
if [[ ! -z "$MYSQL_ROOT_PASSWORD" ]] ; then
for needed in "MYSQL_DB_DB" "MYSQL_DB_HOST" "MYSQL_DB_USER" "MYSQL_DB_USER_PW" ; do
if [[ -z "$!needed" ]] ; then
echo "opensim-docker: initializeDb.sh: missing required env parameter $needed"
echo "opensim-docker: initializeDb.sh: DATABASE NOT INITIALIZED"
exit 5
fi
done
SQLCMDS=/tmp/mymy$$
SQLOPTIONS=/tmp/mymyoptions$$
rm -f "$SQLCMDS"
rm -f "$SQLOPTIONS"
# Create command file that creates the SQL database and SQL user for this simulator.
cat > "$SQLCMDS" <<EOFFFF
CREATE DATABASE $MYSQL_DB_DB;
USE $MYSQL_DB_DB;
CREATE USER '$MYSQL_DB_USER'@'%' IDENTIFIED BY '$MYSQL_DB_USER_PW';
GRANT ALL ON $MYSQL_DB_DB.* to '$MYSQL_DB_USER'@'%';
quit
EOFFFF
cat > "$SQLOPTIONS" <<EOFFFF
[client]
user=root
password=$MYSQL_ROOT_PASSWORD
host=$MYSQL_DB_HOST
EOFFFF
# If the database is started at the same time, what for it to initialize
until mysql --defaults-extra-file=$SQLOPTIONS -e "show databases" > /dev/null ; do
echo "opensim-docker: initializeDb.sh: Waiting on database to be ready"
sleep 2
done
echo "opensim-docker: initializeDb.sh: Database is ready"
HASDB=$(mysql --defaults-extra-file=$SQLOPTIONS -e "show databases" | grep "^${MYSQL_DB_DB}$")
if [[ -z "$HASDB" ]] ; then
echo "opensim-docker: initialzeDb.sh: creating opensim database"
mysql --defaults-extra-file=$SQLOPTIONS < "$SQLCMDS"
else
echo "opensim-docker: initialzeDb.sh: opensim database has already been created"
fi
rm -f "$SQLCMDS"
rm -f "$SQLOPTIONS"
else
echo "opensim-docker: initializeDb.sh: Not configuring SQL database"
fi
@@ -1,43 +0,0 @@
#! /bin/bash
# Script that sets up the environment variables
# This script is run before the docker-compose file is run to get the
# database password and it is run when the opensim Docker container starts
# to get all the values for the configuration files.
OPENSIMBIN=${OPENSIMBIN:-/home/opensim/opensim/bin}
OPENSIMCONFIG=${OPENSIMCONFIG:-$OPENSIMBIN/config}
cd "$OPENSIMCONFIG"
# See if we have encrypted secrets
unset HAVE_SECRETS
if [[ ! -z "$OS_CONFIGKEY" ]] ; then
for secretsFile in $OPENSIMCONFIG/os-secrets.crypt ; do
if [[ -e "$secretsFile" ]] ; then
echo "opensim-docker: setEnvironment.sh: have secrets file \"{$secretsFile}\""
# export key for ccrypt - otherwise it fails
export OS_CONFIGKEY=$OS_CONFIGKEY;
source <(ccrypt -c -E OS_CONFIGKEY "$secretsFile")
# unset the key again
unset OS_CONFIGKEY;
HAVE_SECRETS=yes
break;
else
echo "opensim-docker: setEnvironment.sh: no encrypted secrets file"
fi
done
fi
# If no encrypted secrets, maybe unsecure plain-text secrets are available
if [[ -z "$HAVE_SECRETS" ]] ; then
echo "opensim-docker: setEnvironment.sh: trying plain text secrets"
for secretsFile in $OPENSIMCONFIG/os-secrets ; do
if [[ -e "$secretsFile" ]] ; then
echo "opensim-docker: setEnvironment.sh: plain text secrets from \"${secretsFile}\""
source "$secretsFile"
break;
else
echo "opensim-docker: setEnvironment.sh: no plain text secrets file"
fi
done
fi
@@ -1,28 +0,0 @@
#! /bin/bash
# Script run when the container starts and before OpenSimulator is started
#
# The operations done here are:
# -- if first time called, setup DB and initialize variables in configuration files
# -- move sub-config specific Includes.ini into the config directory
# -- update all the configuration files with environment variables
export OPENSIMBIN=${OPENSIMBIN:-/home/opensim/opensim/bin}
export OPENSIMCONFIG=${OPENSIMCONFIG:-$OPENSIMBIN/config}
echo "opensim-docker: setup.sh: OPENSIMCONFIG=\"${OPENSIMCONFIG}\""
FIRSTTIMEFLAG=${HOME}/.configFirstTime
cd "$OPENSIMCONFIG"
# This sets CONFIG_NAME which is the configuration subdirectory
source ./scripts/setEnvironment.sh
# If this is the first time run, do database setup and some one-time configuration updates
if [[ ! -e "$FIRSTTIMEFLAG" ]] ; then
echo "opensim-docker: setup.sh: first time"
cd "$OPENSIMCONFIG"
# Do any database account and db creation
./scripts/initializeDb.sh
touch "$FIRSTTIMEFLAG"
fi