diff options
author | onefang | 2020-09-08 21:23:58 +1000 |
---|---|---|
committer | onefang | 2020-09-08 21:23:58 +1000 |
commit | e9e078a8b58be7bc7f04799f17d3858e7470ac67 (patch) | |
tree | f443f9693e34f7b5b0a9ab7599f22664b4b1a2e7 | |
parent | Better ROBUST and sim startup console notification. (diff) | |
download | opensim-SC-e9e078a8b58be7bc7f04799f17d3858e7470ac67.zip opensim-SC-e9e078a8b58be7bc7f04799f17d3858e7470ac67.tar.gz opensim-SC-e9e078a8b58be7bc7f04799f17d3858e7470ac67.tar.bz2 opensim-SC-e9e078a8b58be7bc7f04799f17d3858e7470ac67.tar.xz |
Major clean up of config and ini files.
-rw-r--r-- | .nant/local.include | 4 | ||||
-rwxr-xr-x | bin/OpenSim.exe.config | 13 | ||||
-rw-r--r-- | bin/OpenSimDefaults.ini | 318 | ||||
-rw-r--r-- | bin/Robust.exe.config | 10 | ||||
-rw-r--r-- | bin/config-include/GridCommon.ini.example | 28 | ||||
-rw-r--r-- | bin/config-include/SimBalanced.ini | 889 | ||||
-rw-r--r-- | bin/config-include/SimDefault.ini | 884 | ||||
-rw-r--r-- | bin/config-include/SimFast.ini | 884 | ||||
-rw-r--r-- | bin/config-include/SimLean.ini | 884 | ||||
-rw-r--r-- | bin/config-include/config_localhost.ini | 49 |
10 files changed, 3787 insertions, 176 deletions
diff --git a/.nant/local.include b/.nant/local.include index 07421c8..7b7aaf5 100644 --- a/.nant/local.include +++ b/.nant/local.include | |||
@@ -55,8 +55,8 @@ | |||
55 | <include name="runprebuild*"/> | 55 | <include name="runprebuild*"/> |
56 | <include name="TESTING.txt"/> | 56 | <include name="TESTING.txt"/> |
57 | <include name="TestResult.xml"/> | 57 | <include name="TestResult.xml"/> |
58 | <include name="bin/OpenSim.Server.ini"/> | 58 | <include name="config/OpenSim.Server.ini"/> |
59 | <include name="bin/Regions/Regions.ini"/> | 59 | <include name="config/Regions/Regions.ini"/> |
60 | <include name="bin/*.db"/> | 60 | <include name="bin/*.db"/> |
61 | <include name="**/.git/**"/> | 61 | <include name="**/.git/**"/> |
62 | <include name=".gitignore"/> | 62 | <include name=".gitignore"/> |
diff --git a/bin/OpenSim.exe.config b/bin/OpenSim.exe.config index 690f808..ed250b3 100755 --- a/bin/OpenSim.exe.config +++ b/bin/OpenSim.exe.config | |||
@@ -11,36 +11,28 @@ | |||
11 | 11 | ||
12 | <log4net> | 12 | <log4net> |
13 | <appender name="Console" type="OpenSim.Framework.Console.OpenSimAppender, OpenSim.Framework.Console"> | 13 | <appender name="Console" type="OpenSim.Framework.Console.OpenSimAppender, OpenSim.Framework.Console"> |
14 | <threshold value="INFO" /> | ||
14 | <filter type="log4net.Filter.LoggerMatchFilter"> | 15 | <filter type="log4net.Filter.LoggerMatchFilter"> |
15 | <loggerToMatch value="special"/> | 16 | <loggerToMatch value="special"/> |
16 | <acceptOnMatch value="false"/> | 17 | <acceptOnMatch value="false"/> |
17 | </filter> | 18 | </filter> |
18 | <layout type="log4net.Layout.PatternLayout"> | 19 | <layout type="log4net.Layout.PatternLayout"> |
19 | <conversionPattern value="%date{HH:mm:ss} - %message" /> | 20 | <conversionPattern value="%date{HH:mm:ss} - %message" /> |
20 | <!-- console log with milliseconds. Useful for debugging --> | ||
21 | <!-- <conversionPattern value="%date{HH:mm:ss.fff} - %message" /> --> | ||
22 | </layout> | 21 | </layout> |
23 | </appender> | 22 | </appender> |
24 | 23 | ||
25 | <!-- If you want automatic log-rolling then use RollingFileAppender instead of FileAppender: | ||
26 | <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender"> | 24 | <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender"> |
27 | <threshold value="DEBUG" /> | 25 | <threshold value="DEBUG" /> |
28 | <file value="../../logs/OpenSim.log" /> | 26 | <file value="../../logs/OpenSim.log" /> |
29 | <rollingStyle value="Date" /> | 27 | <rollingStyle value="Date" /> |
30 | <datePattern value="'.'yyyy-MM-dd"/> | 28 | <datePattern value="'.'yyyy-MM-dd"/> |
31 | ... | ||
32 | --> | ||
33 | |||
34 | <appender name="LogFileAppender" type="log4net.Appender.FileAppender"> | ||
35 | <file value="OpenSim.log" /> | ||
36 | <appendToFile value="true" /> | 29 | <appendToFile value="true" /> |
37 | <filter type="log4net.Filter.LoggerMatchFilter"> | 30 | <filter type="log4net.Filter.LoggerMatchFilter"> |
38 | <loggerToMatch value="special"/> | 31 | <loggerToMatch value="special"/> |
39 | <acceptOnMatch value="false"/> | 32 | <acceptOnMatch value="false"/> |
40 | </filter> | 33 | </filter> |
41 | <layout type="log4net.Layout.PatternLayout"> | 34 | <layout type="log4net.Layout.PatternLayout"> |
42 | <!-- <conversionPattern value="%date %-5level (%thread) - %logger %message%newline" /> --> | 35 | <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss.fff} %-5level (%thread) - %logger %message%newline" /> |
43 | <conversionPattern value="%date %-5level %message%newline" /> | ||
44 | </layout> | 36 | </layout> |
45 | </appender> | 37 | </appender> |
46 | 38 | ||
@@ -53,7 +45,6 @@ | |||
53 | </appender> | 45 | </appender> |
54 | 46 | ||
55 | <root> | 47 | <root> |
56 | <level value="DEBUG" /> | ||
57 | <appender-ref ref="Console" /> | 48 | <appender-ref ref="Console" /> |
58 | <appender-ref ref="LogFileAppender" /> | 49 | <appender-ref ref="LogFileAppender" /> |
59 | </root> | 50 | </root> |
diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 2e680df..1852438 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini | |||
@@ -116,14 +116,14 @@ | |||
116 | allow_regionless = false | 116 | allow_regionless = false |
117 | 117 | ||
118 | ;; Allow child agents to see into the region even if their root counterpart isn't allowed in here | 118 | ;; Allow child agents to see into the region even if their root counterpart isn't allowed in here |
119 | see_into_region = true | 119 | see_into_region = false |
120 | 120 | ||
121 | ;; use legacy math for sittarget offset "correction" | 121 | ;; use legacy math for sittarget offset "correction" |
122 | ;; set this option to false to use improved math more compatibility with SL. | 122 | ;; set this option to false to use improved math more compatibility with SL. |
123 | ;; keep it true if you have many old objects with sits set by scripts. | 123 | ;; keep it true if you have many old objects with sits set by scripts. |
124 | ;; the offset in question is added to the SitTarget to find the sitting avatar position. | 124 | ;; the offset in question is added to the SitTarget to find the sitting avatar position. |
125 | ;; acording to its size, etc. | 125 | ;; acording to its size, etc. |
126 | ; LegacySitOffsets = true | 126 | LegacySitOffsets = false |
127 | 127 | ||
128 | ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos | 128 | ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos |
129 | ; Increasing this number will increase memory usage. | 129 | ; Increasing this number will increase memory usage. |
@@ -134,13 +134,13 @@ | |||
134 | ; NonPhysicalPrimMin = 0.001 | 134 | ; NonPhysicalPrimMin = 0.001 |
135 | 135 | ||
136 | ; Maximum size of non physical prims. Affects resizing of existing prims. This can be overridden in the region config file (as NonPhysicalPrimMax!). | 136 | ; Maximum size of non physical prims. Affects resizing of existing prims. This can be overridden in the region config file (as NonPhysicalPrimMax!). |
137 | NonPhysicalPrimMax = 256 | 137 | NonPhysicalPrimMax = 2560 |
138 | 138 | ||
139 | ; Minimum size where a prim can be physical. This can be overridden in the region config file. | 139 | ; Minimum size where a prim can be physical. This can be overridden in the region config file. |
140 | ; PhysicalPrimMin = 0.01 | 140 | ; PhysicalPrimMin = 0.01 |
141 | 141 | ||
142 | ; Maximum size of physical prims. Affects resizing of existing prims. This can be overridden in the region config file. | 142 | ; Maximum size of physical prims. Affects resizing of existing prims. This can be overridden in the region config file. |
143 | PhysicalPrimMax = 64 | 143 | PhysicalPrimMax = 640 |
144 | 144 | ||
145 | ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum | 145 | ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum |
146 | ; This can be overridden in the region config file. | 146 | ; This can be overridden in the region config file. |
@@ -165,15 +165,15 @@ | |||
165 | TrustBinaries = false | 165 | TrustBinaries = false |
166 | 166 | ||
167 | ; the default view range. Viewers override this ( no major effect still ) | 167 | ; the default view range. Viewers override this ( no major effect still ) |
168 | ;DefaultDrawDistance = 255.0 | 168 | DefaultDrawDistance = 1024.0 |
169 | 169 | ||
170 | ; limit the maximum view range ( no effect still (does limit MaxRegionsViewDistance) ) | 170 | ; limit the maximum view range ( no effect still (does limit MaxRegionsViewDistance) ) |
171 | ;MaxDrawDistance = 512 | 171 | MaxDrawDistance = 1024 |
172 | 172 | ||
173 | ; Other regions visibility depends on avatar position and view range | 173 | ; Other regions visibility depends on avatar position and view range |
174 | ; the view range considered is limited the maximum and minimum distances: | 174 | ; the view range considered is limited the maximum and minimum distances: |
175 | ;MaxRegionsViewDistance = 255 | 175 | MaxRegionsViewDistance = 512 |
176 | ;MinRegionsViewDistance = 96 | 176 | MinRegionsViewDistance = 96 |
177 | 177 | ||
178 | ; If you have only one region in an instance, or to avoid the many bugs | 178 | ; If you have only one region in an instance, or to avoid the many bugs |
179 | ; that you can trigger in modules by restarting a region, set this to | 179 | ; that you can trigger in modules by restarting a region, set this to |
@@ -181,25 +181,25 @@ | |||
181 | ; This is meant to be used on systems where some external system like | 181 | ; This is meant to be used on systems where some external system like |
182 | ; Monit will restart any instance that exits, thereby making the shutdown | 182 | ; Monit will restart any instance that exits, thereby making the shutdown |
183 | ; into a restart. | 183 | ; into a restart. |
184 | InworldRestartShutsDown = false | 184 | InworldRestartShutsDown = true |
185 | 185 | ||
186 | ; Use of normalized 55FPS statistics | 186 | ; Use of normalized 55FPS statistics |
187 | ; Opensim does not have a frame rate control like other simulators. | 187 | ; Opensim does not have a frame rate control like other simulators. |
188 | ; Most parameters that control timing can be configurable region by region. | 188 | ; Most parameters that control timing can be configurable region by region. |
189 | ; To achieve closer compatibility with values expected by viewers, scripts and users | 189 | ; To achieve closer compatibility with values expected by viewers, scripts and users |
190 | ; some parameters are converted to a equivalent per frame value. | 190 | ; some parameters are converted to a equivalent per frame value. |
191 | ; Additionally, they are scaled to values they would have on a system running at a nominal 55 frames per second rate. | 191 | ; Additionally, they are scaled to values they would have on a system running at a nominal 55 frames per second rate. |
192 | ; The scale factor it 55 * FrameTime, corresponding to 5 with default configuration | 192 | ; The scale factor it 55 * FrameTime, corresponding to 5 with default configuration |
193 | ; You can choose to show the true physics FPS to viewers by setting Normalized55FPS to false. | 193 | ; You can choose to show the true physics FPS to viewers by setting Normalized55FPS to false. |
194 | ; Normalized55FPS = true | 194 | ; Normalized55FPS = true |
195 | 195 | ||
196 | ; Main Frame time | 196 | ; Main Frame time |
197 | ; This defines the rate of several simulation events. | 197 | ; This defines the rate of several simulation events. |
198 | ; Default value should meet most needs. | 198 | ; Default value should meet most needs. |
199 | ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads. | 199 | ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads. |
200 | ; It should not be less than the physics engine step time. | 200 | ; It should not be less than the physics engine step time. |
201 | ; Being a integer multiple of it may reduce some jitter in reported physics FPS. | 201 | ; Being a integer multiple of it may reduce some jitter in reported physics FPS. |
202 | ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same | 202 | ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same |
203 | FrameTime = 0.0909 | 203 | FrameTime = 0.0909 |
204 | 204 | ||
205 | ; The values below represent the percentage of the target frame time that, | 205 | ; The values below represent the percentage of the target frame time that, |
@@ -292,7 +292,7 @@ | |||
292 | ; folder, which can reduce startup times by reducing asset requests. Some | 292 | ; folder, which can reduce startup times by reducing asset requests. Some |
293 | ; versions of mono dont work well when reading the cache files, so set this | 293 | ; versions of mono dont work well when reading the cache files, so set this |
294 | ; to false if you have compatibility problems. | 294 | ; to false if you have compatibility problems. |
295 | ;CacheSculptMaps = true | 295 | CacheSculptMaps = true |
296 | 296 | ||
297 | ;; BulletSim is the default physics engine. It provides the best performance and most functionality. | 297 | ;; BulletSim is the default physics engine. It provides the best performance and most functionality. |
298 | ;; BulletSim supports varregions. | 298 | ;; BulletSim supports varregions. |
@@ -349,7 +349,7 @@ | |||
349 | 349 | ||
350 | ; Simulator statistics are output to the console periodically at debug level INFO. | 350 | ; Simulator statistics are output to the console periodically at debug level INFO. |
351 | ; Setting this to zero disables this output. | 351 | ; Setting this to zero disables this output. |
352 | ; LogShowStatsSeconds = 3600 | 352 | LogShowStatsSeconds = 0 |
353 | 353 | ||
354 | ; Simulator Stats URI | 354 | ; Simulator Stats URI |
355 | ; Enable JSON simulator data by setting a URI name (case sensitive) | 355 | ; Enable JSON simulator data by setting a URI name (case sensitive) |
@@ -364,7 +364,7 @@ | |||
364 | 364 | ||
365 | ; Make OpenSim start all regions with logins disabled. They will need | 365 | ; Make OpenSim start all regions with logins disabled. They will need |
366 | ; to be enabled from the console if this is set | 366 | ; to be enabled from the console if this is set |
367 | ; StartDisabled = false | 367 | StartDisabled = false |
368 | 368 | ||
369 | ; Image decoding. Use CSJ2K for layer boundary decoding if true, | 369 | ; Image decoding. Use CSJ2K for layer boundary decoding if true, |
370 | ; OpenJPEG if false | 370 | ; OpenJPEG if false |
@@ -394,12 +394,19 @@ | |||
394 | ; available spot to the destination (typically map click/landmark). | 394 | ; available spot to the destination (typically map click/landmark). |
395 | ; "random" will place the avatar on a randomly selected spawnpoint; | 395 | ; "random" will place the avatar on a randomly selected spawnpoint; |
396 | ; "sequence" will place the avatar on the next sequential SpawnPoint | 396 | ; "sequence" will place the avatar on the next sequential SpawnPoint |
397 | ; SpawnPointRouting = closest | 397 | SpawnPointRouting = random |
398 | 398 | ||
399 | ; TelehubAllowLandmark allows users with landmarks to override telehub | 399 | ; TelehubAllowLandmark allows users with landmarks to override telehub |
400 | ; routing and land at the landmark coordinates when set to true | 400 | ; routing and land at the landmark coordinates when set to true |
401 | ; default is false | 401 | ; default is false |
402 | ; TelehubAllowLandmark = false | 402 | TelehubAllowLandmark = true |
403 | |||
404 | |||
405 | ; Normally this section goes in the ThisSim.ini file, but this is common for all. | ||
406 | [Region] | ||
407 | InternalAddress = "0.0.0.0" | ||
408 | ExternalHostName = "${Const|HostName}" | ||
409 | |||
403 | 410 | ||
404 | ; # | 411 | ; # |
405 | ; # SSL certificates validation options | 412 | ; # SSL certificates validation options |
@@ -419,20 +426,20 @@ | |||
419 | ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden | 426 | ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden |
420 | ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need | 427 | ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need |
421 | ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ | 428 | ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ |
422 | ;GenerateMaptiles = true | 429 | GenerateMaptiles = true |
423 | 430 | ||
424 | ;WorldMapModule = "WorldMap" | 431 | ;WorldMapModule = "WorldMap" |
425 | 432 | ||
426 | ; The module to use in order to generate map images. | 433 | ; The module to use in order to generate map images. |
427 | ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can | 434 | ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can |
428 | ; generate better images. | 435 | ; generate better images. |
429 | ;MapImageModule = "MapImageModule" | 436 | MapImageModule = "Warp3DImageModule" |
430 | 437 | ||
431 | ; World map blacklist timeout in seconds | 438 | ; World map blacklist timeout in seconds |
432 | ;BlacklistTimeout = 600 | 439 | ;BlacklistTimeout = 600 |
433 | 440 | ||
434 | ; Refresh (in seconds) the map tile periodically | 441 | ; Refresh (in seconds) the map tile periodically |
435 | ;MaptileRefresh = 0 | 442 | MaptileRefresh = 0 |
436 | 443 | ||
437 | ; If not generating maptiles, use this static texture asset ID | 444 | ; If not generating maptiles, use this static texture asset ID |
438 | ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" | 445 | ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" |
@@ -448,7 +455,7 @@ | |||
448 | TexturePrims = true | 455 | TexturePrims = true |
449 | 456 | ||
450 | ; Only texture prims that have a diagonal size greater than this number | 457 | ; Only texture prims that have a diagonal size greater than this number |
451 | TexturePrimSize = 48 | 458 | TexturePrimSize = 1 |
452 | 459 | ||
453 | ; Attempt to render meshes and sculpties on the map | 460 | ; Attempt to render meshes and sculpties on the map |
454 | RenderMeshes = false | 461 | RenderMeshes = false |
@@ -468,6 +475,28 @@ | |||
468 | ; where to store cached map tiles. | 475 | ; where to store cached map tiles. |
469 | CacheDirectory = "${Paths|CachePath}/MapImageCache" | 476 | CacheDirectory = "${Paths|CachePath}/MapImageCache" |
470 | 477 | ||
478 | ; Draw map position at bottom right. | ||
479 | enablePosition = true | ||
480 | |||
481 | ; Refresh the cached map tile once a month. | ||
482 | ;RefreshEveryMonth = true | ||
483 | |||
484 | ;# {MapColorWater} {} {Water color for textured and shaded maps} {"#1D475F"} | ||
485 | ; MapColorWater = "#3399FF" | ||
486 | |||
487 | ;# {MapColor1} {} {Terrain color 1 for textured maps} {"#A58976"} | ||
488 | ; MapColor1 = "#A58976" | ||
489 | |||
490 | ;# {MapColor2} {} {Terrain color 2 for textured maps} {"#455931"} | ||
491 | ; MapColor2 = "#455931" | ||
492 | |||
493 | ;# {MapColor3} {} {Terrain color 3 for textured maps} {"#A29A8D"} | ||
494 | ; MapColor3 = "#A29A8D" | ||
495 | |||
496 | ;# {MapColor4} {} {Terrain color 4 for textured maps} {"#C8C8C8"} | ||
497 | ; MapColor4 = "#C8C8C8" | ||
498 | |||
499 | |||
471 | [Permissions] | 500 | [Permissions] |
472 | ; ## | 501 | ; ## |
473 | ; ## PERMISSIONS | 502 | ; ## PERMISSIONS |
@@ -475,7 +504,7 @@ | |||
475 | 504 | ||
476 | ; Permission modules to use, separated by comma. | 505 | ; Permission modules to use, separated by comma. |
477 | ; Possible modules are DefaultPermissionsModule, PrimLimitsModule | 506 | ; Possible modules are DefaultPermissionsModule, PrimLimitsModule |
478 | ;permissionmodules = "DefaultPermissionsModule" | 507 | permissionmodules = "DefaultPermissionsModule" |
479 | 508 | ||
480 | ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy | 509 | ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy |
481 | ; any item, etc. This may not yet be implemented uniformally. | 510 | ; any item, etc. This may not yet be implemented uniformally. |
@@ -547,11 +576,11 @@ | |||
547 | ; - the second field is a number indicating whether the OAR file loaded ok (1 == ok, 0 == error) | 576 | ; - the second field is a number indicating whether the OAR file loaded ok (1 == ok, 0 == error) |
548 | ; - the third field is a number indicating how many scripts failed to compile | 577 | ; - the third field is a number indicating how many scripts failed to compile |
549 | ; - "oar error" if supplied, provides the error message from the OAR load | 578 | ; - "oar error" if supplied, provides the error message from the OAR load |
550 | channel_notify = -800 | 579 | channel_notify = 0 |
551 | 580 | ||
552 | ; - disallow logins while scripts are loading | 581 | ; - disallow logins while scripts are loading |
553 | ; Instability can occur on regions with 100+ scripts if users enter before they have finished loading | 582 | ; Instability can occur on regions with 100+ scripts if users enter before they have finished loading |
554 | login_disable = true | 583 | login_disable = false |
555 | 584 | ||
556 | ; - send an alert as json to a service | 585 | ; - send an alert as json to a service |
557 | ; alert_uri = "http://myappserver.net/my_handler/" | 586 | ; alert_uri = "http://myappserver.net/my_handler/" |
@@ -567,12 +596,12 @@ | |||
567 | ;# {ProfileURL} {} {Set url to UserProfilesService} {} | 596 | ;# {ProfileURL} {} {Set url to UserProfilesService} {} |
568 | ;; Set the value of the url to your UserProfilesService | 597 | ;; Set the value of the url to your UserProfilesService |
569 | ;; If un-set / "" the module is disabled | 598 | ;; If un-set / "" the module is disabled |
570 | ;; If the ProfileURL is not set, then very BASIC | 599 | ;; If the ProfileServiceURL is not set, then very BASIC |
571 | ;; profile support will be configured. If the ProfileURL is set to a | 600 | ;; profile support will be configured. If the ProfileServiceURL is set to a |
572 | ;; valid URL, then full profile support will be configured. The URL | 601 | ;; valid URL, then full profile support will be configured. The URL |
573 | ;; points to your grid's Robust user profiles service | 602 | ;; points to your grid's Robust user profiles service |
574 | ;; | 603 | ;; |
575 | ; ProfileURL = http://127.0.0.1:9000 | 604 | ProfileServiceURL = ${Const|GridURL}:${Const|PublicPort} |
576 | 605 | ||
577 | ;; set this to false to prevent your users to be sent to unknown | 606 | ;; set this to false to prevent your users to be sent to unknown |
578 | ;; web sites by other users on their profiles | 607 | ;; web sites by other users on their profiles |
@@ -592,10 +621,10 @@ | |||
592 | 621 | ||
593 | 622 | ||
594 | [Network] | 623 | [Network] |
595 | ConsoleUser = "Test" | 624 | ;ConsoleUser = "Test" |
596 | ConsolePass = "secret" | 625 | ;ConsolePass = "secret" |
597 | http_listener_port = 9000 | 626 | ;http_listener_port = 9000 |
598 | console_port = 0 | 627 | ;console_port = 0 |
599 | 628 | ||
600 | ; ssl config: Experimental! | 629 | ; ssl config: Experimental! |
601 | http_listener_ssl = false ; if set to true main server is replaced by a ssl one | 630 | http_listener_ssl = false ; if set to true main server is replaced by a ssl one |
@@ -631,6 +660,7 @@ | |||
631 | ; must be a valid hostname for the ssl cert. | 660 | ; must be a valid hostname for the ssl cert. |
632 | ; if not defined - llRequestURL/llRequestSecureURL are disabled | 661 | ; if not defined - llRequestURL/llRequestSecureURL are disabled |
633 | ; ExternalHostNameForLSL=127.0.0.1 | 662 | ; ExternalHostNameForLSL=127.0.0.1 |
663 | ExternalHostNameForLSL = "${Const|HostName}" | ||
634 | 664 | ||
635 | ; Disallow the following address ranges for user scripting calls (e.g. llHttpRequest()) | 665 | ; Disallow the following address ranges for user scripting calls (e.g. llHttpRequest()) |
636 | ; This is based on http://en.wikipedia.org/wiki/Reserved_IP_addresses | 666 | ; This is based on http://en.wikipedia.org/wiki/Reserved_IP_addresses |
@@ -721,8 +751,8 @@ | |||
721 | ; Adaptive throttling attempts to limit network overload when multiple | 751 | ; Adaptive throttling attempts to limit network overload when multiple |
722 | ; clients login by starting each connection more slowly. Disabled by | 752 | ; clients login by starting each connection more slowly. Disabled by |
723 | ; default | 753 | ; default |
724 | ; currently disabled | 754 | ; |
725 | ;enable_adaptive_throttles = false | 755 | enable_adaptive_throttles = true |
726 | 756 | ||
727 | 757 | ||
728 | ; TextureSendLimit determines how many packets will be put on | 758 | ; TextureSendLimit determines how many packets will be put on |
@@ -739,7 +769,7 @@ | |||
739 | ; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps | 769 | ; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps |
740 | ; will also be affected. | 770 | ; will also be affected. |
741 | ; | 771 | ; |
742 | ;DisableFacelights = false | 772 | DisableFacelights = true |
743 | 773 | ||
744 | ; The time to wait before disconecting an unresponsive client. | 774 | ; The time to wait before disconecting an unresponsive client. |
745 | ; The time is in seconds. The default is one minute | 775 | ; The time is in seconds. The default is one minute |
@@ -788,7 +818,7 @@ | |||
788 | Cap_GetObjectCost = "" | 818 | Cap_GetObjectCost = "" |
789 | Cap_GetObjectPhysicsData = "" | 819 | Cap_GetObjectPhysicsData = "" |
790 | Cap_GroupProposalBallot = "" | 820 | Cap_GroupProposalBallot = "" |
791 | Cap_GroupMemberData = "localhost" | 821 | Cap_GroupMemberData = "localhost" |
792 | Cap_HomeLocation = "localhost" | 822 | Cap_HomeLocation = "localhost" |
793 | Cap_LandResources = "" | 823 | Cap_LandResources = "" |
794 | Cap_MapLayer = "localhost" | 824 | Cap_MapLayer = "localhost" |
@@ -845,13 +875,14 @@ | |||
845 | enabled = true | 875 | enabled = true |
846 | 876 | ||
847 | ; Distance in meters that whispers should travel. Default is 10m | 877 | ; Distance in meters that whispers should travel. Default is 10m |
848 | whisper_distance = 10 | 878 | whisper_distance = 15 |
849 | 879 | ||
850 | ; Distance in meters that ordinary chat should travel. Default is 20m | 880 | ; Distance in meters that ordinary chat should travel. Default is 20m |
851 | say_distance = 20 | 881 | say_distance = 40 |
852 | 882 | ||
853 | ; Distance in meters that shouts should travel. Default is 100m | 883 | ; Distance in meters that shouts should travel. Default is 100m |
854 | shout_distance = 100 | 884 | shout_distance = 256 |
885 | |||
855 | 886 | ||
856 | [EntityTransfer] | 887 | [EntityTransfer] |
857 | ; The maximum distance in regions that an agent is allowed to teleport | 888 | ; The maximum distance in regions that an agent is allowed to teleport |
@@ -864,9 +895,9 @@ | |||
864 | ; Allow avatars to cross into and out of the region. | 895 | ; Allow avatars to cross into and out of the region. |
865 | AllowAvatarCrossing = true | 896 | AllowAvatarCrossing = true |
866 | 897 | ||
867 | ; This disables border transfers for objects. When true, objects can be placed outside | 898 | ; This disables border transfers for objects. When true, objects can be placed outside |
868 | ; the region's border without being transferred to another simulator. | 899 | ; the region's border without being transferred to another simulator. |
869 | DisableObjectTransfer = false | 900 | DisableObjectTransfer = false |
870 | 901 | ||
871 | ; Minimum user level required for HyperGrid teleports | 902 | ; Minimum user level required for HyperGrid teleports |
872 | LevelHGTeleport = 0 | 903 | LevelHGTeleport = 0 |
@@ -876,10 +907,10 @@ | |||
876 | ; Disabling cancellation can be okay in small closed grids where all teleports are highly likely to suceed. | 907 | ; Disabling cancellation can be okay in small closed grids where all teleports are highly likely to suceed. |
877 | DisableInterRegionTeleportCancellation = false | 908 | DisableInterRegionTeleportCancellation = false |
878 | 909 | ||
879 | ;; This option exists to control the behavior of teleporting gods into places that have landing points | 910 | ;; This option exists to control the behavior of teleporting gods into places that have landing points |
880 | ;; and telehubs. Historically, there has been a difference: OpenSim (OS) has honored landing points and telehubs even for | 911 | ;; and telehubs. Historically, there has been a difference: OpenSim (OS) has honored landing points and telehubs even for |
881 | ;; avatars with god permissions; SL lets gods land wherever they want. | 912 | ;; avatars with god permissions; SL lets gods land wherever they want. |
882 | LandingPointBehavior = LandingPointBehavior_OS | 913 | LandingPointBehavior = LandingPointBehavior_SL |
883 | 914 | ||
884 | 915 | ||
885 | [Messaging] | 916 | [Messaging] |
@@ -909,7 +940,7 @@ | |||
909 | ; crossings especially with large numbers of users, though it | 940 | ; crossings especially with large numbers of users, though it |
910 | ; will store potentially large numbers of textures in your asset | 941 | ; will store potentially large numbers of textures in your asset |
911 | ; database | 942 | ; database |
912 | PersistBakedTextures = false | 943 | PersistBakedTextures = true |
913 | 944 | ||
914 | ; Control the delay before appearance is sent to other avatars and | 945 | ; Control the delay before appearance is sent to other avatars and |
915 | ; saved in the avatar service. Attempts to limit the impact caused | 946 | ; saved in the avatar service. Attempts to limit the impact caused |
@@ -921,11 +952,11 @@ | |||
921 | ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds. | 952 | ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds. |
922 | ; This may help with some situations where avatars are persistently grey, though it will not help | 953 | ; This may help with some situations where avatars are persistently grey, though it will not help |
923 | ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others). | 954 | ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others). |
924 | ResendAppearanceUpdates = false | 955 | ResendAppearanceUpdates = true |
925 | 956 | ||
926 | ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar | 957 | ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar |
927 | ; on every login | 958 | ; on every login |
928 | ReuseTextures = false | 959 | ReuseTextures = true |
929 | 960 | ||
930 | 961 | ||
931 | [Attachments] | 962 | [Attachments] |
@@ -949,7 +980,7 @@ | |||
949 | ;LevelUpload = 0 | 980 | ;LevelUpload = 0 |
950 | 981 | ||
951 | ; support meshes on physics | 982 | ; support meshes on physics |
952 | ;UseMeshiesPhysicsMesh = true | 983 | UseMeshiesPhysicsMesh = true |
953 | 984 | ||
954 | ;support convex shape type on normal prims | 985 | ;support convex shape type on normal prims |
955 | ; (ubOde only) | 986 | ; (ubOde only) |
@@ -1023,18 +1054,18 @@ | |||
1023 | avatar_terminal_velocity = 54 | 1054 | avatar_terminal_velocity = 54 |
1024 | 1055 | ||
1025 | ; World Step size. | 1056 | ; World Step size. |
1026 | ; with legacy ODE this value needs to be close to 0.02s | 1057 | ; with legacy ODE this value needs to be close to 0.02s |
1027 | ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load | 1058 | ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load |
1028 | ; you will need to test acording to you needs | 1059 | ; you will need to test acording to you needs |
1029 | ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS | 1060 | ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS |
1030 | world_stepsize = 0.01818 | 1061 | world_stepsize = 0.01818 |
1031 | ; number of iterations of constrains solver, higher should improve results | 1062 | ; number of iterations of constrains solver, higher should improve results |
1032 | ; up to a point where acumulated math errors eliminate the improvement | 1063 | ; up to a point where acumulated math errors eliminate the improvement |
1033 | ; more steps may increase CPU load. No real gain in changing | 1064 | ; more steps may increase CPU load. No real gain in changing |
1034 | world_solver_iterations = 10 | 1065 | world_solver_iterations = 10 |
1035 | 1066 | ||
1036 | ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim | 1067 | ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim |
1037 | ; defines spaces partition cells min and max sizes == 2^value | 1068 | ; defines spaces partition cells min and max sizes == 2^value |
1038 | world_hashspace_level_low = -5 | 1069 | world_hashspace_level_low = -5 |
1039 | world_hashSpace_level_high = 12 | 1070 | world_hashSpace_level_high = 12 |
1040 | 1071 | ||
@@ -1186,15 +1217,15 @@ | |||
1186 | 1217 | ||
1187 | ; BulletSim can run on its own thread independent of the simulator's heartbeat | 1218 | ; BulletSim can run on its own thread independent of the simulator's heartbeat |
1188 | ; thread. Enabling this will not let the physics engine slow down avatar movement, etc. | 1219 | ; thread. Enabling this will not let the physics engine slow down avatar movement, etc. |
1189 | UseSeparatePhysicsThread = false | 1220 | UseSeparatePhysicsThread = true |
1190 | 1221 | ||
1191 | ; Terrain implementation can use either Bullet's heightField or BulletSim can build | 1222 | ; Terrain implementation can use either Bullet's heightField or BulletSim can build |
1192 | ; a mesh. 0=heightField, 1=mesh | 1223 | ; a mesh. 0=heightField, 1=mesh |
1193 | TerrainImplementation = 0 | 1224 | TerrainImplementation = 1 |
1194 | ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield | 1225 | ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield |
1195 | ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher | 1226 | ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher |
1196 | ; magnifications use lots of memory. | 1227 | ; magnifications use lots of memory. |
1197 | TerrainMeshMagnification = 2 | 1228 | TerrainMeshMagnification = 3 |
1198 | 1229 | ||
1199 | ; Should avatars collide with each other? | 1230 | ; Should avatars collide with each other? |
1200 | AvatarToAvatarCollisionsByDefault = true | 1231 | AvatarToAvatarCollisionsByDefault = true |
@@ -1208,13 +1239,14 @@ | |||
1208 | ; Avatar walk-up-stairs parameters | 1239 | ; Avatar walk-up-stairs parameters |
1209 | ; If an avatar collides with an object 'close to its feet', the avatar will be | 1240 | ; If an avatar collides with an object 'close to its feet', the avatar will be |
1210 | ; moved/pushed up do simulate stepping up. | 1241 | ; moved/pushed up do simulate stepping up. |
1211 | ;AvatarStepHeight = 0.6 ; The height, below which is considered a step collision. | 1242 | ;;;; Has trouble with the lighthouse stairs, but all others work fine, can even climb over some fences. Which is odd. |
1212 | ;AvatarStepAngle = 0.3 ; The angle from vertical (in radians) to consider a surface a step | 1243 | AvatarStepHeight = 0.6 ; The height, below which is considered a step collision. |
1213 | ;AvatarStepApproachFactor = 2 ; Approach angle factor. O=straight on, .6=~45 degrees. | 1244 | AvatarStepAngle = 0.3 ; The angle from vertical (in radians) to consider a surface a step |
1214 | ;AvatarStepGroundFudge = 0.1 ; Fudge added to bottom of avatar below which step collisions happen | 1245 | AvatarStepApproachFactor = 2 ; Approach angle factor. O=straight on, .6=~45 degrees. |
1215 | ;AvatarStepForceFactor = 0 ; Avatar is pushed up by its mass times this factor | 1246 | AvatarStepGroundFudge = 0.1 ; Fudge added to bottom of avatar below which step collisions happen |
1216 | ;AvatarStepUpCorrectionFactor = 0.8 ; Avatar is displaced up the collision height times this factor | 1247 | AvatarStepForceFactor = 0 ; Avatar is pushed up by its mass times this factor |
1217 | ;AvatarStepSmoothingSteps = 1 ; Number of frames after a step collision that up correction is applied | 1248 | AvatarStepUpCorrectionFactor = 1.1 ; Avatar is displaced up the collision height times this factor |
1249 | AvatarStepSmoothingSteps = 3 ; Number of frames after a step collision that up correction is applied | ||
1218 | 1250 | ||
1219 | ; Terminal velocity of a falling avatar | 1251 | ; Terminal velocity of a falling avatar |
1220 | ; This is the same http://en.wikipedia.org/wiki/Terminal_velocity#Examples | 1252 | ; This is the same http://en.wikipedia.org/wiki/Terminal_velocity#Examples |
@@ -1346,9 +1378,9 @@ | |||
1346 | ; flush-on-error = true | 1378 | ; flush-on-error = true |
1347 | 1379 | ||
1348 | 1380 | ||
1349 | ; IRC bridge is experimental, so if it breaks... keep both parts... yada yada | ||
1350 | ; also, not good error detection when it fails | ||
1351 | [IRC] | 1381 | [IRC] |
1382 | ; IRC bridge is experimental, so if it breaks... keep both parts... yada yada | ||
1383 | ; also, not good error detection when it fails | ||
1352 | enabled = false; you need to set this to true otherwise it won't connect | 1384 | enabled = false; you need to set this to true otherwise it won't connect |
1353 | ;server = name.of.irc.server.on.the.net | 1385 | ;server = name.of.irc.server.on.the.net |
1354 | ;; user password - only use this if the server requires one | 1386 | ;; user password - only use this if the server requires one |
@@ -1417,15 +1449,15 @@ | |||
1417 | ;alert_msg_post = "Everything you say in public chat can be listened." | 1449 | ;alert_msg_post = "Everything you say in public chat can be listened." |
1418 | 1450 | ||
1419 | 1451 | ||
1420 | ; The following settings control the progression of daytime | ||
1421 | ; in the Sim. The defaults are the same as the commented out settings | ||
1422 | [Sun] | 1452 | [Sun] |
1453 | ; The following settings control the progression of daytime | ||
1454 | ; in the Sim. The defaults are the same as the commented out settings | ||
1423 | ; number of wall clock hours for an opensim day. 24.0 would mean realtime | 1455 | ; number of wall clock hours for an opensim day. 24.0 would mean realtime |
1424 | ;day_length = 4 | 1456 | day_length = 24 |
1425 | ; Year length in days | 1457 | ; Year length in days |
1426 | ;year_length = 60 | 1458 | year_length = 365 |
1427 | ; Day to Night Ratio | 1459 | ; Day to Night Ratio |
1428 | ;day_night_offset = 0.45 | 1460 | day_night_offset = 1.0 |
1429 | ; send a Sun update every update_interval # of frames. A lower number will | 1461 | ; send a Sun update every update_interval # of frames. A lower number will |
1430 | ; make for smoother sun transition at the cost of network | 1462 | ; make for smoother sun transition at the cost of network |
1431 | ;update_interval = 100 | 1463 | ;update_interval = 100 |
@@ -1457,7 +1489,7 @@ | |||
1457 | [Cloud] | 1489 | [Cloud] |
1458 | ; Enable this to generate classic particle clouds above the sim. | 1490 | ; Enable this to generate classic particle clouds above the sim. |
1459 | ; default is disabled - turn it on here | 1491 | ; default is disabled - turn it on here |
1460 | enabled = false | 1492 | enabled = true |
1461 | 1493 | ||
1462 | ; Density of cloud cover 0.0 to 1.0 Defult 0.5 | 1494 | ; Density of cloud cover 0.0 to 1.0 Defult 0.5 |
1463 | density = 0.5 | 1495 | density = 0.5 |
@@ -1470,7 +1502,7 @@ | |||
1470 | [LightShare] | 1502 | [LightShare] |
1471 | ; This enables the transmission of Windlight scenes to supporting clients, such as the Meta7 viewer. | 1503 | ; This enables the transmission of Windlight scenes to supporting clients, such as the Meta7 viewer. |
1472 | ; It has no ill effect on viewers which do not support server-side windlight settings. | 1504 | ; It has no ill effect on viewers which do not support server-side windlight settings. |
1473 | enable_windlight = false | 1505 | enable_windlight = true |
1474 | 1506 | ||
1475 | 1507 | ||
1476 | [Trees] | 1508 | [Trees] |
@@ -1502,7 +1534,7 @@ | |||
1502 | 1534 | ||
1503 | ; Are god functions such as llSetObjectPermMask() allowed? If true then gods and only gods have access to these functions. | 1535 | ; Are god functions such as llSetObjectPermMask() allowed? If true then gods and only gods have access to these functions. |
1504 | ; If false then gods cannot execute these functions either. | 1536 | ; If false then gods cannot execute these functions either. |
1505 | AllowGodFunctions = false | 1537 | AllowGodFunctions = true |
1506 | 1538 | ||
1507 | ; Restrict the email address used by llEmail to the address associated with the avatars user account? | 1539 | ; Restrict the email address used by llEmail to the address associated with the avatars user account? |
1508 | ; 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. | 1540 | ; 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. |
@@ -1511,11 +1543,11 @@ | |||
1511 | 1543 | ||
1512 | ; Maximum number of llListen events we allow over the entire region. | 1544 | ; Maximum number of llListen events we allow over the entire region. |
1513 | ; Set this to 0 to have no limit imposed | 1545 | ; Set this to 0 to have no limit imposed |
1514 | max_listens_per_region = 1000 | 1546 | max_listens_per_region = 0 |
1515 | 1547 | ||
1516 | ; Maximum number of llListen events we allow per script | 1548 | ; Maximum number of llListen events we allow per script |
1517 | ; Set this to 0 to have no limit imposed. | 1549 | ; Set this to 0 to have no limit imposed. |
1518 | max_listens_per_script = 64 | 1550 | max_listens_per_script = 0 |
1519 | 1551 | ||
1520 | ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL()) | 1552 | ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL()) |
1521 | max_external_urls_per_simulator = 100 | 1553 | max_external_urls_per_simulator = 100 |
@@ -1628,7 +1660,7 @@ | |||
1628 | ; compared to previous version of llCastRay in OpenSimulator. | 1660 | ; compared to previous version of llCastRay in OpenSimulator. |
1629 | ; Is in most cases considerably slower than llCastRay in Second Life. | 1661 | ; Is in most cases considerably slower than llCastRay in Second Life. |
1630 | ; Generates geometry meshes and can therefore use much system resources. | 1662 | ; Generates geometry meshes and can therefore use much system resources. |
1631 | UseLlCastRayV3 = false | 1663 | UseLlCastRayV3 = true |
1632 | 1664 | ||
1633 | ; Accepted calculation precision error in calculations in llCastRay V3 | 1665 | ; Accepted calculation precision error in calculations in llCastRay V3 |
1634 | FloatToleranceInLlCastRay = 0.00001 | 1666 | FloatToleranceInLlCastRay = 0.00001 |
@@ -1701,7 +1733,7 @@ | |||
1701 | data_exposure = minimum | 1733 | data_exposure = minimum |
1702 | 1734 | ||
1703 | ; If search is on, change this to your grid name; will be ignored for standalones | 1735 | ; If search is on, change this to your grid name; will be ignored for standalones |
1704 | gridname = "OSGrid" | 1736 | gridname = "${Const|GridName}" |
1705 | 1737 | ||
1706 | ; Period between data snapshots, in seconds. 20 minutes, for starters, so that you see the initial changes fast. | 1738 | ; Period between data snapshots, in seconds. 20 minutes, for starters, so that you see the initial changes fast. |
1707 | ; Later, you may want to increase this to 3600 (1 hour) or more | 1739 | ; Later, you may want to increase this to 3600 (1 hour) or more |
@@ -1726,13 +1758,13 @@ | |||
1726 | ; Economy values get used in the BetaGridLikeMoneyModule. | 1758 | ; Economy values get used in the BetaGridLikeMoneyModule. |
1727 | 1759 | ||
1728 | ;; Enables selling things for $0. Default is true. | 1760 | ;; Enables selling things for $0. Default is true. |
1729 | ; SellEnabled = true | 1761 | SellEnabled = true |
1730 | 1762 | ||
1731 | ;; Money Unit fee to upload textures, animations etc. Default is 0. | 1763 | ;; Money Unit fee to upload textures, animations etc. Default is 0. |
1732 | ;PriceUpload = 0 | 1764 | PriceUpload = 0 |
1733 | 1765 | ||
1734 | ;; Money Unit fee to create groups. Default is 0. | 1766 | ;; Money Unit fee to create groups. Default is 0. |
1735 | ;PriceGroupCreate = 0 | 1767 | PriceGroupCreate = 0 |
1736 | 1768 | ||
1737 | ; We don't really know what the rest of these values do. These get sent to the client | 1769 | ; We don't really know what the rest of these values do. These get sent to the client |
1738 | ; These taken from Agni at a Public Telehub. Change at your own risk. | 1770 | ; These taken from Agni at a Public Telehub. Change at your own risk. |
@@ -1804,7 +1836,7 @@ | |||
1804 | Priority = "BelowNormal" | 1836 | Priority = "BelowNormal" |
1805 | 1837 | ||
1806 | ; Maximum number of events to queue for a script (excluding timers) | 1838 | ; Maximum number of events to queue for a script (excluding timers) |
1807 | MaxScriptEventQueue = 300 | 1839 | MaxScriptEventQueue = 3000 |
1808 | 1840 | ||
1809 | ; Stack size per thread created | 1841 | ; Stack size per thread created |
1810 | ThreadStackSize = 262144 | 1842 | ThreadStackSize = 262144 |
@@ -1815,7 +1847,7 @@ | |||
1815 | ; this may only be a problem if regions stay alive for a long time with lots of scripts added or edited. | 1847 | ; this may only be a problem if regions stay alive for a long time with lots of scripts added or edited. |
1816 | ; at this time some mono versions seem to have problems with the true option | 1848 | ; at this time some mono versions seem to have problems with the true option |
1817 | ; so default is now false until a fix is found | 1849 | ; so default is now false until a fix is found |
1818 | ; AppDomainLoading = false | 1850 | AppDomainLoading = false |
1819 | 1851 | ||
1820 | ; Controls whether previously compiled scripts DLLs are deleted on sim restart. | 1852 | ; Controls whether previously compiled scripts DLLs are deleted on sim restart. |
1821 | ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled. | 1853 | ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled. |
@@ -1823,7 +1855,7 @@ | |||
1823 | ; after first run you can change to false. | 1855 | ; after first run you can change to false. |
1824 | ; You can also set it to false and delete the script DLLs by hand | 1856 | ; You can also set it to false and delete the script DLLs by hand |
1825 | ; This does not delete cached scripts state. | 1857 | ; This does not delete cached scripts state. |
1826 | ; DeleteScriptsOnStartup = true | 1858 | DeleteScriptsOnStartup = false |
1827 | 1859 | ||
1828 | ; CompactMemOnLoad | 1860 | ; CompactMemOnLoad |
1829 | ; forces calls to memory garbage collector before loading each script DLL during region startup. | 1861 | ; forces calls to memory garbage collector before loading each script DLL during region startup. |
@@ -1851,19 +1883,23 @@ | |||
1851 | ; Compile debug info (line numbers) into the script assemblies | 1883 | ; Compile debug info (line numbers) into the script assemblies |
1852 | CompileWithDebugInformation = true | 1884 | CompileWithDebugInformation = true |
1853 | 1885 | ||
1886 | ; Don't include stack traces in silly threat level errors, and don't bother with "OSSL Runtime Error: " either. | ||
1887 | ; On the other hand, having this true stops the official OpenSim OhSilly detection script from working. | ||
1888 | DebuggerSafe = true | ||
1889 | |||
1854 | ; Allow the user of mod* functions. This allows a script to pass messages | 1890 | ; Allow the user of mod* functions. This allows a script to pass messages |
1855 | ; to a region module via the modSendCommand() function | 1891 | ; to a region module via the modSendCommand() function |
1856 | ; Default is false | 1892 | ; Default is false |
1857 | AllowMODFunctions = false | 1893 | AllowMODFunctions = true |
1858 | 1894 | ||
1859 | ; Allow the use of os* functions (some are dangerous) | 1895 | ; Allow the use of os* functions (some are dangerous) |
1860 | AllowOSFunctions = false | 1896 | AllowOSFunctions = true |
1861 | 1897 | ||
1862 | ; Allow the user of LightShare functions | 1898 | ; Allow the user of LightShare functions |
1863 | AllowLightShareFunctions = false | 1899 | AllowLightShareFunctions = true |
1864 | 1900 | ||
1865 | ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe | 1901 | ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe |
1866 | OSFunctionThreatLevel = VeryLow | 1902 | OSFunctionThreatLevel = Moderate |
1867 | 1903 | ||
1868 | ; OS Functions enable/disable | 1904 | ; OS Functions enable/disable |
1869 | ; For each function, you can add one line, as shown | 1905 | ; For each function, you can add one line, as shown |
@@ -1898,10 +1934,10 @@ | |||
1898 | MaintenanceInterval = 10 | 1934 | MaintenanceInterval = 10 |
1899 | 1935 | ||
1900 | ; Time a script can spend in an event handler before it is interrupted | 1936 | ; Time a script can spend in an event handler before it is interrupted |
1901 | EventLimit = 30 | 1937 | EventLimit = 60 |
1902 | 1938 | ||
1903 | ; If a script overruns it's event limit, kill the script? | 1939 | ; If a script overruns it's event limit, kill the script? |
1904 | KillTimedOutScripts = false | 1940 | KillTimedOutScripts = true |
1905 | 1941 | ||
1906 | ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested | 1942 | ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested |
1907 | ; before aborting the thread (such as when an object containing scripts is taken into inventory). | 1943 | ; before aborting the thread (such as when an object containing scripts is taken into inventory). |
@@ -1915,25 +1951,25 @@ | |||
1915 | 1951 | ||
1916 | ; Maximum length of notecard line read | 1952 | ; Maximum length of notecard line read |
1917 | ; Increasing this to large values potentially opens | 1953 | ; Increasing this to large values potentially opens |
1918 | ; up the system to malicious scripters | 1954 | ; up the system to malicious scripters. Pfffft. |
1919 | ; NotecardLineReadCharsMax = 255 | 1955 | NotecardLineReadCharsMax = 1024 |
1920 | 1956 | ||
1921 | ; Minimum settable timer interval. Any timer setting less than this is | 1957 | ; Minimum settable timer interval. Any timer setting less than this is |
1922 | ; rounded up to this minimum interval. | 1958 | ; rounded up to this minimum interval. |
1923 | ; MinTimerInterval = 0.5 | 1959 | MinTimerInterval = 0.1 |
1924 | 1960 | ||
1925 | ; Sensor settings | 1961 | ; Sensor settings |
1926 | SensorMaxRange = 96.0 | 1962 | SensorMaxRange = 1024.0 |
1927 | SensorMaxResults = 16 | 1963 | SensorMaxResults = 64 |
1928 | 1964 | ||
1929 | ; Allow for llCreateLink and llBreakLink to work without asking for permission | 1965 | ; Allow for llCreateLink and llBreakLink to work without asking for permission |
1930 | ; only enable this in a trusted environment otherwise you may be subject to hijacking | 1966 | ; only enable this in a trusted environment otherwise you may be subject to hijacking |
1931 | ; AutomaticLinkPermission = false | 1967 | AutomaticLinkPermission = true |
1932 | 1968 | ||
1933 | ; Disable underground movement of prims (default true); set to | 1969 | ; Disable underground movement of prims (default true); set to |
1934 | ; false to allow script controlled underground positioning of | 1970 | ; false to allow script controlled underground positioning of |
1935 | ; prims | 1971 | ; prims |
1936 | ; DisableUndergroundMovement = true | 1972 | DisableUndergroundMovement = false |
1937 | 1973 | ||
1938 | ;; Path to script assemblies | 1974 | ;; Path to script assemblies |
1939 | ; ScriptEnginesPath = "${Paths|CachePath}/ScriptEngines" | 1975 | ; ScriptEnginesPath = "${Paths|CachePath}/ScriptEngines" |
@@ -2036,7 +2072,7 @@ | |||
2036 | 2072 | ||
2037 | 2073 | ||
2038 | [Groups] | 2074 | [Groups] |
2039 | Enabled = false | 2075 | Enabled = true |
2040 | 2076 | ||
2041 | ; This is the current groups stub in Region.CoreModules.Avatar.Groups. All the other settings below only really | 2077 | ; This is the current groups stub in Region.CoreModules.Avatar.Groups. All the other settings below only really |
2042 | ; apply to the Flotsam/SimianGrid GroupsModule | 2078 | ; apply to the Flotsam/SimianGrid GroupsModule |
@@ -2047,7 +2083,7 @@ | |||
2047 | ;Module = GroupsModule | 2083 | ;Module = GroupsModule |
2048 | 2084 | ||
2049 | ; Enable Group Notices | 2085 | ; Enable Group Notices |
2050 | ;NoticesEnabled = true | 2086 | NoticesEnabled = true |
2051 | 2087 | ||
2052 | ; This makes the Group module very chatty on the console. | 2088 | ; This makes the Group module very chatty on the console. |
2053 | DebugEnabled = false | 2089 | DebugEnabled = false |
@@ -2067,7 +2103,7 @@ | |||
2067 | ; Experimental option to only message cached online users rather than all users | 2103 | ; Experimental option to only message cached online users rather than all users |
2068 | ; Should make large group with few online members messaging faster, at the expense of more calls to ROBUST presence service | 2104 | ; Should make large group with few online members messaging faster, at the expense of more calls to ROBUST presence service |
2069 | ; (Flotsam groups only; in V2 this is always on) | 2105 | ; (Flotsam groups only; in V2 this is always on) |
2070 | MessageOnlineUsersOnly = false | 2106 | MessageOnlineUsersOnly = true |
2071 | 2107 | ||
2072 | ; Service connectors to the Groups Service. Select one depending on whether you're using a Flotsam XmlRpc backend or a SimianGrid backend | 2108 | ; Service connectors to the Groups Service. Select one depending on whether you're using a Flotsam XmlRpc backend or a SimianGrid backend |
2073 | 2109 | ||
@@ -2084,11 +2120,11 @@ | |||
2084 | ;XmlRpcServiceWriteKey = 1234 | 2120 | ;XmlRpcServiceWriteKey = 1234 |
2085 | 2121 | ||
2086 | ; Disables HTTP Keep-Alive for XmlRpcGroupsServicesConnector HTTP Requests, | 2122 | ; Disables HTTP Keep-Alive for XmlRpcGroupsServicesConnector HTTP Requests, |
2087 | ; only set to false it if you absolute sure regions and groups server support it. | 2123 | ; only set to false it if you absolute sure regions and groups server support it. |
2088 | ; XmlRpcDisableKeepAlive = true | 2124 | ; XmlRpcDisableKeepAlive = true |
2089 | 2125 | ||
2090 | ; Minimum user level required to create groups | 2126 | ; Minimum user level required to create groups |
2091 | ;LevelGroupCreate = 0 | 2127 | LevelGroupCreate = 0 |
2092 | 2128 | ||
2093 | 2129 | ||
2094 | [PacketPool] | 2130 | [PacketPool] |
@@ -2163,20 +2199,20 @@ | |||
2163 | 2199 | ||
2164 | [NPC] | 2200 | [NPC] |
2165 | ;; Enable Non Player Character (NPC) facilities | 2201 | ;; Enable Non Player Character (NPC) facilities |
2166 | Enabled = false | 2202 | Enabled = true |
2167 | ;; several options to control NPCs creation | 2203 | ;; several options to control NPCs creation |
2168 | 2204 | ||
2169 | ;; allow NPCs to be created not Owned {true false} default: true | 2205 | ;; allow NPCs to be created not Owned {true false} default: true |
2170 | ; AllowNotOwned = true | 2206 | AllowNotOwned = true |
2171 | 2207 | ||
2172 | ;; allow NPCs to set to be sensed as Avatars {true false} default: true | 2208 | ;; allow NPCs to set to be sensed as Avatars {true false} default: true |
2173 | ; AllowSenseAsAvatar = true | 2209 | AllowSenseAsAvatar = true |
2174 | 2210 | ||
2175 | ;; allow NPCs to created cloning any avatar in region {true false} default: true | 2211 | ;; allow NPCs to created cloning any avatar in region {true false} default: true |
2176 | ; AllowCloneOtherAvatars = true | 2212 | AllowCloneOtherAvatars = true |
2177 | 2213 | ||
2178 | ;; if true NPCs will have no group title, if false display "- NPC -" for easy identification {true false} default: true | 2214 | ;; if true NPCs will have no group title, if false display "- NPC -" for easy identification {true false} default: true |
2179 | ; NoNPCGroup = true | 2215 | NoNPCGroup = false |
2180 | 2216 | ||
2181 | [Terrain] | 2217 | [Terrain] |
2182 | ; Values can be "pinhead-island" or "flat" | 2218 | ; Values can be "pinhead-island" or "flat" |
@@ -2195,15 +2231,15 @@ | |||
2195 | ; will be what it has always been (send the whole region's parcel layer info). | 2231 | ; will be what it has always been (send the whole region's parcel layer info). |
2196 | ; Other parcel updates (login, changing parcel ownership, ...) will still send | 2232 | ; Other parcel updates (login, changing parcel ownership, ...) will still send |
2197 | ; whole region. | 2233 | ; whole region. |
2198 | LimitParcelLayerUpdateDistance = true | 2234 | LimitParcelLayerUpdateDistance = false |
2199 | ParcelLayerViewDistance = 128 | 2235 | ParcelLayerViewDistance = 1024 |
2200 | 2236 | ||
2201 | ; set this to false to not display parcel ban lines | 2237 | ; set this to false to not display parcel ban lines |
2202 | ShowParcelBansLines = true | 2238 | ShowParcelBansLines = true |
2203 | 2239 | ||
2204 | ; Parcel Bans max height above ground. Default 100m | 2240 | ; Parcel Bans max height above ground. Default 100m |
2205 | ; range 20m to 5000m | 2241 | ; range 20m to 5000m |
2206 | ; BanLineSafeHeight = 100 | 2242 | BanLineSafeHeight = 5000 |
2207 | 2243 | ||
2208 | ; setting the parcel to admin content, It works as setting the land to Linden content in SL. | 2244 | ; setting the parcel to admin content, It works as setting the land to Linden content in SL. |
2209 | ; To use it, activate god mode in the viewer, select the parcel and go to: Admin -> Parcel -> Set to Linden Content ( CTRL+ALT+SHIFT+C) | 2245 | ; To use it, activate god mode in the viewer, select the parcel and go to: Admin -> Parcel -> Set to Linden Content ( CTRL+ALT+SHIFT+C) |
@@ -2225,10 +2261,10 @@ | |||
2225 | ;; JsonStore module provides structured store for scripts | 2261 | ;; JsonStore module provides structured store for scripts |
2226 | ;; | 2262 | ;; |
2227 | [JsonStore] | 2263 | [JsonStore] |
2228 | Enabled = False | 2264 | Enabled = true |
2229 | 2265 | ||
2230 | ;; Enable direct access to the SOP dynamic attributes | 2266 | ;; Enable direct access to the SOP dynamic attributes |
2231 | EnableObjectStore = False | 2267 | EnableObjectStore = true |
2232 | MaxStringSpace = 0 | 2268 | MaxStringSpace = 0 |
2233 | 2269 | ||
2234 | 2270 | ||
diff --git a/bin/Robust.exe.config b/bin/Robust.exe.config index 62ffcc6..f5379ff 100644 --- a/bin/Robust.exe.config +++ b/bin/Robust.exe.config | |||
@@ -11,6 +11,7 @@ | |||
11 | 11 | ||
12 | <log4net> | 12 | <log4net> |
13 | <appender name="Console" type="OpenSim.Framework.Console.OpenSimAppender, OpenSim.Framework.Console"> | 13 | <appender name="Console" type="OpenSim.Framework.Console.OpenSimAppender, OpenSim.Framework.Console"> |
14 | <threshold value="INFO" /> | ||
14 | <filter type="log4net.Filter.LoggerMatchFilter"> | 15 | <filter type="log4net.Filter.LoggerMatchFilter"> |
15 | <loggerToMatch value="special"/> | 16 | <loggerToMatch value="special"/> |
16 | <acceptOnMatch value="false"/> | 17 | <acceptOnMatch value="false"/> |
@@ -20,24 +21,18 @@ | |||
20 | </layout> | 21 | </layout> |
21 | </appender> | 22 | </appender> |
22 | 23 | ||
23 | <!-- If you want automatic log-rolling then use RollingFileAppender instead of FileAppender: | ||
24 | <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender"> | 24 | <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender"> |
25 | <threshold value="DEBUG" /> | 25 | <threshold value="DEBUG" /> |
26 | <file value="../../logs/Robust.log" /> | 26 | <file value="../../logs/Robust.log" /> |
27 | <rollingStyle value="Date" /> | 27 | <rollingStyle value="Date" /> |
28 | <datePattern value="'.'yyyy-MM-dd"/> | 28 | <datePattern value="'.'yyyy-MM-dd"/> |
29 | ... | ||
30 | --> | ||
31 | |||
32 | <appender name="LogFileAppender" type="log4net.Appender.FileAppender"> | ||
33 | <file value="Robust.log" /> | ||
34 | <appendToFile value="true" /> | 29 | <appendToFile value="true" /> |
35 | <filter type="log4net.Filter.LoggerMatchFilter"> | 30 | <filter type="log4net.Filter.LoggerMatchFilter"> |
36 | <loggerToMatch value="special"/> | 31 | <loggerToMatch value="special"/> |
37 | <acceptOnMatch value="false"/> | 32 | <acceptOnMatch value="false"/> |
38 | </filter> | 33 | </filter> |
39 | <layout type="log4net.Layout.PatternLayout"> | 34 | <layout type="log4net.Layout.PatternLayout"> |
40 | <conversionPattern value="%date %-5level (%thread) - %logger %message%newline" /> | 35 | <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss.fff} %-5level (%thread) - %logger %message%newline" /> |
41 | </layout> | 36 | </layout> |
42 | </appender> | 37 | </appender> |
43 | 38 | ||
@@ -50,7 +45,6 @@ | |||
50 | </appender> | 45 | </appender> |
51 | 46 | ||
52 | <root> | 47 | <root> |
53 | <level value="DEBUG" /> | ||
54 | <appender-ref ref="Console" /> | 48 | <appender-ref ref="Console" /> |
55 | <appender-ref ref="LogFileAppender" /> | 49 | <appender-ref ref="LogFileAppender" /> |
56 | </root> | 50 | </root> |
diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index 3550ed9..dc70b81 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example | |||
@@ -76,13 +76,13 @@ | |||
76 | ; | 76 | ; |
77 | ; Change this to your grid-wide asset server. Do not add a slash to the end of any of these addresses. | 77 | ; Change this to your grid-wide asset server. Do not add a slash to the end of any of these addresses. |
78 | ; | 78 | ; |
79 | AssetServerURI = "${Const|PrivURL}:${Const|PrivatePort}" | 79 | AssetServerURI = "${Const|BaseURL}:${Const|PrivatePort}" |
80 | 80 | ||
81 | [InventoryService] | 81 | [InventoryService] |
82 | ; | 82 | ; |
83 | ; Change this to your grid-wide inventory server | 83 | ; Change this to your grid-wide inventory server |
84 | ; | 84 | ; |
85 | InventoryServerURI = "${Const|PrivURL}:${Const|PrivatePort}" | 85 | InventoryServerURI = "${Const|BaseURL}:${Const|PrivatePort}" |
86 | ;MaxRetries = 0 | 86 | ;MaxRetries = 0 |
87 | 87 | ||
88 | [GridInfo] | 88 | [GridInfo] |
@@ -95,7 +95,7 @@ | |||
95 | ; | 95 | ; |
96 | ; Change this to your grid-wide grid server | 96 | ; Change this to your grid-wide grid server |
97 | ; | 97 | ; |
98 | GridServerURI = "${Const|PrivURL}:${Const|PrivatePort}" | 98 | GridServerURI = "${Const|BaseURL}:${Const|PrivatePort}" |
99 | ;AllowHypergridMapSearch = true | 99 | ;AllowHypergridMapSearch = true |
100 | 100 | ||
101 | ;; Directory for map tile images of linked regions | 101 | ;; Directory for map tile images of linked regions |
@@ -105,7 +105,7 @@ | |||
105 | ;; Change this to the address of your Gatekeeper service | 105 | ;; Change this to the address of your Gatekeeper service |
106 | ;; (usually bundled with the rest of the services in one | 106 | ;; (usually bundled with the rest of the services in one |
107 | ;; Robust server in port ${Const|PublicPort}, but not always) | 107 | ;; Robust server in port ${Const|PublicPort}, but not always) |
108 | Gatekeeper="${Const|BaseURL}:${Const|PublicPort}" | 108 | GatekeeperURI="${Const|BaseURL}:${Const|PublicPort}" |
109 | 109 | ||
110 | [EstateDataStore] | 110 | [EstateDataStore] |
111 | ; | 111 | ; |
@@ -115,7 +115,7 @@ | |||
115 | ;LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataRemoteConnector" | 115 | ;LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataRemoteConnector" |
116 | 116 | ||
117 | [EstateService] | 117 | [EstateService] |
118 | EstateServerURI = "${Const|PrivURL}:${Const|PrivatePort}" | 118 | EstateServerURI = "${Const|BaseURL}:${Const|PrivatePort}" |
119 | 119 | ||
120 | [Messaging] | 120 | [Messaging] |
121 | ; === HG ONLY === | 121 | ; === HG ONLY === |
@@ -128,43 +128,43 @@ | |||
128 | ; | 128 | ; |
129 | ; Change this to your grid-wide grid server | 129 | ; Change this to your grid-wide grid server |
130 | ; | 130 | ; |
131 | AvatarServerURI = "${Const|PrivURL}:${Const|PrivatePort}" | 131 | AvatarServerURI = "${Const|BaseURL}:${Const|PrivatePort}" |
132 | 132 | ||
133 | [AgentPreferencesService] | 133 | [AgentPreferencesService] |
134 | ; | 134 | ; |
135 | ; Change this to your grid-wide avatar prefs server | 135 | ; Change this to your grid-wide avatar prefs server |
136 | ; | 136 | ; |
137 | AgentPreferencesServerURI = "${Const|PrivURL}:${Const|PrivatePort}" | 137 | AgentPreferencesServerURI = "${Const|BaseURL}:${Const|PrivatePort}" |
138 | 138 | ||
139 | [PresenceService] | 139 | [PresenceService] |
140 | ; | 140 | ; |
141 | ; Change this to your grid-wide presence server | 141 | ; Change this to your grid-wide presence server |
142 | ; | 142 | ; |
143 | PresenceServerURI = "${Const|PrivURL}:${Const|PrivatePort}" | 143 | PresenceServerURI = "${Const|BaseURL}:${Const|PrivatePort}" |
144 | 144 | ||
145 | [UserAccountService] | 145 | [UserAccountService] |
146 | ; | 146 | ; |
147 | ; Change this to your grid-wide user accounts server | 147 | ; Change this to your grid-wide user accounts server |
148 | ; | 148 | ; |
149 | UserAccountServerURI = "${Const|PrivURL}:${Const|PrivatePort}" | 149 | UserAccountServerURI = "${Const|BaseURL}:${Const|PrivatePort}" |
150 | 150 | ||
151 | [GridUserService] | 151 | [GridUserService] |
152 | ; | 152 | ; |
153 | ; Change this to your grid-wide user accounts server | 153 | ; Change this to your grid-wide user accounts server |
154 | ; | 154 | ; |
155 | GridUserServerURI = "${Const|PrivURL}:${Const|PrivatePort}" | 155 | GridUserServerURI = "${Const|BaseURL}:${Const|PrivatePort}" |
156 | 156 | ||
157 | [AuthenticationService] | 157 | [AuthenticationService] |
158 | ; | 158 | ; |
159 | ; Change this to your grid-wide authentication server | 159 | ; Change this to your grid-wide authentication server |
160 | ; | 160 | ; |
161 | AuthenticationServerURI = "${Const|PrivURL}:${Const|PrivatePort}" | 161 | AuthenticationServerURI = "${Const|BaseURL}:${Const|PrivatePort}" |
162 | 162 | ||
163 | [FriendsService] | 163 | [FriendsService] |
164 | ; | 164 | ; |
165 | ; Change this to your grid-wide friends server | 165 | ; Change this to your grid-wide friends server |
166 | ; | 166 | ; |
167 | FriendsServerURI = "${Const|PrivURL}:${Const|PrivatePort}" | 167 | FriendsServerURI = "${Const|BaseURL}:${Const|PrivatePort}" |
168 | 168 | ||
169 | [HGInventoryAccessModule] | 169 | [HGInventoryAccessModule] |
170 | ; | 170 | ; |
@@ -223,7 +223,7 @@ | |||
223 | UserAgentServerURI = "${Const|BaseURL}:${Const|PublicPort}" | 223 | UserAgentServerURI = "${Const|BaseURL}:${Const|PublicPort}" |
224 | 224 | ||
225 | [MapImageService] | 225 | [MapImageService] |
226 | MapImageServerURI = "${Const|PrivURL}:${Const|PrivatePort}" | 226 | MapImageServerURI = "${Const|BaseURL}:${Const|PrivatePort}" |
227 | 227 | ||
228 | [AuthorizationService] | 228 | [AuthorizationService] |
229 | ; If you have regions with access restrictions | 229 | ; If you have regions with access restrictions |
@@ -244,4 +244,4 @@ | |||
244 | ;; SimulatorCapability = "00000000-0000-0000-0000-000000000000" | 244 | ;; SimulatorCapability = "00000000-0000-0000-0000-000000000000" |
245 | 245 | ||
246 | [MuteListService] | 246 | [MuteListService] |
247 | MuteListServerURI = "${Const|PrivURL}:${Const|PrivatePort}" | 247 | MuteListServerURI = "${Const|BaseURL}:${Const|PrivatePort}" |
diff --git a/bin/config-include/SimBalanced.ini b/bin/config-include/SimBalanced.ini new file mode 100644 index 0000000..fbf778f --- /dev/null +++ b/bin/config-include/SimBalanced.ini | |||
@@ -0,0 +1,889 @@ | |||
1 | ;; hopefully a well balanced configuration that works well for everything. | ||
2 | |||
3 | |||
4 | [Startup] | ||
5 | ; ## | ||
6 | ; ## SYSTEM | ||
7 | ; ## | ||
8 | |||
9 | ; Sets the method that OpenSim will use to fire asynchronous | ||
10 | ; events. Valid values are UnsafeQueueUserWorkItem, | ||
11 | ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread. | ||
12 | ; | ||
13 | ; SmartThreadPool is reported to work well on Mono/Linux, but | ||
14 | ; UnsafeQueueUserWorkItem has been benchmarked with better | ||
15 | ; performance on .NET/Windows | ||
16 | ; | ||
17 | ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security | ||
18 | ; privileges. However, as calling code is trusted anyway this is safe (if you set | ||
19 | ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons). | ||
20 | async_call_method = SmartThreadPool | ||
21 | |||
22 | ; Max threads to allocate on the FireAndForget thread pool | ||
23 | ; when running with the SmartThreadPool option above | ||
24 | MaxPoolThreads = 300 | ||
25 | |||
26 | ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently. | ||
27 | ; This improves performance in regions with large numbers of connections (in the hundreds). | ||
28 | JobEngineEnabled = true | ||
29 | |||
30 | ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos | ||
31 | ; Increasing this number will increase memory usage. | ||
32 | MaxPrimUndos = 42 | ||
33 | |||
34 | ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum | ||
35 | ; This can be overridden in the region config file. | ||
36 | ClampPrimSize = true | ||
37 | |||
38 | ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative. | ||
39 | ClampNegativeZ = true | ||
40 | |||
41 | ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region. | ||
42 | ; This only applies when crossing to a region running in a different simulator. | ||
43 | ; For crossings where the regions are on the same simulator the script is always kept running. | ||
44 | AllowScriptCrossing = true | ||
45 | |||
46 | ; Main Frame time | ||
47 | ; This defines the rate of several simulation events. | ||
48 | ; Default value should meet most needs. | ||
49 | ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads. | ||
50 | ; It should not be less than the physics engine step time. | ||
51 | ; Being a integer multiple of it may reduce some jitter in reported physics FPS. | ||
52 | ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same | ||
53 | FrameTime = 0.0909 | ||
54 | |||
55 | ; Send scheduled updates to objects in the scene | ||
56 | ; This must be a whole number | ||
57 | UpdateObjectsEveryNFrames = 1 | ||
58 | |||
59 | ; Send position/velocity, etc. updates to agents in the scene | ||
60 | ; This must be a whole number | ||
61 | UpdateAgentsEveryNFrames = 1 | ||
62 | |||
63 | ; Apply pending forces from physics calculations to an entity. | ||
64 | ; This must be a whole number | ||
65 | UpdateEntityMovementEveryNFrames = 1 | ||
66 | |||
67 | ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap. | ||
68 | ; This must be a whole number | ||
69 | UpdateCoarseLocationsEveryNFrames = 50 | ||
70 | |||
71 | ; Physics simulation execution or syncronization, acording to engine. Should be 1 | ||
72 | ; This must be a whole number | ||
73 | UpdatePhysicsEveryNFrames = 1 | ||
74 | |||
75 | ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1. | ||
76 | ; This must be a whole number | ||
77 | UpdateEventsEveryNFrames = 1 | ||
78 | |||
79 | ; Send terrain updates to viewers | ||
80 | ; This must be a whole number | ||
81 | UpdateTerrainEveryNFrames = 50 | ||
82 | |||
83 | ; Persitently store any objects which meet the PRIM STORAGE criteria | ||
84 | ; This must be a whole number | ||
85 | UpdateStorageEveryNFrames = 200 | ||
86 | |||
87 | ; Clean up temp on rez objects. | ||
88 | ; This must be a whole number | ||
89 | UpdateTempCleaningEveryNSeconds = 180 | ||
90 | |||
91 | ; ## | ||
92 | ; ## PRIM STORAGE | ||
93 | ; ## | ||
94 | |||
95 | ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to | ||
96 | ; prevent frequently changing objects from heavily loading the region data store. | ||
97 | ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep. | ||
98 | ; | ||
99 | ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds | ||
100 | MinimumTimeBeforePersistenceConsidered = 60 | ||
101 | ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago | ||
102 | MaximumTimeBeforePersistenceConsidered = 600 | ||
103 | |||
104 | ; ## | ||
105 | ; ## PHYSICS | ||
106 | ; ## | ||
107 | |||
108 | ; Select a mesher here. | ||
109 | ; | ||
110 | ; Meshmerizer properly handles complex prims by using triangle meshes. | ||
111 | ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way | ||
112 | ; | ||
113 | ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports | ||
114 | ; Usually this is only a box | ||
115 | |||
116 | ;meshing = Meshmerizer | ||
117 | ;meshing = ZeroMesher | ||
118 | ;; select ubODEMeshmerizer only with ubOde physics engine | ||
119 | meshing = ubODEMeshmerizer | ||
120 | |||
121 | ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit | ||
122 | ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions | ||
123 | ; edit the line ulimit -s 262144, and change this last value | ||
124 | |||
125 | ; if you use Meshmerizer and want sculpt map collisions, setting this to | ||
126 | ; to true will store decoded sculpt maps in a special folder in your bin | ||
127 | ; folder, which can reduce startup times by reducing asset requests. Some | ||
128 | ; versions of mono dont work well when reading the cache files, so set this | ||
129 | ; to false if you have compatibility problems. | ||
130 | CacheSculptMaps = true | ||
131 | |||
132 | ;; BulletSim is the default physics engine. It provides the best performance and most functionality. | ||
133 | ;; BulletSim supports varregions. | ||
134 | ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. | ||
135 | ;; It continues to provide a workable physics implementation. It does not currently support varregions. | ||
136 | ;; basicphysics effectively does not model physics at all, making all objects phantom. | ||
137 | ;; Default is BulletSim | ||
138 | ;physics = BulletSim | ||
139 | ;physics = modified_BulletX | ||
140 | ;physics = OpenDynamicsEngine | ||
141 | ;physics = basicphysics | ||
142 | ;physics = POS | ||
143 | ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also | ||
144 | physics = ubODE | ||
145 | |||
146 | ; ## | ||
147 | ; ## SCRIPT ENGINE | ||
148 | ; ## | ||
149 | |||
150 | ;; Default script engine to use. Currently, we only have XEngine | ||
151 | DefaultScriptEngine = "XEngine" | ||
152 | |||
153 | ; Image decoding. Use CSJ2K for layer boundary decoding if true, | ||
154 | ; OpenJPEG if false | ||
155 | ; UseCSJ2K = true | ||
156 | |||
157 | |||
158 | [Map] | ||
159 | ; Map tile options. | ||
160 | ; If true, then maptiles are generated using the MapImageModule below. | ||
161 | ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden | ||
162 | ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need | ||
163 | ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ | ||
164 | GenerateMaptiles = true | ||
165 | |||
166 | ;WorldMapModule = "WorldMap" | ||
167 | |||
168 | ; The module to use in order to generate map images. | ||
169 | ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can | ||
170 | ; generate better images. | ||
171 | MapImageModule = "Warp3DImageModule" | ||
172 | |||
173 | ; World map blacklist timeout in seconds | ||
174 | ;BlacklistTimeout = 600 | ||
175 | |||
176 | ; Refresh (in seconds) the map tile periodically | ||
177 | MaptileRefresh = 0 | ||
178 | |||
179 | ; If not generating maptiles, use this static texture asset ID | ||
180 | ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" | ||
181 | |||
182 | ; Draw objects on maptile. This step might take a long time if you've got a large number of | ||
183 | ; objects, so you can turn it off here if you'd like. | ||
184 | DrawPrimOnMapTile = true | ||
185 | |||
186 | ; Use terrain texture for maptiles if true, use shaded green if false | ||
187 | TextureOnMapTile = true | ||
188 | |||
189 | ; Texture prims | ||
190 | TexturePrims = true | ||
191 | |||
192 | ; Only texture prims that have a diagonal size greater than this number | ||
193 | TexturePrimSize = 5 | ||
194 | |||
195 | ; Attempt to render meshes and sculpties on the map | ||
196 | RenderMeshes = true | ||
197 | |||
198 | UseAntiAliasing = true | ||
199 | |||
200 | |||
201 | [Network] | ||
202 | ; OpenSim can send multiple simultaneous requests for services such as asset | ||
203 | ; retrieval. However, some versions of mono appear to hang when there are too | ||
204 | ; many simultaneous requests, default is 30 and is currently applied only to assets | ||
205 | ;MaxRequestConcurrency = 30 | ||
206 | |||
207 | |||
208 | [ClientStack.LindenUDP] | ||
209 | ; The client socket receive buffer size determines how many | ||
210 | ; incoming requests we can process; the default on .NET is 8192 | ||
211 | ; which is about 2 4k-sized UDP datagrams. On mono this is | ||
212 | ; whatever the underlying operating system has as default; for | ||
213 | ; example, ubuntu 8.04 or SLES11 have about 111k, which is about | ||
214 | ; 27 4k-sized UDP datagrams (on linux platforms you can [as root] | ||
215 | ; do "sysctl net.core.rmem_default" to find out what your system | ||
216 | ; uses a default socket receive buffer size. | ||
217 | ; | ||
218 | ; client_socket_rcvbuf_size allows you to specify the receive | ||
219 | ; buffer size LLUDPServer should use. NOTE: this will be limited | ||
220 | ; by the system's settings for the maximum client receive buffer | ||
221 | ; size (on linux systems you can set that with "sysctl -w | ||
222 | ; net.core.rmem_max=X") | ||
223 | ; | ||
224 | ;client_socket_rcvbuf_size = 8388608 | ||
225 | |||
226 | ; Maximum outbound bytes per second for a single scene. This can be used to | ||
227 | ; throttle total outbound UDP traffic for a simulator. The default value is | ||
228 | ; 0, meaning no throttling at the scene level. The example given here is | ||
229 | ; 20 megabits | ||
230 | ; | ||
231 | ;scene_throttle_max_bps = 2500000 | ||
232 | |||
233 | ; Maximum bytes per second to send to any single client. This will override | ||
234 | ; the user's viewer preference settings. The default value is 0, meaning no | ||
235 | ; aggregate throttling on clients (only per-category throttling). The | ||
236 | ; example given here is 1.5 megabits | ||
237 | ; | ||
238 | ;client_throttle_max_bps = 187500 | ||
239 | |||
240 | ; Minimum bytes per second to send to any single client as a result of | ||
241 | ; adaptive throttling. Viewer preferences set to a lower number will | ||
242 | ; override the settin. The example given here ensures that adaptive | ||
243 | ; throttling will never decrease per client bandwidth below 256 kbps. | ||
244 | ; | ||
245 | ;adaptive_throttle_min_bps = 32000 | ||
246 | |||
247 | ; Adaptive throttling attempts to limit network overload when multiple | ||
248 | ; clients login by starting each connection more slowly. Disabled by | ||
249 | ; default | ||
250 | ; | ||
251 | enable_adaptive_throttles = true | ||
252 | |||
253 | ; Per-client bytes per second rates for the various throttle categories. | ||
254 | ; These are default values that will be overridden by clients. These | ||
255 | ; defaults are approximately equivalent to the throttles set by the Imprudence | ||
256 | ; viewer when maximum bandwidth is set to 350kbps | ||
257 | |||
258 | ;resend_default = 6625 | ||
259 | ;land_default = 9125 | ||
260 | ;wind_default = 1750 | ||
261 | ;cloud_default = 1750 | ||
262 | ;task_default = 18500 | ||
263 | ;texture_default = 18500 | ||
264 | ;asset_default = 10500 | ||
265 | |||
266 | ; Configures how ObjectUpdates are aggregated. These numbers | ||
267 | ; do not literally mean how many updates will be put in each | ||
268 | ; packet that goes over the wire, as packets are | ||
269 | ; automatically split on a 1400 byte boundary. These control | ||
270 | ; the balance between responsiveness of interest list updates | ||
271 | ; and total throughput. Higher numbers will ensure more full- | ||
272 | ; sized packets and faster sending of data, but more delay in | ||
273 | ; updating interest lists | ||
274 | ; | ||
275 | ;PrimUpdatesPerCallback = 100 | ||
276 | |||
277 | ; TextureSendLimit determines how many packets will be put on | ||
278 | ; the outgoing queue each cycle. Like the settings above, this | ||
279 | ; is a balance between responsiveness to priority updates and | ||
280 | ; total throughput. Higher numbers will give a better | ||
281 | ; throughput at the cost of reduced responsiveness to client | ||
282 | ; priority changes or transfer aborts | ||
283 | ; | ||
284 | ;TextureSendLimit = 20 | ||
285 | |||
286 | ; CannibalizeTextureRate allows bandwidth to be moved from the | ||
287 | ; UDP texture throttle to the task throttle. Since most viewers | ||
288 | ; use HTTP textures, this provides a means of using what is largely | ||
289 | ; unused bandwidth in the total throttle. The value is the proportion | ||
290 | ; of the texture rate to move to the task queue. It must be between | ||
291 | ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the | ||
292 | ; bandwidth is grabbed) | ||
293 | ; | ||
294 | ; CannibalizeTextureRate = 0.5 | ||
295 | |||
296 | ; The time to wait before disconecting an unresponsive client. | ||
297 | ; The time is in seconds. The default is one minute | ||
298 | ; | ||
299 | ;AckTimeout = 60 | ||
300 | |||
301 | ; The time to wait before disconecting an unresponsive paused client. | ||
302 | ; A client can be paused when the file selection dialog is open during file upload. | ||
303 | ; This gives extra time to find files via the dialog but will still disconnect if | ||
304 | ; the client crashes or loses its network connection | ||
305 | ; The time is in seconds. The default is five minutes. | ||
306 | ; | ||
307 | ;PausedAckTimeout = 300 | ||
308 | |||
309 | |||
310 | [Appearance] | ||
311 | ; Persist avatar baked textures | ||
312 | ; Persisting baked textures can speed up login and region border | ||
313 | ; crossings especially with large numbers of users, though it | ||
314 | ; will store potentially large numbers of textures in your asset | ||
315 | ; database | ||
316 | PersistBakedTextures = true | ||
317 | |||
318 | ; Control the delay before appearance is sent to other avatars and | ||
319 | ; saved in the avatar service. Attempts to limit the impact caused | ||
320 | ; by the very chatty dialog that sets appearance when an avatar | ||
321 | ; logs in or teleports into a region; values are in seconds | ||
322 | DelayBeforeAppearanceSave = 5 | ||
323 | DelayBeforeAppearanceSend = 2 | ||
324 | |||
325 | ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds. | ||
326 | ; This may help with some situations where avatars are persistently grey, though it will not help | ||
327 | ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others). | ||
328 | ResendAppearanceUpdates = true | ||
329 | |||
330 | ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar | ||
331 | ; on every login | ||
332 | ReuseTextures = true | ||
333 | |||
334 | |||
335 | [Attachments] | ||
336 | ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments | ||
337 | ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit | ||
338 | ; or when multiple avatars with medium level attachments login/change outfit simultaneously. | ||
339 | ; If 0 then no throttling is performed. | ||
340 | ThrottlePer100PrimsRezzed = 0 | ||
341 | |||
342 | |||
343 | [Textures] | ||
344 | ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible | ||
345 | ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components | ||
346 | ; (e.g. images pulled from an external HTTP address). | ||
347 | ; 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. | ||
348 | ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted. | ||
349 | ; Hence, currently considered experimental. | ||
350 | ; Default is false. | ||
351 | ReuseDynamicTextures = true | ||
352 | |||
353 | ; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused | ||
354 | ; 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. | ||
355 | ; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem. | ||
356 | ; This setting only has an affect is ReuseDynamicTextures = true | ||
357 | ; Default is false | ||
358 | ReuseDynamicLowDataTextures = true | ||
359 | |||
360 | |||
361 | [ODEPhysicsSettings] | ||
362 | ; ## | ||
363 | ; ## Physics stats settings ( most ignored by ubOde ) | ||
364 | ; | ||
365 | |||
366 | ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule | ||
367 | ; (see http://opensimulator.org/wiki/Monitoring_Module for more details). | ||
368 | collect_stats = true | ||
369 | |||
370 | ; ## | ||
371 | ; ## Physics logging settings - logfiles are saved to *.DIF files | ||
372 | ; ## | ||
373 | |||
374 | ; default is false | ||
375 | ;physics_logging = true | ||
376 | ;; every n simulation iterations, the physics snapshot file is updated | ||
377 | ;physics_logging_interval = 50 | ||
378 | ;; append to existing physics logfile, or overwrite existing logfiles? | ||
379 | ;physics_logging_append_existing_logfile = true | ||
380 | |||
381 | ;## | ||
382 | ;## World Settings | ||
383 | ;## | ||
384 | |||
385 | ; World Step size. | ||
386 | ; with legacy ODE this value needs to be close to 0.02s | ||
387 | ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load | ||
388 | ; you will need to test acording to you needs | ||
389 | ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS | ||
390 | world_stepsize = 0.01818 | ||
391 | ; number of iterations of constrains solver, higher should improve results | ||
392 | ; up to a point where acumulated math errors eliminate the improvement | ||
393 | ; more steps may increase CPU load. No real gain in changing | ||
394 | world_solver_iterations = 10 | ||
395 | |||
396 | ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim | ||
397 | ; defines spaces partition cells min and max sizes == 2^value | ||
398 | world_hashspace_level_low = -5 | ||
399 | world_hashSpace_level_high = 12 | ||
400 | |||
401 | meters_in_small_space = 29.9 | ||
402 | |||
403 | |||
404 | ; ## | ||
405 | ; ## Contact properties. (the stuff that happens when things come in contact with each other) | ||
406 | ; ## | ||
407 | |||
408 | ; surface layer around geometries other geometries can sink into before generating a contact | ||
409 | world_contact_surface_layer = 0.001 | ||
410 | |||
411 | ; Filtering collisions helps keep things stable physics wise, but sometimes | ||
412 | ; it can be overzealous. If you notice bouncing, chances are it's that. | ||
413 | filter_collisions = true | ||
414 | |||
415 | ; Non Moving Terrain Contact (avatar isn't moving) | ||
416 | nm_terraincontact_friction = 255.0 | ||
417 | nm_terraincontact_bounce = 0.1 | ||
418 | nm_terraincontact_erp = 0.1025 | ||
419 | |||
420 | ; Moving Terrain Contact (avatar is moving) | ||
421 | m_terraincontact_friction = 75.0 | ||
422 | m_terraincontact_bounce = 0.05 | ||
423 | m_terrainContact_erp = 0.05025 | ||
424 | |||
425 | ; Moving Avatar to object Contact | ||
426 | m_avatarobjectcontact_friction = 75.0 | ||
427 | m_avatarobjectcontact_bounce = 0.1 | ||
428 | |||
429 | ; Object to Object Contact and Non-Moving Avatar to object | ||
430 | objectcontact_friction = 250.0 | ||
431 | objectcontact_bounce = 0.2 | ||
432 | |||
433 | ; ## | ||
434 | ; ## Avatar Control | ||
435 | ; ## | ||
436 | |||
437 | ; PID Controller Settings. These affect the math that causes the avatar to reach the | ||
438 | ; desired velocity | ||
439 | ; See http://en.wikipedia.org/wiki/PID_controller | ||
440 | |||
441 | av_pid_derivative = 2200.0 | ||
442 | av_pid_proportional = 900.0 | ||
443 | |||
444 | ; specifies if the capsule should be tilted (=true; old compatibility mode) | ||
445 | ; or straight up-and-down (=false; better and more consistent physics behavior) | ||
446 | av_capsule_tilted = false | ||
447 | |||
448 | ; Movement. Smaller is faster. | ||
449 | |||
450 | ; speed of movement with Always Run off | ||
451 | av_movement_divisor_walk = 1.3 | ||
452 | |||
453 | ; speed of movement with Always Run on | ||
454 | av_movement_divisor_run = 0.8 | ||
455 | |||
456 | ; When the avatar flies, it will be moved up by this amount off the ground (in meters) | ||
457 | minimum_ground_flight_offset = 3.0 | ||
458 | |||
459 | ; Plant avatar. This reduces the effect of physical contacts with the avatar. | ||
460 | ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive. | ||
461 | ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active | ||
462 | ; will lock the avatar in place | ||
463 | av_planted = false | ||
464 | |||
465 | ; 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 | ||
466 | av_av_collisions_off = false | ||
467 | |||
468 | ; ## | ||
469 | ; ## Object options | ||
470 | ; ## | ||
471 | |||
472 | ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep | ||
473 | body_frames_auto_disable = 20 | ||
474 | |||
475 | ; used to control llMove2Target | ||
476 | body_pid_derivative = 35 | ||
477 | body_pid_gain = 25 | ||
478 | |||
479 | ; maximum number of contact points to generate per collision | ||
480 | contacts_per_collision = 80 | ||
481 | |||
482 | ; start throttling the object updates if object comes in contact with 3 or more other objects | ||
483 | geom_contactpoints_start_throttling = 3 | ||
484 | |||
485 | ; send 1 update for every x updates below when throttled | ||
486 | geom_updates_before_throttled_update = 15 | ||
487 | |||
488 | ; ## | ||
489 | ; ## Sculpted Prim settings | ||
490 | ; ## | ||
491 | |||
492 | ; Do we want to mesh sculpted prim to collide like they look? | ||
493 | ; If you are seeing sculpt texture decode problems | ||
494 | ; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception") | ||
495 | ; then you might want to try setting this to false. | ||
496 | mesh_sculpted_prim = true | ||
497 | |||
498 | ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies | ||
499 | mesh_lod = 32 | ||
500 | |||
501 | ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies | ||
502 | mesh_physical_lod = 16 | ||
503 | |||
504 | ; ## | ||
505 | ; ## additional meshing options | ||
506 | ; ## | ||
507 | |||
508 | ; Physics needs to create internal meshs (or convert the object meshs or scultps) | ||
509 | ; for all prims except simple boxes and spheres. | ||
510 | |||
511 | ; collisions of small objects againts larger ones can have a increased CPU load cost | ||
512 | ; so this are represented by a simple BOX | ||
513 | ; if all their scale dimensions are lower or equal to this option. Default is 0.1m | ||
514 | ; (ubOde only) | ||
515 | ; MinSizeToMeshmerize = 0.1 | ||
516 | |||
517 | |||
518 | [BulletSim] | ||
519 | ; There are two bullet physics libraries, bulletunmanaged is the default and is a | ||
520 | ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality | ||
521 | ; but the c++ one is much faster. | ||
522 | ;BulletEngine = "bulletunmanaged" | ||
523 | BulletEngine = "bulletxna" | ||
524 | |||
525 | ; BulletSim can run on its own thread independent of the simulator's heartbeat | ||
526 | ; thread. Enabling this will not let the physics engine slow down avatar movement, etc. | ||
527 | UseSeparatePhysicsThread = true | ||
528 | |||
529 | ; Terrain implementation can use either Bullet's heightField or BulletSim can build | ||
530 | ; a mesh. 0=heightField, 1=mesh | ||
531 | TerrainImplementation = 0 | ||
532 | ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield | ||
533 | ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher | ||
534 | ; magnifications use lots of memory. | ||
535 | TerrainMeshMagnification = 1 | ||
536 | |||
537 | ; Should avatars collide with each other? | ||
538 | AvatarToAvatarCollisionsByDefault = true | ||
539 | |||
540 | ; Default linkset implmentation | ||
541 | ; 'Constraint' uses physics constraints to hold linkset together. 'Compound' | ||
542 | ; builds a compound shape from the children shapes to create a single physical | ||
543 | ; shape. 'Compound' uses a lot less CPU time. | ||
544 | LinkImplementation = 1 ; 0=constraint, 1=compound | ||
545 | |||
546 | ; If 'true', offset a linkset's origin based on mass of linkset parts. | ||
547 | LinksetOffsetCenterOfMass = false | ||
548 | |||
549 | ; If 'true', turn scuplties into meshes | ||
550 | MeshSculptedPrim = true | ||
551 | |||
552 | ; If 'true', force simple prims (box and sphere) to be meshed | ||
553 | ; If 'false', the Bullet native special case shape is used for square rectangles | ||
554 | ; and even dimensioned spheres. | ||
555 | ForceSimplePrimMeshing = true | ||
556 | |||
557 | ; If 'true', when creating meshes, remove all triangles that have two equal vertexes. | ||
558 | ; Happens often in sculpties. If turned off, there will be some doorways | ||
559 | ; that cannot be walked through. | ||
560 | ShouldRemoveZeroWidthTriangles = true | ||
561 | |||
562 | ; If 'true', use convex hull definition in mesh asset if present. | ||
563 | ShouldUseAssetHulls = true | ||
564 | |||
565 | ; If there are thousands of physical objects, these maximums should be increased. | ||
566 | MaxCollisionsPerFrame = 2048 | ||
567 | MaxUpdatesPerFrame = 8192 | ||
568 | |||
569 | ; Detailed physics debug logging. Very verbose. | ||
570 | PhysicsLoggingEnabled = False | ||
571 | PhysicsLoggingDir = "." | ||
572 | VehicleLoggingEnabled = False | ||
573 | |||
574 | |||
575 | [Sun] | ||
576 | ; send a Sun update every update_interval # of frames. A lower number will | ||
577 | ; make for smoother sun transition at the cost of network | ||
578 | ;update_interval = 100 | ||
579 | |||
580 | |||
581 | [Wind] | ||
582 | ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second | ||
583 | wind_update_rate = 150 | ||
584 | |||
585 | ; The Default Wind Plugin to load | ||
586 | wind_plugin = SimpleRandomWind | ||
587 | |||
588 | |||
589 | [Cloud] | ||
590 | ; update interval for the cloud cover data returned by llCloud(). | ||
591 | ; default is 1000 | ||
592 | cloud_update_rate = 1000 | ||
593 | |||
594 | |||
595 | [Trees] | ||
596 | ; active_trees allows module to change its trees in time. | ||
597 | ; some will be deleted, others created and rest may grow | ||
598 | ; default is false. You can change it with console command tree active true | false later | ||
599 | active_trees = false | ||
600 | ; the trees change execution time rate (in ms) | ||
601 | update_rate = 1000 | ||
602 | |||
603 | ; allow the trees to grow. | ||
604 | ; DANGER | ||
605 | ; this option causes high network use on the order of | ||
606 | ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second | ||
607 | allowGrow = false | ||
608 | |||
609 | |||
610 | [LL-Functions] | ||
611 | ; Maximum number of llListen events we allow over the entire region. | ||
612 | ; Set this to 0 to have no limit imposed | ||
613 | max_listens_per_region = 0 | ||
614 | |||
615 | ; Maximum number of llListen events we allow per script | ||
616 | ; Set this to 0 to have no limit imposed. | ||
617 | max_listens_per_script = 0 | ||
618 | |||
619 | ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL()) | ||
620 | max_external_urls_per_simulator = 256 | ||
621 | |||
622 | ; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes. | ||
623 | ; Speeds up calculations but can make them inaccurate, in some cases very inaccurate. | ||
624 | UseSimpleBoxesInGetBoundingBox = false | ||
625 | |||
626 | ; Use llCastRay V3 if true. | ||
627 | ; Implements llCastRay similar but not identical to Second Life. | ||
628 | ; See http://wiki.secondlife.com/wiki/LlCastRay . | ||
629 | ; NEW | ||
630 | ; Meshes prims for good accuracy in ray hit detection, | ||
631 | ; handling basic and tortured prims, sculpts and meshes. | ||
632 | ; Uses ellipsoid, correctly sized avatar capsules. | ||
633 | ; Handles complex terrain, multi-prim objects and seated avatars. | ||
634 | ; Implements throttling and the status codes | ||
635 | ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED, | ||
636 | ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW. | ||
637 | ; WARNING | ||
638 | ; Can be faster on some servers and scenes, but slower on others, | ||
639 | ; compared to previous version of llCastRay in OpenSimulator. | ||
640 | ; Is in most cases considerably slower than llCastRay in Second Life. | ||
641 | ; Generates geometry meshes and can therefore use much system resources. | ||
642 | UseLlCastRayV3 = true | ||
643 | |||
644 | ; Accepted calculation precision error in calculations in llCastRay V3 | ||
645 | FloatToleranceInLlCastRay = 0.00001 | ||
646 | |||
647 | ; Accepted distance difference between duplicate hits in llCastRay V3 | ||
648 | FloatTolerance2InLlCastRay = 0.001 | ||
649 | |||
650 | ; Detail level when rendering prims in llCastRay V3 | ||
651 | ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call | ||
652 | PrimDetailLevelInLlCastRay = 1 | ||
653 | |||
654 | ; Detail level when rendering sculpts in llCastRay V3 | ||
655 | ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call | ||
656 | SculptDetailLevelInLlCastRay = 1 | ||
657 | |||
658 | ; Detail level when rendering meshes in llCastRay V3 | ||
659 | ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call | ||
660 | MeshDetailLevelInLlCastRay = 3 | ||
661 | |||
662 | ; Detail level when rendering avatar capsules in llCastRay V3 | ||
663 | ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call | ||
664 | AvatarDetailLevelInLlCastRay = 1 | ||
665 | |||
666 | ; Maximum number of returned hits from llCastRay V3 | ||
667 | MaxHitsInLlCastRay = 16 | ||
668 | |||
669 | ; Maximum number of returned hits per prim from llCastRay V3 | ||
670 | MaxHitsPerPrimInLlCastRay = 16 | ||
671 | |||
672 | ; Maximum number of returned hits per object from llCastRay V3 | ||
673 | MaxHitsPerObjectInLlCastRay = 16 | ||
674 | |||
675 | ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true | ||
676 | DetectExitHitsInLlCastRay = false | ||
677 | |||
678 | ; Detect attachments in llCastRay V3 if true | ||
679 | DoAttachmentsInLlCastRay = false | ||
680 | |||
681 | ; Throttle period length in ms before which all old llCastRay use is discarded in llCastRay V3 | ||
682 | ; The sum of AvailableTimeInMsPerRegionInLlCastRay and all AvailableTimeInMsPerAvatarInLlCastRay should not exceed this | ||
683 | ThrottleTimeInMsInLlCastRay = 200 | ||
684 | |||
685 | ; Available time in ms for llCastRay per throttle period and 65536 m2 land area in llCastRay V3 | ||
686 | AvailableTimeInMsPerRegionInLlCastRay = 40 | ||
687 | |||
688 | ; Available time in ms for llCastRay per throttle period and avatar when script in attachment or vehicle in llCastRay V3 | ||
689 | AvailableTimeInMsPerAvatarInLlCastRay = 10 | ||
690 | |||
691 | ; Required available time in ms left to perform a new llCastRay in llCastRay V3 | ||
692 | RequiredAvailableTimeInMsInLlCastRay = 2 | ||
693 | |||
694 | ; Maximum available time in ms possible in llCastRay V3, not to get too high values with varregions | ||
695 | MaximumAvailableTimeInMsInLlCastRay = 40 | ||
696 | |||
697 | ; Use cached meshes in llCastRay V3 if true | ||
698 | ; Improves performance but uses more memory | ||
699 | UseMeshCacheInLlCastRay = true | ||
700 | |||
701 | |||
702 | [XEngine] | ||
703 | ; How many threads to keep alive even if nothing is happening | ||
704 | MinThreads = 2 | ||
705 | |||
706 | ; How many threads to start at maximum load | ||
707 | MaxThreads = 100 | ||
708 | |||
709 | ; Time a thread must be idle (in seconds) before it dies | ||
710 | IdleTimeout = 60 | ||
711 | |||
712 | ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest") | ||
713 | Priority = "Normal" | ||
714 | |||
715 | ; Maximum number of events to queue for a script (excluding timers) | ||
716 | MaxScriptEventQueue = 3000 | ||
717 | |||
718 | ; Stack size per thread created | ||
719 | ThreadStackSize = 262144 | ||
720 | |||
721 | ; Set this to true to load each script into a separate | ||
722 | ; AppDomain. Setting this to false will load all script assemblies into the | ||
723 | ; current AppDomain, which will reduce the initial per-script memory overhead, | ||
724 | ; but deleted scripts stay inactive using memory. | ||
725 | ; Significantly improving script loading times. | ||
726 | ; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted. | ||
727 | ; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region. | ||
728 | ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited. | ||
729 | ; At this time some mono versions seem to have problems with the true option, | ||
730 | ; so default is now false until a fix is found, to simply life of less technical skilled users. | ||
731 | ; | ||
732 | ; At least on my desktop, this seems to be what soaks up 4 - 5 times the memory. | ||
733 | AppDomainLoading = false | ||
734 | |||
735 | ; Controls whether previously compiled scripts DLLs are deleted on sim restart. | ||
736 | ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled. | ||
737 | ; It should be true on first run after updating opensim binary version | ||
738 | ; after first run you can change to false. | ||
739 | ; You can also set it to false and delete the script DLLs by hand | ||
740 | ; This does not delete cached scripts state. | ||
741 | DeleteScriptsOnStartup = true | ||
742 | |||
743 | ; CompactMemOnLoad | ||
744 | ; forces calls to memory garbage collector before loading each script DLL during region startup. | ||
745 | ; Peak memory usage is reduced and region starts with a more compacted memory allocation. | ||
746 | ; But this costs a lot of time, so region load will take a lot longer. | ||
747 | ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true) | ||
748 | CompactMemOnLoad = true | ||
749 | |||
750 | ; Controls whether scripts are stopped by aborting their threads externally (abort) | ||
751 | ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op). | ||
752 | ; co-op will be more stable as aborting threads can cause instability. | ||
753 | ; abort was the default option in OpenSimulator 0.8 and before. | ||
754 | ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary. | ||
755 | ; However, the setting change will not take affect until the next time you restart the simulator. | ||
756 | ; Setting changes will not affect state information stored for scripts. | ||
757 | ScriptStopStrategy = co-op | ||
758 | |||
759 | ; Rate to poll for asynchronous command replies (ms) | ||
760 | ; currently unused | ||
761 | ;AsyncLLCommandLoopms = 50 | ||
762 | |||
763 | ; Compile debug info (line numbers) into the script assemblies | ||
764 | CompileWithDebugInformation = true | ||
765 | |||
766 | ; Interval (s) between background save of script states | ||
767 | SaveInterval = 120 | ||
768 | |||
769 | ; Interval (s) between maintenance runs (0 = disable) | ||
770 | MaintenanceInterval = 10 | ||
771 | |||
772 | ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested | ||
773 | ; before aborting the thread (such as when an object containing scripts is taken into inventory). | ||
774 | WaitForEventCompletionOnScriptStop = 1000 | ||
775 | |||
776 | ; Minimum settable timer interval. Any timer setting less than this is | ||
777 | ; rounded up to this minimum interval. | ||
778 | MinTimerInterval = 0.1 | ||
779 | |||
780 | ; Sensor settings | ||
781 | SensorMaxRange = 1024.0 | ||
782 | SensorMaxResults = 64 | ||
783 | |||
784 | |||
785 | [Groups] | ||
786 | ; Groups data is cached for this number of seconds before another request is made to the groups service | ||
787 | ; Set to 0 to disable the cache. | ||
788 | ; Default is 30 seconds | ||
789 | GroupsCacheTimeout = 30 | ||
790 | |||
791 | |||
792 | [PacketPool] | ||
793 | ;RecyclePackets = true | ||
794 | ;RecycleDataBlocks = true | ||
795 | |||
796 | ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets. | ||
797 | ; This reduces data churn | ||
798 | RecycleBaseUDPPackets = true | ||
799 | |||
800 | |||
801 | [InterestManagement] | ||
802 | ; This section controls how state updates are prioritized for each client | ||
803 | ; Valid values are BestAvatarResponsiveness, Time, Distance, | ||
804 | ; SimpleAngularDistance, and FrontBack | ||
805 | UpdatePrioritizationScheme = BestAvatarResponsiveness | ||
806 | ReprioritizationEnabled = true | ||
807 | ReprioritizationInterval = 2000.0 | ||
808 | RootReprioritizationDistance = 10.0 | ||
809 | ChildReprioritizationDistance = 20.0 | ||
810 | |||
811 | ; TEST OPTION KEEP AS FALSE | ||
812 | ; if true, don't send object updates if outside view range | ||
813 | ObjectsCullingByDistance = false | ||
814 | |||
815 | ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region | ||
816 | ; 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). | ||
817 | ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars. | ||
818 | RootTerseUpdatePeriod = 0 | ||
819 | |||
820 | ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region | ||
821 | ; 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. | ||
822 | ChildTerseUpdatePeriod = 0 | ||
823 | |||
824 | ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance | ||
825 | RootPositionUpdateTolerance = 0.05 | ||
826 | |||
827 | ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance | ||
828 | RootRotationUpdateTolerance = 0.1 | ||
829 | |||
830 | ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance | ||
831 | RootVelocityUpdateTolerance = 0.001 | ||
832 | |||
833 | |||
834 | [Statistics] | ||
835 | ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames | ||
836 | ; to include in the averaging calculations | ||
837 | NumberOfFrames=10 | ||
838 | |||
839 | |||
840 | [Terrain] | ||
841 | ; If 'true' each avatar is only sent terrain patches within their view distance | ||
842 | ; This also changes the region terrain loading from 'lawn mower' to ordered around | ||
843 | ; the avatar outward. | ||
844 | SendTerrainUpdatesByViewDistance = True | ||
845 | |||
846 | |||
847 | [LandManagement] | ||
848 | ; When editing terrain or objects, parcel layer info is updated in the viewer. | ||
849 | ; This can be expensive for large regions. If this variable is 'true', only the | ||
850 | ; parcel layer data around the area of interest is sent. The parcel layer info | ||
851 | ; is sent for 'ParcelLayerViewDistance' around the interest point. | ||
852 | ; If 'ParcelLayerViewDistance' is >= 128, the operation for legacy sized regions | ||
853 | ; will be what it has always been (send the whole region's parcel layer info). | ||
854 | ; Other parcel updates (login, changing parcel ownership, ...) will still send | ||
855 | ; whole region. | ||
856 | LimitParcelLayerUpdateDistance = true | ||
857 | ParcelLayerViewDistance = 1024 | ||
858 | |||
859 | |||
860 | ;; If you are using a simian grid frontend you can enable | ||
861 | ;; this module to upload tile images for the mapping fn | ||
862 | ;; | ||
863 | [SimianGridMaptiles] | ||
864 | RefreshTime = 3600 | ||
865 | |||
866 | |||
867 | ;; | ||
868 | ;; These are defaults that are overwritten below in [Architecture]. | ||
869 | ;; These defaults allow OpenSim to work out of the box with | ||
870 | ;; zero configuration | ||
871 | ;; | ||
872 | [AssetService] | ||
873 | ; Disable this to prevent the default asset set from being inserted into the | ||
874 | ; asset store each time the region starts | ||
875 | AssetLoaderEnabled = false | ||
876 | |||
877 | |||
878 | [AutoBackupModule] | ||
879 | ;; default is module is disabled at the top level | ||
880 | AutoBackupModuleEnabled = false | ||
881 | |||
882 | |||
883 | [ServiceThrottle] | ||
884 | ;; Default time interval (in ms) for the throttle service thread to wake up | ||
885 | Interval = 5000 | ||
886 | |||
887 | |||
888 | [Materials] | ||
889 | MaxMaterialsPerTransaction = 50 | ||
diff --git a/bin/config-include/SimDefault.ini b/bin/config-include/SimDefault.ini new file mode 100644 index 0000000..3f2e713 --- /dev/null +++ b/bin/config-include/SimDefault.ini | |||
@@ -0,0 +1,884 @@ | |||
1 | [Startup] | ||
2 | ; ## | ||
3 | ; ## SYSTEM | ||
4 | ; ## | ||
5 | |||
6 | ; Sets the method that OpenSim will use to fire asynchronous | ||
7 | ; events. Valid values are UnsafeQueueUserWorkItem, | ||
8 | ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread. | ||
9 | ; | ||
10 | ; SmartThreadPool is reported to work well on Mono/Linux, but | ||
11 | ; UnsafeQueueUserWorkItem has been benchmarked with better | ||
12 | ; performance on .NET/Windows | ||
13 | ; | ||
14 | ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security | ||
15 | ; privileges. However, as calling code is trusted anyway this is safe (if you set | ||
16 | ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons). | ||
17 | async_call_method = SmartThreadPool | ||
18 | |||
19 | ; Max threads to allocate on the FireAndForget thread pool | ||
20 | ; when running with the SmartThreadPool option above | ||
21 | MaxPoolThreads = 300 | ||
22 | |||
23 | ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently. | ||
24 | ; This improves performance in regions with large numbers of connections (in the hundreds). | ||
25 | JobEngineEnabled = true | ||
26 | |||
27 | ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos | ||
28 | ; Increasing this number will increase memory usage. | ||
29 | MaxPrimUndos = 20 | ||
30 | |||
31 | ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum | ||
32 | ; This can be overridden in the region config file. | ||
33 | ClampPrimSize = false | ||
34 | |||
35 | ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative. | ||
36 | ClampNegativeZ = false | ||
37 | |||
38 | ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region. | ||
39 | ; This only applies when crossing to a region running in a different simulator. | ||
40 | ; For crossings where the regions are on the same simulator the script is always kept running. | ||
41 | AllowScriptCrossing = true | ||
42 | |||
43 | ; Main Frame time | ||
44 | ; This defines the rate of several simulation events. | ||
45 | ; Default value should meet most needs. | ||
46 | ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads. | ||
47 | ; It should not be less than the physics engine step time. | ||
48 | ; Being a integer multiple of it may reduce some jitter in reported physics FPS. | ||
49 | ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same | ||
50 | FrameTime = 0.0909 | ||
51 | |||
52 | ; Send scheduled updates to objects in the scene | ||
53 | ; This must be a whole number | ||
54 | UpdateObjectsEveryNFrames = 1 | ||
55 | |||
56 | ; Send position/velocity, etc. updates to agents in the scene | ||
57 | ; This must be a whole number | ||
58 | UpdateAgentsEveryNFrames = 1 | ||
59 | |||
60 | ; Apply pending forces from physics calculations to an entity. | ||
61 | ; This must be a whole number | ||
62 | UpdateEntityMovementEveryNFrames = 1 | ||
63 | |||
64 | ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap. | ||
65 | ; This must be a whole number | ||
66 | UpdateCoarseLocationsEveryNFrames = 50 | ||
67 | |||
68 | ; Physics simulation execution or syncronization, acording to engine. Should be 1 | ||
69 | ; This must be a whole number | ||
70 | UpdatePhysicsEveryNFrames = 1 | ||
71 | |||
72 | ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1. | ||
73 | ; This must be a whole number | ||
74 | UpdateEventsEveryNFrames = 1 | ||
75 | |||
76 | ; Send terrain updates to viewers | ||
77 | ; This must be a whole number | ||
78 | UpdateTerrainEveryNFrames = 50 | ||
79 | |||
80 | ; Persitently store any objects which meet the PRIM STORAGE criteria | ||
81 | ; This must be a whole number | ||
82 | UpdateStorageEveryNFrames = 200 | ||
83 | |||
84 | ; Clean up temp on rez objects. | ||
85 | ; This must be a whole number | ||
86 | UpdateTempCleaningEveryNSeconds = 180 | ||
87 | |||
88 | ; ## | ||
89 | ; ## PRIM STORAGE | ||
90 | ; ## | ||
91 | |||
92 | ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to | ||
93 | ; prevent frequently changing objects from heavily loading the region data store. | ||
94 | ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep. | ||
95 | ; | ||
96 | ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds | ||
97 | MinimumTimeBeforePersistenceConsidered = 60 | ||
98 | ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago | ||
99 | MaximumTimeBeforePersistenceConsidered = 600 | ||
100 | |||
101 | ; ## | ||
102 | ; ## PHYSICS | ||
103 | ; ## | ||
104 | |||
105 | ; Select a mesher here. | ||
106 | ; | ||
107 | ; Meshmerizer properly handles complex prims by using triangle meshes. | ||
108 | ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way | ||
109 | ; | ||
110 | ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports | ||
111 | ; Usually this is only a box | ||
112 | |||
113 | ;meshing = Meshmerizer | ||
114 | ;meshing = ZeroMesher | ||
115 | ;; select ubODEMeshmerizer only with ubOde physics engine | ||
116 | meshing = ubODEMeshmerizer | ||
117 | |||
118 | ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit | ||
119 | ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions | ||
120 | ; edit the line ulimit -s 262144, and change this last value | ||
121 | |||
122 | ; if you use Meshmerizer and want sculpt map collisions, setting this to | ||
123 | ; to true will store decoded sculpt maps in a special folder in your bin | ||
124 | ; folder, which can reduce startup times by reducing asset requests. Some | ||
125 | ; versions of mono dont work well when reading the cache files, so set this | ||
126 | ; to false if you have compatibility problems. | ||
127 | CacheSculptMaps = true | ||
128 | |||
129 | ;; BulletSim is the default physics engine. It provides the best performance and most functionality. | ||
130 | ;; BulletSim supports varregions. | ||
131 | ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. | ||
132 | ;; It continues to provide a workable physics implementation. It does not currently support varregions. | ||
133 | ;; basicphysics effectively does not model physics at all, making all objects phantom. | ||
134 | ;; Default is BulletSim | ||
135 | ;physics = BulletSim | ||
136 | ;physics = modified_BulletX | ||
137 | ;physics = OpenDynamicsEngine | ||
138 | ;physics = basicphysics | ||
139 | ;physics = POS | ||
140 | ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also | ||
141 | physics = ubODE | ||
142 | |||
143 | ; ## | ||
144 | ; ## SCRIPT ENGINE | ||
145 | ; ## | ||
146 | |||
147 | ;; Default script engine to use. Currently, we only have XEngine | ||
148 | DefaultScriptEngine = "XEngine" | ||
149 | |||
150 | ; Image decoding. Use CSJ2K for layer boundary decoding if true, | ||
151 | ; OpenJPEG if false | ||
152 | ; UseCSJ2K = true | ||
153 | |||
154 | |||
155 | [Map] | ||
156 | ; Map tile options. | ||
157 | ; If true, then maptiles are generated using the MapImageModule below. | ||
158 | ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden | ||
159 | ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need | ||
160 | ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ | ||
161 | GenerateMaptiles = true | ||
162 | |||
163 | ;WorldMapModule = "WorldMap" | ||
164 | |||
165 | ; The module to use in order to generate map images. | ||
166 | ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can | ||
167 | ; generate better images. | ||
168 | MapImageModule = "MapImageModule" | ||
169 | |||
170 | ; World map blacklist timeout in seconds | ||
171 | ;BlacklistTimeout = 600 | ||
172 | |||
173 | ; Refresh (in seconds) the map tile periodically | ||
174 | MaptileRefresh = 0 | ||
175 | |||
176 | ; If not generating maptiles, use this static texture asset ID | ||
177 | ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" | ||
178 | |||
179 | ; Draw objects on maptile. This step might take a long time if you've got a large number of | ||
180 | ; objects, so you can turn it off here if you'd like. | ||
181 | DrawPrimOnMapTile = true | ||
182 | |||
183 | ; Use terrain texture for maptiles if true, use shaded green if false | ||
184 | TextureOnMapTile = true | ||
185 | |||
186 | ; Texture prims | ||
187 | TexturePrims = true | ||
188 | |||
189 | ; Only texture prims that have a diagonal size greater than this number | ||
190 | TexturePrimSize = 48 | ||
191 | |||
192 | ; Attempt to render meshes and sculpties on the map | ||
193 | RenderMeshes = false | ||
194 | |||
195 | ;UseAntiAliasing = true | ||
196 | |||
197 | |||
198 | [Network] | ||
199 | ; OpenSim can send multiple simultaneous requests for services such as asset | ||
200 | ; retrieval. However, some versions of mono appear to hang when there are too | ||
201 | ; many simultaneous requests, default is 30 and is currently applied only to assets | ||
202 | ;MaxRequestConcurrency = 30 | ||
203 | |||
204 | |||
205 | [ClientStack.LindenUDP] | ||
206 | ; The client socket receive buffer size determines how many | ||
207 | ; incoming requests we can process; the default on .NET is 8192 | ||
208 | ; which is about 2 4k-sized UDP datagrams. On mono this is | ||
209 | ; whatever the underlying operating system has as default; for | ||
210 | ; example, ubuntu 8.04 or SLES11 have about 111k, which is about | ||
211 | ; 27 4k-sized UDP datagrams (on linux platforms you can [as root] | ||
212 | ; do "sysctl net.core.rmem_default" to find out what your system | ||
213 | ; uses a default socket receive buffer size. | ||
214 | ; | ||
215 | ; client_socket_rcvbuf_size allows you to specify the receive | ||
216 | ; buffer size LLUDPServer should use. NOTE: this will be limited | ||
217 | ; by the system's settings for the maximum client receive buffer | ||
218 | ; size (on linux systems you can set that with "sysctl -w | ||
219 | ; net.core.rmem_max=X") | ||
220 | ; | ||
221 | ;client_socket_rcvbuf_size = 8388608 | ||
222 | |||
223 | ; Maximum outbound bytes per second for a single scene. This can be used to | ||
224 | ; throttle total outbound UDP traffic for a simulator. The default value is | ||
225 | ; 0, meaning no throttling at the scene level. The example given here is | ||
226 | ; 20 megabits | ||
227 | ; | ||
228 | ;scene_throttle_max_bps = 2500000 | ||
229 | |||
230 | ; Maximum bytes per second to send to any single client. This will override | ||
231 | ; the user's viewer preference settings. The default value is 0, meaning no | ||
232 | ; aggregate throttling on clients (only per-category throttling). The | ||
233 | ; example given here is 1.5 megabits | ||
234 | ; | ||
235 | ;client_throttle_max_bps = 187500 | ||
236 | |||
237 | ; Minimum bytes per second to send to any single client as a result of | ||
238 | ; adaptive throttling. Viewer preferences set to a lower number will | ||
239 | ; override the settin. The example given here ensures that adaptive | ||
240 | ; throttling will never decrease per client bandwidth below 256 kbps. | ||
241 | ; | ||
242 | ;adaptive_throttle_min_bps = 32000 | ||
243 | |||
244 | ; Adaptive throttling attempts to limit network overload when multiple | ||
245 | ; clients login by starting each connection more slowly. Disabled by | ||
246 | ; default | ||
247 | ; | ||
248 | enable_adaptive_throttles = false | ||
249 | |||
250 | ; Per-client bytes per second rates for the various throttle categories. | ||
251 | ; These are default values that will be overridden by clients. These | ||
252 | ; defaults are approximately equivalent to the throttles set by the Imprudence | ||
253 | ; viewer when maximum bandwidth is set to 350kbps | ||
254 | |||
255 | ;resend_default = 6625 | ||
256 | ;land_default = 9125 | ||
257 | ;wind_default = 1750 | ||
258 | ;cloud_default = 1750 | ||
259 | ;task_default = 18500 | ||
260 | ;texture_default = 18500 | ||
261 | ;asset_default = 10500 | ||
262 | |||
263 | ; Configures how ObjectUpdates are aggregated. These numbers | ||
264 | ; do not literally mean how many updates will be put in each | ||
265 | ; packet that goes over the wire, as packets are | ||
266 | ; automatically split on a 1400 byte boundary. These control | ||
267 | ; the balance between responsiveness of interest list updates | ||
268 | ; and total throughput. Higher numbers will ensure more full- | ||
269 | ; sized packets and faster sending of data, but more delay in | ||
270 | ; updating interest lists | ||
271 | ; | ||
272 | ;PrimUpdatesPerCallback = 100 | ||
273 | |||
274 | ; TextureSendLimit determines how many packets will be put on | ||
275 | ; the outgoing queue each cycle. Like the settings above, this | ||
276 | ; is a balance between responsiveness to priority updates and | ||
277 | ; total throughput. Higher numbers will give a better | ||
278 | ; throughput at the cost of reduced responsiveness to client | ||
279 | ; priority changes or transfer aborts | ||
280 | ; | ||
281 | ;TextureSendLimit = 20 | ||
282 | |||
283 | ; CannibalizeTextureRate allows bandwidth to be moved from the | ||
284 | ; UDP texture throttle to the task throttle. Since most viewers | ||
285 | ; use HTTP textures, this provides a means of using what is largely | ||
286 | ; unused bandwidth in the total throttle. The value is the proportion | ||
287 | ; of the texture rate to move to the task queue. It must be between | ||
288 | ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the | ||
289 | ; bandwidth is grabbed) | ||
290 | ; | ||
291 | ; CannibalizeTextureRate = 0.5 | ||
292 | |||
293 | ; The time to wait before disconecting an unresponsive client. | ||
294 | ; The time is in seconds. The default is one minute | ||
295 | ; | ||
296 | ;AckTimeout = 60 | ||
297 | |||
298 | ; The time to wait before disconecting an unresponsive paused client. | ||
299 | ; A client can be paused when the file selection dialog is open during file upload. | ||
300 | ; This gives extra time to find files via the dialog but will still disconnect if | ||
301 | ; the client crashes or loses its network connection | ||
302 | ; The time is in seconds. The default is five minutes. | ||
303 | ; | ||
304 | ;PausedAckTimeout = 300 | ||
305 | |||
306 | |||
307 | [Appearance] | ||
308 | ; Persist avatar baked textures | ||
309 | ; Persisting baked textures can speed up login and region border | ||
310 | ; crossings especially with large numbers of users, though it | ||
311 | ; will store potentially large numbers of textures in your asset | ||
312 | ; database | ||
313 | PersistBakedTextures = false | ||
314 | |||
315 | ; Control the delay before appearance is sent to other avatars and | ||
316 | ; saved in the avatar service. Attempts to limit the impact caused | ||
317 | ; by the very chatty dialog that sets appearance when an avatar | ||
318 | ; logs in or teleports into a region; values are in seconds | ||
319 | DelayBeforeAppearanceSave = 5 | ||
320 | DelayBeforeAppearanceSend = 2 | ||
321 | |||
322 | ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds. | ||
323 | ; This may help with some situations where avatars are persistently grey, though it will not help | ||
324 | ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others). | ||
325 | ResendAppearanceUpdates = false | ||
326 | |||
327 | ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar | ||
328 | ; on every login | ||
329 | ReuseTextures = false | ||
330 | |||
331 | |||
332 | [Attachments] | ||
333 | ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments | ||
334 | ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit | ||
335 | ; or when multiple avatars with medium level attachments login/change outfit simultaneously. | ||
336 | ; If 0 then no throttling is performed. | ||
337 | ThrottlePer100PrimsRezzed = 0 | ||
338 | |||
339 | |||
340 | [Textures] | ||
341 | ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible | ||
342 | ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components | ||
343 | ; (e.g. images pulled from an external HTTP address). | ||
344 | ; 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. | ||
345 | ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted. | ||
346 | ; Hence, currently considered experimental. | ||
347 | ; Default is false. | ||
348 | ReuseDynamicTextures = false | ||
349 | |||
350 | ; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused | ||
351 | ; 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. | ||
352 | ; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem. | ||
353 | ; This setting only has an affect is ReuseDynamicTextures = true | ||
354 | ; Default is false | ||
355 | ReuseDynamicLowDataTextures = false | ||
356 | |||
357 | |||
358 | [ODEPhysicsSettings] | ||
359 | ; ## | ||
360 | ; ## Physics stats settings ( most ignored by ubOde ) | ||
361 | ; | ||
362 | |||
363 | ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule | ||
364 | ; (see http://opensimulator.org/wiki/Monitoring_Module for more details). | ||
365 | collect_stats = false | ||
366 | |||
367 | ; ## | ||
368 | ; ## Physics logging settings - logfiles are saved to *.DIF files | ||
369 | ; ## | ||
370 | |||
371 | ; default is false | ||
372 | ;physics_logging = true | ||
373 | ;; every n simulation iterations, the physics snapshot file is updated | ||
374 | ;physics_logging_interval = 50 | ||
375 | ;; append to existing physics logfile, or overwrite existing logfiles? | ||
376 | ;physics_logging_append_existing_logfile = true | ||
377 | |||
378 | ;## | ||
379 | ;## World Settings | ||
380 | ;## | ||
381 | |||
382 | ; World Step size. | ||
383 | ; with legacy ODE this value needs to be close to 0.02s | ||
384 | ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load | ||
385 | ; you will need to test acording to you needs | ||
386 | ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS | ||
387 | world_stepsize = 0.01818 | ||
388 | ; number of iterations of constrains solver, higher should improve results | ||
389 | ; up to a point where acumulated math errors eliminate the improvement | ||
390 | ; more steps may increase CPU load. No real gain in changing | ||
391 | world_solver_iterations = 10 | ||
392 | |||
393 | ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim | ||
394 | ; defines spaces partition cells min and max sizes == 2^value | ||
395 | world_hashspace_level_low = -5 | ||
396 | world_hashSpace_level_high = 12 | ||
397 | |||
398 | meters_in_small_space = 29.9 | ||
399 | |||
400 | |||
401 | ; ## | ||
402 | ; ## Contact properties. (the stuff that happens when things come in contact with each other) | ||
403 | ; ## | ||
404 | |||
405 | ; surface layer around geometries other geometries can sink into before generating a contact | ||
406 | world_contact_surface_layer = 0.001 | ||
407 | |||
408 | ; Filtering collisions helps keep things stable physics wise, but sometimes | ||
409 | ; it can be overzealous. If you notice bouncing, chances are it's that. | ||
410 | filter_collisions = false | ||
411 | |||
412 | ; Non Moving Terrain Contact (avatar isn't moving) | ||
413 | nm_terraincontact_friction = 255.0 | ||
414 | nm_terraincontact_bounce = 0.1 | ||
415 | nm_terraincontact_erp = 0.1025 | ||
416 | |||
417 | ; Moving Terrain Contact (avatar is moving) | ||
418 | m_terraincontact_friction = 75.0 | ||
419 | m_terraincontact_bounce = 0.1 | ||
420 | m_terrainContact_erp = 0.05025 | ||
421 | |||
422 | ; Moving Avatar to object Contact | ||
423 | m_avatarobjectcontact_friction = 75.0 | ||
424 | m_avatarobjectcontact_bounce = 0.1 | ||
425 | |||
426 | ; Object to Object Contact and Non-Moving Avatar to object | ||
427 | objectcontact_friction = 250.0 | ||
428 | objectcontact_bounce = 0.2 | ||
429 | |||
430 | ; ## | ||
431 | ; ## Avatar Control | ||
432 | ; ## | ||
433 | |||
434 | ; PID Controller Settings. These affect the math that causes the avatar to reach the | ||
435 | ; desired velocity | ||
436 | ; See http://en.wikipedia.org/wiki/PID_controller | ||
437 | |||
438 | av_pid_derivative = 2200.0 | ||
439 | av_pid_proportional = 900.0 | ||
440 | |||
441 | ; specifies if the capsule should be tilted (=true; old compatibility mode) | ||
442 | ; or straight up-and-down (=false; better and more consistent physics behavior) | ||
443 | av_capsule_tilted = false | ||
444 | |||
445 | ; Movement. Smaller is faster. | ||
446 | |||
447 | ; speed of movement with Always Run off | ||
448 | av_movement_divisor_walk = 1.3 | ||
449 | |||
450 | ; speed of movement with Always Run on | ||
451 | av_movement_divisor_run = 0.8 | ||
452 | |||
453 | ; When the avatar flies, it will be moved up by this amount off the ground (in meters) | ||
454 | minimum_ground_flight_offset = 3.0 | ||
455 | |||
456 | ; Plant avatar. This reduces the effect of physical contacts with the avatar. | ||
457 | ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive. | ||
458 | ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active | ||
459 | ; will lock the avatar in place | ||
460 | av_planted = false | ||
461 | |||
462 | ; 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 | ||
463 | av_av_collisions_off = false | ||
464 | |||
465 | ; ## | ||
466 | ; ## Object options | ||
467 | ; ## | ||
468 | |||
469 | ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep | ||
470 | body_frames_auto_disable = 20 | ||
471 | |||
472 | ; used to control llMove2Target | ||
473 | body_pid_derivative = 35 | ||
474 | body_pid_gain = 25 | ||
475 | |||
476 | ; maximum number of contact points to generate per collision | ||
477 | contacts_per_collision = 80 | ||
478 | |||
479 | ; start throttling the object updates if object comes in contact with 3 or more other objects | ||
480 | geom_contactpoints_start_throttling = 3 | ||
481 | |||
482 | ; send 1 update for every x updates below when throttled | ||
483 | geom_updates_before_throttled_update = 15 | ||
484 | |||
485 | ; ## | ||
486 | ; ## Sculpted Prim settings | ||
487 | ; ## | ||
488 | |||
489 | ; Do we want to mesh sculpted prim to collide like they look? | ||
490 | ; If you are seeing sculpt texture decode problems | ||
491 | ; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception") | ||
492 | ; then you might want to try setting this to false. | ||
493 | mesh_sculpted_prim = true | ||
494 | |||
495 | ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies | ||
496 | mesh_lod = 32 | ||
497 | |||
498 | ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies | ||
499 | mesh_physical_lod = 16 | ||
500 | |||
501 | ; ## | ||
502 | ; ## additional meshing options | ||
503 | ; ## | ||
504 | |||
505 | ; Physics needs to create internal meshs (or convert the object meshs or scultps) | ||
506 | ; for all prims except simple boxes and spheres. | ||
507 | |||
508 | ; collisions of small objects againts larger ones can have a increased CPU load cost | ||
509 | ; so this are represented by a simple BOX | ||
510 | ; if all their scale dimensions are lower or equal to this option. Default is 0.1m | ||
511 | ; (ubOde only) | ||
512 | ; MinSizeToMeshmerize = 0.1 | ||
513 | |||
514 | |||
515 | [BulletSim] | ||
516 | ; There are two bullet physics libraries, bulletunmanaged is the default and is a | ||
517 | ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality | ||
518 | ; but the c++ one is much faster. | ||
519 | BulletEngine = "bulletunmanaged" | ||
520 | ; BulletEngine = "bulletxna" | ||
521 | |||
522 | ; BulletSim can run on its own thread independent of the simulator's heartbeat | ||
523 | ; thread. Enabling this will not let the physics engine slow down avatar movement, etc. | ||
524 | UseSeparatePhysicsThread = false | ||
525 | |||
526 | ; Terrain implementation can use either Bullet's heightField or BulletSim can build | ||
527 | ; a mesh. 0=heightField, 1=mesh | ||
528 | TerrainImplementation = 0 | ||
529 | ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield | ||
530 | ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher | ||
531 | ; magnifications use lots of memory. | ||
532 | TerrainMeshMagnification = 2 | ||
533 | |||
534 | ; Should avatars collide with each other? | ||
535 | AvatarToAvatarCollisionsByDefault = true | ||
536 | |||
537 | ; Default linkset implmentation | ||
538 | ; 'Constraint' uses physics constraints to hold linkset together. 'Compound' | ||
539 | ; builds a compound shape from the children shapes to create a single physical | ||
540 | ; shape. 'Compound' uses a lot less CPU time. | ||
541 | LinkImplementation = 1 ; 0=constraint, 1=compound | ||
542 | |||
543 | ; If 'true', offset a linkset's origin based on mass of linkset parts. | ||
544 | LinksetOffsetCenterOfMass = false | ||
545 | |||
546 | ; If 'true', turn scuplties into meshes | ||
547 | MeshSculptedPrim = true | ||
548 | |||
549 | ; If 'true', force simple prims (box and sphere) to be meshed | ||
550 | ; If 'false', the Bullet native special case shape is used for square rectangles | ||
551 | ; and even dimensioned spheres. | ||
552 | ForceSimplePrimMeshing = false | ||
553 | |||
554 | ; If 'true', when creating meshes, remove all triangles that have two equal vertexes. | ||
555 | ; Happens often in sculpties. If turned off, there will be some doorways | ||
556 | ; that cannot be walked through. | ||
557 | ShouldRemoveZeroWidthTriangles = true | ||
558 | |||
559 | ; If 'true', use convex hull definition in mesh asset if present. | ||
560 | ShouldUseAssetHulls = true | ||
561 | |||
562 | ; If there are thousands of physical objects, these maximums should be increased. | ||
563 | MaxCollisionsPerFrame = 2048 | ||
564 | MaxUpdatesPerFrame = 8192 | ||
565 | |||
566 | ; Detailed physics debug logging. Very verbose. | ||
567 | PhysicsLoggingEnabled = False | ||
568 | PhysicsLoggingDir = "." | ||
569 | VehicleLoggingEnabled = False | ||
570 | |||
571 | |||
572 | [Sun] | ||
573 | ; send a Sun update every update_interval # of frames. A lower number will | ||
574 | ; make for smoother sun transition at the cost of network | ||
575 | ;update_interval = 100 | ||
576 | |||
577 | |||
578 | [Wind] | ||
579 | ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second | ||
580 | wind_update_rate = 150 | ||
581 | |||
582 | ; The Default Wind Plugin to load | ||
583 | wind_plugin = SimpleRandomWind | ||
584 | |||
585 | |||
586 | [Cloud] | ||
587 | ; update interval for the cloud cover data returned by llCloud(). | ||
588 | ; default is 1000 | ||
589 | cloud_update_rate = 1000 | ||
590 | |||
591 | |||
592 | [Trees] | ||
593 | ; active_trees allows module to change its trees in time. | ||
594 | ; some will be deleted, others created and rest may grow | ||
595 | ; default is false. You can change it with console command tree active true | false later | ||
596 | active_trees = false | ||
597 | ; the trees change execution time rate (in ms) | ||
598 | update_rate = 1000 | ||
599 | |||
600 | ; allow the trees to grow. | ||
601 | ; DANGER | ||
602 | ; this option causes high network use on the order of | ||
603 | ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second | ||
604 | allowGrow = false | ||
605 | |||
606 | |||
607 | [LL-Functions] | ||
608 | ; Maximum number of llListen events we allow over the entire region. | ||
609 | ; Set this to 0 to have no limit imposed | ||
610 | max_listens_per_region = 1000 | ||
611 | |||
612 | ; Maximum number of llListen events we allow per script | ||
613 | ; Set this to 0 to have no limit imposed. | ||
614 | max_listens_per_script = 64 | ||
615 | |||
616 | ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL()) | ||
617 | max_external_urls_per_simulator = 100 | ||
618 | |||
619 | ; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes. | ||
620 | ; Speeds up calculations but can make them inaccurate, in some cases very inaccurate. | ||
621 | UseSimpleBoxesInGetBoundingBox = false | ||
622 | |||
623 | ; Use llCastRay V3 if true. | ||
624 | ; Implements llCastRay similar but not identical to Second Life. | ||
625 | ; See http://wiki.secondlife.com/wiki/LlCastRay . | ||
626 | ; NEW | ||
627 | ; Meshes prims for good accuracy in ray hit detection, | ||
628 | ; handling basic and tortured prims, sculpts and meshes. | ||
629 | ; Uses ellipsoid, correctly sized avatar capsules. | ||
630 | ; Handles complex terrain, multi-prim objects and seated avatars. | ||
631 | ; Implements throttling and the status codes | ||
632 | ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED, | ||
633 | ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW. | ||
634 | ; WARNING | ||
635 | ; Can be faster on some servers and scenes, but slower on others, | ||
636 | ; compared to previous version of llCastRay in OpenSimulator. | ||
637 | ; Is in most cases considerably slower than llCastRay in Second Life. | ||
638 | ; Generates geometry meshes and can therefore use much system resources. | ||
639 | UseLlCastRayV3 = false | ||
640 | |||
641 | ; Accepted calculation precision error in calculations in llCastRay V3 | ||
642 | FloatToleranceInLlCastRay = 0.00001 | ||
643 | |||
644 | ; Accepted distance difference between duplicate hits in llCastRay V3 | ||
645 | FloatTolerance2InLlCastRay = 0.001 | ||
646 | |||
647 | ; Detail level when rendering prims in llCastRay V3 | ||
648 | ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call | ||
649 | PrimDetailLevelInLlCastRay = 1 | ||
650 | |||
651 | ; Detail level when rendering sculpts in llCastRay V3 | ||
652 | ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call | ||
653 | SculptDetailLevelInLlCastRay = 1 | ||
654 | |||
655 | ; Detail level when rendering meshes in llCastRay V3 | ||
656 | ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call | ||
657 | MeshDetailLevelInLlCastRay = 3 | ||
658 | |||
659 | ; Detail level when rendering avatar capsules in llCastRay V3 | ||
660 | ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call | ||
661 | AvatarDetailLevelInLlCastRay = 1 | ||
662 | |||
663 | ; Maximum number of returned hits from llCastRay V3 | ||
664 | MaxHitsInLlCastRay = 16 | ||
665 | |||
666 | ; Maximum number of returned hits per prim from llCastRay V3 | ||
667 | MaxHitsPerPrimInLlCastRay = 16 | ||
668 | |||
669 | ; Maximum number of returned hits per object from llCastRay V3 | ||
670 | MaxHitsPerObjectInLlCastRay = 16 | ||
671 | |||
672 | ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true | ||
673 | DetectExitHitsInLlCastRay = false | ||
674 | |||
675 | ; Detect attachments in llCastRay V3 if true | ||
676 | DoAttachmentsInLlCastRay = false | ||
677 | |||
678 | ; Throttle period length in ms before which all old llCastRay use is discarded in llCastRay V3 | ||
679 | ; The sum of AvailableTimeInMsPerRegionInLlCastRay and all AvailableTimeInMsPerAvatarInLlCastRay should not exceed this | ||
680 | ThrottleTimeInMsInLlCastRay = 200 | ||
681 | |||
682 | ; Available time in ms for llCastRay per throttle period and 65536 m2 land area in llCastRay V3 | ||
683 | AvailableTimeInMsPerRegionInLlCastRay = 40 | ||
684 | |||
685 | ; Available time in ms for llCastRay per throttle period and avatar when script in attachment or vehicle in llCastRay V3 | ||
686 | AvailableTimeInMsPerAvatarInLlCastRay = 10 | ||
687 | |||
688 | ; Required available time in ms left to perform a new llCastRay in llCastRay V3 | ||
689 | RequiredAvailableTimeInMsInLlCastRay = 2 | ||
690 | |||
691 | ; Maximum available time in ms possible in llCastRay V3, not to get too high values with varregions | ||
692 | MaximumAvailableTimeInMsInLlCastRay = 40 | ||
693 | |||
694 | ; Use cached meshes in llCastRay V3 if true | ||
695 | ; Improves performance but uses more memory | ||
696 | UseMeshCacheInLlCastRay = true | ||
697 | |||
698 | |||
699 | [XEngine] | ||
700 | ; How many threads to keep alive even if nothing is happening | ||
701 | MinThreads = 2 | ||
702 | |||
703 | ; How many threads to start at maximum load | ||
704 | MaxThreads = 100 | ||
705 | |||
706 | ; Time a thread must be idle (in seconds) before it dies | ||
707 | IdleTimeout = 60 | ||
708 | |||
709 | ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest") | ||
710 | Priority = "BelowNormal" | ||
711 | |||
712 | ; Maximum number of events to queue for a script (excluding timers) | ||
713 | MaxScriptEventQueue = 300 | ||
714 | |||
715 | ; Stack size per thread created | ||
716 | ThreadStackSize = 262144 | ||
717 | |||
718 | ; Set this to true to load each script into a separate | ||
719 | ; AppDomain. Setting this to false will load all script assemblies into the | ||
720 | ; current AppDomain, which will reduce the initial per-script memory overhead, | ||
721 | ; but deleted scripts stay inactive using memory. | ||
722 | ; Significantly improving script loading times. | ||
723 | ; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted. | ||
724 | ; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region. | ||
725 | ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited. | ||
726 | ; At this time some mono versions seem to have problems with the true option, | ||
727 | ; so default is now false until a fix is found, to simply life of less technical skilled users. | ||
728 | AppDomainLoading = false | ||
729 | |||
730 | ; Controls whether previously compiled scripts DLLs are deleted on sim restart. | ||
731 | ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled. | ||
732 | ; It should be true on first run after updating opensim binary version | ||
733 | ; after first run you can change to false. | ||
734 | ; You can also set it to false and delete the script DLLs by hand | ||
735 | ; This does not delete cached scripts state. | ||
736 | DeleteScriptsOnStartup = true | ||
737 | |||
738 | ; CompactMemOnLoad | ||
739 | ; forces calls to memory garbage collector before loading each script DLL during region startup. | ||
740 | ; Peak memory usage is reduced and region starts with a more compacted memory allocation. | ||
741 | ; But this costs a lot of time, so region load will take a lot longer. | ||
742 | ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true) | ||
743 | ; CompactMemOnLoad = false | ||
744 | |||
745 | ; Controls whether scripts are stopped by aborting their threads externally (abort) | ||
746 | ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op). | ||
747 | ; co-op will be more stable as aborting threads can cause instability. | ||
748 | ; abort was the default option in OpenSimulator 0.8 and before. | ||
749 | ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary. | ||
750 | ; However, the setting change will not take affect until the next time you restart the simulator. | ||
751 | ; Setting changes will not affect state information stored for scripts. | ||
752 | ScriptStopStrategy = co-op | ||
753 | |||
754 | ; Rate to poll for asynchronous command replies (ms) | ||
755 | ; currently unused | ||
756 | ;AsyncLLCommandLoopms = 50 | ||
757 | |||
758 | ; Compile debug info (line numbers) into the script assemblies | ||
759 | CompileWithDebugInformation = true | ||
760 | |||
761 | ; Interval (s) between background save of script states | ||
762 | SaveInterval = 120 | ||
763 | |||
764 | ; Interval (s) between maintenance runs (0 = disable) | ||
765 | MaintenanceInterval = 10 | ||
766 | |||
767 | ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested | ||
768 | ; before aborting the thread (such as when an object containing scripts is taken into inventory). | ||
769 | WaitForEventCompletionOnScriptStop = 1000 | ||
770 | |||
771 | ; Minimum settable timer interval. Any timer setting less than this is | ||
772 | ; rounded up to this minimum interval. | ||
773 | MinTimerInterval = 0.5 | ||
774 | |||
775 | ; Sensor settings | ||
776 | SensorMaxRange = 96.0 | ||
777 | SensorMaxResults = 16 | ||
778 | |||
779 | |||
780 | [Groups] | ||
781 | ; Groups data is cached for this number of seconds before another request is made to the groups service | ||
782 | ; Set to 0 to disable the cache. | ||
783 | ; Default is 30 seconds | ||
784 | GroupsCacheTimeout = 30 | ||
785 | |||
786 | |||
787 | [PacketPool] | ||
788 | ;RecyclePackets = true | ||
789 | ;RecycleDataBlocks = true | ||
790 | |||
791 | ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets. | ||
792 | ; This reduces data churn | ||
793 | RecycleBaseUDPPackets = true | ||
794 | |||
795 | |||
796 | [InterestManagement] | ||
797 | ; This section controls how state updates are prioritized for each client | ||
798 | ; Valid values are BestAvatarResponsiveness, Time, Distance, | ||
799 | ; SimpleAngularDistance, and FrontBack | ||
800 | UpdatePrioritizationScheme = BestAvatarResponsiveness | ||
801 | ReprioritizationEnabled = true | ||
802 | ReprioritizationInterval = 2000.0 | ||
803 | RootReprioritizationDistance = 10.0 | ||
804 | ChildReprioritizationDistance = 20.0 | ||
805 | |||
806 | ; TEST OPTION KEEP AS FALSE | ||
807 | ; if true, don't send object updates if outside view range | ||
808 | ObjectsCullingByDistance = false | ||
809 | |||
810 | ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region | ||
811 | ; 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). | ||
812 | ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars. | ||
813 | RootTerseUpdatePeriod = 0 | ||
814 | |||
815 | ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region | ||
816 | ; 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. | ||
817 | ChildTerseUpdatePeriod = 0 | ||
818 | |||
819 | ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance | ||
820 | RootPositionUpdateTolerance = 0.05 | ||
821 | |||
822 | ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance | ||
823 | RootRotationUpdateTolerance = 0.1 | ||
824 | |||
825 | ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance | ||
826 | RootVelocityUpdateTolerance = 0.001 | ||
827 | |||
828 | |||
829 | [Statistics] | ||
830 | ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames | ||
831 | ; to include in the averaging calculations | ||
832 | NumberOfFrames=10 | ||
833 | |||
834 | |||
835 | [Terrain] | ||
836 | ; If 'true' each avatar is only sent terrain patches within their view distance | ||
837 | ; This also changes the region terrain loading from 'lawn mower' to ordered around | ||
838 | ; the avatar outward. | ||
839 | SendTerrainUpdatesByViewDistance = True | ||
840 | |||
841 | |||
842 | [LandManagement] | ||
843 | ; When editing terrain or objects, parcel layer info is updated in the viewer. | ||
844 | ; This can be expensive for large regions. If this variable is 'true', only the | ||
845 | ; parcel layer data around the area of interest is sent. The parcel layer info | ||
846 | ; is sent for 'ParcelLayerViewDistance' around the interest point. | ||
847 | ; If 'ParcelLayerViewDistance' is >= 128, the operation for legacy sized regions | ||
848 | ; will be what it has always been (send the whole region's parcel layer info). | ||
849 | ; Other parcel updates (login, changing parcel ownership, ...) will still send | ||
850 | ; whole region. | ||
851 | LimitParcelLayerUpdateDistance = true | ||
852 | ParcelLayerViewDistance = 128 | ||
853 | |||
854 | |||
855 | ;; If you are using a simian grid frontend you can enable | ||
856 | ;; this module to upload tile images for the mapping fn | ||
857 | ;; | ||
858 | [SimianGridMaptiles] | ||
859 | RefreshTime = 3600 | ||
860 | |||
861 | |||
862 | ;; | ||
863 | ;; These are defaults that are overwritten below in [Architecture]. | ||
864 | ;; These defaults allow OpenSim to work out of the box with | ||
865 | ;; zero configuration | ||
866 | ;; | ||
867 | [AssetService] | ||
868 | ; Disable this to prevent the default asset set from being inserted into the | ||
869 | ; asset store each time the region starts | ||
870 | AssetLoaderEnabled = true | ||
871 | |||
872 | |||
873 | [AutoBackupModule] | ||
874 | ;; default is module is disabled at the top level | ||
875 | AutoBackupModuleEnabled = false | ||
876 | |||
877 | |||
878 | [ServiceThrottle] | ||
879 | ;; Default time interval (in ms) for the throttle service thread to wake up | ||
880 | Interval = 5000 | ||
881 | |||
882 | |||
883 | [Materials] | ||
884 | MaxMaterialsPerTransaction = 50 | ||
diff --git a/bin/config-include/SimFast.ini b/bin/config-include/SimFast.ini new file mode 100644 index 0000000..40d3cc1 --- /dev/null +++ b/bin/config-include/SimFast.ini | |||
@@ -0,0 +1,884 @@ | |||
1 | [Startup] | ||
2 | ; ## | ||
3 | ; ## SYSTEM | ||
4 | ; ## | ||
5 | |||
6 | ; Sets the method that OpenSim will use to fire asynchronous | ||
7 | ; events. Valid values are UnsafeQueueUserWorkItem, | ||
8 | ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread. | ||
9 | ; | ||
10 | ; SmartThreadPool is reported to work well on Mono/Linux, but | ||
11 | ; UnsafeQueueUserWorkItem has been benchmarked with better | ||
12 | ; performance on .NET/Windows | ||
13 | ; | ||
14 | ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security | ||
15 | ; privileges. However, as calling code is trusted anyway this is safe (if you set | ||
16 | ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons). | ||
17 | async_call_method = SmartThreadPool | ||
18 | |||
19 | ; Max threads to allocate on the FireAndForget thread pool | ||
20 | ; when running with the SmartThreadPool option above | ||
21 | MaxPoolThreads = 300 | ||
22 | |||
23 | ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently. | ||
24 | ; This improves performance in regions with large numbers of connections (in the hundreds). | ||
25 | JobEngineEnabled = true | ||
26 | |||
27 | ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos | ||
28 | ; Increasing this number will increase memory usage. | ||
29 | MaxPrimUndos = 42 | ||
30 | |||
31 | ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum | ||
32 | ; This can be overridden in the region config file. | ||
33 | ClampPrimSize = true | ||
34 | |||
35 | ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative. | ||
36 | ClampNegativeZ = true | ||
37 | |||
38 | ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region. | ||
39 | ; This only applies when crossing to a region running in a different simulator. | ||
40 | ; For crossings where the regions are on the same simulator the script is always kept running. | ||
41 | AllowScriptCrossing = true | ||
42 | |||
43 | ; Main Frame time | ||
44 | ; This defines the rate of several simulation events. | ||
45 | ; Default value should meet most needs. | ||
46 | ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads. | ||
47 | ; It should not be less than the physics engine step time. | ||
48 | ; Being a integer multiple of it may reduce some jitter in reported physics FPS. | ||
49 | ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same | ||
50 | FrameTime = 0.0909 | ||
51 | |||
52 | ; Send scheduled updates to objects in the scene | ||
53 | ; This must be a whole number | ||
54 | UpdateObjectsEveryNFrames = 1 | ||
55 | |||
56 | ; Send position/velocity, etc. updates to agents in the scene | ||
57 | ; This must be a whole number | ||
58 | UpdateAgentsEveryNFrames = 1 | ||
59 | |||
60 | ; Apply pending forces from physics calculations to an entity. | ||
61 | ; This must be a whole number | ||
62 | UpdateEntityMovementEveryNFrames = 1 | ||
63 | |||
64 | ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap. | ||
65 | ; This must be a whole number | ||
66 | UpdateCoarseLocationsEveryNFrames = 50 | ||
67 | |||
68 | ; Physics simulation execution or syncronization, acording to engine. Should be 1 | ||
69 | ; This must be a whole number | ||
70 | UpdatePhysicsEveryNFrames = 1 | ||
71 | |||
72 | ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1. | ||
73 | ; This must be a whole number | ||
74 | UpdateEventsEveryNFrames = 1 | ||
75 | |||
76 | ; Send terrain updates to viewers | ||
77 | ; This must be a whole number | ||
78 | UpdateTerrainEveryNFrames = 50 | ||
79 | |||
80 | ; Persitently store any objects which meet the PRIM STORAGE criteria | ||
81 | ; This must be a whole number | ||
82 | UpdateStorageEveryNFrames = 200 | ||
83 | |||
84 | ; Clean up temp on rez objects. | ||
85 | ; This must be a whole number | ||
86 | UpdateTempCleaningEveryNSeconds = 180 | ||
87 | |||
88 | ; ## | ||
89 | ; ## PRIM STORAGE | ||
90 | ; ## | ||
91 | |||
92 | ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to | ||
93 | ; prevent frequently changing objects from heavily loading the region data store. | ||
94 | ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep. | ||
95 | ; | ||
96 | ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds | ||
97 | MinimumTimeBeforePersistenceConsidered = 60 | ||
98 | ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago | ||
99 | MaximumTimeBeforePersistenceConsidered = 600 | ||
100 | |||
101 | ; ## | ||
102 | ; ## PHYSICS | ||
103 | ; ## | ||
104 | |||
105 | ; Select a mesher here. | ||
106 | ; | ||
107 | ; Meshmerizer properly handles complex prims by using triangle meshes. | ||
108 | ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way | ||
109 | ; | ||
110 | ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports | ||
111 | ; Usually this is only a box | ||
112 | |||
113 | ;meshing = Meshmerizer | ||
114 | ;meshing = ZeroMesher | ||
115 | ;; select ubODEMeshmerizer only with ubOde physics engine | ||
116 | meshing = ubODEMeshmerizer | ||
117 | |||
118 | ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit | ||
119 | ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions | ||
120 | ; edit the line ulimit -s 262144, and change this last value | ||
121 | |||
122 | ; if you use Meshmerizer and want sculpt map collisions, setting this to | ||
123 | ; to true will store decoded sculpt maps in a special folder in your bin | ||
124 | ; folder, which can reduce startup times by reducing asset requests. Some | ||
125 | ; versions of mono dont work well when reading the cache files, so set this | ||
126 | ; to false if you have compatibility problems. | ||
127 | CacheSculptMaps = true | ||
128 | |||
129 | ;; BulletSim is the default physics engine. It provides the best performance and most functionality. | ||
130 | ;; BulletSim supports varregions. | ||
131 | ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. | ||
132 | ;; It continues to provide a workable physics implementation. It does not currently support varregions. | ||
133 | ;; basicphysics effectively does not model physics at all, making all objects phantom. | ||
134 | ;; Default is BulletSim | ||
135 | ;physics = BulletSim | ||
136 | ;physics = modified_BulletX | ||
137 | ;physics = OpenDynamicsEngine | ||
138 | ;physics = basicphysics | ||
139 | ;physics = POS | ||
140 | ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also | ||
141 | physics = ubODE | ||
142 | |||
143 | ; ## | ||
144 | ; ## SCRIPT ENGINE | ||
145 | ; ## | ||
146 | |||
147 | ;; Default script engine to use. Currently, we only have XEngine | ||
148 | DefaultScriptEngine = "XEngine" | ||
149 | |||
150 | ; Image decoding. Use CSJ2K for layer boundary decoding if true, | ||
151 | ; OpenJPEG if false | ||
152 | ; UseCSJ2K = true | ||
153 | |||
154 | |||
155 | [Map] | ||
156 | ; Map tile options. | ||
157 | ; If true, then maptiles are generated using the MapImageModule below. | ||
158 | ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden | ||
159 | ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need | ||
160 | ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ | ||
161 | GenerateMaptiles = false | ||
162 | |||
163 | ;WorldMapModule = "WorldMap" | ||
164 | |||
165 | ; The module to use in order to generate map images. | ||
166 | ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can | ||
167 | ; generate better images. | ||
168 | MapImageModule = "Map3DImageModule" | ||
169 | |||
170 | ; World map blacklist timeout in seconds | ||
171 | ;BlacklistTimeout = 600 | ||
172 | |||
173 | ; Refresh (in seconds) the map tile periodically | ||
174 | MaptileRefresh = 0 | ||
175 | |||
176 | ; If not generating maptiles, use this static texture asset ID | ||
177 | MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" | ||
178 | |||
179 | ; Draw objects on maptile. This step might take a long time if you've got a large number of | ||
180 | ; objects, so you can turn it off here if you'd like. | ||
181 | DrawPrimOnMapTile = false | ||
182 | |||
183 | ; Use terrain texture for maptiles if true, use shaded green if false | ||
184 | TextureOnMapTile = false | ||
185 | |||
186 | ; Texture prims | ||
187 | TexturePrims = false | ||
188 | |||
189 | ; Only texture prims that have a diagonal size greater than this number | ||
190 | TexturePrimSize = 64 | ||
191 | |||
192 | ; Attempt to render meshes and sculpties on the map | ||
193 | RenderMeshes = false | ||
194 | |||
195 | UseAntiAliasing = false | ||
196 | |||
197 | |||
198 | [Network] | ||
199 | ; OpenSim can send multiple simultaneous requests for services such as asset | ||
200 | ; retrieval. However, some versions of mono appear to hang when there are too | ||
201 | ; many simultaneous requests, default is 30 and is currently applied only to assets | ||
202 | ;MaxRequestConcurrency = 30 | ||
203 | |||
204 | |||
205 | [ClientStack.LindenUDP] | ||
206 | ; The client socket receive buffer size determines how many | ||
207 | ; incoming requests we can process; the default on .NET is 8192 | ||
208 | ; which is about 2 4k-sized UDP datagrams. On mono this is | ||
209 | ; whatever the underlying operating system has as default; for | ||
210 | ; example, ubuntu 8.04 or SLES11 have about 111k, which is about | ||
211 | ; 27 4k-sized UDP datagrams (on linux platforms you can [as root] | ||
212 | ; do "sysctl net.core.rmem_default" to find out what your system | ||
213 | ; uses a default socket receive buffer size. | ||
214 | ; | ||
215 | ; client_socket_rcvbuf_size allows you to specify the receive | ||
216 | ; buffer size LLUDPServer should use. NOTE: this will be limited | ||
217 | ; by the system's settings for the maximum client receive buffer | ||
218 | ; size (on linux systems you can set that with "sysctl -w | ||
219 | ; net.core.rmem_max=X") | ||
220 | ; | ||
221 | ;client_socket_rcvbuf_size = 8388608 | ||
222 | |||
223 | ; Maximum outbound bytes per second for a single scene. This can be used to | ||
224 | ; throttle total outbound UDP traffic for a simulator. The default value is | ||
225 | ; 0, meaning no throttling at the scene level. The example given here is | ||
226 | ; 20 megabits | ||
227 | ; | ||
228 | ;scene_throttle_max_bps = 2500000 | ||
229 | |||
230 | ; Maximum bytes per second to send to any single client. This will override | ||
231 | ; the user's viewer preference settings. The default value is 0, meaning no | ||
232 | ; aggregate throttling on clients (only per-category throttling). The | ||
233 | ; example given here is 1.5 megabits | ||
234 | ; | ||
235 | ;client_throttle_max_bps = 187500 | ||
236 | |||
237 | ; Minimum bytes per second to send to any single client as a result of | ||
238 | ; adaptive throttling. Viewer preferences set to a lower number will | ||
239 | ; override the settin. The example given here ensures that adaptive | ||
240 | ; throttling will never decrease per client bandwidth below 256 kbps. | ||
241 | ; | ||
242 | ;adaptive_throttle_min_bps = 32000 | ||
243 | |||
244 | ; Adaptive throttling attempts to limit network overload when multiple | ||
245 | ; clients login by starting each connection more slowly. Disabled by | ||
246 | ; default | ||
247 | ; | ||
248 | enable_adaptive_throttles = false | ||
249 | |||
250 | ; Per-client bytes per second rates for the various throttle categories. | ||
251 | ; These are default values that will be overridden by clients. These | ||
252 | ; defaults are approximately equivalent to the throttles set by the Imprudence | ||
253 | ; viewer when maximum bandwidth is set to 350kbps | ||
254 | |||
255 | ;resend_default = 6625 | ||
256 | ;land_default = 9125 | ||
257 | ;wind_default = 1750 | ||
258 | ;cloud_default = 1750 | ||
259 | ;task_default = 18500 | ||
260 | ;texture_default = 18500 | ||
261 | ;asset_default = 10500 | ||
262 | |||
263 | ; Configures how ObjectUpdates are aggregated. These numbers | ||
264 | ; do not literally mean how many updates will be put in each | ||
265 | ; packet that goes over the wire, as packets are | ||
266 | ; automatically split on a 1400 byte boundary. These control | ||
267 | ; the balance between responsiveness of interest list updates | ||
268 | ; and total throughput. Higher numbers will ensure more full- | ||
269 | ; sized packets and faster sending of data, but more delay in | ||
270 | ; updating interest lists | ||
271 | ; | ||
272 | ;PrimUpdatesPerCallback = 100 | ||
273 | |||
274 | ; TextureSendLimit determines how many packets will be put on | ||
275 | ; the outgoing queue each cycle. Like the settings above, this | ||
276 | ; is a balance between responsiveness to priority updates and | ||
277 | ; total throughput. Higher numbers will give a better | ||
278 | ; throughput at the cost of reduced responsiveness to client | ||
279 | ; priority changes or transfer aborts | ||
280 | ; | ||
281 | ;TextureSendLimit = 20 | ||
282 | |||
283 | ; CannibalizeTextureRate allows bandwidth to be moved from the | ||
284 | ; UDP texture throttle to the task throttle. Since most viewers | ||
285 | ; use HTTP textures, this provides a means of using what is largely | ||
286 | ; unused bandwidth in the total throttle. The value is the proportion | ||
287 | ; of the texture rate to move to the task queue. It must be between | ||
288 | ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the | ||
289 | ; bandwidth is grabbed) | ||
290 | ; | ||
291 | ; CannibalizeTextureRate = 0.5 | ||
292 | |||
293 | ; The time to wait before disconecting an unresponsive client. | ||
294 | ; The time is in seconds. The default is one minute | ||
295 | ; | ||
296 | ;AckTimeout = 60 | ||
297 | |||
298 | ; The time to wait before disconecting an unresponsive paused client. | ||
299 | ; A client can be paused when the file selection dialog is open during file upload. | ||
300 | ; This gives extra time to find files via the dialog but will still disconnect if | ||
301 | ; the client crashes or loses its network connection | ||
302 | ; The time is in seconds. The default is five minutes. | ||
303 | ; | ||
304 | ;PausedAckTimeout = 300 | ||
305 | |||
306 | |||
307 | [Appearance] | ||
308 | ; Persist avatar baked textures | ||
309 | ; Persisting baked textures can speed up login and region border | ||
310 | ; crossings especially with large numbers of users, though it | ||
311 | ; will store potentially large numbers of textures in your asset | ||
312 | ; database | ||
313 | PersistBakedTextures = false | ||
314 | |||
315 | ; Control the delay before appearance is sent to other avatars and | ||
316 | ; saved in the avatar service. Attempts to limit the impact caused | ||
317 | ; by the very chatty dialog that sets appearance when an avatar | ||
318 | ; logs in or teleports into a region; values are in seconds | ||
319 | DelayBeforeAppearanceSave = 5 | ||
320 | DelayBeforeAppearanceSend = 2 | ||
321 | |||
322 | ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds. | ||
323 | ; This may help with some situations where avatars are persistently grey, though it will not help | ||
324 | ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others). | ||
325 | ResendAppearanceUpdates = false | ||
326 | |||
327 | ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar | ||
328 | ; on every login | ||
329 | ReuseTextures = true | ||
330 | |||
331 | |||
332 | [Attachments] | ||
333 | ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments | ||
334 | ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit | ||
335 | ; or when multiple avatars with medium level attachments login/change outfit simultaneously. | ||
336 | ; If 0 then no throttling is performed. | ||
337 | ThrottlePer100PrimsRezzed = 0 | ||
338 | |||
339 | |||
340 | [Textures] | ||
341 | ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible | ||
342 | ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components | ||
343 | ; (e.g. images pulled from an external HTTP address). | ||
344 | ; 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. | ||
345 | ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted. | ||
346 | ; Hence, currently considered experimental. | ||
347 | ; Default is false. | ||
348 | ReuseDynamicTextures = true | ||
349 | |||
350 | ; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused | ||
351 | ; 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. | ||
352 | ; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem. | ||
353 | ; This setting only has an affect is ReuseDynamicTextures = true | ||
354 | ; Default is false | ||
355 | ReuseDynamicLowDataTextures = true | ||
356 | |||
357 | |||
358 | [ODEPhysicsSettings] | ||
359 | ; ## | ||
360 | ; ## Physics stats settings ( most ignored by ubOde ) | ||
361 | ; | ||
362 | |||
363 | ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule | ||
364 | ; (see http://opensimulator.org/wiki/Monitoring_Module for more details). | ||
365 | collect_stats = false | ||
366 | |||
367 | ; ## | ||
368 | ; ## Physics logging settings - logfiles are saved to *.DIF files | ||
369 | ; ## | ||
370 | |||
371 | ; default is false | ||
372 | ;physics_logging = true | ||
373 | ;; every n simulation iterations, the physics snapshot file is updated | ||
374 | ;physics_logging_interval = 50 | ||
375 | ;; append to existing physics logfile, or overwrite existing logfiles? | ||
376 | ;physics_logging_append_existing_logfile = true | ||
377 | |||
378 | ;## | ||
379 | ;## World Settings | ||
380 | ;## | ||
381 | |||
382 | ; World Step size. | ||
383 | ; with legacy ODE this value needs to be close to 0.02s | ||
384 | ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load | ||
385 | ; you will need to test acording to you needs | ||
386 | ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS | ||
387 | world_stepsize = 0.015 | ||
388 | ; number of iterations of constrains solver, higher should improve results | ||
389 | ; up to a point where acumulated math errors eliminate the improvement | ||
390 | ; more steps may increase CPU load. No real gain in changing | ||
391 | world_solver_iterations = 10 | ||
392 | |||
393 | ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim | ||
394 | ; defines spaces partition cells min and max sizes == 2^value | ||
395 | world_hashspace_level_low = -5 | ||
396 | world_hashSpace_level_high = 12 | ||
397 | |||
398 | meters_in_small_space = 29.9 | ||
399 | |||
400 | |||
401 | ; ## | ||
402 | ; ## Contact properties. (the stuff that happens when things come in contact with each other) | ||
403 | ; ## | ||
404 | |||
405 | ; surface layer around geometries other geometries can sink into before generating a contact | ||
406 | world_contact_surface_layer = 0.001 | ||
407 | |||
408 | ; Filtering collisions helps keep things stable physics wise, but sometimes | ||
409 | ; it can be overzealous. If you notice bouncing, chances are it's that. | ||
410 | filter_collisions = false | ||
411 | |||
412 | ; Non Moving Terrain Contact (avatar isn't moving) | ||
413 | nm_terraincontact_friction = 255.0 | ||
414 | nm_terraincontact_bounce = 0.1 | ||
415 | nm_terraincontact_erp = 0.1025 | ||
416 | |||
417 | ; Moving Terrain Contact (avatar is moving) | ||
418 | m_terraincontact_friction = 75.0 | ||
419 | m_terraincontact_bounce = 0.05 | ||
420 | m_terrainContact_erp = 0.05025 | ||
421 | |||
422 | ; Moving Avatar to object Contact | ||
423 | m_avatarobjectcontact_friction = 75.0 | ||
424 | m_avatarobjectcontact_bounce = 0.1 | ||
425 | |||
426 | ; Object to Object Contact and Non-Moving Avatar to object | ||
427 | objectcontact_friction = 250.0 | ||
428 | objectcontact_bounce = 0.2 | ||
429 | |||
430 | ; ## | ||
431 | ; ## Avatar Control | ||
432 | ; ## | ||
433 | |||
434 | ; PID Controller Settings. These affect the math that causes the avatar to reach the | ||
435 | ; desired velocity | ||
436 | ; See http://en.wikipedia.org/wiki/PID_controller | ||
437 | |||
438 | av_pid_derivative = 2200.0 | ||
439 | av_pid_proportional = 900.0 | ||
440 | |||
441 | ; specifies if the capsule should be tilted (=true; old compatibility mode) | ||
442 | ; or straight up-and-down (=false; better and more consistent physics behavior) | ||
443 | av_capsule_tilted = false | ||
444 | |||
445 | ; Movement. Smaller is faster. | ||
446 | |||
447 | ; speed of movement with Always Run off | ||
448 | av_movement_divisor_walk = 1.4 | ||
449 | |||
450 | ; speed of movement with Always Run on | ||
451 | av_movement_divisor_run = 0.9 | ||
452 | |||
453 | ; When the avatar flies, it will be moved up by this amount off the ground (in meters) | ||
454 | minimum_ground_flight_offset = 3.0 | ||
455 | |||
456 | ; Plant avatar. This reduces the effect of physical contacts with the avatar. | ||
457 | ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive. | ||
458 | ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active | ||
459 | ; will lock the avatar in place | ||
460 | av_planted = true | ||
461 | |||
462 | ; 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 | ||
463 | av_av_collisions_off = true | ||
464 | |||
465 | ; ## | ||
466 | ; ## Object options | ||
467 | ; ## | ||
468 | |||
469 | ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep | ||
470 | body_frames_auto_disable = 20 | ||
471 | |||
472 | ; used to control llMove2Target | ||
473 | body_pid_derivative = 35 | ||
474 | body_pid_gain = 25 | ||
475 | |||
476 | ; maximum number of contact points to generate per collision | ||
477 | contacts_per_collision = 80 | ||
478 | |||
479 | ; start throttling the object updates if object comes in contact with 3 or more other objects | ||
480 | geom_contactpoints_start_throttling = 3 | ||
481 | |||
482 | ; send 1 update for every x updates below when throttled | ||
483 | geom_updates_before_throttled_update = 15 | ||
484 | |||
485 | ; ## | ||
486 | ; ## Sculpted Prim settings | ||
487 | ; ## | ||
488 | |||
489 | ; Do we want to mesh sculpted prim to collide like they look? | ||
490 | ; If you are seeing sculpt texture decode problems | ||
491 | ; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception") | ||
492 | ; then you might want to try setting this to false. | ||
493 | mesh_sculpted_prim = false | ||
494 | |||
495 | ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies | ||
496 | mesh_lod = 32 | ||
497 | |||
498 | ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies | ||
499 | mesh_physical_lod = 16 | ||
500 | |||
501 | ; ## | ||
502 | ; ## additional meshing options | ||
503 | ; ## | ||
504 | |||
505 | ; Physics needs to create internal meshs (or convert the object meshs or scultps) | ||
506 | ; for all prims except simple boxes and spheres. | ||
507 | |||
508 | ; collisions of small objects againts larger ones can have a increased CPU load cost | ||
509 | ; so this are represented by a simple BOX | ||
510 | ; if all their scale dimensions are lower or equal to this option. Default is 0.1m | ||
511 | ; (ubOde only) | ||
512 | ; MinSizeToMeshmerize = 0.1 | ||
513 | |||
514 | |||
515 | [BulletSim] | ||
516 | ; There are two bullet physics libraries, bulletunmanaged is the default and is a | ||
517 | ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality | ||
518 | ; but the c++ one is much faster. | ||
519 | ;BulletEngine = "bulletunmanaged" | ||
520 | BulletEngine = "bulletxna" | ||
521 | |||
522 | ; BulletSim can run on its own thread independent of the simulator's heartbeat | ||
523 | ; thread. Enabling this will not let the physics engine slow down avatar movement, etc. | ||
524 | UseSeparatePhysicsThread = true | ||
525 | |||
526 | ; Terrain implementation can use either Bullet's heightField or BulletSim can build | ||
527 | ; a mesh. 0=heightField, 1=mesh | ||
528 | TerrainImplementation = 0 | ||
529 | ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield | ||
530 | ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher | ||
531 | ; magnifications use lots of memory. | ||
532 | TerrainMeshMagnification = 1 | ||
533 | |||
534 | ; Should avatars collide with each other? | ||
535 | AvatarToAvatarCollisionsByDefault = false | ||
536 | |||
537 | ; Default linkset implmentation | ||
538 | ; 'Constraint' uses physics constraints to hold linkset together. 'Compound' | ||
539 | ; builds a compound shape from the children shapes to create a single physical | ||
540 | ; shape. 'Compound' uses a lot less CPU time. | ||
541 | LinkImplementation = 1 ; 0=constraint, 1=compound | ||
542 | |||
543 | ; If 'true', offset a linkset's origin based on mass of linkset parts. | ||
544 | LinksetOffsetCenterOfMass = false | ||
545 | |||
546 | ; If 'true', turn scuplties into meshes | ||
547 | MeshSculptedPrim = false | ||
548 | |||
549 | ; If 'true', force simple prims (box and sphere) to be meshed | ||
550 | ; If 'false', the Bullet native special case shape is used for square rectangles | ||
551 | ; and even dimensioned spheres. | ||
552 | ForceSimplePrimMeshing = true | ||
553 | |||
554 | ; If 'true', when creating meshes, remove all triangles that have two equal vertexes. | ||
555 | ; Happens often in sculpties. If turned off, there will be some doorways | ||
556 | ; that cannot be walked through. | ||
557 | ShouldRemoveZeroWidthTriangles = true | ||
558 | |||
559 | ; If 'true', use convex hull definition in mesh asset if present. | ||
560 | ShouldUseAssetHulls = true | ||
561 | |||
562 | ; If there are thousands of physical objects, these maximums should be increased. | ||
563 | MaxCollisionsPerFrame = 2048 | ||
564 | MaxUpdatesPerFrame = 8192 | ||
565 | |||
566 | ; Detailed physics debug logging. Very verbose. | ||
567 | PhysicsLoggingEnabled = False | ||
568 | PhysicsLoggingDir = "." | ||
569 | VehicleLoggingEnabled = False | ||
570 | |||
571 | |||
572 | [Sun] | ||
573 | ; send a Sun update every update_interval # of frames. A lower number will | ||
574 | ; make for smoother sun transition at the cost of network | ||
575 | ;update_interval = 100 | ||
576 | |||
577 | |||
578 | [Wind] | ||
579 | ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second | ||
580 | wind_update_rate = 150 | ||
581 | |||
582 | ; The Default Wind Plugin to load | ||
583 | wind_plugin = SimpleRandomWind | ||
584 | |||
585 | |||
586 | [Cloud] | ||
587 | ; update interval for the cloud cover data returned by llCloud(). | ||
588 | ; default is 1000 | ||
589 | cloud_update_rate = 1000 | ||
590 | |||
591 | |||
592 | [Trees] | ||
593 | ; active_trees allows module to change its trees in time. | ||
594 | ; some will be deleted, others created and rest may grow | ||
595 | ; default is false. You can change it with console command tree active true | false later | ||
596 | active_trees = false | ||
597 | ; the trees change execution time rate (in ms) | ||
598 | update_rate = 1000 | ||
599 | |||
600 | ; allow the trees to grow. | ||
601 | ; DANGER | ||
602 | ; this option causes high network use on the order of | ||
603 | ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second | ||
604 | allowGrow = false | ||
605 | |||
606 | |||
607 | [LL-Functions] | ||
608 | ; Maximum number of llListen events we allow over the entire region. | ||
609 | ; Set this to 0 to have no limit imposed | ||
610 | max_listens_per_region = 0 | ||
611 | |||
612 | ; Maximum number of llListen events we allow per script | ||
613 | ; Set this to 0 to have no limit imposed. | ||
614 | max_listens_per_script = 0 | ||
615 | |||
616 | ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL()) | ||
617 | max_external_urls_per_simulator = 256 | ||
618 | |||
619 | ; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes. | ||
620 | ; Speeds up calculations but can make them inaccurate, in some cases very inaccurate. | ||
621 | UseSimpleBoxesInGetBoundingBox = true | ||
622 | |||
623 | ; Use llCastRay V3 if true. | ||
624 | ; Implements llCastRay similar but not identical to Second Life. | ||
625 | ; See http://wiki.secondlife.com/wiki/LlCastRay . | ||
626 | ; NEW | ||
627 | ; Meshes prims for good accuracy in ray hit detection, | ||
628 | ; handling basic and tortured prims, sculpts and meshes. | ||
629 | ; Uses ellipsoid, correctly sized avatar capsules. | ||
630 | ; Handles complex terrain, multi-prim objects and seated avatars. | ||
631 | ; Implements throttling and the status codes | ||
632 | ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED, | ||
633 | ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW. | ||
634 | ; WARNING | ||
635 | ; Can be faster on some servers and scenes, but slower on others, | ||
636 | ; compared to previous version of llCastRay in OpenSimulator. | ||
637 | ; Is in most cases considerably slower than llCastRay in Second Life. | ||
638 | ; Generates geometry meshes and can therefore use much system resources. | ||
639 | UseLlCastRayV3 = true | ||
640 | |||
641 | ; Accepted calculation precision error in calculations in llCastRay V3 | ||
642 | FloatToleranceInLlCastRay = 0.00001 | ||
643 | |||
644 | ; Accepted distance difference between duplicate hits in llCastRay V3 | ||
645 | FloatTolerance2InLlCastRay = 0.001 | ||
646 | |||
647 | ; Detail level when rendering prims in llCastRay V3 | ||
648 | ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call | ||
649 | PrimDetailLevelInLlCastRay = 1 | ||
650 | |||
651 | ; Detail level when rendering sculpts in llCastRay V3 | ||
652 | ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call | ||
653 | SculptDetailLevelInLlCastRay = 1 | ||
654 | |||
655 | ; Detail level when rendering meshes in llCastRay V3 | ||
656 | ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call | ||
657 | MeshDetailLevelInLlCastRay = 3 | ||
658 | |||
659 | ; Detail level when rendering avatar capsules in llCastRay V3 | ||
660 | ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call | ||
661 | AvatarDetailLevelInLlCastRay = 1 | ||
662 | |||
663 | ; Maximum number of returned hits from llCastRay V3 | ||
664 | MaxHitsInLlCastRay = 16 | ||
665 | |||
666 | ; Maximum number of returned hits per prim from llCastRay V3 | ||
667 | MaxHitsPerPrimInLlCastRay = 16 | ||
668 | |||
669 | ; Maximum number of returned hits per object from llCastRay V3 | ||
670 | MaxHitsPerObjectInLlCastRay = 16 | ||
671 | |||
672 | ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true | ||
673 | DetectExitHitsInLlCastRay = false | ||
674 | |||
675 | ; Detect attachments in llCastRay V3 if true | ||
676 | DoAttachmentsInLlCastRay = false | ||
677 | |||
678 | ; Throttle period length in ms before which all old llCastRay use is discarded in llCastRay V3 | ||
679 | ; The sum of AvailableTimeInMsPerRegionInLlCastRay and all AvailableTimeInMsPerAvatarInLlCastRay should not exceed this | ||
680 | ThrottleTimeInMsInLlCastRay = 200 | ||
681 | |||
682 | ; Available time in ms for llCastRay per throttle period and 65536 m2 land area in llCastRay V3 | ||
683 | AvailableTimeInMsPerRegionInLlCastRay = 40 | ||
684 | |||
685 | ; Available time in ms for llCastRay per throttle period and avatar when script in attachment or vehicle in llCastRay V3 | ||
686 | AvailableTimeInMsPerAvatarInLlCastRay = 10 | ||
687 | |||
688 | ; Required available time in ms left to perform a new llCastRay in llCastRay V3 | ||
689 | RequiredAvailableTimeInMsInLlCastRay = 2 | ||
690 | |||
691 | ; Maximum available time in ms possible in llCastRay V3, not to get too high values with varregions | ||
692 | MaximumAvailableTimeInMsInLlCastRay = 40 | ||
693 | |||
694 | ; Use cached meshes in llCastRay V3 if true | ||
695 | ; Improves performance but uses more memory | ||
696 | UseMeshCacheInLlCastRay = true | ||
697 | |||
698 | |||
699 | [XEngine] | ||
700 | ; How many threads to keep alive even if nothing is happening | ||
701 | MinThreads = 2 | ||
702 | |||
703 | ; How many threads to start at maximum load | ||
704 | MaxThreads = 100 | ||
705 | |||
706 | ; Time a thread must be idle (in seconds) before it dies | ||
707 | IdleTimeout = 60 | ||
708 | |||
709 | ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest") | ||
710 | Priority = "Normal" | ||
711 | |||
712 | ; Maximum number of events to queue for a script (excluding timers) | ||
713 | MaxScriptEventQueue = 3000 | ||
714 | |||
715 | ; Stack size per thread created | ||
716 | ThreadStackSize = 262144 | ||
717 | |||
718 | ; Set this to true to load each script into a separate | ||
719 | ; AppDomain. Setting this to false will load all script assemblies into the | ||
720 | ; current AppDomain, which will reduce the initial per-script memory overhead, | ||
721 | ; but deleted scripts stay inactive using memory. | ||
722 | ; Significantly improving script loading times. | ||
723 | ; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted. | ||
724 | ; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region. | ||
725 | ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited. | ||
726 | ; At this time some mono versions seem to have problems with the true option, | ||
727 | ; so default is now false until a fix is found, to simply life of less technical skilled users. | ||
728 | AppDomainLoading = false | ||
729 | |||
730 | ; Controls whether previously compiled scripts DLLs are deleted on sim restart. | ||
731 | ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled. | ||
732 | ; It should be true on first run after updating opensim binary version | ||
733 | ; after first run you can change to false. | ||
734 | ; You can also set it to false and delete the script DLLs by hand | ||
735 | ; This does not delete cached scripts state. | ||
736 | DeleteScriptsOnStartup = false | ||
737 | |||
738 | ; CompactMemOnLoad | ||
739 | ; forces calls to memory garbage collector before loading each script DLL during region startup. | ||
740 | ; Peak memory usage is reduced and region starts with a more compacted memory allocation. | ||
741 | ; But this costs a lot of time, so region load will take a lot longer. | ||
742 | ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true) | ||
743 | CompactMemOnLoad = true | ||
744 | |||
745 | ; Controls whether scripts are stopped by aborting their threads externally (abort) | ||
746 | ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op). | ||
747 | ; co-op will be more stable as aborting threads can cause instability. | ||
748 | ; abort was the default option in OpenSimulator 0.8 and before. | ||
749 | ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary. | ||
750 | ; However, the setting change will not take affect until the next time you restart the simulator. | ||
751 | ; Setting changes will not affect state information stored for scripts. | ||
752 | ScriptStopStrategy = abort | ||
753 | |||
754 | ; Rate to poll for asynchronous command replies (ms) | ||
755 | ; currently unused | ||
756 | ;AsyncLLCommandLoopms = 50 | ||
757 | |||
758 | ; Compile debug info (line numbers) into the script assemblies | ||
759 | CompileWithDebugInformation = false | ||
760 | |||
761 | ; Interval (s) between background save of script states | ||
762 | SaveInterval = 120 | ||
763 | |||
764 | ; Interval (s) between maintenance runs (0 = disable) | ||
765 | MaintenanceInterval = 10 | ||
766 | |||
767 | ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested | ||
768 | ; before aborting the thread (such as when an object containing scripts is taken into inventory). | ||
769 | WaitForEventCompletionOnScriptStop = 1000 | ||
770 | |||
771 | ; Minimum settable timer interval. Any timer setting less than this is | ||
772 | ; rounded up to this minimum interval. | ||
773 | MinTimerInterval = 0.1 | ||
774 | |||
775 | ; Sensor settings | ||
776 | SensorMaxRange = 96.0 | ||
777 | SensorMaxResults = 64 | ||
778 | |||
779 | |||
780 | [Groups] | ||
781 | ; Groups data is cached for this number of seconds before another request is made to the groups service | ||
782 | ; Set to 0 to disable the cache. | ||
783 | ; Default is 30 seconds | ||
784 | GroupsCacheTimeout = 30 | ||
785 | |||
786 | |||
787 | [PacketPool] | ||
788 | ;RecyclePackets = true | ||
789 | ;RecycleDataBlocks = true | ||
790 | |||
791 | ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets. | ||
792 | ; This reduces data churn | ||
793 | RecycleBaseUDPPackets = true | ||
794 | |||
795 | |||
796 | [InterestManagement] | ||
797 | ; This section controls how state updates are prioritized for each client | ||
798 | ; Valid values are BestAvatarResponsiveness, Time, Distance, | ||
799 | ; SimpleAngularDistance, and FrontBack | ||
800 | UpdatePrioritizationScheme = BestAvatarResponsiveness | ||
801 | ReprioritizationEnabled = true | ||
802 | ReprioritizationInterval = 2000.0 | ||
803 | RootReprioritizationDistance = 10.0 | ||
804 | ChildReprioritizationDistance = 20.0 | ||
805 | |||
806 | ; TEST OPTION KEEP AS FALSE | ||
807 | ; if true, don't send object updates if outside view range | ||
808 | ObjectsCullingByDistance = false | ||
809 | |||
810 | ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region | ||
811 | ; 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). | ||
812 | ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars. | ||
813 | RootTerseUpdatePeriod = 0 | ||
814 | |||
815 | ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region | ||
816 | ; 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. | ||
817 | ChildTerseUpdatePeriod = 0 | ||
818 | |||
819 | ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance | ||
820 | RootPositionUpdateTolerance = 0.05 | ||
821 | |||
822 | ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance | ||
823 | RootRotationUpdateTolerance = 0.1 | ||
824 | |||
825 | ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance | ||
826 | RootVelocityUpdateTolerance = 0.001 | ||
827 | |||
828 | |||
829 | [Statistics] | ||
830 | ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames | ||
831 | ; to include in the averaging calculations | ||
832 | NumberOfFrames=10 | ||
833 | |||
834 | |||
835 | [Terrain] | ||
836 | ; If 'true' each avatar is only sent terrain patches within their view distance | ||
837 | ; This also changes the region terrain loading from 'lawn mower' to ordered around | ||
838 | ; the avatar outward. | ||
839 | SendTerrainUpdatesByViewDistance = True | ||
840 | |||
841 | |||
842 | [LandManagement] | ||
843 | ; When editing terrain or objects, parcel layer info is updated in the viewer. | ||
844 | ; This can be expensive for large regions. If this variable is 'true', only the | ||
845 | ; parcel layer data around the area of interest is sent. The parcel layer info | ||
846 | ; is sent for 'ParcelLayerViewDistance' around the interest point. | ||
847 | ; If 'ParcelLayerViewDistance' is >= 128, the operation for legacy sized regions | ||
848 | ; will be what it has always been (send the whole region's parcel layer info). | ||
849 | ; Other parcel updates (login, changing parcel ownership, ...) will still send | ||
850 | ; whole region. | ||
851 | LimitParcelLayerUpdateDistance = true | ||
852 | ParcelLayerViewDistance = 128 | ||
853 | |||
854 | |||
855 | ;; If you are using a simian grid frontend you can enable | ||
856 | ;; this module to upload tile images for the mapping fn | ||
857 | ;; | ||
858 | [SimianGridMaptiles] | ||
859 | RefreshTime = 3600 | ||
860 | |||
861 | |||
862 | ;; | ||
863 | ;; These are defaults that are overwritten below in [Architecture]. | ||
864 | ;; These defaults allow OpenSim to work out of the box with | ||
865 | ;; zero configuration | ||
866 | ;; | ||
867 | [AssetService] | ||
868 | ; Disable this to prevent the default asset set from being inserted into the | ||
869 | ; asset store each time the region starts | ||
870 | AssetLoaderEnabled = false | ||
871 | |||
872 | |||
873 | [AutoBackupModule] | ||
874 | ;; default is module is disabled at the top level | ||
875 | AutoBackupModuleEnabled = false | ||
876 | |||
877 | |||
878 | [ServiceThrottle] | ||
879 | ;; Default time interval (in ms) for the throttle service thread to wake up | ||
880 | Interval = 5000 | ||
881 | |||
882 | |||
883 | [Materials] | ||
884 | MaxMaterialsPerTransaction = 50 | ||
diff --git a/bin/config-include/SimLean.ini b/bin/config-include/SimLean.ini new file mode 100644 index 0000000..0e80320 --- /dev/null +++ b/bin/config-include/SimLean.ini | |||
@@ -0,0 +1,884 @@ | |||
1 | [Startup] | ||
2 | ; ## | ||
3 | ; ## SYSTEM | ||
4 | ; ## | ||
5 | |||
6 | ; Sets the method that OpenSim will use to fire asynchronous | ||
7 | ; events. Valid values are UnsafeQueueUserWorkItem, | ||
8 | ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread. | ||
9 | ; | ||
10 | ; SmartThreadPool is reported to work well on Mono/Linux, but | ||
11 | ; UnsafeQueueUserWorkItem has been benchmarked with better | ||
12 | ; performance on .NET/Windows | ||
13 | ; | ||
14 | ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security | ||
15 | ; privileges. However, as calling code is trusted anyway this is safe (if you set | ||
16 | ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons). | ||
17 | async_call_method = SmartThreadPool | ||
18 | |||
19 | ; Max threads to allocate on the FireAndForget thread pool | ||
20 | ; when running with the SmartThreadPool option above | ||
21 | MaxPoolThreads = 300 | ||
22 | |||
23 | ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently. | ||
24 | ; This improves performance in regions with large numbers of connections (in the hundreds). | ||
25 | JobEngineEnabled = false | ||
26 | |||
27 | ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos | ||
28 | ; Increasing this number will increase memory usage. | ||
29 | MaxPrimUndos = 10 | ||
30 | |||
31 | ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum | ||
32 | ; This can be overridden in the region config file. | ||
33 | ClampPrimSize = false | ||
34 | |||
35 | ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative. | ||
36 | ClampNegativeZ = false | ||
37 | |||
38 | ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region. | ||
39 | ; This only applies when crossing to a region running in a different simulator. | ||
40 | ; For crossings where the regions are on the same simulator the script is always kept running. | ||
41 | AllowScriptCrossing = true | ||
42 | |||
43 | ; Main Frame time | ||
44 | ; This defines the rate of several simulation events. | ||
45 | ; Default value should meet most needs. | ||
46 | ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads. | ||
47 | ; It should not be less than the physics engine step time. | ||
48 | ; Being a integer multiple of it may reduce some jitter in reported physics FPS. | ||
49 | ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same | ||
50 | FrameTime = 0.0909 | ||
51 | |||
52 | ; Send scheduled updates to objects in the scene | ||
53 | ; This must be a whole number | ||
54 | UpdateObjectsEveryNFrames = 1 | ||
55 | |||
56 | ; Send position/velocity, etc. updates to agents in the scene | ||
57 | ; This must be a whole number | ||
58 | UpdateAgentsEveryNFrames = 1 | ||
59 | |||
60 | ; Apply pending forces from physics calculations to an entity. | ||
61 | ; This must be a whole number | ||
62 | UpdateEntityMovementEveryNFrames = 1 | ||
63 | |||
64 | ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap. | ||
65 | ; This must be a whole number | ||
66 | UpdateCoarseLocationsEveryNFrames = 50 | ||
67 | |||
68 | ; Physics simulation execution or syncronization, acording to engine. Should be 1 | ||
69 | ; This must be a whole number | ||
70 | UpdatePhysicsEveryNFrames = 1 | ||
71 | |||
72 | ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1. | ||
73 | ; This must be a whole number | ||
74 | UpdateEventsEveryNFrames = 1 | ||
75 | |||
76 | ; Send terrain updates to viewers | ||
77 | ; This must be a whole number | ||
78 | UpdateTerrainEveryNFrames = 50 | ||
79 | |||
80 | ; Persitently store any objects which meet the PRIM STORAGE criteria | ||
81 | ; This must be a whole number | ||
82 | UpdateStorageEveryNFrames = 200 | ||
83 | |||
84 | ; Clean up temp on rez objects. | ||
85 | ; This must be a whole number | ||
86 | UpdateTempCleaningEveryNSeconds = 180 | ||
87 | |||
88 | ; ## | ||
89 | ; ## PRIM STORAGE | ||
90 | ; ## | ||
91 | |||
92 | ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to | ||
93 | ; prevent frequently changing objects from heavily loading the region data store. | ||
94 | ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep. | ||
95 | ; | ||
96 | ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds | ||
97 | MinimumTimeBeforePersistenceConsidered = 60 | ||
98 | ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago | ||
99 | MaximumTimeBeforePersistenceConsidered = 600 | ||
100 | |||
101 | ; ## | ||
102 | ; ## PHYSICS | ||
103 | ; ## | ||
104 | |||
105 | ; Select a mesher here. | ||
106 | ; | ||
107 | ; Meshmerizer properly handles complex prims by using triangle meshes. | ||
108 | ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way | ||
109 | ; | ||
110 | ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports | ||
111 | ; Usually this is only a box | ||
112 | |||
113 | ;meshing = Meshmerizer | ||
114 | ;meshing = ZeroMesher | ||
115 | ;; select ubODEMeshmerizer only with ubOde physics engine | ||
116 | meshing = ubODEMeshmerizer | ||
117 | |||
118 | ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit | ||
119 | ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions | ||
120 | ; edit the line ulimit -s 262144, and change this last value | ||
121 | |||
122 | ; if you use Meshmerizer and want sculpt map collisions, setting this to | ||
123 | ; to true will store decoded sculpt maps in a special folder in your bin | ||
124 | ; folder, which can reduce startup times by reducing asset requests. Some | ||
125 | ; versions of mono dont work well when reading the cache files, so set this | ||
126 | ; to false if you have compatibility problems. | ||
127 | CacheSculptMaps = false | ||
128 | |||
129 | ;; BulletSim is the default physics engine. It provides the best performance and most functionality. | ||
130 | ;; BulletSim supports varregions. | ||
131 | ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. | ||
132 | ;; It continues to provide a workable physics implementation. It does not currently support varregions. | ||
133 | ;; basicphysics effectively does not model physics at all, making all objects phantom. | ||
134 | ;; Default is BulletSim | ||
135 | ;physics = BulletSim | ||
136 | ;physics = modified_BulletX | ||
137 | ;physics = OpenDynamicsEngine | ||
138 | ;physics = basicphysics | ||
139 | ;physics = POS | ||
140 | ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also | ||
141 | physics = ubODE | ||
142 | |||
143 | ; ## | ||
144 | ; ## SCRIPT ENGINE | ||
145 | ; ## | ||
146 | |||
147 | ;; Default script engine to use. Currently, we only have XEngine | ||
148 | DefaultScriptEngine = "XEngine" | ||
149 | |||
150 | ; Image decoding. Use CSJ2K for layer boundary decoding if true, | ||
151 | ; OpenJPEG if false | ||
152 | ; UseCSJ2K = true | ||
153 | |||
154 | |||
155 | [Map] | ||
156 | ; Map tile options. | ||
157 | ; If true, then maptiles are generated using the MapImageModule below. | ||
158 | ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden | ||
159 | ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need | ||
160 | ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ | ||
161 | GenerateMaptiles = false | ||
162 | |||
163 | ;WorldMapModule = "WorldMap" | ||
164 | |||
165 | ; The module to use in order to generate map images. | ||
166 | ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can | ||
167 | ; generate better images. | ||
168 | MapImageModule = "Map3DImageModule" | ||
169 | |||
170 | ; World map blacklist timeout in seconds | ||
171 | ;BlacklistTimeout = 600 | ||
172 | |||
173 | ; Refresh (in seconds) the map tile periodically | ||
174 | MaptileRefresh = 0 | ||
175 | |||
176 | ; If not generating maptiles, use this static texture asset ID | ||
177 | ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" | ||
178 | |||
179 | ; Draw objects on maptile. This step might take a long time if you've got a large number of | ||
180 | ; objects, so you can turn it off here if you'd like. | ||
181 | DrawPrimOnMapTile = false | ||
182 | |||
183 | ; Use terrain texture for maptiles if true, use shaded green if false | ||
184 | TextureOnMapTile = false | ||
185 | |||
186 | ; Texture prims | ||
187 | TexturePrims = false | ||
188 | |||
189 | ; Only texture prims that have a diagonal size greater than this number | ||
190 | TexturePrimSize = 48 | ||
191 | |||
192 | ; Attempt to render meshes and sculpties on the map | ||
193 | RenderMeshes = false | ||
194 | |||
195 | UseAntiAliasing = false | ||
196 | |||
197 | |||
198 | [Network] | ||
199 | ; OpenSim can send multiple simultaneous requests for services such as asset | ||
200 | ; retrieval. However, some versions of mono appear to hang when there are too | ||
201 | ; many simultaneous requests, default is 30 and is currently applied only to assets | ||
202 | ;MaxRequestConcurrency = 30 | ||
203 | |||
204 | |||
205 | [ClientStack.LindenUDP] | ||
206 | ; The client socket receive buffer size determines how many | ||
207 | ; incoming requests we can process; the default on .NET is 8192 | ||
208 | ; which is about 2 4k-sized UDP datagrams. On mono this is | ||
209 | ; whatever the underlying operating system has as default; for | ||
210 | ; example, ubuntu 8.04 or SLES11 have about 111k, which is about | ||
211 | ; 27 4k-sized UDP datagrams (on linux platforms you can [as root] | ||
212 | ; do "sysctl net.core.rmem_default" to find out what your system | ||
213 | ; uses a default socket receive buffer size. | ||
214 | ; | ||
215 | ; client_socket_rcvbuf_size allows you to specify the receive | ||
216 | ; buffer size LLUDPServer should use. NOTE: this will be limited | ||
217 | ; by the system's settings for the maximum client receive buffer | ||
218 | ; size (on linux systems you can set that with "sysctl -w | ||
219 | ; net.core.rmem_max=X") | ||
220 | ; | ||
221 | ;client_socket_rcvbuf_size = 8388608 | ||
222 | |||
223 | ; Maximum outbound bytes per second for a single scene. This can be used to | ||
224 | ; throttle total outbound UDP traffic for a simulator. The default value is | ||
225 | ; 0, meaning no throttling at the scene level. The example given here is | ||
226 | ; 20 megabits | ||
227 | ; | ||
228 | ;scene_throttle_max_bps = 2500000 | ||
229 | |||
230 | ; Maximum bytes per second to send to any single client. This will override | ||
231 | ; the user's viewer preference settings. The default value is 0, meaning no | ||
232 | ; aggregate throttling on clients (only per-category throttling). The | ||
233 | ; example given here is 1.5 megabits | ||
234 | ; | ||
235 | ;client_throttle_max_bps = 187500 | ||
236 | |||
237 | ; Minimum bytes per second to send to any single client as a result of | ||
238 | ; adaptive throttling. Viewer preferences set to a lower number will | ||
239 | ; override the settin. The example given here ensures that adaptive | ||
240 | ; throttling will never decrease per client bandwidth below 256 kbps. | ||
241 | ; | ||
242 | ;adaptive_throttle_min_bps = 32000 | ||
243 | |||
244 | ; Adaptive throttling attempts to limit network overload when multiple | ||
245 | ; clients login by starting each connection more slowly. Disabled by | ||
246 | ; default | ||
247 | ; | ||
248 | enable_adaptive_throttles = false | ||
249 | |||
250 | ; Per-client bytes per second rates for the various throttle categories. | ||
251 | ; These are default values that will be overridden by clients. These | ||
252 | ; defaults are approximately equivalent to the throttles set by the Imprudence | ||
253 | ; viewer when maximum bandwidth is set to 350kbps | ||
254 | |||
255 | ;resend_default = 6625 | ||
256 | ;land_default = 9125 | ||
257 | ;wind_default = 1750 | ||
258 | ;cloud_default = 1750 | ||
259 | ;task_default = 18500 | ||
260 | ;texture_default = 18500 | ||
261 | ;asset_default = 10500 | ||
262 | |||
263 | ; Configures how ObjectUpdates are aggregated. These numbers | ||
264 | ; do not literally mean how many updates will be put in each | ||
265 | ; packet that goes over the wire, as packets are | ||
266 | ; automatically split on a 1400 byte boundary. These control | ||
267 | ; the balance between responsiveness of interest list updates | ||
268 | ; and total throughput. Higher numbers will ensure more full- | ||
269 | ; sized packets and faster sending of data, but more delay in | ||
270 | ; updating interest lists | ||
271 | ; | ||
272 | ;PrimUpdatesPerCallback = 100 | ||
273 | |||
274 | ; TextureSendLimit determines how many packets will be put on | ||
275 | ; the outgoing queue each cycle. Like the settings above, this | ||
276 | ; is a balance between responsiveness to priority updates and | ||
277 | ; total throughput. Higher numbers will give a better | ||
278 | ; throughput at the cost of reduced responsiveness to client | ||
279 | ; priority changes or transfer aborts | ||
280 | ; | ||
281 | ;TextureSendLimit = 20 | ||
282 | |||
283 | ; CannibalizeTextureRate allows bandwidth to be moved from the | ||
284 | ; UDP texture throttle to the task throttle. Since most viewers | ||
285 | ; use HTTP textures, this provides a means of using what is largely | ||
286 | ; unused bandwidth in the total throttle. The value is the proportion | ||
287 | ; of the texture rate to move to the task queue. It must be between | ||
288 | ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the | ||
289 | ; bandwidth is grabbed) | ||
290 | ; | ||
291 | ; CannibalizeTextureRate = 0.5 | ||
292 | |||
293 | ; The time to wait before disconecting an unresponsive client. | ||
294 | ; The time is in seconds. The default is one minute | ||
295 | ; | ||
296 | ;AckTimeout = 60 | ||
297 | |||
298 | ; The time to wait before disconecting an unresponsive paused client. | ||
299 | ; A client can be paused when the file selection dialog is open during file upload. | ||
300 | ; This gives extra time to find files via the dialog but will still disconnect if | ||
301 | ; the client crashes or loses its network connection | ||
302 | ; The time is in seconds. The default is five minutes. | ||
303 | ; | ||
304 | ;PausedAckTimeout = 300 | ||
305 | |||
306 | |||
307 | [Appearance] | ||
308 | ; Persist avatar baked textures | ||
309 | ; Persisting baked textures can speed up login and region border | ||
310 | ; crossings especially with large numbers of users, though it | ||
311 | ; will store potentially large numbers of textures in your asset | ||
312 | ; database | ||
313 | PersistBakedTextures = false | ||
314 | |||
315 | ; Control the delay before appearance is sent to other avatars and | ||
316 | ; saved in the avatar service. Attempts to limit the impact caused | ||
317 | ; by the very chatty dialog that sets appearance when an avatar | ||
318 | ; logs in or teleports into a region; values are in seconds | ||
319 | DelayBeforeAppearanceSave = 5 | ||
320 | DelayBeforeAppearanceSend = 2 | ||
321 | |||
322 | ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds. | ||
323 | ; This may help with some situations where avatars are persistently grey, though it will not help | ||
324 | ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others). | ||
325 | ResendAppearanceUpdates = false | ||
326 | |||
327 | ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar | ||
328 | ; on every login | ||
329 | ReuseTextures = true | ||
330 | |||
331 | |||
332 | [Attachments] | ||
333 | ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments | ||
334 | ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit | ||
335 | ; or when multiple avatars with medium level attachments login/change outfit simultaneously. | ||
336 | ; If 0 then no throttling is performed. | ||
337 | ThrottlePer100PrimsRezzed = 0 | ||
338 | |||
339 | |||
340 | [Textures] | ||
341 | ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible | ||
342 | ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components | ||
343 | ; (e.g. images pulled from an external HTTP address). | ||
344 | ; 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. | ||
345 | ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted. | ||
346 | ; Hence, currently considered experimental. | ||
347 | ; Default is false. | ||
348 | ReuseDynamicTextures = false | ||
349 | |||
350 | ; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused | ||
351 | ; 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. | ||
352 | ; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem. | ||
353 | ; This setting only has an affect is ReuseDynamicTextures = true | ||
354 | ; Default is false | ||
355 | ReuseDynamicLowDataTextures = false | ||
356 | |||
357 | |||
358 | [ODEPhysicsSettings] | ||
359 | ; ## | ||
360 | ; ## Physics stats settings ( most ignored by ubOde ) | ||
361 | ; | ||
362 | |||
363 | ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule | ||
364 | ; (see http://opensimulator.org/wiki/Monitoring_Module for more details). | ||
365 | collect_stats = false | ||
366 | |||
367 | ; ## | ||
368 | ; ## Physics logging settings - logfiles are saved to *.DIF files | ||
369 | ; ## | ||
370 | |||
371 | ; default is false | ||
372 | ;physics_logging = true | ||
373 | ;; every n simulation iterations, the physics snapshot file is updated | ||
374 | ;physics_logging_interval = 50 | ||
375 | ;; append to existing physics logfile, or overwrite existing logfiles? | ||
376 | ;physics_logging_append_existing_logfile = true | ||
377 | |||
378 | ;## | ||
379 | ;## World Settings | ||
380 | ;## | ||
381 | |||
382 | ; World Step size. | ||
383 | ; with legacy ODE this value needs to be close to 0.02s | ||
384 | ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load | ||
385 | ; you will need to test acording to you needs | ||
386 | ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS | ||
387 | world_stepsize = 0.01818 | ||
388 | ; number of iterations of constrains solver, higher should improve results | ||
389 | ; up to a point where acumulated math errors eliminate the improvement | ||
390 | ; more steps may increase CPU load. No real gain in changing | ||
391 | world_solver_iterations = 10 | ||
392 | |||
393 | ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim | ||
394 | ; defines spaces partition cells min and max sizes == 2^value | ||
395 | world_hashspace_level_low = -5 | ||
396 | world_hashSpace_level_high = 12 | ||
397 | |||
398 | meters_in_small_space = 29.9 | ||
399 | |||
400 | |||
401 | ; ## | ||
402 | ; ## Contact properties. (the stuff that happens when things come in contact with each other) | ||
403 | ; ## | ||
404 | |||
405 | ; surface layer around geometries other geometries can sink into before generating a contact | ||
406 | world_contact_surface_layer = 0.001 | ||
407 | |||
408 | ; Filtering collisions helps keep things stable physics wise, but sometimes | ||
409 | ; it can be overzealous. If you notice bouncing, chances are it's that. | ||
410 | filter_collisions = false | ||
411 | |||
412 | ; Non Moving Terrain Contact (avatar isn't moving) | ||
413 | nm_terraincontact_friction = 255.0 | ||
414 | nm_terraincontact_bounce = 0.1 | ||
415 | nm_terraincontact_erp = 0.1025 | ||
416 | |||
417 | ; Moving Terrain Contact (avatar is moving) | ||
418 | m_terraincontact_friction = 75.0 | ||
419 | m_terraincontact_bounce = 0.05 | ||
420 | m_terrainContact_erp = 0.05025 | ||
421 | |||
422 | ; Moving Avatar to object Contact | ||
423 | m_avatarobjectcontact_friction = 75.0 | ||
424 | m_avatarobjectcontact_bounce = 0.1 | ||
425 | |||
426 | ; Object to Object Contact and Non-Moving Avatar to object | ||
427 | objectcontact_friction = 250.0 | ||
428 | objectcontact_bounce = 0.2 | ||
429 | |||
430 | ; ## | ||
431 | ; ## Avatar Control | ||
432 | ; ## | ||
433 | |||
434 | ; PID Controller Settings. These affect the math that causes the avatar to reach the | ||
435 | ; desired velocity | ||
436 | ; See http://en.wikipedia.org/wiki/PID_controller | ||
437 | |||
438 | av_pid_derivative = 2200.0 | ||
439 | av_pid_proportional = 900.0 | ||
440 | |||
441 | ; specifies if the capsule should be tilted (=true; old compatibility mode) | ||
442 | ; or straight up-and-down (=false; better and more consistent physics behavior) | ||
443 | av_capsule_tilted = false | ||
444 | |||
445 | ; Movement. Smaller is faster. | ||
446 | |||
447 | ; speed of movement with Always Run off | ||
448 | av_movement_divisor_walk = 1.3 | ||
449 | |||
450 | ; speed of movement with Always Run on | ||
451 | av_movement_divisor_run = 0.8 | ||
452 | |||
453 | ; When the avatar flies, it will be moved up by this amount off the ground (in meters) | ||
454 | minimum_ground_flight_offset = 3.0 | ||
455 | |||
456 | ; Plant avatar. This reduces the effect of physical contacts with the avatar. | ||
457 | ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive. | ||
458 | ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active | ||
459 | ; will lock the avatar in place | ||
460 | av_planted = false | ||
461 | |||
462 | ; 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 | ||
463 | av_av_collisions_off = false | ||
464 | |||
465 | ; ## | ||
466 | ; ## Object options | ||
467 | ; ## | ||
468 | |||
469 | ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep | ||
470 | body_frames_auto_disable = 20 | ||
471 | |||
472 | ; used to control llMove2Target | ||
473 | body_pid_derivative = 35 | ||
474 | body_pid_gain = 25 | ||
475 | |||
476 | ; maximum number of contact points to generate per collision | ||
477 | contacts_per_collision = 80 | ||
478 | |||
479 | ; start throttling the object updates if object comes in contact with 3 or more other objects | ||
480 | geom_contactpoints_start_throttling = 3 | ||
481 | |||
482 | ; send 1 update for every x updates below when throttled | ||
483 | geom_updates_before_throttled_update = 15 | ||
484 | |||
485 | ; ## | ||
486 | ; ## Sculpted Prim settings | ||
487 | ; ## | ||
488 | |||
489 | ; Do we want to mesh sculpted prim to collide like they look? | ||
490 | ; If you are seeing sculpt texture decode problems | ||
491 | ; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception") | ||
492 | ; then you might want to try setting this to false. | ||
493 | mesh_sculpted_prim = true | ||
494 | |||
495 | ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies | ||
496 | mesh_lod = 32 | ||
497 | |||
498 | ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies | ||
499 | mesh_physical_lod = 16 | ||
500 | |||
501 | ; ## | ||
502 | ; ## additional meshing options | ||
503 | ; ## | ||
504 | |||
505 | ; Physics needs to create internal meshs (or convert the object meshs or scultps) | ||
506 | ; for all prims except simple boxes and spheres. | ||
507 | |||
508 | ; collisions of small objects againts larger ones can have a increased CPU load cost | ||
509 | ; so this are represented by a simple BOX | ||
510 | ; if all their scale dimensions are lower or equal to this option. Default is 0.1m | ||
511 | ; (ubOde only) | ||
512 | ; MinSizeToMeshmerize = 0.1 | ||
513 | |||
514 | |||
515 | [BulletSim] | ||
516 | ; There are two bullet physics libraries, bulletunmanaged is the default and is a | ||
517 | ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality | ||
518 | ; but the c++ one is much faster. | ||
519 | BulletEngine = "bulletunmanaged" | ||
520 | ; BulletEngine = "bulletxna" | ||
521 | |||
522 | ; BulletSim can run on its own thread independent of the simulator's heartbeat | ||
523 | ; thread. Enabling this will not let the physics engine slow down avatar movement, etc. | ||
524 | UseSeparatePhysicsThread = false | ||
525 | |||
526 | ; Terrain implementation can use either Bullet's heightField or BulletSim can build | ||
527 | ; a mesh. 0=heightField, 1=mesh | ||
528 | TerrainImplementation = 0 | ||
529 | ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield | ||
530 | ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher | ||
531 | ; magnifications use lots of memory. | ||
532 | TerrainMeshMagnification = 1 | ||
533 | |||
534 | ; Should avatars collide with each other? | ||
535 | AvatarToAvatarCollisionsByDefault = false | ||
536 | |||
537 | ; Default linkset implmentation | ||
538 | ; 'Constraint' uses physics constraints to hold linkset together. 'Compound' | ||
539 | ; builds a compound shape from the children shapes to create a single physical | ||
540 | ; shape. 'Compound' uses a lot less CPU time. | ||
541 | LinkImplementation = 1 ; 0=constraint, 1=compound | ||
542 | |||
543 | ; If 'true', offset a linkset's origin based on mass of linkset parts. | ||
544 | LinksetOffsetCenterOfMass = false | ||
545 | |||
546 | ; If 'true', turn scuplties into meshes | ||
547 | MeshSculptedPrim = false | ||
548 | |||
549 | ; If 'true', force simple prims (box and sphere) to be meshed | ||
550 | ; If 'false', the Bullet native special case shape is used for square rectangles | ||
551 | ; and even dimensioned spheres. | ||
552 | ForceSimplePrimMeshing = false | ||
553 | |||
554 | ; If 'true', when creating meshes, remove all triangles that have two equal vertexes. | ||
555 | ; Happens often in sculpties. If turned off, there will be some doorways | ||
556 | ; that cannot be walked through. | ||
557 | ShouldRemoveZeroWidthTriangles = true | ||
558 | |||
559 | ; If 'true', use convex hull definition in mesh asset if present. | ||
560 | ShouldUseAssetHulls = true | ||
561 | |||
562 | ; If there are thousands of physical objects, these maximums should be increased. | ||
563 | MaxCollisionsPerFrame = 2048 | ||
564 | MaxUpdatesPerFrame = 8192 | ||
565 | |||
566 | ; Detailed physics debug logging. Very verbose. | ||
567 | PhysicsLoggingEnabled = False | ||
568 | PhysicsLoggingDir = "." | ||
569 | VehicleLoggingEnabled = False | ||
570 | |||
571 | |||
572 | [Sun] | ||
573 | ; send a Sun update every update_interval # of frames. A lower number will | ||
574 | ; make for smoother sun transition at the cost of network | ||
575 | ;update_interval = 100 | ||
576 | |||
577 | |||
578 | [Wind] | ||
579 | ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second | ||
580 | wind_update_rate = 150 | ||
581 | |||
582 | ; The Default Wind Plugin to load | ||
583 | wind_plugin = SimpleRandomWind | ||
584 | |||
585 | |||
586 | [Cloud] | ||
587 | ; update interval for the cloud cover data returned by llCloud(). | ||
588 | ; default is 1000 | ||
589 | cloud_update_rate = 1000 | ||
590 | |||
591 | |||
592 | [Trees] | ||
593 | ; active_trees allows module to change its trees in time. | ||
594 | ; some will be deleted, others created and rest may grow | ||
595 | ; default is false. You can change it with console command tree active true | false later | ||
596 | active_trees = false | ||
597 | ; the trees change execution time rate (in ms) | ||
598 | update_rate = 1000 | ||
599 | |||
600 | ; allow the trees to grow. | ||
601 | ; DANGER | ||
602 | ; this option causes high network use on the order of | ||
603 | ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second | ||
604 | allowGrow = false | ||
605 | |||
606 | |||
607 | [LL-Functions] | ||
608 | ; Maximum number of llListen events we allow over the entire region. | ||
609 | ; Set this to 0 to have no limit imposed | ||
610 | max_listens_per_region = 1000 | ||
611 | |||
612 | ; Maximum number of llListen events we allow per script | ||
613 | ; Set this to 0 to have no limit imposed. | ||
614 | max_listens_per_script = 64 | ||
615 | |||
616 | ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL()) | ||
617 | max_external_urls_per_simulator = 100 | ||
618 | |||
619 | ; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes. | ||
620 | ; Speeds up calculations but can make them inaccurate, in some cases very inaccurate. | ||
621 | UseSimpleBoxesInGetBoundingBox = true | ||
622 | |||
623 | ; Use llCastRay V3 if true. | ||
624 | ; Implements llCastRay similar but not identical to Second Life. | ||
625 | ; See http://wiki.secondlife.com/wiki/LlCastRay . | ||
626 | ; NEW | ||
627 | ; Meshes prims for good accuracy in ray hit detection, | ||
628 | ; handling basic and tortured prims, sculpts and meshes. | ||
629 | ; Uses ellipsoid, correctly sized avatar capsules. | ||
630 | ; Handles complex terrain, multi-prim objects and seated avatars. | ||
631 | ; Implements throttling and the status codes | ||
632 | ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED, | ||
633 | ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW. | ||
634 | ; WARNING | ||
635 | ; Can be faster on some servers and scenes, but slower on others, | ||
636 | ; compared to previous version of llCastRay in OpenSimulator. | ||
637 | ; Is in most cases considerably slower than llCastRay in Second Life. | ||
638 | ; Generates geometry meshes and can therefore use much system resources. | ||
639 | UseLlCastRayV3 = false | ||
640 | |||
641 | ; Accepted calculation precision error in calculations in llCastRay V3 | ||
642 | FloatToleranceInLlCastRay = 0.00001 | ||
643 | |||
644 | ; Accepted distance difference between duplicate hits in llCastRay V3 | ||
645 | FloatTolerance2InLlCastRay = 0.001 | ||
646 | |||
647 | ; Detail level when rendering prims in llCastRay V3 | ||
648 | ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call | ||
649 | PrimDetailLevelInLlCastRay = 1 | ||
650 | |||
651 | ; Detail level when rendering sculpts in llCastRay V3 | ||
652 | ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call | ||
653 | SculptDetailLevelInLlCastRay = 1 | ||
654 | |||
655 | ; Detail level when rendering meshes in llCastRay V3 | ||
656 | ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call | ||
657 | MeshDetailLevelInLlCastRay = 3 | ||
658 | |||
659 | ; Detail level when rendering avatar capsules in llCastRay V3 | ||
660 | ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call | ||
661 | AvatarDetailLevelInLlCastRay = 1 | ||
662 | |||
663 | ; Maximum number of returned hits from llCastRay V3 | ||
664 | MaxHitsInLlCastRay = 16 | ||
665 | |||
666 | ; Maximum number of returned hits per prim from llCastRay V3 | ||
667 | MaxHitsPerPrimInLlCastRay = 16 | ||
668 | |||
669 | ; Maximum number of returned hits per object from llCastRay V3 | ||
670 | MaxHitsPerObjectInLlCastRay = 16 | ||
671 | |||
672 | ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true | ||
673 | DetectExitHitsInLlCastRay = false | ||
674 | |||
675 | ; Detect attachments in llCastRay V3 if true | ||
676 | DoAttachmentsInLlCastRay = false | ||
677 | |||
678 | ; Throttle period length in ms before which all old llCastRay use is discarded in llCastRay V3 | ||
679 | ; The sum of AvailableTimeInMsPerRegionInLlCastRay and all AvailableTimeInMsPerAvatarInLlCastRay should not exceed this | ||
680 | ThrottleTimeInMsInLlCastRay = 200 | ||
681 | |||
682 | ; Available time in ms for llCastRay per throttle period and 65536 m2 land area in llCastRay V3 | ||
683 | AvailableTimeInMsPerRegionInLlCastRay = 40 | ||
684 | |||
685 | ; Available time in ms for llCastRay per throttle period and avatar when script in attachment or vehicle in llCastRay V3 | ||
686 | AvailableTimeInMsPerAvatarInLlCastRay = 10 | ||
687 | |||
688 | ; Required available time in ms left to perform a new llCastRay in llCastRay V3 | ||
689 | RequiredAvailableTimeInMsInLlCastRay = 2 | ||
690 | |||
691 | ; Maximum available time in ms possible in llCastRay V3, not to get too high values with varregions | ||
692 | MaximumAvailableTimeInMsInLlCastRay = 40 | ||
693 | |||
694 | ; Use cached meshes in llCastRay V3 if true | ||
695 | ; Improves performance but uses more memory | ||
696 | UseMeshCacheInLlCastRay = true | ||
697 | |||
698 | |||
699 | [XEngine] | ||
700 | ; How many threads to keep alive even if nothing is happening | ||
701 | MinThreads = 2 | ||
702 | |||
703 | ; How many threads to start at maximum load | ||
704 | MaxThreads = 100 | ||
705 | |||
706 | ; Time a thread must be idle (in seconds) before it dies | ||
707 | IdleTimeout = 60 | ||
708 | |||
709 | ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest") | ||
710 | Priority = "BelowNormal" | ||
711 | |||
712 | ; Maximum number of events to queue for a script (excluding timers) | ||
713 | MaxScriptEventQueue = 3000 | ||
714 | |||
715 | ; Stack size per thread created | ||
716 | ThreadStackSize = 132144 | ||
717 | |||
718 | ; Set this to true to load each script into a separate | ||
719 | ; AppDomain. Setting this to false will load all script assemblies into the | ||
720 | ; current AppDomain, which will reduce the initial per-script memory overhead, | ||
721 | ; but deleted scripts stay inactive using memory. | ||
722 | ; Significantly improving script loading times. | ||
723 | ; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted. | ||
724 | ; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region. | ||
725 | ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited. | ||
726 | ; At this time some mono versions seem to have problems with the true option, | ||
727 | ; so default is now false until a fix is found, to simply life of less technical skilled users. | ||
728 | AppDomainLoading = false | ||
729 | |||
730 | ; Controls whether previously compiled scripts DLLs are deleted on sim restart. | ||
731 | ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled. | ||
732 | ; It should be true on first run after updating opensim binary version | ||
733 | ; after first run you can change to false. | ||
734 | ; You can also set it to false and delete the script DLLs by hand | ||
735 | ; This does not delete cached scripts state. | ||
736 | DeleteScriptsOnStartup = true | ||
737 | |||
738 | ; CompactMemOnLoad | ||
739 | ; forces calls to memory garbage collector before loading each script DLL during region startup. | ||
740 | ; Peak memory usage is reduced and region starts with a more compacted memory allocation. | ||
741 | ; But this costs a lot of time, so region load will take a lot longer. | ||
742 | ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true) | ||
743 | CompactMemOnLoad = true | ||
744 | |||
745 | ; Controls whether scripts are stopped by aborting their threads externally (abort) | ||
746 | ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op). | ||
747 | ; co-op will be more stable as aborting threads can cause instability. | ||
748 | ; abort was the default option in OpenSimulator 0.8 and before. | ||
749 | ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary. | ||
750 | ; However, the setting change will not take affect until the next time you restart the simulator. | ||
751 | ; Setting changes will not affect state information stored for scripts. | ||
752 | ScriptStopStrategy = abort | ||
753 | |||
754 | ; Rate to poll for asynchronous command replies (ms) | ||
755 | ; currently unused | ||
756 | ;AsyncLLCommandLoopms = 50 | ||
757 | |||
758 | ; Compile debug info (line numbers) into the script assemblies | ||
759 | CompileWithDebugInformation = false | ||
760 | |||
761 | ; Interval (s) between background save of script states | ||
762 | SaveInterval = 120 | ||
763 | |||
764 | ; Interval (s) between maintenance runs (0 = disable) | ||
765 | MaintenanceInterval = 10 | ||
766 | |||
767 | ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested | ||
768 | ; before aborting the thread (such as when an object containing scripts is taken into inventory). | ||
769 | WaitForEventCompletionOnScriptStop = 1000 | ||
770 | |||
771 | ; Minimum settable timer interval. Any timer setting less than this is | ||
772 | ; rounded up to this minimum interval. | ||
773 | MinTimerInterval = 0.1 | ||
774 | |||
775 | ; Sensor settings | ||
776 | SensorMaxRange = 96.0 | ||
777 | SensorMaxResults = 16 | ||
778 | |||
779 | |||
780 | [Groups] | ||
781 | ; Groups data is cached for this number of seconds before another request is made to the groups service | ||
782 | ; Set to 0 to disable the cache. | ||
783 | ; Default is 30 seconds | ||
784 | GroupsCacheTimeout = 30 | ||
785 | |||
786 | |||
787 | [PacketPool] | ||
788 | ;RecyclePackets = true | ||
789 | ;RecycleDataBlocks = true | ||
790 | |||
791 | ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets. | ||
792 | ; This reduces data churn | ||
793 | RecycleBaseUDPPackets = true | ||
794 | |||
795 | |||
796 | [InterestManagement] | ||
797 | ; This section controls how state updates are prioritized for each client | ||
798 | ; Valid values are BestAvatarResponsiveness, Time, Distance, | ||
799 | ; SimpleAngularDistance, and FrontBack | ||
800 | UpdatePrioritizationScheme = BestAvatarResponsiveness | ||
801 | ReprioritizationEnabled = true | ||
802 | ReprioritizationInterval = 2000.0 | ||
803 | RootReprioritizationDistance = 10.0 | ||
804 | ChildReprioritizationDistance = 20.0 | ||
805 | |||
806 | ; TEST OPTION KEEP AS FALSE | ||
807 | ; if true, don't send object updates if outside view range | ||
808 | ObjectsCullingByDistance = false | ||
809 | |||
810 | ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region | ||
811 | ; 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). | ||
812 | ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars. | ||
813 | RootTerseUpdatePeriod = 0 | ||
814 | |||
815 | ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region | ||
816 | ; 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. | ||
817 | ChildTerseUpdatePeriod = 0 | ||
818 | |||
819 | ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance | ||
820 | RootPositionUpdateTolerance = 0.05 | ||
821 | |||
822 | ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance | ||
823 | RootRotationUpdateTolerance = 0.1 | ||
824 | |||
825 | ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance | ||
826 | RootVelocityUpdateTolerance = 0.001 | ||
827 | |||
828 | |||
829 | [Statistics] | ||
830 | ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames | ||
831 | ; to include in the averaging calculations | ||
832 | NumberOfFrames=10 | ||
833 | |||
834 | |||
835 | [Terrain] | ||
836 | ; If 'true' each avatar is only sent terrain patches within their view distance | ||
837 | ; This also changes the region terrain loading from 'lawn mower' to ordered around | ||
838 | ; the avatar outward. | ||
839 | SendTerrainUpdatesByViewDistance = True | ||
840 | |||
841 | |||
842 | [LandManagement] | ||
843 | ; When editing terrain or objects, parcel layer info is updated in the viewer. | ||
844 | ; This can be expensive for large regions. If this variable is 'true', only the | ||
845 | ; parcel layer data around the area of interest is sent. The parcel layer info | ||
846 | ; is sent for 'ParcelLayerViewDistance' around the interest point. | ||
847 | ; If 'ParcelLayerViewDistance' is >= 128, the operation for legacy sized regions | ||
848 | ; will be what it has always been (send the whole region's parcel layer info). | ||
849 | ; Other parcel updates (login, changing parcel ownership, ...) will still send | ||
850 | ; whole region. | ||
851 | LimitParcelLayerUpdateDistance = true | ||
852 | ParcelLayerViewDistance = 128 | ||
853 | |||
854 | |||
855 | ;; If you are using a simian grid frontend you can enable | ||
856 | ;; this module to upload tile images for the mapping fn | ||
857 | ;; | ||
858 | [SimianGridMaptiles] | ||
859 | RefreshTime = 3600 | ||
860 | |||
861 | |||
862 | ;; | ||
863 | ;; These are defaults that are overwritten below in [Architecture]. | ||
864 | ;; These defaults allow OpenSim to work out of the box with | ||
865 | ;; zero configuration | ||
866 | ;; | ||
867 | [AssetService] | ||
868 | ; Disable this to prevent the default asset set from being inserted into the | ||
869 | ; asset store each time the region starts | ||
870 | AssetLoaderEnabled = true | ||
871 | |||
872 | |||
873 | [AutoBackupModule] | ||
874 | ;; default is module is disabled at the top level | ||
875 | AutoBackupModuleEnabled = false | ||
876 | |||
877 | |||
878 | [ServiceThrottle] | ||
879 | ;; Default time interval (in ms) for the throttle service thread to wake up | ||
880 | Interval = 5000 | ||
881 | |||
882 | |||
883 | [Materials] | ||
884 | MaxMaterialsPerTransaction = 50 | ||
diff --git a/bin/config-include/config_localhost.ini b/bin/config-include/config_localhost.ini new file mode 100644 index 0000000..501a1f4 --- /dev/null +++ b/bin/config-include/config_localhost.ini | |||
@@ -0,0 +1,49 @@ | |||
1 | ; The Const section allows us to define some basic information that we | ||
2 | ; will use throughout our configuration. We will provide examples for | ||
3 | ; setting the base url of the ROBUST server and the public and private ports | ||
4 | ; it uses. Changing the values of the constants will set the operating | ||
5 | ; parameters thoughout the configuration. Other constants that may prove | ||
6 | ; to be useful may be added to the followin section. They may be | ||
7 | ; referenced anywhere in the configuration by using ${Const|Name}. One | ||
8 | ; such use is providing a base path for setting locations that ROBUST | ||
9 | ; uses to write data. | ||
10 | |||
11 | ; Also put grid specific stuff here. | ||
12 | |||
13 | |||
14 | [Paths] | ||
15 | AssetsPath = "../../AssetFiles" | ||
16 | BackupPath = "../../backups" | ||
17 | CachePath = "../../caches" | ||
18 | ConfigPath = "../../config" | ||
19 | DbPath = "../../db" | ||
20 | LogPath = "../../logs" | ||
21 | WebPath = "../../web" | ||
22 | |||
23 | [Const] | ||
24 | MOTD = "Welcome to your local grid." | ||
25 | |||
26 | GridName = "localhost Grid" | ||
27 | ShortGridName = "lg" | ||
28 | |||
29 | ; For a grid these will usually be the externally accessible IP/DNS | ||
30 | ; name and use default public port 8002 and default private port 8003 | ||
31 | ; For a standalone this will usually be the externally accessible IP/DNS | ||
32 | ; name and use default public port 9000. The private port is not used | ||
33 | ; in the configuration for a standalone. | ||
34 | BaseHostname = "http://127.0.0.1" | ||
35 | HostName = "localhost" | ||
36 | BaseURL = ${Const|BaseHostname} | ||
37 | GridURL = ${Const|BaseHostname} | ||
38 | SSLURL = "https://${Const|HostName}" | ||
39 | |||
40 | PublicPort = "8002" | ||
41 | PrivatePort = "8003" | ||
42 | PublicSSLPort = "8443" | ||
43 | |||
44 | ; The public port of the ROBUST asset server, which might be different. | ||
45 | AssetServerPort = "8003" | ||
46 | |||
47 | ; Database credentials. | ||
48 | DataProvider = "OpenSim.Data.MySQL.dll" | ||
49 | ConnectionString = "Data Source=MYSQL_HOST;Database=MYSQL_DB;User ID=MYSQL_USER;Password=MYSQL_PASSWORD;Old Guids=true;" | ||