; This file contains defaults for various settings in OpenSimulator. These can be overriden ; by changing the same setting in OpenSim.ini (once OpenSim.ini.example has been copied to OpenSim.ini). [Includes] ; Define your server specific constants in this file. Include-Common = ../../config/config.ini [Startup] ; Console prompt ; Certain special characters can be used to customize the prompt ; Currently, these are ; \R - substitute region name ; \\ - substtitue \ ConsolePrompt = "Region (\R) " ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) ConsoleHistoryFileEnabled = true ; Log file location. This can be set to a simple file path LogFile = "${Paths|LogPath}/OpenSim.log" ; The history file can be just a filename (relative to OpenSim's bin/ directory ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/) ConsoleHistoryFile = "${Paths|LogPath}/OpenSimConsoleHistory.txt" ; How many lines of command history should we keep? (default is 100) ConsoleHistoryFileLines = 100 ; Set this to true if you want to log crashes to disk ; this can be useful when submitting bug reports. ; However, this will only log crashes within OpenSimulator that cause the entire program to exit ; It will not log crashes caused by virtual machine failures, which includes mono and ODE failures. ; You will need to capture these native stack traces by recording the session log itself. save_crashes = false ; Directory to save crashes to if above is enabled ; (default is /opensimdir/crashes/*.txt or C:\opensim\crashes\*.txt) crash_dir = "crashes" ; Place to create a PID file ; PIDFile = "/tmp/OpenSim.exe.pid" ; Console commands run at startup startup_console_commands_file = "startup_commands.txt" ; Console commands run on shutdown shutdown_console_commands_file = "shutdown_commands.txt" ; Console commands run every 20 minutes ; timer_Script = "filename" ; timer_Script time interval (default 20 min) ; The time is 60 per minute ; timer_Interval = 1200 ; ## ; ## SYSTEM ; ## ; Sets the method that OpenSim will use to fire asynchronous ; events. Valid values are UnsafeQueueUserWorkItem, ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread. ; ; SmartThreadPool is reported to work well on Mono/Linux, but ; UnsafeQueueUserWorkItem has been benchmarked with better ; performance on .NET/Windows ; ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security ; privileges. However, as calling code is trusted anyway this is safe (if you set ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons). async_call_method = SmartThreadPool ; Max threads to allocate on the FireAndForget thread pool ; when running with the SmartThreadPool option above MaxPoolThreads = 300 ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently. ; This improves performance in regions with large numbers of connections (in the hundreds). JobEngineEnabled = true ; Plugin Registry Location ; Set path to directory for plugin registry. Information about the ; registered repositories and installed plugins will be stored here. ; The OpenSim.exe process must have R/W access to the location. RegistryLocation = "." ; Used by region module addins. You can set this to outside bin, so that addin ; configurations will survive updates. The OpenSim.exe process must have R/W access ; to the location. ConfigDirectory = "." ; ## ; ## CLIENTS ; ## ; Set this to the DLL containing the client stack to use. clientstack_plugin="OpenSim.Region.ClientStack.LindenUDP.dll" ; ## ; ## REGIONS ; ## ; Determine where OpenSimulator looks for the files which tell it which regions to server ; Defaults to "filesystem" if this setting isn't present region_info_source = "filesystem" ; region_info_source = "web" ; Determines where the region XML files are stored if you are loading these from the filesystem. ; Defaults to bin/Regions in your OpenSimulator installation directory regionload_regionsdir="Regions" ; Determines the page from which regions xml is retrieved if you are loading these from the web ; The XML here has the same format as it does on the filesystem (including the tag), ; except that everything is also enclosed in a tag. ; regionload_webserver_url = "http://example.com/regions.xml" ;; Allow the simulator to start up if there are no region configuration available ;; from the selected region_info_source. allow_regionless = false ;; Allow child agents to see into the region even if their root counterpart isn't allowed in here see_into_region = false ;; use legacy math for sittarget offset "correction" ;; set this option to false to use improved math more compatibility with SL. ;; keep it true if you have many old objects with sits set by scripts. ;; the offset in question is added to the SitTarget to find the sitting avatar position. ;; acording to its size, etc. LegacySitOffsets = false ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos ; Increasing this number will increase memory usage. MaxPrimUndos = 20 ; Minimum size for non-physical prims.This can be overridden in the region config file (as ; NonPhysicalPrimMin!). ; NonPhysicalPrimMin = 0.001 ; Maximum size of non physical prims. Affects resizing of existing prims. This can be overridden in the region config file (as NonPhysicalPrimMax!). NonPhysicalPrimMax = 2560 ; Minimum size where a prim can be physical. This can be overridden in the region config file. ; PhysicalPrimMin = 0.01 ; Maximum size of physical prims. Affects resizing of existing prims. This can be overridden in the region config file. PhysicalPrimMax = 640 ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum ; This can be overridden in the region config file. ClampPrimSize = false ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative. ClampNegativeZ = false ; Maximum number of prims allowable in a linkset. Affects creating new linksets. Ignored if less than or equal to zero. ; This can be overridden in the region config file. LinksetPrims = 0 ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region. ; This only applies when crossing to a region running in a different simulator. ; For crossings where the regions are on the same simulator the script is always kept running. AllowScriptCrossing = true ; Allow compiled script binary code to cross region boundaries. ; If you set this to "true", any region that can teleport to you can ; inject ARBITRARY BINARY CODE into your system. Use at your own risk. ; YOU HAVE BEEN WARNED!!! TrustBinaries = false ; the default view range. Viewers override this ( no major effect still ) DefaultDrawDistance = 1024.0 ; limit the maximum view range ( no effect still (does limit MaxRegionsViewDistance) ) MaxDrawDistance = 1024 ; the maximum distance to tell a viewer to connect to a neighbour region, so it can be seen ; (it is limited by MaxDrawDistance above) ; less than 256 shows imediate neighbours; 512 also second imediate neighbours etc ; more than 512m can cause viewers problems specially in case of dense regions. ; curretly this distance is from current region borders. MaxRegionsViewDistance = 1024 ; 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 = true ; Use of normalized 55FPS statistics ; Opensim does not have a frame rate control like other simulators. ; Most parameters that control timing can be configurable region by region. ; To achieve closer compatibility with values expected by viewers, scripts and users ; some parameters are converted to a equivalent per frame value. ; Additionally, they are scaled to values they would have on a system running at a nominal 55 frames per second rate. ; The scale factor it 55 * FrameTime, corresponding to 5 with default configuration ; You can choose to show the true physics FPS to viewers by setting Normalized55FPS to false. ; Normalized55FPS = true ; Main Frame time ; This defines the rate of several simulation events. ; Default value should meet most needs. ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads. ; It should not be less than the physics engine step time. ; Being a integer multiple of it may reduce some jitter in reported physics FPS. ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same FrameTime = 0.0909 ; The values below represent the percentage of the target frame time that, ; when underrun, should trigger yellow or red in the lag meter. ; Less than 60% of FPS is amber by default, less then 40% is red. ; These values are advisory. Viewers may choose to not use them but it is ; encouraged that they do. ; FrameTimeWarnPercent = 60 ; FrameTimeCritPercent = 40 ; Send scheduled updates to objects in the scene ; This must be a whole number UpdateObjectsEveryNFrames = 1 ; Send position/velocity, etc. updates to agents in the scene ; This must be a whole number UpdateAgentsEveryNFrames = 1 ; Apply pending forces from physics calculations to an entity. ; This must be a whole number UpdateEntityMovementEveryNFrames = 1 ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap. ; This must be a whole number UpdateCoarseLocationsEveryNFrames = 50 ; Physics simulation execution or syncronization, acording to engine. Should be 1 ; This must be a whole number UpdatePhysicsEveryNFrames = 1 ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1. ; This must be a whole number UpdateEventsEveryNFrames = 1 ; Send terrain updates to viewers ; This must be a whole number UpdateTerrainEveryNFrames = 50 ; Persitently store any objects which meet the PRIM STORAGE criteria ; This must be a whole number UpdateStorageEveryNFrames = 200 ; Clean up temp on rez objects. ; This must be a whole number UpdateTempCleaningEveryNSeconds = 180 ; ## ; ## PRIM STORAGE ; ## ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to ; prevent frequently changing objects from heavily loading the region data store. ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep. ; ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds MinimumTimeBeforePersistenceConsidered = 60 ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago MaximumTimeBeforePersistenceConsidered = 600 ; ## ; ## PHYSICS ; ## ; If true then prims can be collided with by avatars, other prims, etc. ; If false then all prims are phantom, no matter whether their phantom flag is checked or unchecked. ; Also, no prims are subject to physics. collidable_prim = true ; If true then prims can be made subject to physics (gravity, pushing, etc.). ; If false then physics flag can be set but it is not honoured. However, prims are still solid for the purposes of collision direction physical_prim = true ; Select a mesher here. ; ; Meshmerizer properly handles complex prims by using triangle meshes. ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way ; ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports ; Usually this is only a box ;meshing = Meshmerizer ;meshing = ZeroMesher ;; select ubODEMeshmerizer only with ubOde physics engine meshing = ubODEMeshmerizer ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions ; edit the line ulimit -s 262144, and change this last value ; Path to decoded sculpty maps ; Defaults to "j2kDecodeCache ;DecodedSculptMapPath = "j2kDecodeCache" ; if you use Meshmerizer and want sculpt map collisions, setting this to ; to true will store decoded sculpt maps in a special folder in your bin ; folder, which can reduce startup times by reducing asset requests. Some ; versions of mono dont work well when reading the cache files, so set this ; to false if you have compatibility problems. CacheSculptMaps = true ;; BulletSim is the default physics engine. It provides the best performance and most functionality. ;; BulletSim supports varregions. ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. ;; It continues to provide a workable physics implementation. It does not currently support varregions. ;; basicphysics effectively does not model physics at all, making all objects phantom. ;; Default is BulletSim ;physics = BulletSim ;physics = modified_BulletX ;physics = OpenDynamicsEngine ;physics = basicphysics ;physics = POS ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also physics = ubODE ; ## ; ## SCRIPT ENGINE ; ## ;; Default script engine to use. Currently, we only have XEngine DefaultScriptEngine = "XEngine" ; Http proxy setting for llHTTPRequest and dynamic texture loading, if ; required ; HttpProxy = "http://proxy.com:8080" ; 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" ; ## ; ## EMAIL MODULE ; ## ;; The email module requires some configuration. It needs an SMTP ;; server to send mail through. ;emailmodule = DefaultEmailModule ; ## ; ## ANIMATIONS ; ## ; If enabled, enableFlySlow will change the primary fly state to ; FLYSLOW, and the "always run" state will be the regular fly. enableflyslow = false ; PreJump is an additional animation state, but it probably ; won't look right until the physics engine supports it ; (i.e delays takeoff for a moment) ; # ; # statistics ; # ; Simulator statistics are output to the console periodically at debug level INFO. ; Setting this to zero disables this output. LogShowStatsSeconds = 0 ; Simulator Stats URI ; Enable JSON simulator data by setting a URI name (case sensitive) ; Returns regular sim stats (SimFPS, ...) Stats_URI = "jsonSimStats" ; Simulator StatsManager URI ; Enable fetch of StatsManager registered stats. Fetch is query which can optionally ; specify category, container and stat to fetch. If not selected, returns all of that type. ; http://simulatorHTTPport/ManagedStats/?cat=Category&cont=Container&stat=Statistic ; ManagedStatsRemoteFetchURI = "ManagedStats" ; Make OpenSim start all regions with logins disabled. They will need ; to be enabled from the console if this is set StartDisabled = false ; Image decoding. Use CSJ2K for layer boundary decoding if true, ; OpenJPEG if false ; UseCSJ2K = true ; Use "Trash" folder for items deleted from the scene ; When set to True (the default) items deleted from the scene will be ; stored in the user's trash or lost and found folder. When set to ; False items will be removed from the scene permanently UseTrashOnDelete = True ; # ; # Logging ; # ; Force logging when the thread pool approaches an overload condition ; Provides useful data for post-mortem analysis even in a production ; system with reduced logging LogOverloads = True ; # ; # Telehubs ; # ; 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 allows users with landmarks to override telehub ; routing and land at the landmark coordinates when set to true ; default is false TelehubAllowLandmark = true [Map] ; Map tile options. ; If true, then maptiles are generated using the MapImageModule below. ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ GenerateMaptiles = true ;WorldMapModule = "WorldMap" ; The module to use in order to generate map images. ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can ; generate better images. MapImageModule = "Warp3DImageModule" ; World map blacklist timeout in seconds ;BlacklistTimeout = 600 ; Refresh (in seconds) the map tile periodically MaptileRefresh = 0 ; If not generating maptiles, use this static texture asset ID ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" ; Draw objects on maptile. This step might take a long time if you've got a large number of ; objects, so you can turn it off here if you'd like. DrawPrimOnMapTile = true ; Use terrain texture for maptiles if true, use shaded green if false TextureOnMapTile = true ; Texture prims TexturePrims = true ; Only texture prims that have a diagonal size greater than this number TexturePrimSize = 1 ; Attempt to render meshes and sculpties on the map RenderMeshes = true; ; where to store cached map tiles. CacheDirectory = "${Paths|CachePath}/MapImageCache" ; Draw map position at bottom right. enablePosition = true ; Refresh the cached map tile once a month. ;RefreshEveryMonth = 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] ; ## ; ## PERMISSIONS ; ## ; Permission modules to use, separated by comma. ; Possible modules are DefaultPermissionsModule, PrimLimitsModule permissionmodules = "DefaultPermissionsModule" ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy ; any item, etc. This may not yet be implemented uniformally. ; If set to true, then all permissions checks are carried out ; Default is true serverside_object_permissions = true ; This allows some control over permissions ; please note that this still doesn't duplicate SL, and is not intended to ; This allows grid users with a UserLevel of 200 or more to assume god ; powers in the regions in this simulator. allow_grid_gods = true ; Allow region owners to assume god powers in their regions ;region_owner_is_god = true ; Allow region managers to assume god powers in regions they manage ;region_manager_is_god = false ; God mode should be turned on in the viewer whenever ; the user has god rights somewhere. They may choose ; to turn it off again, though. automatic_gods = false ; The user can execute any and all god functions, as ; permitted by the viewer UI, without actually "godding ; up". This is the default state in 0.8.2. implicit_gods = true ; Control user types that are allowed to create new scripts ; Only enforced if serviceside_object_permissions is true ; ; Current possible values are ; all - anyone can create scripts (subject to normal permissions) ; gods - only administrators can create scripts (as long as allow_grid_gods is true) ; Default value is all ; allowed_script_creators = all ; Control user types that are allowed to edit (save) scripts ; Only enforced if serviceside_object_permissions is true ; ; Current possible values are ; all - anyone can edit scripts (subject to normal permissions) ; gods - only administrators can edit scripts (as long as allow_grid_gods is true) ; Default value is all ; allowed_script_editors = all ; Provides a simple control for land owners to give build rights to specific avatars ; in publicly accessible parcels that disallow object creation in general. ; Owners specific avatars by adding them to the Access List of the parcel ; without having to use the Groups feature ; Disabled by default ; simple_build_permissions = False ; Minimum user level required to upload assets ;LevelUpload = 0 [RegionReady] ; Enable this module to get notified once all items and scripts in the region have been completely loaded and compiled enabled = true ; Channel on which to signal region readiness through a message ; formatted as follows: "{server_startup|oar_file_load},{0|1},n,[oar error]" ; - the first field indicating whether this is an initial server startup ; - the second field is a number indicating whether the OAR file loaded ok (1 == ok, 0 == error) ; - the third field is a number indicating how many scripts failed to compile ; - "oar error" if supplied, provides the error message from the OAR load channel_notify = 0 ; - disallow logins while scripts are loading ; Instability can occur on regions with 100+ scripts if users enter before they have finished loading login_disable = false ; - send an alert as json to a service ; alert_uri = "http://myappserver.net/my_handler/" [EstateManagement] ; If false, then block any region restart requests from the client even if they are otherwise valid. ; Default is true AllowRegionRestartFromClient = true [Estates] ; If these values are commented out then the user will be asked for estate details when required (this is the normal case). ; If these values are uncommented then they will be used to create a default estate as necessary. ; New regions will be automatically assigned to that default estate. ;# {DefaultEstateName} {} {Default name for estate?} {} My Estate ;; Name for the default estate ; DefaultEstateName = My Estate ;# {DefaultEstateOwnerName} {} {Default estate owner name?} {} FirstName LastName ;; Name for default estate owner ; DefaultEstateOwnerName = FirstName LastName ; ** Standalone Estate Settings ** ; The following parameters will only be used on a standalone system to ; create an estate owner that does not already exist ;# {DefaultEstateOwnerUUID} {} {Default estate owner UUID?} {} 00000000-0000-0000-0000-000000000000 ;; If DefaultEstateOwnerUUID is left at UUID.Zero (as below) then a random ;; UUID will be assigned. This is normally what you want ; DefaultEstateOwnerUUID = 00000000-0000-0000-0000-000000000000 ;# {DefaultEstateOwnerEMail} {} {Default estate owner email?} {} ;; Email address for the default estate owner ; DefaultEstateOwnerEMail = owner@domain.com ;# {DefaultEstateOwnerPassword} {} {Default estate owner password} {} ;; Password for the default estate owner ; DefaultEstateOwnerPassword = password [UserProfiles] ;; Set the value of the url to your UserProfilesService ;; If un-set / "" the module is disabled ;; If the ProfileServiceURL is not set, then very BASIC ;; profile support will be configured. If the ProfileServiceURL is set to a ;; valid URL, then full profile support will be configured. The URL ;; points to your grid's Robust user profiles service ;; ProfileServiceURL = ${Const|GridURL}:${Const|PublicPort} ;; set this to false to prevent your users to be sent to unknown ;; web sites by other users on their profiles ; AllowUserProfileWebURLs = true [SMTP] ;; The SMTP server enabled the email module to send email to external ;; destinations. ;# {enabled} {[Startup]emailmodule:DefaultEmailModule} {Enable SMTP service?} {true false} false ;; Enable sending email via SMTP enabled = false ;# {internal_object_host} {[Startup]emailmodule:DefaultEmailModule enabled:true} {Host name to treat as internal (object to object) email?} {} lsl.opensim.local ; internal_object_host = lsl.opensim.local ;# {host_domain_header_from} {[Startup]emailmodule:DefaultEmailModule enabled:true} {From address to use in the sent email header?} {} 127.0.0.1 ; host_domain_header_from = "127.0.0.1" ;# {email_pause_time} {[Startup]emailmodule:DefaultEmailModule enabled:true} {Period in seconds to delay after an email is sent.} {} 20 ; email_pause_time = 20 ;# {email_max_size} {[Startup]emailmodule:DefaultEmailModule enabled:true} {Maximum total size of email in bytes.} {} 4096 ; email_max_size = 4096 ;# {SMTP_SERVER_HOSTNAME} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server name?} {} 127.0.0.1 ; SMTP_SERVER_HOSTNAME = "127.0.0.1" ;# {SMTP_SERVER_PORT} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server name?} {SMTP server port?} {} 25 ; SMTP_SERVER_PORT = 25 ;# {SMTP_SERVER_LOGIN} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server user name?} {} ; SMTP_SERVER_LOGIN = "" ;# {SMTP_SERVER_PASSWORD} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server password} {} ; SMTP_SERVER_PASSWORD = "" [Network] ;; Configure the remote console user here. This will not actually be used ;; unless you use -console=rest at startup. ;ConsoleUser = "Test" ;ConsolePass = "secret" ;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 ; ssl config: Experimental! The auto https config only really works definately on windows XP now ; you need a Cert Request/Signed pair installed in the MY store with the CN specified below ; you can use https on other platforms, but you'll need to configure the httpapi yourself for now http_listener_ssl = false ; Also create a SSL server http_listener_cn = "localhost" ; Use the cert with the common name http_listener_sslport = 9001 ; Use this port for SSL connections http_listener_ssl_cert = "" ; Currently unused, but will be used for OSHttpServer ; HTTPS for "Out of band" management applications such as the remote ; admin module ; ; Create https_listener = "True" will create a listener on the port ; specified. Provide the path to your server certificate along with it's ; password ; https_listener = False ; Set our listener to this port ; https_port = 0 ; Path to X509 certificate ; cert_path = "path/to/cert.p12" ; Password for cert ; cert_pass = "password" ; By default, OpenSimulator does not allow scripts to make HTTP calls to addresses on the simulator's LAN. ; See the OutboundDisallowForUserScripts parameter in OpenSimDefaults.ini for more information on this filter. ; If you need to allow scripts to make some LAN calls use the OutboundDisallowForUserScriptsExcept parameter below. ; We recommend that you do not override OutboundDisallowForUserScripts directly unless you are very sure about what you're doing. ; ; You can whitelist individual endpoints by IP or FQDN, e.g. ; ; OutboundDisallowForUserScriptsExcept = 192.168.1.3:8003 ; ; You can specify multiple addresses by separating them with a bar. For example, ; ; OutboundDisallowForUserScriptsExcept = 192.168.1.3:8003|myinternalserver:8000 ; ; If an address if given without a port number then port 80 is assumed ; ; You can also specify a network range in CIDR notation to whitelist, e.g. ; ; OutboundDisallowForUserScriptsExcept = 192.168.1.0/24 ; ; to whitelist all ports on addresses 192.168.1.0 to 192.168.1.255 ; To specify an individual IP address use the /32 netmask ; ; OutboundDisallowForUserScriptsExcept = 192.168.1.2/32 ; ; See http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation for more information on CIDR notation ; Maximum bytes allowed for HTTP_BODY_MAXLENGTH. ; 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 ; Hostname to use in llRequestURL/llRequestSecureURL ; if not defined - llRequestURL/llRequestSecureURL are disabled ; ExternalHostNameForLSL=127.0.0.1 ExternalHostNameForLSL = "${Const|HostName}" ; Disallow the following address ranges for user scripting calls (e.g. llHttpRequest()) ; This is based on http://en.wikipedia.org/wiki/Reserved_IP_addresses ; This stops users making HTTP calls to machines in the simulator's local network. ; If you need to allow some LAN calls we recommend you use OutboundDisallowForUserScriptsExcept documented in OpenSim.ini.example ; If you override OutboundDisallowForUserScripts directly you need to be very careful. ; ; Network ranges are specified in CIDR notation (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation) with multiple entries separated by | ; To specify an individual IP address use the /32 netmask (e.g. 192.168.1.3/32) ; You can also specify individual : endpoints (e.g. 192.168.1.3:8003) ; If an address if given without a port number then port 80 is assumed. OutboundDisallowForUserScripts = 0.0.0.0/8|10.0.0.0/8|100.64.0.0/10|127.0.0.0/8|169.254.0.0/16|172.16.0.0/12|192.0.0.0/24|192.0.2.0/24|192.88.99.0/24|192.168.0.0/16|198.18.0.0/15|198.51.100.0/24|203.0.113.0/24|224.0.0.0/4|240.0.0.0/4|255.255.255.255/32 ; ; You can also prevent all user script outgoing calls with the following override in OpenSim.ini ; ; OutboundDisallowForUserScripts = 0.0.0.0/0 ; ; You can also disable the blacklist entirely with an empty entry ; ; OutboundDisallowForUserScripts = "" ; What is reported as the "X-Secondlife-Shard" ; Defaults to the user server url if not set ; The old default is "OpenSim", set here for compatibility shard = "OpenSim" ; What is reported as the "User-Agent" when using llHTTPRequest ; Defaults to not sent if not set here. See the notes section in the wiki at ; http://wiki.secondlife.com/wiki/LlHTTPRequest for comments on adding ; " (Mozilla Compatible)" to the text where there are problems with a web server ;user_agent = "OpenSim LSL (Mozilla Compatible)" ;; 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. ; OpenSim can send multiple simultaneous requests for services such as asset ; retrieval. However, some versions of mono appear to hang when there are too ; many simultaneous requests, default is 30 and is currently applied only to assets ;MaxRequestConcurrency = 30 [AccessControl] ; Viewer-based access control. |-separated list of allowed viewers. ;; 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 = "" ; Viewer-based access control. |-separated list of denied viewers. ;; 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 ; No restrictions by default. ; DeniedClients = "" [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] ; The client socket receive buffer size determines how many ; incoming requests we can process; the default on .NET is 8192 ; which is about 2 4k-sized UDP datagrams. On mono this is ; whatever the underlying operating system has as default; for ; example, ubuntu 8.04 or SLES11 have about 111k, which is about ; 27 4k-sized UDP datagrams (on linux platforms you can [as root] ; do "sysctl net.core.rmem_default" to find out what your system ; uses a default socket receive buffer size. ; ; client_socket_rcvbuf_size allows you to specify the receive ; buffer size LLUDPServer should use. NOTE: this will be limited ; by the system's settings for the maximum client receive buffer ; size (on linux systems you can set that with "sysctl -w ; net.core.rmem_max=X") ; ;client_socket_rcvbuf_size = 8388608 ; Maximum outbound bytes per second for a single scene. This can be used to ; throttle total outbound UDP traffic for a simulator. The default value is ; 0, meaning no throttling at the scene level. The example given here is ; 20 megabits ; ;scene_throttle_max_bps = 2500000 ; Maximum bytes per second to send to any single client. This will override ; the user's viewer preference settings. The default value is 0, meaning no ; aggregate throttling on clients (only per-category throttling). The ; example given here is 1.5 megabits ; ;client_throttle_max_bps = 187500 ; Minimum bytes per second to send to any single client as a result of ; adaptive throttling. Viewer preferences set to a lower number will ; override the settin. The example given here ensures that adaptive ; throttling will never decrease per client bandwidth below 256 kbps. ; ;adaptive_throttle_min_bps = 32000 ; Adaptive throttling attempts to limit network overload when multiple ; clients login by starting each connection more slowly. Disabled by ; default ; enable_adaptive_throttles = true ; Per-client bytes per second rates for the various throttle categories. ; These are default values that will be overridden by clients. These ; defaults are approximately equivalent to the throttles set by the Imprudence ; viewer when maximum bandwidth is set to 350kbps ;resend_default = 6625 ;land_default = 9125 ;wind_default = 1750 ;cloud_default = 1750 ;task_default = 18500 ;texture_default = 18500 ;asset_default = 10500 ; Configures how ObjectUpdates are aggregated. These numbers ; do not literally mean how many updates will be put in each ; packet that goes over the wire, as packets are ; automatically split on a 1400 byte boundary. These control ; the balance between responsiveness of interest list updates ; and total throughput. Higher numbers will ensure more full- ; sized packets and faster sending of data, but more delay in ; updating interest lists ; ;PrimUpdatesPerCallback = 100 ; TextureSendLimit determines how many packets will be put on ; the outgoing queue each cycle. Like the settings above, this ; is a balance between responsiveness to priority updates and ; total throughput. Higher numbers will give a better ; throughput at the cost of reduced responsiveness to client ; priority changes or transfer aborts ; ;TextureSendLimit = 20 ; CannibalizeTextureRate allows bandwidth to be moved from the ; UDP texture throttle to the task throttle. Since most viewers ; use HTTP textures, this provides a means of using what is largely ; unused bandwidth in the total throttle. The value is the proportion ; of the texture rate to move to the task queue. It must be between ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the ; bandwidth is grabbed) ; ; CannibalizeTextureRate = 0.5 ; Quash and remove any light properties from attachments not on the ; hands. This allows flashlights and lanterns to function, but kills ; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps ; will also be affected. ; DisableFacelights = true ; The time to wait before disconecting an unresponsive client. ; The time is in seconds. The default is one minute ; ;AckTimeout = 60 ; The time to wait before disconecting an unresponsive paused client. ; A client can be paused when the file selection dialog is open during file upload. ; This gives extra time to find files via the dialog but will still disconnect if ; the client crashes or loses its network connection ; The time is in seconds. The default is five minutes. ; ;PausedAckTimeout = 300 [ClientStack.LindenCaps] ;; Long list of capabilities taken from ;; http://wiki.secondlife.com/wiki/Current_Sim_Capabilities ;; Not all are supported by OpenSim. The ones supported are ;; set to localhost. These defaults can be overwritten ;; in OpenSim.ini ;; Possible values are: ;; "" -- empty, capability disabled ;; "localhost" -- capability enabled and served by the simulator ;; "" -- capability enabled and served by some other server ;; ; These are enabled by default to localhost. Change if you see fit. ;; Cap_AttachmentResources = "" Cap_ChatSessionRequest = "" Cap_CopyInventoryFromNotecard = "localhost" Cap_DispatchRegionInfo = "" Cap_EstateChangeInfo = "" Cap_EnvironmentSettings = "localhost" Cap_EventQueueGet = "localhost" Cap_FetchInventory = "" Cap_ObjectMedia = "localhost" Cap_ObjectMediaNavigate = "localhost" Cap_FetchLib = "" Cap_FetchLibDescendents = "" Cap_GetDisplayNames = "localhost" Cap_GetTexture = "localhost" Cap_GetMesh = "localhost" Cap_GetObjectCost = "" Cap_GetObjectPhysicsData = "" Cap_GroupProposalBallot = "" Cap_GroupMemberData = "localhost" Cap_HomeLocation = "localhost" Cap_LandResources = "" Cap_MapLayer = "localhost" Cap_MapLayerGod = "localhost" Cap_NewFileAgentInventory = "localhost" Cap_NewFileAgentInventoryVariablePrice = "localhost" Cap_ObjectAdd = "localhost" Cap_ParcelPropertiesUpdate = "localhost" Cap_ParcelMediaURLFilterList = "" Cap_ParcelNavigateMedia = "" Cap_ParcelVoiceInfoRequest = "" Cap_ProductInfoRequest = "" Cap_ProvisionVoiceAccountRequest = "" Cap_RemoteParcelRequest = "localhost" Cap_RequestTextureDownload = "" Cap_SearchStatRequest = "" Cap_SearchStatTracking = "" Cap_SendPostcard = "" Cap_SendUserReport = "" Cap_SendUserReportWithScreenshot = "" Cap_ServerReleaseNotes = "" Cap_SimConsole = "" Cap_SimulatorFeatures = "" Cap_SetDisplayName = "" Cap_StartGroupProposal = "" Cap_TextureStats = "" Cap_UntrustedSimulatorMessage = "" Cap_UpdateAgentInformation = "" Cap_UpdateAgentLanguage = "" Cap_UpdateGestureAgentInventory = "" Cap_UpdateNotecardAgentInventory = "localhost" Cap_UpdateScriptAgent = "localhost" Cap_UpdateGestureTaskInventory = "" Cap_UpdateNotecardTaskInventory = "localhost" Cap_UpdateScriptTask = "localhost" Cap_UploadBakedTexture = "localhost" Cap_UploadObjectAsset = "localhost" Cap_ViewerStartAuction = "" Cap_ViewerStats = "" ; Capabilities for fetching inventory over HTTP rather than UDP ; FetchInventoryDescendents2 and FetchInventory2 are the ones used in the latest Linden Lab viewers (from some point in the v2 series and above) ; It appears that Linden Lab viewer 3.3.1 onwards will not work properly if FetchInventoryDescendents2 and FetchInventory2 are not enabled Cap_WebFetchInventoryDescendents = "" Cap_FetchInventoryDescendents2 = "localhost" Cap_FetchInventory2 = "localhost" ; Capability for searching for people Cap_AvatarPickerSearch = "localhost" [SimulatorFeatures] ;# {SearchServerURI} {} {URL of the search server} {} ;; Optional. If given this serves the same purpose as the grid wide ;; [LoginServices] SearchURL setting and will override that where ;; supported by viewers. ;SearchServerURI = "http://127.0.0.1:9000/" ;# {DestinationGuideURI} {} {URL of the destination guide} {} ;; Optional. If given this serves the same purpose as the grid wide ;; [LoginServices] DestinationGuide setting and will override that where ;; supported by viewers. ;DestinationGuideURI = "http://127.0.0.1:9000/guide" [Chat] ; Controls whether the chat module is enabled. Default is true. enabled = true ; Distance in meters that whispers should travel. Default is 10m whisper_distance = 15 ; Distance in meters that ordinary chat should travel. Default is 20m say_distance = 40 ; Distance in meters that shouts should travel. Default is 100m shout_distance = 256 [EntityTransfer] ; Allow avatars to cross into and out of the region. AllowAvatarCrossing = true ; This disables border transfers for objects. When true, objects can be placed outside ; the region's border without being transferred to another simulator. DisableObjectTransfer = false ; Minimum user level required for HyperGrid teleports LevelHGTeleport = 0 ; Determine whether the cancel button is shown at all during teleports. ; This option exists because cancelling at certain points can result in an unuseable session (frozen avatar, etc.) ; Disabling cancellation can be okay in small closed grids where all teleports are highly likely to suceed. DisableInterRegionTeleportCancellation = false ;; 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_SL [Messaging] ; Control which region module is used for instant messaging. ; Default is InstantMessageModule (this is the name of the core IM module as well as the setting) ; InstantMessageModule = InstantMessageModule ; MessageTransferModule = MessageTransferModule ;# {OfflineMessageModule} {} {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 ;# {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 = "${Const|DataProvider}" ; Mute list handler ; the provided MuteListModule is just a Dummy ; you will need a external module for proper suport. ; if you keep both 2 following settings comment, viewers will use mutes in their caches ; if you uncoment both (url is ignored) the mutes will be deleted at login on this instance regions ; WARNING: viewers mutes cache seems to shared by all grids, including SL ; this may cause some confusion. ;# {MuteListModule} {MuteListModule:MuteListModule} {} {} None MuteListModule = MuteListModule ;# {MuteListURL} {MuteListModule:MuteListModule} {} {} http://yourserver/Mute.php MuteListURL = ${Const|BaseURL}/Mute.php ;; Control whether group invites and notices are stored for offline users. ;; Default is true. ;; This applies to both core groups module. ForwardOfflineGroupMessages = true [Inventory] ; Control whether multiple objects sent to inventory should be coaleseced into a single item ; There are still some issues with coalescence, including the fact that rotation is not restored ; and some assets may be missing from archive files. CoalesceMultipleObjectsToInventory = true [Appearance] ; Persist avatar baked textures ; Persisting baked textures can speed up login and region border ; crossings especially with large numbers of users, though it ; will store potentially large numbers of textures in your asset ; database PersistBakedTextures = true ; Control the delay before appearance is sent to other avatars and ; saved in the avatar service. Attempts to limit the impact caused ; by the very chatty dialog that sets appearance when an avatar ; logs in or teleports into a region; values are in seconds DelayBeforeAppearanceSave = 5 DelayBeforeAppearanceSend = 2 ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds. ; This may help with some situations where avatars are persistently grey, though it will not help ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others). ResendAppearanceUpdates = true ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar ; on every login ReuseTextures = true [Attachments] ; Controls whether avatar attachments are enabled. ; Defaults to true - only set to false for debugging purposes Enabled = true ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit ; or when multiple avatars with medium level attachments login/change outfit simultaneously. ; If 0 then no throttling is performed. ThrottlePer100PrimsRezzed = 0 [Mesh] ; enable / disable mesh asset uploads ; mesh asset must conform to standard mesh format, with OpenSim extensions ; default is true AllowMeshUpload = true ; Minimum user level required to upload meshes ;LevelUpload = 0 ; support meshes on physics UseMeshiesPhysicsMesh = true ;support convex shape type on normal prims ; (ubOde only) ;ConvexPrims = true ;support convex shape type on sculpts ; (ubOde only) ;ConvexSculpts = true ; mesh cache settings: ; (ubOde only) ; do cache (keep true) ;MeshFileCache = true ; cache folder name relative to bin/ or absolute path ;MeshFileCachePath = MeshCache ;MeshFileCacheDoExpire = true ;MeshFileCacheExpireHours = 48 [Textures] ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components ; (e.g. images pulled from an external HTTP address). ; Reusing previously generated textures results in a much faster update on the viewer but may cause issues if the viewer didn't receive all resolutions of the texture. ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted. ; Hence, currently considered experimental. ; Default is false. ReuseDynamicTextures = false ; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused ; This is to workaround an apparent LL 3.3.4 and earlier viewer bug where such textures are not redisplayed properly when pulled from the viewer cache. ; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem. ; This setting only has an affect is ReuseDynamicTextures = true ; Default is false ReuseDynamicLowDataTextures = false [ODEPhysicsSettings] ; ## ; ## Physics stats settings ( most ignored by ubOde ) ; ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule ; (see http://opensimulator.org/wiki/Monitoring_Module for more details). collect_stats = false ; ## ; ## Physics logging settings - logfiles are saved to *.DIF files ; ## ; default is false ;physics_logging = true ;; every n simulation iterations, the physics snapshot file is updated ;physics_logging_interval = 50 ;; append to existing physics logfile, or overwrite existing logfiles? ;physics_logging_append_existing_logfile = true ;## ;## World Settings ;## ;Gravity. Feel like falling up? change world_gravityz to 9.8 instead of -9.8. m/s world_gravityx = 0 world_gravityy = 0 world_gravityz = -9.8 ; Terminal velocity of a falling avatar ; This is the same http://en.wikipedia.org/wiki/Terminal_velocity#Examples ; Max value is 255, min value is 0 avatar_terminal_velocity = 54 ; World Step size. ; with legacy ODE this value needs to be close to 0.02s ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load ; you will need to test acording to you needs ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS world_stepsize = 0.01818 ; number of iterations of constrains solver, higher should improve results ; up to a point where acumulated math errors eliminate the improvement ; more steps may increase CPU load. No real gain in changing world_solver_iterations = 10 ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim ; defines spaces partition cells min and max sizes == 2^value world_hashspace_level_low = -5 world_hashSpace_level_high = 12 meters_in_small_space = 29.9 ; ## ; ## Contact properties. (the stuff that happens when things come in contact with each other) ; ## ; surface layer around geometries other geometries can sink into before generating a contact world_contact_surface_layer = 0.001 ; Filtering collisions helps keep things stable physics wise, but sometimes ; it can be overzealous. If you notice bouncing, chances are it's that. filter_collisions = false ; Non Moving Terrain Contact (avatar isn't moving) nm_terraincontact_friction = 255.0 nm_terraincontact_bounce = 0.1 nm_terraincontact_erp = 0.1025 ; Moving Terrain Contact (avatar is moving) m_terraincontact_friction = 75.0 m_terraincontact_bounce = 0.05 m_terrainContact_erp = 0.05025 ; Moving Avatar to object Contact m_avatarobjectcontact_friction = 75.0 m_avatarobjectcontact_bounce = 0.1 ; Object to Object Contact and Non-Moving Avatar to object objectcontact_friction = 250.0 objectcontact_bounce = 0.2 ; ## ; ## Avatar Control ; ## ; PID Controller Settings. These affect the math that causes the avatar to reach the ; desired velocity ; See http://en.wikipedia.org/wiki/PID_controller av_pid_derivative = 2200.0 av_pid_proportional = 900.0 ;girth of the avatar. Adds radius to the height also av_capsule_radius = 0.37 ; Max force permissible to use to keep the avatar standing up straight av_capsule_standup_tensor = 550000 ; specifies if the capsule should be tilted (=true; old compatibility mode) ; or straight up-and-down (=false; better and more consistent physics behavior) av_capsule_tilted = false ; used to calculate mass of avatar. ; float AVvolume = (float) (Math.PI*Math.Pow(CAPSULE_RADIUS, 2)*CAPSULE_LENGTH); ; av_density * AVvolume; av_density = 80 ; use this value to cut 52% of the height the sim gives us ; Currently unused ; av_height_fudge_factor = 0.52 ; Movement. Smaller is faster. ; speed of movement with Always Run off av_movement_divisor_walk = 1.3 ; speed of movement with Always Run on av_movement_divisor_run = 0.8 ; When the avatar flies, it will be moved up by this amount off the ground (in meters) minimum_ground_flight_offset = 3.0 ; Plant avatar. This reduces the effect of physical contacts with the avatar. ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive. ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active ; will lock the avatar in place av_planted = false ; No Avatar Avatar Collissions. This causes avatar to be able to walk through each other as if they're ghosts but still interact with the environment av_av_collisions_off = false ; ## ; ## Object options ; ## ; used in the mass calculation. geometry_default_density = 10.000006836 ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep body_frames_auto_disable = 20 ; used to control llMove2Target body_pid_derivative = 35 body_pid_gain = 25 ; maximum number of contact points to generate per collision contacts_per_collision = 80 ; start throttling the object updates if object comes in contact with 3 or more other objects geom_contactpoints_start_throttling = 3 ; send 1 update for every x updates below when throttled geom_updates_before_throttled_update = 15 ; Maximum mass an object can be before it is clamped maximum_mass_object = 10000.01 ; ## ; ## Sculpted Prim settings ; ## ; Do we want to mesh sculpted prim to collide like they look? ; If you are seeing sculpt texture decode problems ; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception") ; then you might want to try setting this to false. mesh_sculpted_prim = true ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies mesh_lod = 32 ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies mesh_physical_lod = 16 ; ## ; ## additional meshing options ; ## ; Physics needs to create internal meshs (or convert the object meshs or scultps) ; for all prims except simple boxes and spheres. ; collisions of small objects againts larger ones can have a increased CPU load cost ; so this are represented by a simple BOX ; if all their scale dimensions are lower or equal to this option. Default is 0.1m ; (ubOde only) ; MinSizeToMeshmerize = 0.1 [BulletSim] ; All the BulletSim parameters can be displayed with the console command ; "physics get all" and all are defined in the source file ; OpenSim/Regions/Physics/BulletSPlugin/BSParam.cs. ; There are two bullet physics libraries, bulletunmanaged is the default and is a ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality ; but the c++ one is much faster. BulletEngine = "bulletunmanaged" ; BulletEngine = "bulletxna" ; BulletSim can run on its own thread independent of the simulator's heartbeat ; thread. Enabling this will not let the physics engine slow down avatar movement, etc. UseSeparatePhysicsThread = true ; Terrain implementation can use either Bullet's heightField or BulletSim can build ; a mesh. 0=heightField, 1=mesh TerrainImplementation = 1 ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher ; magnifications use lots of memory. TerrainMeshMagnification = 3 ; Should avatars collide with each other? AvatarToAvatarCollisionsByDefault = true ; Avatar physics height adjustments. ; http://opensimulator.org/wiki/BulletSim#Adjusting_Avatar_Height AvatarHeightLowFudge = 0 ; Adjustment at low end of height range AvatarHeightMidFudge = 0 ; Adjustment at mid point of avatar height range AvatarHeightHighFudge = 0 ; Adjustment at high end of height range ; Avatar walk-up-stairs parameters ; If an avatar collides with an object 'close to its feet', the avatar will be ; moved/pushed up do simulate stepping up. ;;;; Has trouble with the lighthouse stairs, but all others work fine, can even climb over some fences. Which is odd. AvatarStepHeight = 0.6 ; The height, below which is considered a step collision. AvatarStepAngle = 0.3 ; The angle from vertical (in radians) to consider a surface a step AvatarStepApproachFactor = 2 ; Approach angle factor. O=straight on, .6=~45 degrees. AvatarStepGroundFudge = 0.1 ; Fudge added to bottom of avatar below which step collisions happen AvatarStepForceFactor = 0 ; Avatar is pushed up by its mass times this factor AvatarStepUpCorrectionFactor = 1.1 ; Avatar is displaced up the collision height times this factor AvatarStepSmoothingSteps = 3 ; Number of frames after a step collision that up correction is applied ; Terminal velocity of a falling avatar ; This is the same http://en.wikipedia.org/wiki/Terminal_velocity#Examples ; negative for a downward speed. AvatarTerminalVelocity = -54 ; Default linkset implmentation ; 'Constraint' uses physics constraints to hold linkset together. 'Compound' ; builds a compound shape from the children shapes to create a single physical ; shape. 'Compound' uses a lot less CPU time. LinkImplementation = 1 ; 0=constraint, 1=compound ; If 'true', offset a linkset's origin based on mass of linkset parts. LinksetOffsetCenterOfMass = false ; If 'true', turn scuplties into meshes MeshSculptedPrim = true ; If 'true', force simple prims (box and sphere) to be meshed ; If 'false', the Bullet native special case shape is used for square rectangles ; and even dimensioned spheres. ForceSimplePrimMeshing = false ; If 'true', when creating meshes, remove all triangles that have two equal vertexes. ; Happens often in sculpties. If turned off, there will be some doorways ; that cannot be walked through. ShouldRemoveZeroWidthTriangles = true ; If 'true', use convex hull definition in mesh asset if present. ShouldUseAssetHulls = true ; If there are thousands of physical objects, these maximums should be increased. MaxCollisionsPerFrame = 2048 MaxUpdatesPerFrame = 8192 ; Detailed physics debug logging. Very verbose. PhysicsLoggingEnabled = False PhysicsLoggingDir = "." VehicleLoggingEnabled = False [RemoteAdmin] ;; This is the remote admin module, which uses XMLRPC requests to ;; manage regions from a web interface. enabled = false ; Set this to a nonzero value to have remote admin use a different port port = 0 ; Set this to the ip address that you want the admin server to bind to bind_ip_address = "0.0.0.0" ; This password is required to make any XMLRPC call (should be set as the "password" parameter) access_password = unknown ; List the IP addresses allowed to call RemoteAdmin ; If access_ip_addresses isn't set, then all IP addresses can access RemoteAdmin. ; access_ip_addresses = 0.0.0.0, 0.0.0.0 ... ; access_ip_addresses = ; set this variable to true if you want the create_region XmlRpc ; call to unconditionally enable voice on all parcels for a newly ; created region [default: false] create_region_enable_voice = false ; set this variable to false if you want the create_region XmlRpc ; call to create all regions as private per default (can be ; overridden in the XmlRpc call) [default: true] create_region_public = false ; the create_region XmlRpc call uses region_file_template to generate ; the file name of newly create regions (if they are created ; persistent). the parameter available are: ; {0} - X location ; {1} - Y location ; {2} - region UUID ; {3} - region port ; {4} - region name with " ", ":", "/" mapped to "_" region_file_template = "{0}x{1}-{2}.ini" ; we can limit the number of regions that XmlRpcCreateRegion will ; allow by setting this to a positive, non-0 number: as long as the ; number of regions is below region_limits, XmlRpcCreateRegion will ; succeed. setting region_limit to 0 disables the check. ; default is 0 ;region_limit = 0 ; enable only those methods you deem to be appropriate using a | delimited whitelist ; for example, enabled_methods = admin_broadcast|admin_region_query|admin_save_oar|admin_save_xml ; if this parameter is not specified but enabled = true, all methods will be available enabled_methods = all ; specify the default appearance for an avatar created through the remote admin interface ; This will only take effect is the file specified by the default_appearance setting below exists ;default_male = Default Male ;default_female = Default Female ; update appearance copies inventory items and wearables of default avatars. if this value is false ; (default), just worn assets are copied to the Clothes folder; if true, all Clothes and Bodyparts ; subfolders are copied. the receiver will wear the same items the default avatar did wear. copy_folders = true ; path to default appearance XML file that specifies the look of the default avatars ;default_appearance = default_appearance.xml ; RestPlugins are not currently operational. ;[RestPlugins] ; ; Change this to true to enable REST Plugins. This must be true if you wish to use ; ; REST Region or REST Asset and Inventory Plugins ; enabled = false ; god_key = SECRET ; prefix = /admin ;[RestRegionPlugin] ; ; Change this to true to enable the REST Region Plugin ; enabled = false ;[RestHandler] ; ; Change this to true to enable the REST Asset and Inventory Plugin ; enabled = false ; authenticate = true ; secured = true ; extended-escape = true ; realm = OpenSim REST ; dump-asset = false ; path-fill = true ; dump-line-size = 32 ; flush-on-error = true [IRC] ; IRC bridge is experimental, so if it breaks... keep both parts... yada yada ; also, not good error detection when it fails enabled = false; you need to set this to true otherwise it won't connect ;server = name.of.irc.server.on.the.net ;; user password - only use this if the server requires one ;password = mypass ;nick = OpenSimBotNameProbablyMakeThisShorter ;channel = #the_irc_channel_you_want_to_connect_to ;user = "USER OpenSimBot 8 * :I'm an OpenSim to IRC bot" ;port = 6667 ;; channel to listen for configuration commands ;commands_enabled = false ;command_channel = 2777 ;report_clients = true ;; relay private chat connections ;; relay_private_channels = true: will relay IRC chat from/to private in-world channels ;; relay_private_channel_out -- channel to send messages out to the IRC bridge ;; relay_private_channel_in -- channel to receive message from the IRC bridge ;; relay_chat = false: IRC bridge will not relay normal chat ;; access_password -- simple security device ;; ;; so, to just relay chat from an IRC channel to in-world region and vice versa: ;; ;; relay_private_channels = false ;; relay_chat = true ;; ;; to relay chat only to/from private in-world channels: ;; ;; relay_chat = false ;; relay_private_channels = true ;; relay_private_channel_in = 2226 ;; relay_private_channel_out = 2225 ;; ;; in this example, all chat coming in from IRC will be send out via ;; in-world channel 2226, and all chat from in-world channel 2225 will ;; be relayed to the IRC channel. ;; ;relay_private_channels = false ;relay_private_channel_in = 2226 ;relay_private_channel_out = 2225 ;relay_chat = true ;access_password = foobar ;;fallback_region = name of "default" region ;;MSGformat fields : 0=botnick, 1=user, 2=region, 3=message ;; must start with "PRIVMSG {0} : " or irc server will get upset ;;for : : ;;msgformat = "PRIVMSG {0} :<{1} in {2}>: {3}" ;;for : - : ;msgformat = "PRIVMSG {0} : {3} - {1} of {2}" ;;for : - from : ;;msgformat = "PRIVMSG {0} : {3} - from {1}" ;; exclude_list allows you to stop the IRC connector from announcing the ;;arrival and departure of certain users. For example: admins, bots. ;exclude_list=User 1,User 2,User 3 ;;Shows modal alertbox for entering agent on IRC enabled regions ;; ;; Enable Alert, default = false ;alert_show = false ;; ;; Show IRC serverinfo, default = true ;alert_show_serverinfo = true ;; ;alert_msg_pre = "This region is linked to Irc." ;alert_msg_post = "Everything you say in public chat can be listened." [Sun] ; The following settings control the progression of daytime ; in the Sim. The defaults are the same as the commented out settings ; number of wall clock hours for an opensim day. 24.0 would mean realtime day_length = 24 ; Year length in days year_length = 365 ; Day to Night Ratio day_night_offset = 1.0 ; send a Sun update every update_interval # of frames. A lower number will ; make for smoother sun transition at the cost of network ;update_interval = 100 [Wind] ; Enables the wind module. Default is true enabled = true ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second wind_update_rate = 150 ; The Default Wind Plugin to load wind_plugin = SimpleRandomWind ; These settings are specific to the ConfigurableWind plugin ; To use ConfigurableWind as the default, simply change wind_plugin to ConfigurableWind and uncomment the following. ; avg_strength = 5.0 ; avg_direction = 0.0 ; var_strength = 0.0 ; var_direction = 0.0 ; rate_change = 1.0 ; This setting is specific to the SimpleRandomWind plugin ; Adjusts wind strength. 0.0 = no wind, 1.0 = normal wind. Default is 1.0 strength = 1.0 [Cloud] ; Enable this to generate classic particle clouds above the sim. ; default is disabled - turn it on here enabled = true ; Density of cloud cover 0.0 to 1.0 Defult 0.5 density = 0.5 ; update interval for the cloud cover data returned by llCloud(). ; default is 1000 cloud_update_rate = 1000 [LightShare] ; This enables the transmission of Windlight scenes to supporting clients, such as the Meta7 viewer. ; It has no ill effect on viewers which do not support server-side windlight settings. enable_windlight = true [Trees] ; enable the trees module. default true enabled = true ; active_trees allows module to change its trees in time. ; some will be deleted, others created and rest may grow ; default is false. You can change it with console command tree active true | false later active_trees = false ; the trees change execution time rate (in ms) update_rate = 1000 ; allow the trees to grow. ; DANGER ; this option causes high network use on the order of ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second allowGrow = false [VectorRender] ; the font to use for rendering text (default: Arial) ; font_name = "Arial" [LL-Functions] ; Set the following to true to allow administrator owned scripts to execute console commands ; currently unused ; AllowosConsoleCommand=false ; Are god functions such as llSetObjectPermMask() allowed? If true then gods and only gods have access to these functions. ; If false then gods cannot execute these functions either. AllowGodFunctions = true ; Restrict the email address used by llEmail to the address associated with the avatars user account? ; If true then llEmail will only send email to the address in the user account of the avatar who owns the object containing the script. ; If false then email may be sent to any valid email address. RestrictEmail = false ; Maximum number of llListen events we allow over the entire region. ; Set this to 0 to have no limit imposed max_listens_per_region = 0 ; Maximum number of llListen events we allow per script ; Set this to 0 to have no limit imposed. max_listens_per_script = 0 ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL()) max_external_urls_per_simulator = 100 ; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes. ; Speeds up calculations but can make them inaccurate, in some cases very inaccurate. UseSimpleBoxesInGetBoundingBox = false ; Add a third vector with stats when returning results from llGetBoundingBox. ; Lists objects (groups), prims/meshes/avatars (parts) and vertices rendered. AddStatsInGetBoundingBox = false ; Avatar bounding box, lower X value, constant part, when standing LowerAvatarBoundingBoxStandingXconst = -0.275 ; Avatar bounding box, upper X value, constant part, when standing UpperAvatarBoundingBoxStandingXconst = 0.275 ; Avatar bounding box, lower Y value, constant part, when standing LowerAvatarBoundingBoxStandingYconst = -0.35 ; Avatar bounding box, upper Y value, constant part, when standing UpperAvatarBoundingBoxStandingYconst = 0.35 ; Avatar bounding box, lower Z value, constant part, when standing LowerAvatarBoundingBoxStandingZconst = -0.1 ; Avatar bounding box, lower Z value, coefficient to multiply with avatar height, when standing LowerAvatarBoundingBoxStandingZcoeff = -0.5 ; Avatar bounding box, upper Z value, constant part, when standing UpperAvatarBoundingBoxStandingZconst = 0.1 ; Avatar bounding box, upper Z value, coefficient to multiply with avatar height, when standing UpperAvatarBoundingBoxStandingZcoeff = 0.5 ; Avatar bounding box, lower X value, constant part, when groundsitting LowerAvatarBoundingBoxGroundsittingXconst = -0.3875 ; Avatar bounding box, upper X value, constant part, when groundsitting UpperAvatarBoundingBoxGroundsittingXconst = 0.3875 ; Avatar bounding box, lower Y value, constant part, when groundsitting LowerAvatarBoundingBoxGroundsittingYconst = -0.5 ; Avatar bounding box, upper Y value, constant part, when groundsitting UpperAvatarBoundingBoxGroundsittingYconst = 0.5 ; Avatar bounding box, lower Z value, constant part, when groundsitting LowerAvatarBoundingBoxGroundsittingZconst = -0.05 ; Avatar bounding box, lower Z value, coefficient to multiply with avatar height, when groundsitting LowerAvatarBoundingBoxGroundsittingZcoeff = -0.375 ; Avatar bounding box, upper Z value, constant part, when groundsitting UpperAvatarBoundingBoxGroundsittingZconst = 0.5 ; Avatar bounding box, upper Z value, coefficient to multiply with avatar height, when groundsitting UpperAvatarBoundingBoxGroundsittingZcoeff = 0.0 ; Avatar bounding box, lower X value, constant part, when sitting LowerAvatarBoundingBoxSittingXconst = -0.5875 ; Avatar bounding box, upper X value, constant part, when sitting UpperAvatarBoundingBoxSittingXconst = 0.1875 ; Avatar bounding box, lower Y value, constant part, when sitting LowerAvatarBoundingBoxSittingYconst = -0.35 ; Avatar bounding box, upper Y value, constant part, when sitting UpperAvatarBoundingBoxSittingYconst = 0.35 ; Avatar bounding box, lower Z value, constant part, when sitting LowerAvatarBoundingBoxSittingZconst = -0.35 ; Avatar bounding box, lower Z value, coefficient to multiply with avatar height, when sitting LowerAvatarBoundingBoxSittingZcoeff = -0.375 ; Avatar bounding box, upper Z value, constant part, when sitting UpperAvatarBoundingBoxSittingZconst = -0.25 ; Avatar bounding box, upper Z value, coefficient to multiply with avatar height, when sitting UpperAvatarBoundingBoxSittingZcoeff = 0.25 ; Safety coefficient for max bounding box from prim size box X coordinate ; Worst case is twisted and sheared box, 1+sqrt(2) PrimBoundingBoxSafetyCoefficientX = 2.414214 ; Safety coefficient for max bounding box from prim size box Y coordinate ; Worst case is twisted and sheared box, 1+sqrt(2) PrimBoundingBoxSafetyCoefficientY = 2.414214 ; Safety coefficient for max bounding box from prim size box Z coordinate ; Worst case is twisted tube, 0.5+sqrt(1.25) PrimBoundingBoxSafetyCoefficientZ = 1.618034 ; Use llCastRay V3 if true. ; Implements llCastRay similar but not identical to Second Life. ; See http://wiki.secondlife.com/wiki/LlCastRay . ; NEW ; Meshes prims for good accuracy in ray hit detection, ; handling basic and tortured prims, sculpts and meshes. ; Uses ellipsoid, correctly sized avatar capsules. ; Handles complex terrain, multi-prim objects and seated avatars. ; Implements throttling and the status codes ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED, ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW. ; WARNING ; Can be faster on some servers and scenes, but slower on others, ; compared to previous version of llCastRay in OpenSimulator. ; Is in most cases considerably slower than llCastRay in Second Life. ; Generates geometry meshes and can therefore use much system resources. UseLlCastRayV3 = 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 [DataSnapshot] ; The following set of configs pertains to search. ; Set index_sims to true to enable search engines to index your searchable data ; If false, no data will be exposed, DataSnapshot module will be off, and you can ignore the rest of these search-related configs ; default is false index_sims = false ; The variable data_exposure controls what the regions expose: ; minimum: exposes only things explicitly marked for search ; all: exposes everything data_exposure = minimum ; If search is on, change this to your grid name; will be ignored for standalones gridname = "${Const|GridName}" ; Period between data snapshots, in seconds. 20 minutes, for starters, so that you see the initial changes fast. ; Later, you may want to increase this to 3600 (1 hour) or more default_snapshot_period = 1200 ; This will be created in bin, if it doesn't exist already. It will hold the data snapshots. snapshot_cache_directory = "${Paths|CachePath}/DataSnapshot" ; Uncomment if you want to index your data with this and/or other search providers. One entry per ; data service ;DATA_SRV_MISearch = "http://metaverseink.com/cgi-bin/register.py" [Economy] ; the economy module in use ; default is the provided BetaGridLikeMoneyModule ; - This module is for demonstration only - ; The default economy module only implements just enough to allow free actions (transfer of objects, etc). ; There is no intention to implement anything further in core OpenSimulator. ; This functionality has to be provided by third party modules. ; To use other modules you need to override this setting on OpenSim.ini Economy (or startup) section ; economymodule = BetaGridLikeMoneyModule ; These economy values get used in the BetaGridLikeMoneyModule. - This module is for demonstration only - ; The default economy module only implements just enough to allow free actions (transfer of objects, etc). ; There is no intention to implement anything further in core OpenSimulator. ; This functionality has to be provided by third party modules. ;; Enables selling things for $0. Default is true. SellEnabled = true ;; Money Unit fee to upload textures, animations etc. Default is 0. PriceUpload = 0 ;; Money Unit fee to create groups. Default is 0. PriceGroupCreate = 0 ; We don't really know what the rest of these values do. These get sent to the client ; These taken from Agni at a Public Telehub. Change at your own risk. ;ObjectCount = 0 ;PriceEnergyUnit = 0 ;PriceObjectClaim = 0 ;PricePublicObjectDecay = 0 ;PricePublicObjectDelete = 0 ;PriceParcelClaim = 0 ;PriceParcelClaimFactor = 1 ;PriceRentLight = 0 ;TeleportMinPrice = 0 ;TeleportPriceExponent = 2 ;EnergyEfficiency = 1 ;PriceObjectRent = 0 ;PriceObjectScaleFactor = 10 ;PriceParcelRent = 0 [XEngine] ; Enable this engine in this OpenSim instance Enabled = true ; How many threads to keep alive even if nothing is happening MinThreads = 2 ; How many threads to start at maximum load MaxThreads = 100 ; Time a thread must be idle (in seconds) before it dies IdleTimeout = 60 ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest") Priority = "BelowNormal" ; Maximum number of events to queue for a script (excluding timers) MaxScriptEventQueue = 3000 ; Stack size per thread created ThreadStackSize = 262144 ; Set this to true to load each script into a separate ; AppDomain. Setting this to false will load all script assemblies into the ; current AppDomain, which will reduce the initial per-script memory overhead, ; but deleted scripts stay inactive using memory. ; Significantly improving script loading times. ; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted. ; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region. ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited. ; At this time some mono versions seem to have problems with the true option, ; so default is now false until a fix is found, to simply life of less technical skilled users. ; WARNING this makes OpenSim use four times as much memory! AppDomainLoading = false ; Controls whether previously compiled scripts DLLs are deleted on sim restart. ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled. ; It should be true on first run after updating opensim binary version ; after first run you can change to false. ; You can also set it to false and delete the script DLLs by hand ; This does not delete cached scripts state. DeleteScriptsOnStartup = false ; CompactMemOnLoad ; forces calls to memory garbage collector before loading each script DLL during region startup. ; Peak memory usage is reduced and region starts with a more compacted memory allocation. ; But this costs a lot of time, so region load will take a lot longer. ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true) ; CompactMemOnLoad = false ; Controls whether scripts are stopped by aborting their threads externally (abort) ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op). ; co-op will be more stable as aborting threads can cause instability. ; abort was the default option in OpenSimulator 0.8 and before. ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary. ; However, the setting change will not take affect until the next time you restart the simulator. ; Setting changes will not affect state information stored for scripts. ScriptStopStrategy = co-op ; Rate to poll for asynchronous command replies (ms) ; currently unused ;AsyncLLCommandLoopms = 50 ; Save the source of all compiled scripts WriteScriptSourceToDebugFile = false ; Compile debug info (line numbers) into the script assemblies CompileWithDebugInformation = true ; Don't include stack traces in silly threat level errors? DebuggerSafe = true ; Allow the user of mod* functions. This allows a script to pass messages ; to a region module via the modSendCommand() function ; Default is false AllowMODFunctions = true ; Allow the use of os* functions (some are dangerous) AllowOSFunctions = true ; Allow the user of LightShare functions AllowLightShareFunctions = true ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe OSFunctionThreatLevel = Moderate ; OS Functions enable/disable ; For each function, you can add one line, as shown ; The default for all functions allows them if below threat level ; true allows the use of the function unconditionally ; Allow_osSetRegionWaterHeight = true ; false disables the function completely ; Allow_osSetRegionWaterHeight = false ; Comma separated list of UUIDS allows the function for that list of UUIDS ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb ; Comma separated list of owner classes that allow the function for a particular class of owners. Choices are ; - PARCEL_GROUP_MEMBER: allow if objectgroup is the same group as the parcel ; - PARCEL_OWNER: allow if the objectowner is parcelowner ; - ESTATE_MANAGER: allow if the object owner is a estate manager ; - ESTATE_OWNER: allow if objectowner is estateowner ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb, PARCEL_OWNER, ESTATE_OWNER>, ... ; You can also use script creators as the uuid ; Creators_osSetRegionWaterHeight = , ... ; If both Allow_ and Creators_ are given, effective permissions ; are the union of the two. ; Interval (s) between background save of script states SaveInterval = 120 ; Interval (s) between maintenance runs (0 = disable) MaintenanceInterval = 10 ; Time a script can spend in an event handler before it is interrupted EventLimit = 60 ; If a script overruns it's event limit, kill the script? KillTimedOutScripts = true ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested ; before aborting the thread (such as when an object containing scripts is taken into inventory). WaitForEventCompletionOnScriptStop = 1000 ; Maximum length of notecard line read ; Increasing this to large values potentially opens ; up the system to malicious scripters. Pfffft. NotecardLineReadCharsMax = 1024 ; Minimum settable timer interval. Any timer setting less than this is ; rounded up to this minimum interval. MinTimerInterval = 0.1 ; Sensor settings SensorMaxRange = 1024.0 SensorMaxResults = 64 ; Allow for llCreateLink and llBreakLink to work without asking for permission ; only enable this in a trusted environment otherwise you may be subject to hijacking AutomaticLinkPermission = true ; Disable underground movement of prims (default true); set to ; false to allow script controlled underground positioning of ; prims DisableUndergroundMovement = false ;; Path to script assemblies ScriptEnginesPath = "${Paths|CachePath}/ScriptEngines" ; ==== Settings for MOD and OSSL functions have been moved to the [OSSL] section [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" [Concierge] ; Enable concierge module ; Default is false enabled = false ; name of the concierge whoami = "jeeves" ; password for updating the welcome message templates via XmlRpc password = SECRET ; regex specifying for which regions concierge service is desired; if ; empty, then for all ;regions = "^MeetingSpace-" regions = "" ; for each region that matches the regions regexp you can provide ; (optionally) a welcome template using format substitution: ; {0} is replaced with the name of the avatar entering the region ; {1} is replaced with the name of the region ; {2} is replaced with the name of the concierge (whoami variable above) ;welcomes = /path/to/welcome/template/directory ; Concierge can send attendee lists to an event broker whenever an ; avatar enters or leaves a concierged region. the URL is subject ; to format substitution: ; {0} is replaced with the region's name ; {1} is replaced with the region's UUID ;broker = "http://broker.place.com/{1}" [MRM] ; Enables the Mini Region Modules Script Engine. ; default is false Enabled = false ; Runs MRM in a Security Sandbox ; WARNING: DISABLING IS A SECURITY RISK. Sandboxed = true ; The level sandbox to use, adjust at your OWN RISK. ; Valid values are: ; * FullTrust ; * SkipVerification ; * Execution ; * Nothing ; * LocalIntranet ; * Internet ; * Everything SandboxLevel = "Internet" ; Only allow Region Owners to run MRMs ; May represent a security risk if you disable this. OwnerOnly = true [Hypergrid] ; Keep it false for now. Making it true requires the use of a special client in order to access inventory safemode = false [FreeSwitchVoice] ;; In order for this to work you need a functioning FreeSWITCH PBX set up. ;; Configuration details at http://opensimulator.org/wiki/Freeswitch_Module ; Enabled = false ;; You need to load a local service for a standalone, and a remote service ;; for a grid region. Use one of the lines below, as appropriate ;; If you're using Freeswitch on a standalone then you will also need to configure the [FreeswitchService] section in config-include/StandaloneCommon.ini ; LocalServiceModule = OpenSim.Services.FreeswitchService.dll:FreeswitchService ; LocalServiceModule = OpenSim.Services.Connectors.dll:RemoteFreeswitchConnector ;; If using a remote connector, specify the server URL ; FreeswitchServiceURL = http://my.grid.server:8004/fsapi [VivoxVoice] ; The VivoxVoice module will allow you to provide voice on your ; region(s). It uses the same voice technology as the LL grid and ; works with recent LL clients (we have tested 1.22.9.110075, so ; anything later ought to be fine as well). ; ; For this to work you need to obtain an admin account from Vivox ; that allows you to create voice accounts and region channels. enabled = false ; vivox voice server vivox_server = www.foobar.vivox.com ; vivox SIP URI vivox_sip_uri = foobar.vivox.com ; vivox admin user name vivox_admin_user = DeepThroat ; vivox admin password vivox_admin_password = VoiceG4te ; channel type: "channel" or "positional" ; - positional: spatial sound (default) ; - channel: normal "conference call", no spatial sound ;vivox_channel_type = positional ; channel characteristics (unless you know what you are doing, i'd ; leave them as they are --- now you WILL muck around with them, ; huh? sigh) ; channel distance model: ; 0 - no attenuation ; 1 - inverse distance attenuation ; 2 - linear attenuation (default) ; 3 - exponential attenuation ;vivox_channel_distance_model = 2 ; channel mode: ; - "open" (default) ; - "lecture" ; - "presentation" ; - "auditorium" ;vivox_channel_mode = "open" ; channel roll off: rate of attenuation ; - a value between 1.0 and 4.0, default is 2.0 ;vivox_channel_roll_off = 2.0 ; channel max range: distance at which channel is silent ; - a value between 0 and 160, default is 80 ;vivox_channel_max_range = 80 ; channel clamping distance: distance before attenuation applies ; - a value between 0 and 160, default is 10 ;vivox_channel_clamping_distance = 10 [Groups] Enabled = true ;# {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 ; This is the current groups stub in Region.CoreModules.Avatar.Groups. All the other settings below only really ; apply to the Flotsam/SimianGrid GroupsModule ; Module = Default ; This module can use a PHP XmlRpc server from the Flotsam project at http://code.google.com/p/flotsam/ ; or from the SimianGrid project at http://code.google.com/p/openmetaverse ;Module = GroupsModule ;; 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 = "${Const|DataProvider}" ;# {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 = "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 = "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} ; Enable Group Notices NoticesEnabled = true ; This makes the Group module very chatty on the console. DebugEnabled = false ; This makes the Groups Messaging module very chatty on the console. DebugMessagingEnabled = false ; Groups data is cached for this number of seconds before another request is made to the groups service ; Set to 0 to disable the cache. ; Default is 30 seconds GroupsCacheTimeout = 30 ; Specify which messaging module to use for groups messaging and if it's enabled ;MessagingModule = GroupsMessagingModule MessagingEnabled = true ;# {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" ; Experimental option to only message cached online users rather than all users ; Should make large group with few online members messaging faster, at the expense of more calls to ROBUST presence service ; (Flotsam groups only; in V2 this is always on) MessageOnlineUsersOnly = true ; Service connectors to the Groups Service. Select one depending on whether you're using a Flotsam XmlRpc backend or a SimianGrid backend ; SimianGrid Service for Groups ;ServicesConnectorModule = SimianGroupsServicesConnector ;GroupsServerURI = http://mygridserver.com:82/Grid/ ; Flotsam XmlRpc Service for Groups ;ServicesConnectorModule = XmlRpcGroupsServicesConnector ;GroupsServerURI = http://yourxmlrpcserver.com/xmlrpc.php ; XmlRpc Security settings. These must match those set on your backend groups service if the service is using these keys ;XmlRpcServiceReadKey = 1234 ;XmlRpcServiceWriteKey = 1234 ; Disables HTTP Keep-Alive for XmlRpcGroupsServicesConnector HTTP Requests, ; only set to false it if you absolute sure regions and groups server support it. ; XmlRpcDisableKeepAlive = true ; Minimum user level required to create groups LevelGroupCreate = 0 [PacketPool] ;RecyclePackets = true ;RecycleDataBlocks = true ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets. ; This reduces data churn RecycleBaseUDPPackets = true [InterestManagement] ; This section controls how state updates are prioritized for each client ; Valid values are BestAvatarResponsiveness, Time, Distance, ; SimpleAngularDistance, and FrontBack UpdatePrioritizationScheme = BestAvatarResponsiveness ReprioritizationEnabled = true ReprioritizationInterval = 2000.0 RootReprioritizationDistance = 10.0 ChildReprioritizationDistance = 20.0 ; TEST OPTION KEEP AS FALSE ; if true, don't send object updates if outside view range ObjectsCullingByDistance = false ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region ; Updates will always be sent to the avatar that the update addresses and if av velocity is effectively zero (to prevent drift due to missing updates). ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars. RootTerseUpdatePeriod = 0 ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region ; n > 1 will reduce UDP traffic but may lead to laggier movement observed in other avatars, though values up to 4 may not generate a noticeable effect. ChildTerseUpdatePeriod = 0 ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance RootPositionUpdateTolerance = 0.05 ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance RootRotationUpdateTolerance = 0.1 ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance RootVelocityUpdateTolerance = 0.001 [Monitoring] ; Enable region monitoring ; If true, this will print out an error if more than a minute has passed since the last simulator frame ; Also is another source of region statistics provided via the regionstats URL Enabled = true ; next option may still use framework performance monitors designed for debug only, so avoid it ;ServerStatsEnabled = 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 [Statistics] ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames ; to include in the averaging calculations NumberOfFrames=10 [MediaOnAPrim] ; Enable media on a prim facilities Enabled = true [NPC] ;; Enable Non Player Character (NPC) facilities Enabled = true ;; several options to control NPCs creation ;; allow NPCs to be created not Owned {true false} default: true AllowNotOwned = true ;; allow NPCs to set to be sensed as Avatars {true false} default: true AllowSenseAsAvatar = true ;; allow NPCs to created cloning any avatar in region {true false} default: true AllowCloneOtherAvatars = true ;; if true NPCs will have no group title, if false display "- NPC -" for easy identification {true false} default: true NoNPCGroup = false [Terrain] ; Values can be "pinhead-island" or "flat" InitialTerrain = "pinhead-island" ; If 'true' each avatar is only sent terrain patches within their view distance ; This also changes the region terrain loading from 'lawn mower' to ordered around ; the avatar outward. SendTerrainUpdatesByViewDistance = True [LandManagement] ; When editing terrain or objects, parcel layer info is updated in the viewer. ; This can be expensive for large regions. If this variable is 'true', only the ; parcel layer data around the area of interest is sent. The parcel layer info ; is sent for 'ParcelLayerViewDistance' around the interest point. ; If 'ParcelLayerViewDistance' is >= 128, the operation for legacy sized regions ; will be what it has always been (send the whole region's parcel layer info). ; Other parcel updates (login, changing parcel ownership, ...) will still send ; whole region. LimitParcelLayerUpdateDistance = false ParcelLayerViewDistance = 1024 ; set this to false to not display parcel ban lines ShowParcelBansLines = true ;; If you are using a simian grid frontend you can enable ;; this module to upload tile images for the mapping fn ;; [SimianGridMaptiles] Enabled = False MaptileURL = "http://www.mygrid.com/Grid/" RefreshTime = 3600 ;; ;; JsonStore module provides structured store for scripts ;; [JsonStore] Enabled = true ;; Enable direct access to the SOP dynamic attributes EnableObjectStore = true MaxStringSpace = 0 ;; ;; These are defaults that are overwritten below in [Architecture]. ;; These defaults allow OpenSim to work out of the box with ;; zero configuration ;; [AssetService] DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" AssetLoaderArgs = "assets/AssetSets.xml" ; Disable this to prevent the default asset set from being inserted into the ; asset store each time the region starts AssetLoaderEnabled = true [GridService] ;; default standalone, overridable in StandaloneCommon.ini StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" [AutoBackupModule] ;; default is module is disabled at the top level AutoBackupModuleEnabled = false [Sounds] ;; {Module} {} {Implementation of ISoundModule to use.} {OpenSim.Region.CoreModules.dll:SoundModule} Module = OpenSim.Region.CoreModules.dll:SoundModule ;; {MaxDistance} {} {Cut-off distance at which sounds will not be sent to users} {100.0} MaxDistance = 100.0 [ServiceThrottle] ;; Default time interval (in ms) for the throttle service thread to wake up Interval = 5000 [Dwell] ;; This enables the built in basic dwell module DwellModule = DefaultDwellModule [Modules] Include-modules = "addon-modules/*/config/*.ini" [Materials] ;; This enables the use of Materials. enable_materials = true MaxMaterialsPerTransaction = 50 [XBakes] ;; Sets the URL for the baked texture ROBUST service. ;; Disabled when unset. URL = ${Const|BaseURL}:${Const|PrivatePort} ;; Optional module to highlight God names in the viewer. ;; Uncomment and customize appropriately if you want this behavior. ;; ;[GodNames] ; Enabled = false ; FullNames = "Test User, Foo Bar" ; Surnames = "Kryztlsk"