2154 lines
85 KiB
INI
2154 lines
85 KiB
INI
; 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).
|
|
|
|
[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 = 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 = "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="C:\somewhere\xmlfiles\"
|
|
|
|
; Determines the page from which regions xml is retrieved if you are loading these from the web
|
|
; The XML here has the same format as it does on the filesystem (including the <Root> tag),
|
|
; except that everything is also enclosed in a <Regions> tag.
|
|
; regionload_webserver_url = "http://example.com/regions.xml";
|
|
|
|
;; Allow 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 = true
|
|
|
|
;; 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 = true;
|
|
|
|
; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos
|
|
; Increasing this number will increase memory usage.
|
|
MaxPrimUndos = 20
|
|
|
|
; Maximum size of non physical prims. Affects resizing of existing prims. This can be overridden in the region config file (as NonPhysicalPrimMax!).
|
|
NonPhysicalPrimMax = 256
|
|
|
|
; Maximum size of physical prims. Affects resizing of existing prims. This can be overridden in the region config file.
|
|
PhysicalPrimMax = 64
|
|
|
|
; 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
|
|
|
|
; Combine all contiguous regions into one large megaregion
|
|
; Order your regions from South to North, West to East in your regions.ini and then set this to true
|
|
; Warning! Don't use this with regions that have existing content!, This will likely break them
|
|
CombineContiguousRegions = false
|
|
|
|
; the default view range. Viewers override this ( no major effect still )
|
|
DefaultDrawDistance = 255.0
|
|
|
|
; limit the maximum view range ( no effect still (does limit MaxRegionsViewDistance) )
|
|
MaxDrawDistance = 512
|
|
|
|
; 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 = 255
|
|
|
|
; If you have only one region in an instance, or to avoid the many bugs
|
|
; that you can trigger in modules by restarting a region, set this to
|
|
; true to make the entire instance exit instead of restarting the region.
|
|
; This is meant to be used on systems where some external system like
|
|
; Monit will restart any instance that exits, thereby making the shutdown
|
|
; into a restart.
|
|
InworldRestartShutsDown = false
|
|
|
|
; 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
|
|
|
|
; 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 OpenDynamicsEngine
|
|
physics = BulletSim
|
|
;physics = modified_BulletX
|
|
;physics = OpenDynamicsEngine
|
|
;physics = basicphysics
|
|
;physics = POS
|
|
|
|
; ##
|
|
; ## SCRIPT ENGINE
|
|
; ##
|
|
|
|
DefaultScriptEngine = "XEngine"
|
|
|
|
; ##
|
|
; ## EMAIL MODULE
|
|
; ##
|
|
|
|
;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)
|
|
|
|
; Simulator statistics are output to the console periodically at debug level INFO.
|
|
; Setting this to zero disables this output.
|
|
; LogShowStatsSeconds = 3600
|
|
|
|
; 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 woth 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
|
|
|
|
[Map]
|
|
;WorldMapModule = "WorldMap"
|
|
;MapImageModule = "MapImageModule"
|
|
|
|
; World map blacklist timeout in seconds
|
|
;BlacklistTimeout = 600
|
|
|
|
; Set to false to not generate any maptiles
|
|
;GenerateMaptiles = true
|
|
|
|
; Refresh (in seconds) the map tile periodically
|
|
;MaptileRefresh = 0
|
|
|
|
; If not generating maptiles, use this static texture asset ID
|
|
;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000"
|
|
|
|
; Draw objects on maptile. This step might take a long time if you've got a large number of
|
|
; objects, so you can turn it off here if you'd like.
|
|
DrawPrimOnMapTile = true
|
|
|
|
; Use terrain texture for maptiles if true, use shaded green if false
|
|
TextureOnMapTile = true
|
|
|
|
; Texture prims
|
|
TexturePrims = true
|
|
|
|
; Only texture prims that have a diagonal size greater than this number
|
|
TexturePrimSize = 48
|
|
|
|
; Attempt to render meshes and sculpties on the map
|
|
RenderMeshes = false;
|
|
|
|
[Permissions]
|
|
; ##
|
|
; ## PERMISSIONS
|
|
; ##
|
|
|
|
;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
|
|
|
|
allow_grid_gods = false
|
|
|
|
; This allows somne control over permissions
|
|
; please note that this still doesn't duplicate SL, and is not intended to
|
|
;region_owner_is_god = true
|
|
;region_manager_is_god = false
|
|
;parcel_owner_is_god = false
|
|
|
|
; 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 = -800
|
|
|
|
; - disallow logins while scripts are loading
|
|
; Instability can occur on regions with 100+ scripts if users enter before they have finished loading
|
|
login_disable = true
|
|
|
|
; - 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
|
|
|
|
|
|
[UserProfiles]
|
|
;# {ProfileURL} {} {Set url to UserProfilesService} {}
|
|
;; Set the value of the url to your UserProfilesService
|
|
;; If un-set / "" the module is disabled
|
|
;; If the ProfileURL is not set, then very BASIC
|
|
;; profile support will be configured. If the ProfileURL is set to a
|
|
;; valid URL, then full profile support will be configured. The URL
|
|
;; points to your grid's Robust user profiles service
|
|
;;
|
|
; ProfileURL = http://127.0.0.1:9000
|
|
|
|
|
|
[SMTP]
|
|
enabled = false
|
|
|
|
;enabled = true
|
|
;internal_object_host = lsl.opensim.local
|
|
;host_domain_header_from = 127.0.0.1
|
|
;SMTP_SERVER_HOSTNAME = 127.0.0.1
|
|
;SMTP_SERVER_PORT = 25
|
|
;SMTP_SERVER_LOGIN = foo
|
|
;SMTP_SERVER_PASSWORD = bar
|
|
|
|
|
|
[Network]
|
|
ConsoleUser = "Test"
|
|
ConsolePass = "secret"
|
|
http_listener_port = 9000
|
|
console_port = 0
|
|
|
|
; 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"
|
|
|
|
; 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.
|
|
; HttpBodyMaxLenMAX=16384
|
|
|
|
; Hostname to use in llRequestURL/llRequestSecureURL
|
|
; if not defined - default machine name is being used
|
|
; (on Windows this mean NETBIOS name - useably only inside local network)
|
|
; ExternalHostNameForLSL=127.0.0.1
|
|
|
|
; 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 <addr>:<port> 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)"
|
|
|
|
; 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.
|
|
; AllowedClients = ""
|
|
|
|
; Viewer-based access control. |-separated list of denied viewers.
|
|
; No restrictions by default.
|
|
; DeniedClients = ""
|
|
|
|
|
|
[ClientStack.LindenUDP]
|
|
; Set this to true to process incoming packets asynchronously. Networking is
|
|
; already separated from packet handling with a queue, so this will only
|
|
; affect whether networking internals such as packet decoding and
|
|
; acknowledgement accounting are done synchronously or asynchronously
|
|
; Default is true.
|
|
;
|
|
;async_packet_handling = true
|
|
|
|
; The client socket receive buffer size determines how many
|
|
; incoming requests we can process; the default on .NET is 8192
|
|
; which is about 2 4k-sized UDP datagrams. On mono this is
|
|
; whatever the underlying operating system has as default; for
|
|
; example, ubuntu 8.04 or SLES11 have about 111k, which is about
|
|
; 27 4k-sized UDP datagrams (on linux platforms you can [as root]
|
|
; do "sysctl net.core.rmem_default" to find out what your system
|
|
; uses a default socket receive buffer size.
|
|
;
|
|
; client_socket_rcvbuf_size allows you to specify the receive
|
|
; buffer size LLUDPServer should use. NOTE: this will be limited
|
|
; by the system's settings for the maximum client receive buffer
|
|
; size (on linux systems you can set that with "sysctl -w
|
|
; net.core.rmem_max=X")
|
|
;
|
|
;client_socket_rcvbuf_size = 8388608
|
|
|
|
; Maximum outbound bytes per second for a single scene. This can be used to
|
|
; throttle total outbound UDP traffic for a simulator. The default value is
|
|
; 0, meaning no throttling at the scene level. The example given here is
|
|
; 20 megabits
|
|
;
|
|
;scene_throttle_max_bps = 2500000
|
|
|
|
; Maximum bytes per second to send to any single client. This will override
|
|
; the user's viewer preference settings. The default value is 0, meaning no
|
|
; aggregate throttling on clients (only per-category throttling). The
|
|
; example given here is 1.5 megabits
|
|
;
|
|
;client_throttle_max_bps = 187500
|
|
|
|
; Minimum bytes per second to send to any single client as a result of
|
|
; adaptive throttling. Viewer preferences set to a lower number will
|
|
; override the settin. The example given here ensures that adaptive
|
|
; throttling will never decrease per client bandwidth below 256 kbps.
|
|
;
|
|
;adaptive_throttle_min_bps = 32000
|
|
|
|
; Adaptive throttling attempts to limit network overload when multiple
|
|
; clients login by starting each connection more slowly. Disabled by
|
|
; default
|
|
;
|
|
enable_adaptive_throttles = false
|
|
|
|
; Per-client bytes per second rates for the various throttle categories.
|
|
; These are default values that will be overridden by clients. These
|
|
; defaults are approximately equivalent to the throttles set by the Imprudence
|
|
; viewer when maximum bandwidth is set to 350kbps
|
|
|
|
;resend_default = 6625
|
|
;land_default = 9125
|
|
;wind_default = 1750
|
|
;cloud_default = 1750
|
|
;task_default = 18500
|
|
;texture_default = 18500
|
|
;asset_default = 10500
|
|
|
|
; Configures how ObjectUpdates are aggregated. These numbers
|
|
; do not literally mean how many updates will be put in each
|
|
; packet that goes over the wire, as packets are
|
|
; automatically split on a 1400 byte boundary. These control
|
|
; the balance between responsiveness of interest list updates
|
|
; and total throughput. Higher numbers will ensure more full-
|
|
; sized packets and faster sending of data, but more delay in
|
|
; updating interest lists
|
|
;
|
|
;PrimUpdatesPerCallback = 100
|
|
|
|
; TextureSendLimit determines how many packets will be put on
|
|
; the outgoing queue each cycle. Like the settings above, this
|
|
; is a balance between responsiveness to priority updates and
|
|
; total throughput. Higher numbers will give a better
|
|
; throughput at the cost of reduced responsiveness to client
|
|
; priority changes or transfer aborts
|
|
;
|
|
;TextureSendLimit = 20
|
|
|
|
; CannibalizeTextureRate allows bandwidth to be moved from the
|
|
; UDP texture throttle to the task throttle. Since most viewers
|
|
; use HTTP textures, this provides a means of using what is largely
|
|
; unused bandwidth in the total throttle. The value is the proportion
|
|
; of the texture rate to move to the task queue. It must be between
|
|
; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the
|
|
; bandwidth is grabbed)
|
|
;
|
|
; CannibalizeTextureRate = 0.5
|
|
|
|
; 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 = false
|
|
|
|
; 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
|
|
;;
|
|
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_HomeLocation = ""
|
|
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"
|
|
|
|
|
|
[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 = 10
|
|
|
|
; Distance in meters that ordinary chat should travel. Default is 20m
|
|
say_distance = 20
|
|
|
|
; Distance in meters that shouts should travel. Default is 100m
|
|
shout_distance = 100
|
|
|
|
[EntityTransfer]
|
|
; The maximum distance in regions that an agent is allowed to teleport
|
|
; along the x or y axis. This is set to 65535 because current viewers
|
|
; can't handle teleports that are greater than this distance
|
|
; Setting to 0 will allow teleports of any distance
|
|
;
|
|
max_distance = 65535
|
|
|
|
; 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_OS
|
|
|
|
|
|
[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 = OfflineMessageModule
|
|
; OfflineMessageURL = http://yourserver/Offline.php
|
|
; MuteListModule = MuteListModule
|
|
; MuteListURL = http://yourserver/Mute.php
|
|
|
|
; Control whether group messages are forwarded to offline users. Default is true.
|
|
; 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 = false
|
|
|
|
; Control the delay before appearance is sent to other avatars and
|
|
; saved in the avatar service. Attempts to limit the impact caused
|
|
; by the very chatty dialog that sets appearance when an avatar
|
|
; logs in or teleports into a region; values are in seconds
|
|
DelayBeforeAppearanceSave = 5
|
|
DelayBeforeAppearanceSend = 2
|
|
|
|
; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds.
|
|
; This may help with some situations where avatars are persistently grey, though it will not help
|
|
; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others).
|
|
ResendAppearanceUpdates = false
|
|
|
|
; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar
|
|
; on every login
|
|
ReuseTextures = false
|
|
|
|
|
|
[Attachments]
|
|
; Controls 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 Collada mesh support
|
|
; default is true
|
|
AllowMeshUpload = true
|
|
|
|
; if you use Meshmerizer and want collisions for meshies, setting this to true
|
|
; will cause OpenSim to attempt to decode meshies assets, extract the physics
|
|
; mesh, and use it for collisions.
|
|
UseMeshiesPhysicsMesh = true
|
|
|
|
; Minimum user level required to upload meshes
|
|
;LevelUpload = 0
|
|
|
|
|
|
[Textures]
|
|
; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible
|
|
; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components
|
|
; (e.g. images pulled from an external HTTP address).
|
|
; Reusing previously generated textures results in a much faster update on the viewer but may cause issues if the viewer didn't receive all resolutions of the texture.
|
|
; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted.
|
|
; Hence, currently considered experimental.
|
|
; Default is false.
|
|
ReuseDynamicTextures = false
|
|
|
|
; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused
|
|
; This is to workaround an apparent LL 3.3.4 and earlier viewer bug where such textures are not redisplayed properly when pulled from the viewer cache.
|
|
; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem.
|
|
; This setting only has an affect is ReuseDynamicTextures = true
|
|
; Default is false
|
|
ReuseDynamicLowDataTextures = false
|
|
|
|
|
|
[ODEPhysicsSettings]
|
|
; ##
|
|
; ## Physics stats settings
|
|
;
|
|
|
|
; 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?
|
|
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
|
|
|
|
; ##
|
|
; ## Joint support
|
|
; ##
|
|
|
|
; If you would like physics joints to be enabled through a special naming
|
|
; convention in the client, set this to true.
|
|
; (See NINJA Physics documentation, http://opensimulator.org/wiki/NINJA_Physics)
|
|
; Default is false
|
|
;use_NINJA_physics_joints = true
|
|
|
|
; ##
|
|
; ## additional meshing options
|
|
; ##
|
|
|
|
; Physical collision mesh proxies are normally created for complex prim shapes,
|
|
; and collisions for simple boxes and spheres are computed algorithmically.
|
|
; If you would rather have mesh proxies for simple prims, you can set this to
|
|
; true. Note that this will increase memory usage and region startup time.
|
|
; Default is false.
|
|
;force_simple_prim_meshing = true
|
|
|
|
|
|
[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 = false
|
|
|
|
; Terrain implementation can use either Bullet's heightField or BulletSim can build
|
|
; a mesh. 0=heightField, 1=mesh
|
|
TerrainImplementation = 0
|
|
; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield
|
|
; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher
|
|
; magnifications use lots of memory.
|
|
TerrainMeshMagnification = 2
|
|
|
|
; Should avatars collide with each other?
|
|
AvatarToAvatarCollisionsByDefault = true
|
|
|
|
; 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.
|
|
;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 = 0.8 ; Avatar is displaced up the collision height times this factor
|
|
;AvatarStepSmoothingSteps = 1 ; 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]
|
|
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 = false
|
|
|
|
; 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 bridge is experimental, so if it breaks... keep both parts... yada yada
|
|
; also, not good error detection when it fails
|
|
[IRC]
|
|
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 <bot>:<user in region> :<message>
|
|
;;msgformat = "PRIVMSG {0} :<{1} in {2}>: {3}"
|
|
;;for <bot>:<message> - <user of region> :
|
|
;msgformat = "PRIVMSG {0} : {3} - {1} of {2}"
|
|
;;for <bot>:<message> - from <user> :
|
|
;;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."
|
|
|
|
|
|
; The following settings control the progression of daytime
|
|
; in the Sim. The defaults are the same as the commented out settings
|
|
[Sun]
|
|
; number of wall clock hours for an opensim day. 24.0 would mean realtime
|
|
;day_length = 4
|
|
; Year length in days
|
|
;year_length = 60
|
|
; Day to Night Ratio
|
|
;day_night_offset = 0.45
|
|
; 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 = false
|
|
|
|
; 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 = false
|
|
|
|
|
|
[Trees]
|
|
; Enable this to allow the tree module to manage your sim trees, including growing, reproducing and dying
|
|
; default is false
|
|
active_trees = false
|
|
|
|
; Density of tree population
|
|
tree_density = 1000.0
|
|
|
|
|
|
[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 = false
|
|
|
|
; 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 = 1000
|
|
|
|
; Maximum number of llListen events we allow per script
|
|
; Set this to 0 to have no limit imposed.
|
|
max_listens_per_script = 64
|
|
|
|
; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL())
|
|
max_external_urls_per_simulator = 100
|
|
|
|
; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes.
|
|
; Speeds up calculations but can make them inaccurate, in some cases very inaccurate.
|
|
UseSimpleBoxesInGetBoundingBox = false
|
|
|
|
; 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 = false
|
|
|
|
; Accepted calculation precision error in calculations in llCastRay V3
|
|
FloatToleranceInLlCastRay = 0.00001
|
|
|
|
; Accepted distance difference between duplicate hits in llCastRay V3
|
|
FloatTolerance2InLlCastRay = 0.001
|
|
|
|
; Detail level when rendering prims in llCastRay V3
|
|
; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
|
|
PrimDetailLevelInLlCastRay = 1
|
|
|
|
; Detail level when rendering sculpts in llCastRay V3
|
|
; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
|
|
SculptDetailLevelInLlCastRay = 1
|
|
|
|
; Detail level when rendering meshes in llCastRay V3
|
|
; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
|
|
MeshDetailLevelInLlCastRay = 3
|
|
|
|
; Detail level when rendering avatar capsules in llCastRay V3
|
|
; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
|
|
AvatarDetailLevelInLlCastRay = 1
|
|
|
|
; Maximum number of returned hits from llCastRay V3
|
|
MaxHitsInLlCastRay = 16
|
|
|
|
; Maximum number of returned hits per prim from llCastRay V3
|
|
MaxHitsPerPrimInLlCastRay = 16
|
|
|
|
; Maximum number of returned hits per object from llCastRay V3
|
|
MaxHitsPerObjectInLlCastRay = 16
|
|
|
|
; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true
|
|
DetectExitHitsInLlCastRay = false
|
|
|
|
; Filter on parts instead of groups in llCastRay V3 if true
|
|
FilterPartsInLlCastRay = 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 = "OSGrid"
|
|
|
|
; Period between data snapshots, in seconds. 20 minutes, for starters, so that you see the initial changes fast.
|
|
; Later, you may want to increase this to 3600 (1 hour) or more
|
|
default_snapshot_period = 1200
|
|
|
|
; This will be created in bin, if it doesn't exist already. It will hold the data snapshots.
|
|
snapshot_cache_directory = "DataSnapshot"
|
|
|
|
; 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]
|
|
; 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 = 100
|
|
PriceObjectClaim = 10
|
|
PricePublicObjectDecay = 4
|
|
PricePublicObjectDelete = 4
|
|
PriceParcelClaim = 1
|
|
PriceParcelClaimFactor = 1
|
|
|
|
PriceRentLight = 5
|
|
TeleportMinPrice = 2
|
|
TeleportPriceExponent = 2
|
|
EnergyEfficiency = 1
|
|
PriceObjectRent = 1
|
|
PriceObjectScaleFactor = 10
|
|
PriceParcelRent = 1
|
|
|
|
|
|
[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 = 300
|
|
|
|
; Stack size per thread created
|
|
ThreadStackSize = 262144
|
|
|
|
; Set this to true (the default) 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 per-script overhead at the
|
|
; expense of reduced security and the inability to garbage collect the
|
|
; script assemblies
|
|
AppDomainLoading = true
|
|
|
|
; Controls whether previously compiled scripts DLLs are deleted on sim restart. If you set this to false
|
|
; then startup will be considerably faster since scripts won't need to be recompiled. However, then it becomes your responsibility to delete the
|
|
; compiled scripts if you're recompiling OpenSim from source code and internal interfaces used
|
|
; by scripts have changed.
|
|
; DeleteScriptsOnStartup = 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
|
|
|
|
; Default language for scripts
|
|
DefaultCompileLanguage = lsl
|
|
|
|
; List of allowed languages (lsl,vb,cs)
|
|
; AllowedCompilers=lsl,cs,vb
|
|
; *warning*, non lsl languages have access to static methods such as System.IO.File. Enable at your own risk.
|
|
AllowedCompilers=lsl
|
|
|
|
; Compile debug info (line numbers) into the script assemblies
|
|
CompileWithDebugInformation = 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 = false
|
|
|
|
; Allow the use of os* functions (some are dangerous)
|
|
AllowOSFunctions = false
|
|
|
|
; Allow the user of LightShare functions
|
|
AllowLightShareFunctions = false
|
|
|
|
; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe
|
|
OSFunctionThreatLevel = VeryLow
|
|
|
|
; 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 = <uuid>, ...
|
|
|
|
; 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 = 30
|
|
|
|
; If a script overruns it's event limit, kill the script?
|
|
KillTimedOutScripts = false
|
|
|
|
; 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;
|
|
|
|
; Sets the multiplier for the scripting delays
|
|
ScriptDelayFactor = 1.0
|
|
|
|
; The factor the 10 m distances llimits are multiplied by
|
|
ScriptDistanceLimitFactor = 1.0
|
|
|
|
; Maximum length of notecard line read
|
|
; Increasing this to large values potentially opens
|
|
; up the system to malicious scripters
|
|
; NotecardLineReadCharsMax = 255
|
|
|
|
; Minimum settable timer interval. Any timer setting less than this is
|
|
; rounded up to this minimum interval.
|
|
; MinTimerInterval = 0.5
|
|
|
|
; Sensor settings
|
|
SensorMaxRange = 96.0
|
|
SensorMaxResults = 16
|
|
|
|
; 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 = false
|
|
|
|
; Disable underground movement of prims (default true); set to
|
|
; false to allow script controlled underground positioning of
|
|
; prims
|
|
; DisableUndergroundMovement = true
|
|
|
|
;; Path to script assemblies
|
|
; ScriptEnginesPath = "ScriptEngines"
|
|
|
|
|
|
[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-"
|
|
|
|
; 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
|
|
|
|
|
|
[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 = false
|
|
|
|
; 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
|
|
|
|
; 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
|
|
|
|
; Experimental option to only message cached online users rather than all users
|
|
; Should make large group with few online members messaging faster, as the expense of more calls to ROBUST presence service
|
|
; (Flotsam groups only; in V2 this is always on)
|
|
MessageOnlineUsersOnly = false
|
|
|
|
; 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 suport 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
|
|
|
|
; 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
|
|
|
|
|
|
[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=false
|
|
|
|
[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 = 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 = true
|
|
ParcelLayerViewDistance = 128
|
|
|
|
; 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 = False
|
|
|
|
;; Enable direct access to the SOP dynamic attributes
|
|
EnableObjectStore = False
|
|
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"
|
|
|