Browse Source

Force OpenSim.ini to be saved, at least for this time!

Gwyneth Llewelyn 3 years ago
parent
commit
fff4a8c329
1 changed files with 1474 additions and 0 deletions
  1. 1474 0
      bin/OpenSim.ini

+ 1474 - 0
bin/OpenSim.ini

@@ -0,0 +1,1474 @@
+;; This is the main configuration file for OpenSimulator.
+;; If it's named OpenSim.ini then it will be loaded by OpenSimulator.
+;; If it's named OpenSim.ini.example then you will need to copy it to
+;; OpenSim.ini first (if that file does not already exist)
+;;
+;; Once you have copied OpenSim.ini.example to OpenSim.ini you will at least
+;; need to set the constants in the [Const] section and pick an architecture
+;; in the [Architecture] section at the end of this file. The architecture
+;; will require a suitable .ini file in the config-include directory, either
+;; StandaloneCommon.ini or GridCommon.ini which you can copy and modify from the
+;; available .example files.
+;;
+;; The settings in this file are in the form "<key> = <value>".  For example,
+;; save_crashes = false in the [Startup] section below.
+;;
+;; All settings are initially commented out and the default value used, as
+;; found in OpenSimDefaults.ini.  To change a setting, first uncomment it by
+;; deleting the initial semicolon (;) and then change the value.  This will
+;; override the value in OpenSimDefaults.ini
+;;
+;; If you want to find out what configuration OpenSimulator has finished with
+;; once all the configuration files are loaded then type "config show" on the
+;; region console command line.
+;;
+;;
+;; NOTES FOR DEVELOPERS REGARDING THE FORMAT OF THIS FILE
+;;
+;; All leading white space is ignored, but preserved.
+;;
+;; Double semicolons denote a text comment
+;;
+;; ;# denotes a configuration directive description
+;;    formatted as:
+;;    {option} {depends on} {question to ask} {choices} default value
+;;    Any text comments following the declaration, up to the next blank line.
+;;    will be copied to the generated file (NOTE: generation is not yet
+;;    implemented)
+;;
+;;    A * in the choices list will allow an empty entry.
+;;    An empty question will set the default if the dependencies are
+;;    satisfied.
+;;
+;; ;  denotes a commented out option.
+;;    Any options added to OpenSim.ini.example should be initially commented
+;;    out.
+
+
+[Const]
+    ; 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"
+    BaseHostname = "opensim.betatechnologies.info"
+
+    ;# {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} "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]
+    ;# {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
+    save_crashes = true
+
+    ;# {crash_dir} {save_crashes:true} {Directory to save crashes to?} {} crashes
+    ;; Directory to save crashes to if above is enabled
+    ;; (default is /opensimdir/crashes/*.txt or C:\opensim\crashes\*.txt)
+    crash_dir = "crashes"
+
+    ;# {PIDFile} {} {Path to PID file?} {}
+    ;; Place to create a PID file
+    ; PIDFile = "/tmp/OpenSim.exe.pid"
+
+    ;# {RegistryLocation} {} {Addins Registry Location} {}
+    ; Set path to directory for addin registry if you want addins outside of bin.
+    ; Information about the registered repositories and installed plugins will
+    ; be stored here. The OpenSim.exe process must have R/W access to the location.
+    ; RegistryLocation = "."
+
+    ;# {ConfigDirectory} {} {Set path to directory for modular ini files} {}
+    ; Used by region module addins. You can set this to outside bin, so that addin
+    ; configurations will survive updates. The OpenSim.exe process must have R/W access
+    ; to the location.
+    ; ConfigDirectory = "."
+
+    ;# {region_info_source} {} {Where to load region from?} {filesystem web} filesystem
+    ;; Determine where OpenSimulator looks for the files which tell it
+    ;; which regions to server
+    ;; Default is "filesystem"
+    ; region_info_source = "filesystem"
+    ; region_info_source = "web"
+
+    ;# {regionload_regionsdir} {region_info_source} {Location of file?} {} Regions
+    ;; Determines where the region XML files are stored if you are loading
+    ;; these from the filesystem.
+    ;; Defaults to bin/Regions in your OpenSimulator installation directory
+    ; regionload_regionsdir="C:\somewhere\xmlfiles\"
+
+    ;# {regionload_webserver_url} {region_info_source} {URL to load region from?} {}
+    ;; Determines the page from which regions xml is retrieved if you are
+    ;; loading these from the web.
+    ;; The XML here has the same format as it does on the filesystem
+    ;; (including the <Root> tag), except that everything is also enclosed
+    ;; in a <Regions> 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 = 10
+
+    ;# {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
+
+    ;; 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} {XEngine} XEngine
+    ;; Default script engine to use (Xengine if all commented)
+    DefaultScriptEngine = "XEngine"
+    ;; ***DANGER***DANGER***
+    ;; experimental engine
+    ;; 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"
+
+    ;# {emailmodule} {} {Provide llEmail and llGetNextEmail functionality? (requires SMTP server)} {true false} false
+    ;; The email module requires some configuration. It needs an SMTP
+    ;; server to send mail through.
+    emailmodule = DefaultEmailModule
+
+    Stats_URI = "jsonSimStats"
+
+    ;# {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
+
+    WorldMapModule = "WorldMap"
+
+    ;# {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"
+    MapImageModule = "Warp3DImageModule"
+
+    ;# {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
+    MaptileRefresh = 86400
+
+    ;# {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
+    RenderMeshes = true
+
+    ;# {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
+    DefaultEstateOwnerName = BetaMaster Avatar
+
+    ; ** 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 = [email protected]
+    DefaultEstateOwnerEMail = [email protected]
+
+    ;# {DefaultEstateOwnerPassword} {} {Default estate owner password} {}
+    ;; Password for the default estate owner
+    ; DefaultEstateOwnerPassword = password
+    DefaultEstateOwnerPassword = bq5JTURf7BssNWvYfZvxPmg42
+
+
+[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
+    enabled = true
+
+    ;# {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"
+    host_domain_header_from =  ${Const|BaseHostname}
+
+    ;# {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"
+    ConsoleUser = "admin"
+    ;# {ConsolePass} {} {Password for console account} {}
+    ; ConsolePass = "secret"
+    ConsolePass = "betaopenmv2008!"
+    ;# {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
+    OutboundDisallowForUserScriptsExcept = opensim.betatechnologies.info|bot.betatechnologies.info|autonomy.gwynethllewelyn.net|176.31.245.207
+    ;
+    ; 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
+    ExternalHostNameForLSL = ${Const|BaseHostname}
+
+    ;# {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"
+
+    client_socket_rcvbuf_size = 12582912
+    AckTimeout = 180
+
+[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
+    ;;   "<url>" -- 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/"
+    SearchServerURI = "${Const|BaseURL}:9000/"
+
+    ;# {DestinationGuideURI} {} {URL of the destination guide} {}
+    ;; Optional. If given this serves the same purpose as the grid wide
+    ;; [LoginServices] DestinationGuide setting and will override that where
+    ;; supported by viewers.
+    ;DestinationGuideURI = "http://127.0.0.1:9000/guide"
+
+
+[Chat]
+    ;# {whisper_distance} {} {Distance at which a whisper is heard, in meters?} {} 10
+    ;; Distance in meters that whispers should travel.
+    ; whisper_distance = 10
+
+    ;# {say_distance} {} {Distance at which normal chat is heard, in meters?} {} 20
+    ;; Distance in meters that ordinary chat should travel.
+    ; say_distance = 20
+
+    ;# {shout_distance} {} {Distance at which a shout is heard, in meters?} {} 100
+    ;; Distance in meters that shouts should travel.
+    ; shout_distance = 100
+
+
+[EntityTransfer]
+    ;# {DisableInterRegionTeleportCancellation} {} {Determine whether the cancel button is shown at all during teleports.} {false true} false
+    ;; This option exists because cancelling at certain points can result in an unuseable session (frozen avatar, etc.)
+    ;; Disabling cancellation can be okay in small closed grids where all teleports are highly likely to suceed.
+    ;DisableInterRegionTeleportCancellation = false
+
+    ;# {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
+    ;; Or, alternatively, use this one, which works for both standalones and grids
+    OfflineMessageModule = "Offline Message Module V2"
+
+    ;# {OfflineMessageURL} {OfflineMessageModule:OfflineMessageModule Offline Message Module V2:Offline Message Module V2} {URL of offline messaging service} {}
+    ;; URL of web service for offline message storage. Leave it commented if your service is local to the sim.
+    ; OfflineMessageURL = ${Const|BaseURL}/Offline.php
+    ; OfflineMessageURL = ${Const|BaseURL}:${Const|PrivatePort}
+
+    ;# {StorageProvider} {Offline Message Module V2:Offline Message Module V2} {DLL that provides the storage interface} {OpenSim.Data.MySQL.dll}
+    ;; For standalones, this is the storage dll.
+    ; StorageProvider = OpenSim.Data.MySQL.dll
+
+    ; Mute list handler
+    ;# {MuteListModule} {MuteListModule:MuteListModule} {} {} None
+    ; Disabled by default
+    MuteListModule = MuteListModule
+
+    ;; Control whether group invites and notices are stored for offline users.
+    ;; Default is true.
+    ;; This applies to both core groups module.
+    ForwardOfflineGroupMessages = true
+
+
+[BulletSim]
+    ;# {AvatarToAvatarCollisionsByDefault} {[Startup]physics:BulletSim} {Should avatars collide with each other?} {true false} true
+    AvatarToAvatarCollisionsByDefault = true
+
+    ; BulletSim can run on its own thread independent of the simulator's heartbeat
+    ;   thread. Enabling this will nto let the physics engine slow down avatar movement, etc.
+    ; Possibly deprecated or on by default on recent versions (20200304 gwyneth)
+    UseSeparatePhysicsThread = true
+
+
+[ODEPhysicsSettings]
+    ;# {mesh_sculpted_prim} {[Startup]physics:OpenDynamicsEngine} {Mesh sculpties so they collide as they look?} {true false} true
+    ;; Do we want to mesh sculpted prim to collide like they look?
+    ;; If you are seeing sculpt texture decode problems
+    ;; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception")
+    ;; then you might want to try setting this to false.
+    mesh_sculpted_prim = true
+
+[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
+    enabled = true
+
+    ;# {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_password = "08NP6HKJ09IMXIFH79N26XL9CW9T0F9NC545ZMSH09R3ZRUNKE9QOY7MVUP69G7L"
+
+    ;# {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
+
+    ; the create_region XmlRpc call uses region_file_template to generate
+    ; the file name of newly create regions (if they are created
+    ; persistent). the parameter available are:
+    ;     {0} - X location
+    ;     {1} - Y location
+    ;     {2} - region UUID
+    ;     {3} - region port
+    ;     {4} - region name with " ", ":", "/" mapped to  "_"
+    region_file_template = "{4}.{0}.{1}.xml"
+
+
+; Not operational in 0.9.1.1, but I leave this here if the plugin becomes
+;   operational again (20200403 gwyneth)
+[RestPlugins]
+    ; Change this to true to enable REST Plugins. This must be true if you wish to use
+    ; REST Region or REST Asset and Inventory Plugins
+    enabled = true
+    god_key = betaopenmv2014!!
+    prefix = /admin
+
+
+[RestRegionPlugin]
+    ; Change this to true to enable the REST Region Plugin
+    enabled = true
+
+
+[RestHandler]
+    ; Change this to true to enable the REST Asset and Inventory Plugin
+    enabled = true
+    authenticate = true
+    secured = true
+    extended-escape = true
+    realm = OpenSim REST
+    dump-asset = false
+    path-fill = true
+    dump-line-size = 32
+    flush-on-error = true
+
+
+[Wind]
+    ;# {enabled} {} {Enable wind module?} {true false} true
+    ;; Enables the wind module.
+    ; enabled = true
+
+    ;# {wind_update_rate} {enabled:true} {Wind update rate in frames?} {} 150
+    ;; How often should wind be updated, as a function of world frames.
+    ;; Approximately 50 frames a second
+    ; wind_update_rate = 150
+
+    ;; The Default Wind Plugin to load
+    ; wind_plugin = SimpleRandomWind
+
+    ;; These settings are specific to the ConfigurableWind plugin
+    ;; To use ConfigurableWind as the default, simply change wind_plugin
+    ;; to ConfigurableWind and uncomment the following.
+    ; avg_strength = 5.0
+    ; avg_direction = 0.0
+    ; var_strength = 5.0
+    ; var_direction = 30.0
+    ; rate_change = 1.0
+
+    ;# {strength} {enabled:true wind_plugin:SimpleRandomWind} {Wind strength?} {} 1.0
+    ;; This setting is specific to the SimpleRandomWind plugin
+    ;; Adjusts wind strength. 0.0 = no wind, 1.0 = normal wind.
+    ; strength = 1.0
+
+
+[LightShare]
+    ;# {enable_windlight} {} {Enable LightShare technology?} {true false} false
+    ;; This enables the transmission of Windlight scenes to supporting clients,
+    ;; such as the Meta7 viewer.
+    ;; It has no ill effect on viewers which do not support server-side
+    ;; windlight settings.
+    ; enable_windlight = false
+    enable_windlight = true
+
+
+[LL-Functions]
+    ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL())
+    max_external_urls_per_simulator = 1000
+
+    ; Use llCastRay V3 if true.
+    ; Implements llCastRay similar but not identical to Second Life.
+    ; See http://wiki.secondlife.com/wiki/LlCastRay .
+    ; NEW
+    ; Meshes prims for good accuracy in ray hit detection,
+    ; handling basic and tortured prims, sculpts and meshes.
+    ; Uses ellipsoid, correctly sized avatar capsules.
+    ; Handles complex terrain, multi-prim objects and seated avatars.
+    ; Implements throttling and the status codes
+    ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED,
+    ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW.
+    ; WARNING
+    ; Can be faster on some servers and scenes, but slower on others,
+    ; compared to previous version of llCastRay in OpenSimulator.
+    ; Is in most cases considerably slower than llCastRay in Second Life.
+    ; Generates geometry meshes and can therefore use much system resources.
+    UseLlCastRayV3 = true
+
+    ; Accepted calculation precision error in calculations in llCastRay V3
+    FloatToleranceInLlCastRay = 0.00001
+
+    ; Accepted distance difference between duplicate hits in llCastRay V3
+    FloatTolerance2InLlCastRay = 0.001
+
+    ; Detail level when rendering prims in llCastRay V3
+    ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
+    PrimDetailLevelInLlCastRay = 1
+
+    ; Detail level when rendering sculpts in llCastRay V3
+    ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
+    SculptDetailLevelInLlCastRay = 1
+
+    ; Detail level when rendering meshes in llCastRay V3
+    ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
+    MeshDetailLevelInLlCastRay = 3
+
+    ; Detail level when rendering avatar capsules in llCastRay V3
+    ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
+    AvatarDetailLevelInLlCastRay = 1
+
+    ; Maximum number of returned hits from llCastRay V3
+    MaxHitsInLlCastRay = 16
+
+    ; Maximum number of returned hits per prim from llCastRay V3
+    MaxHitsPerPrimInLlCastRay = 16
+
+    ; Maximum number of returned hits per object from llCastRay V3
+    MaxHitsPerObjectInLlCastRay = 16
+
+    ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true
+    DetectExitHitsInLlCastRay = false
+
+    ; Detect attachments in llCastRay V3 if true
+    DoAttachmentsInLlCastRay = false
+
+    ; Throttle period length in ms before which all old llCastRay use is discarded in llCastRay V3
+    ; The sum of AvailableTimeInMsPerRegionInLlCastRay and all AvailableTimeInMsPerAvatarInLlCastRay should not exceed this
+    ThrottleTimeInMsInLlCastRay = 200
+
+    ; Available time in ms for llCastRay per throttle period and 65536 m2 land area in llCastRay V3
+    AvailableTimeInMsPerRegionInLlCastRay = 40
+
+    ; Available time in ms for llCastRay per throttle period and avatar when script in attachment or vehicle in llCastRay V3
+    AvailableTimeInMsPerAvatarInLlCastRay = 10
+
+    ; Required available time in ms left to perform a new llCastRay in llCastRay V3
+    RequiredAvailableTimeInMsInLlCastRay = 2
+
+    ; Maximum available time in ms possible in llCastRay V3, not to get too high values with varregions
+    MaximumAvailableTimeInMsInLlCastRay = 40
+
+    ; Use cached meshes in llCastRay V3 if true
+    ; Improves performance but uses more memory
+    UseMeshCacheInLlCastRay = true
+
+
+
+[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 = all
+
+    ;# {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 = "btgrid"
+
+    ;# {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 = 86400
+
+    ;; This will be created in bin, if it doesn't exist already. It will hold
+    ;; the data snapshots.
+    snapshot_cache_directory = "DataSnapshot"
+
+    ;; [Supported, but obsolete]
+    ;# {data_services} {index_sims:true} {Data service URLs to register with?} {} http://metaverseink.com/cgi-bin/register.py
+    ; This semicolon-separated string serves to notify specific data services
+    ; about the existence of this sim. Uncomment if you want to index your
+    ; data with this and/or other search providers.
+    ; data_services="http://metaverseink.com/cgi-bin/register.py"
+
+    ;; New way of specifying data services, one per service
+    ; DATA_SRV_MISearch = "http://metaverseink.com/cgi-bin/register.py"
+
+[Economy]
+    ; 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.
+
+    ;; 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
+
+[YEngine]
+    ;; implements non preemptive microthreading, so fixing problems like llSleep or long events handlers
+    ;; but those will suffer from timeslicing, so will be slower.
+    ;; warning: scripts state is lost on TP or cross to Xengine regions (cars stop, etc)
+	;; ignore its extensions (subset of original XMRengine), those are still undefined.
+    ; Enabled = false
+
+
+[XEngine]
+    ;# {Enabled} {} {Enable the XEngine scripting engine?} {true false} true
+    ;; Enable this engine in this OpenSim instance
+    Enabled = true
+
+    ;; How many threads to keep alive even if nothing is happening
+    MinThreads = 2
+
+    ;; How many threads to start at maximum load
+    MaxThreads = 100
+
+    ;; Time a thread must be idle (in seconds) before it dies
+    IdleTimeout = 60
+
+    ;; 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 = true
+
+    ;; Controls whether scripts are stopped by aborting their threads externally (abort) or by co-operative checks from the compiled script (co-op)
+    ;; co-op will be more stable but this option is currently experimental.
+    ;; If moving from co-op to abort, existing script DLLs will need to be recompiled.
+    ;; This currently can only be done manually, either by setting DeleteScriptsOnStartup = true for one run
+    ;; or by deleting the script DLL* files in bin/ScriptEngines/<region-id>/
+    ;; 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 = true
+
+    ;; 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/osslEnable.ini"
+
+
+[VivoxVoice]
+; The VivoxVoice module will allow you to provide voice on your
+; region(s). It uses the same voice technology as the LL grid and
+; works with recent LL clients (we have tested 1.22.9.110075, so
+; anything later ought to be fine as well).
+;
+; For this to work you need to obtain an admin account from Vivox
+; that allows you to create voice accounts and region channels.
+
+;enabled = true
+
+; vivox voice server
+;vivox_server = mt1s.vivox.com
+;vivox_server = www.osp.vivox.com
+
+; vivox SIP URI
+;vivox_sip_uri = https://mt1s.www.vivox.com/api2
+;vivox_sip_uri = osp.vivox.com
+
+; vivox admin user name
+;vivox_admin_user = BetaTe8042-Be75-dev-Admin
+
+; vivox admin password
+;vivox_admin_password = mZq3ZCsvd4GDGAU8
+
+; channel type: "channel" or "positional"
+; - positional: spatial sound (default)
+; - channel: normal "conference call", no spatial sound
+;vivox_channel_type = positional
+
+; channel characteristics (unless you know what you are doing, i'd
+; leave them as they are --- now you WILL muck around with them,
+; huh? sigh)
+
+; channel distance model:
+; 0 - no attenuation
+; 1 - inverse distance attenuation
+; 2 - linear attenuation (default)
+; 3 - exponential attenuation
+;vivox_channel_distance_model = 2
+
+; channel mode:
+; - "open" (default)
+; - "lecture"
+; - "presentation"
+; - "auditorium"
+;vivox_channel_mode = "open"
+
+; channel roll off: rate of attenuation
+; - a value between 1.0 and 4.0, default is 2.0
+;vivox_channel_roll_off = 2.0
+
+; channel max range: distance at which channel is silent
+; - a value between 0 and 160, default is 80
+;vivox_channel_max_range = 80
+
+; channel clamping distance: distance before attenuation applies
+; - a value between 0 and 160, default is 10
+;vivox_channel_clamping_distance = 10
+
+
+[Groups]
+    ;# {Enabled} {} {Enable groups?} {true false} false
+    ;; Enables the groups module
+    ; Enabled = false
+    Enabled = true
+
+    ;# {LevelGroupCreate} {Enabled:true} {User level for creating groups} {} 0
+    ;; Minimum user level required to create groups
+    ; LevelGroupCreate = 0
+
+    ;# {Module} {Enabled:true} {Groups module to use? (Use GroupsModule to use Flotsam/Simian)} {Default "Groups Module V2"} Default
+    ;; The default module can use a PHP XmlRpc server from the Flotsam project at
+    ;; http://code.google.com/p/flotsam/
+    ;; or from the SimianGrid project at http://code.google.com/p/openmetaverse
+    ; Module = Default
+    ;; or... use Groups Module V2, which works for standalones and robust grids
+    Module = "Groups Module V2"
+
+    ;# {StorageProvider} {Module:Groups Module V2} {The DLL that provides the storage for V2} {OpenSim.Data.MySQL.dll}
+    ; StorageProvider = OpenSim.Data.MySQL.dll
+
+    ;# {ServicesConnectorModule} {Module:GroupsModule Module:Groups Module V2} {Service connector to use for groups} {XmlRpcGroupsServicesConnector SimianGroupsServicesConnector "Groups Local Service Connector" "Groups Remote Service Connector" "Groups HG Service Connector"} XmlRpcGroupsServicesConnector
+    ;; Service connectors to the Groups Service as used in the GroupsModule.  Select one as follows:
+    ;; -- for Flotsam Groups use XmlRpcGroupsServicesConnector
+    ;; -- for Simian Groups use SimianGroupsServicesConnector
+    ;; -- for V2 Groups, standalone, non-HG use "Groups Local Service Connector"
+    ;; -- for V2 Groups, grided sim, non-HG use "Groups Remote Service Connector"
+    ;; -- for V2 Groups, HG, both standalone and grided sim, use "Groups HG Service Connector"
+    ;; Note that the quotes "" around the words are important!
+    ; ServicesConnectorModule = XmlRpcGroupsServicesConnector
+    ServicesConnectorModule = "Groups HG Service Connector"
+
+    ;# {LocalService} {ServicesConnectorModule:Groups HG Service Connector} {Is the group service in this process or elsewhere?} {local remote} local
+    ;; Used for V2 in HG only. If standalone, set this to local; if grided sim, set this to remote
+    LocalService = remote
+
+    ;# {SecretKey} {ServicesConnectorModule:Groups Remote Service Connector} {Secret key between sim and remote group service} {} ""
+    ;; Used for V2 in Remote only.
+    ; SecretKey = ""
+
+    ;# {GroupsServerURI} {Module:GroupsModule (ServicesConnectorModule:Groups Remote Service Connector or (ServicesConnectorModule:Groups HG Service Connector and LocalService:remote))} {Groups Server URI} {}
+    ;; URI for the groups services of this grid
+    ;; e.g. http://yourxmlrpcserver.com/xmlrpc.php for Flotsam XmlRpc
+    ;; or http://mygridserver.com:82/Grid/ for SimianGrid
+    ;; or ${Const|BaseURL}:${Const|PrivatePort} for robust, V2
+    ;; Leave it commented for standalones, V2
+    GroupsServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
+
+    ;# {HomeURI} {ServicesConnectorModule:Groups HG Service Connector} {What's the home address of this world?} {}
+    ;; Used for V2 in HG only. For example
+    ;; http://mygridserver.com:9000 or http://mygridserver.com:8002
+    ;; If you have this set under [Startup], no need to set it here, leave it commented
+    HomeURI = ${Const|BaseURL}:${Const|PublicPort}
+
+    ;# {MessagingEnabled} {Module:GroupsModule Module:Groups Module V2} {Is groups messaging enabled?} {true false} true
+    MessagingEnabled = true
+
+    ;# {MessagingModule} {MessagingEnabled:true} {Module to use for groups messaging} {GroupsMessagingModule "Groups Messaging Module V2"} GroupsMessagingModule
+    ; MessagingModule = GroupsMessagingModule
+    ; or use "Groups Messaging Module V2" for Groups V2
+    MessagingModule = "Groups Messaging Module V2"
+
+    ;# {NoticesEnabled} {Module:GroupsModule Module:Groups Module V2} {Enable group notices?} {true false} true
+    ;; Enable Group Notices
+    NoticesEnabled = true
+
+    ;# {MessageOnlineUsersOnly} {Module:GroupsModule Module} {Message online users only?} {true false} false
+    ; Experimental option to only message online users rather than all users
+    ; Should make large groups with few online members messaging faster, as the expense of more calls to presence service
+    ; Applies Flotsam Group only. V2 has this always on, no other option
+    ; MessageOnlineUsersOnly = false
+
+    ;; This makes the Groups module very chatty on the console.
+    ; DebugEnabled = false
+
+    ; This makes the Group Messaging module very chatty on the console.
+    ; DebugMessagingEnabled = false
+
+    ;; XmlRpc Security settings.  These must match those set on your backend
+    ;; groups service if the service is using these keys
+    XmlRpcServiceReadKey    = 7539
+    XmlRpcServiceWriteKey   = 7539
+
+
+[InterestManagement]
+     ;; This section controls how state updates are prioritized for each client
+
+     ;# {UpdatePrioritizationScheme} {} {Update prioritization scheme?} {BestAvatarResponsiveness SimpleAngularDistance} BestAvatarResponsiveness
+     ;; Valid values are BestAvatarResponsiveness and SimpleAngularDistance
+     ;; SimpleAngularDistance does use more cpu
+    UpdatePrioritizationScheme = BestAvatarResponsiveness
+
+    ;; ObjectsCullingByDistance, if true, don't send object updates if outside view range
+    ;; currently viewers are also told to delete objects that leave view range
+    ;; only avater position is considered, free camera may not see objects
+    ;; does increase cpu load
+    ; ObjectsCullingByDistance = false
+
+
+[WebStats]
+    ; View region statistics via a web page
+    ; See http://opensimulator.org/wiki/FAQ#Region_Statistics_on_a_Web_Page
+    ; Use a web browser and type in the "Login URI" + "/SStats/"
+    ; For example- http://127.0.0.1:9000/SStats/
+    enabled = true
+
+
+[MediaOnAPrim]
+    ;# {Enabled} {} {Enable Media-on-a-Prim (MOAP)} {true false} true
+    ;; Enable media on a prim facilities
+    Enabled = true
+
+
+[NPC]
+    ;# {Enabled} {} {Enable Non Player Character (NPC) facilities} {true false} false
+    ; Enabled = false
+    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 = ${Const|BaseURL}:${Const|PublicPort}
+
+  ;# {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 = true
+
+
+[XBakes]
+  ;# {URL} {} {Set URL for Baked texture service} {}
+  ;; Sets the URL for the baked texture ROBUST service.
+  ;; Disabled when unset.
+  URL = ${Const|BaseURL}:${Const|PrivatePort}
+
+;;
+;; Optional module to highlight God names in the viewer.
+;; Uncomment and customize appropriately if you want this behavior.
+;;
+[GodNames]
+    Enabled = true
+    FullNames = "Gwyneth Llewelyn, BetaMaster Avatar"
+;    Surnames = "Kryztlsk"
+
+
+[UserProfiles]
+  ;# {ProfileServiceURL} {} {Set url to UserProfilesService} {}
+  ;; Set the value of the url to your UserProfilesService
+  ;; If un-set / "" the module is disabled
+  ProfileServiceURL = ${Const|BaseURL}:${Const|PublicPort}
+
+  ;# {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 = true
+
+
+[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"