diff options
Diffstat (limited to '')
-rw-r--r-- | bin/config-include/CenomeCache.ini.example (renamed from config/config-include/CenomeCache.ini.example) | 0 | ||||
-rw-r--r-- | bin/config-include/FlotsamCache.ini | 97 | ||||
-rw-r--r-- | bin/config-include/FlotsamCache.ini.example | 97 | ||||
-rw-r--r-- | bin/config-include/Grid.ini (renamed from config/config-include/Grid.ini) | 20 | ||||
-rw-r--r-- | bin/config-include/GridCommon.ini (renamed from config/config-include/GridCommon.ini) | 55 | ||||
-rw-r--r-- | bin/config-include/GridCommon.ini.example (renamed from config/config-include/GridCommon.ini.example) | 31 | ||||
-rw-r--r-- | bin/config-include/GridHypergrid.ini (renamed from config/config-include/GridHypergrid.ini) | 26 | ||||
-rw-r--r-- | bin/config-include/HyperSimianGrid.ini (renamed from config/config-include/HyperSimianGrid.ini) | 12 | ||||
-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/SimianGrid.ini (renamed from config/config-include/SimianGrid.ini) | 10 | ||||
-rw-r--r-- | bin/config-include/Standalone.ini (renamed from config/config-include/Standalone.ini) | 10 | ||||
-rw-r--r-- | bin/config-include/StandaloneCommon.ini | 401 | ||||
-rw-r--r-- | bin/config-include/StandaloneCommon.ini.example (renamed from config/config-include/StandaloneCommon.ini.example) | 31 | ||||
-rw-r--r-- | bin/config-include/StandaloneHypergrid.ini (renamed from config/config-include/StandaloneHypergrid.ini) | 13 | ||||
-rw-r--r-- | bin/config-include/config_IG.ini | 105 | ||||
-rw-r--r-- | bin/config-include/config_MG.ini | 125 | ||||
-rw-r--r-- | bin/config-include/config_localhost.ini | 49 | ||||
-rw-r--r-- | bin/config-include/extra_MG.ini | 51 | ||||
-rw-r--r-- | bin/config-include/osslEnable.ini | 272 | ||||
-rw-r--r-- | bin/config-include/storage/SQLiteStandalone.ini (renamed from config/config-include/storage/SQLiteStandalone.ini) | 20 |
23 files changed, 4834 insertions, 132 deletions
diff --git a/config/config-include/CenomeCache.ini.example b/bin/config-include/CenomeCache.ini.example index 4340493..4340493 100644 --- a/config/config-include/CenomeCache.ini.example +++ b/bin/config-include/CenomeCache.ini.example | |||
diff --git a/bin/config-include/FlotsamCache.ini b/bin/config-include/FlotsamCache.ini new file mode 100644 index 0000000..cf06d6c --- /dev/null +++ b/bin/config-include/FlotsamCache.ini | |||
@@ -0,0 +1,97 @@ | |||
1 | [AssetCache] | ||
2 | ;; | ||
3 | ;; Options for FlotsamAssetCache | ||
4 | ;; | ||
5 | |||
6 | ; cache directory can be shared by multiple instances | ||
7 | CacheDirectory = ${Paths|CachePath}/assetcache | ||
8 | ; Other examples: | ||
9 | ;CacheDirectory = /directory/writable/by/OpenSim/instance | ||
10 | |||
11 | ; Log level | ||
12 | ; 0 - (Error) Errors only | ||
13 | ; 1 - (Info) Hit Rate Stats + Level 0 | ||
14 | ; 2 - (Debug) Cache Activity (Reads/Writes) + Level 1 | ||
15 | ; | ||
16 | LogLevel = 0 | ||
17 | |||
18 | ; How often should hit rates be displayed (given in AssetRequests) | ||
19 | ; 0 to disable | ||
20 | HitRateDisplay = 100 | ||
21 | |||
22 | ; Set to false for no memory cache | ||
23 | ; assets can be requested several times in short periods | ||
24 | ; so even a small memory cache is useful | ||
25 | MemoryCacheEnabled = false | ||
26 | |||
27 | ; If a memory cache hit happens, or the asset is still in memory | ||
28 | ; due to other causes, update the timestamp on the disk file anyway. | ||
29 | ; Don't turn this on unless you share your asset cache between simulators | ||
30 | ; AND use an external process, e.g. cron job, to clean it up. | ||
31 | UpdateFileTimeOnCacheHit = false | ||
32 | |||
33 | ; Enabling this will cache negative fetches. If an asset is negative-cached | ||
34 | ; it will not be re-requested from the asset server again for a while. | ||
35 | ; Generally, this is a good thing. | ||
36 | ; | ||
37 | ; Regular expiration settings (non-sliding) mean that the asset will be | ||
38 | ; retried after the time has expired. Sliding expiration means that | ||
39 | ; the time the negative cache will keep the asset is refreshed each | ||
40 | ; time a fetch is attempted. Use sliding expiration if you have rogue | ||
41 | ; scripts hammering the asset server with requests for nonexistent | ||
42 | ; assets. | ||
43 | ; | ||
44 | ; There are two cases where negative caching may cause issues: | ||
45 | ; | ||
46 | ; 1 - If an invalid asset is repeatedly requested by a script and that asset is | ||
47 | ; subsequently created, it will not be seen until fcache clear | ||
48 | ; is used. This is a very theoretical scenario since UUID collisions | ||
49 | ; are deemed to be not occuring in practice. | ||
50 | ; This can only become an issue with sliding expiration time. | ||
51 | ; | ||
52 | ; 2 - If the asset service is clustered, an asset may not have propagated | ||
53 | ; to all cluster members when it is first attempted to fetch it. | ||
54 | ; This may theoretically occur with networked vendor systems and | ||
55 | ; would lead to an asset not found message. However, after the | ||
56 | ; expiration time has elapsed, the asset will then be fetchable. | ||
57 | ; | ||
58 | ; The defaults below are suitable for all small to medium installations | ||
59 | ; including grids. | ||
60 | NegativeCacheEnabled = true | ||
61 | NegativeCacheTimeout = 120 | ||
62 | NegativeCacheSliding = false | ||
63 | |||
64 | ; Set to false for no file cache | ||
65 | FileCacheEnabled = true | ||
66 | |||
67 | ; How long {in hours} to keep assets cached in memory, .5 == 30 minutes | ||
68 | ; even a few minutes may mean many assets loaded to memory, if not all. | ||
69 | ; this is good if memory is not a problem. | ||
70 | ; if memory is a problem then a few seconds may actually save same. | ||
71 | ; see hit rates with console comand: fcache status | ||
72 | MemoryCacheTimeout = .016 ; one minute | ||
73 | |||
74 | ; How long {in hours} to keep assets cached on disk, .5 == 30 minutes | ||
75 | ; Specify 0 if you do not want your disk cache to expire | ||
76 | FileCacheTimeout = 48 | ||
77 | |||
78 | ; How often {in hours} should the disk be checked for expired files | ||
79 | ; Specify 0 to disable expiration checking | ||
80 | FileCleanupTimer = 0.0 ; disabled | ||
81 | |||
82 | ; If WAIT_ON_INPROGRESS_REQUESTS has been defined then this specifies how | ||
83 | ; long (in miliseconds) to block a request thread while trying to complete | ||
84 | ; an existing write to disk. | ||
85 | ; NOTE: THIS PARAMETER IS NOT CURRENTLY USED BY THE CACHE | ||
86 | ; WaitOnInprogressTimeout = 3000 | ||
87 | |||
88 | ; Number of tiers to use for cache directories (current valid | ||
89 | ; range 1 to 3) | ||
90 | ;CacheDirectoryTiers = 1 | ||
91 | |||
92 | ; Number of letters per path tier, 1 will create 16 directories | ||
93 | ; per tier, 2 - 256, 3 - 4096 and 4 - 65K | ||
94 | ;CacheDirectoryTierLength = 3 | ||
95 | |||
96 | ; Warning level for cache directory size | ||
97 | ;CacheWarnAt = 30000 | ||
diff --git a/bin/config-include/FlotsamCache.ini.example b/bin/config-include/FlotsamCache.ini.example new file mode 100644 index 0000000..4f16943 --- /dev/null +++ b/bin/config-include/FlotsamCache.ini.example | |||
@@ -0,0 +1,97 @@ | |||
1 | [AssetCache] | ||
2 | ;; | ||
3 | ;; Options for FlotsamAssetCache | ||
4 | ;; | ||
5 | |||
6 | ; cache directory can be shared by multiple instances | ||
7 | CacheDirectory = ./assetcache | ||
8 | ; Other examples: | ||
9 | ;CacheDirectory = /directory/writable/by/OpenSim/instance | ||
10 | |||
11 | ; Log level | ||
12 | ; 0 - (Error) Errors only | ||
13 | ; 1 - (Info) Hit Rate Stats + Level 0 | ||
14 | ; 2 - (Debug) Cache Activity (Reads/Writes) + Level 1 | ||
15 | ; | ||
16 | LogLevel = 0 | ||
17 | |||
18 | ; How often should hit rates be displayed (given in AssetRequests) | ||
19 | ; 0 to disable | ||
20 | HitRateDisplay = 100 | ||
21 | |||
22 | ; Set to false for no memory cache | ||
23 | ; assets can be requested several times in short periods | ||
24 | ; so even a small memory cache is useful | ||
25 | MemoryCacheEnabled = false | ||
26 | |||
27 | ; If a memory cache hit happens, or the asset is still in memory | ||
28 | ; due to other causes, update the timestamp on the disk file anyway. | ||
29 | ; Don't turn this on unless you share your asset cache between simulators | ||
30 | ; AND use an external process, e.g. cron job, to clean it up. | ||
31 | UpdateFileTimeOnCacheHit = false | ||
32 | |||
33 | ; Enabling this will cache negative fetches. If an asset is negative-cached | ||
34 | ; it will not be re-requested from the asset server again for a while. | ||
35 | ; Generally, this is a good thing. | ||
36 | ; | ||
37 | ; Regular expiration settings (non-sliding) mean that the asset will be | ||
38 | ; retried after the time has expired. Sliding expiration means that | ||
39 | ; the time the negative cache will keep the asset is refreshed each | ||
40 | ; time a fetch is attempted. Use sliding expiration if you have rogue | ||
41 | ; scripts hammering the asset server with requests for nonexistent | ||
42 | ; assets. | ||
43 | ; | ||
44 | ; There are two cases where negative caching may cause issues: | ||
45 | ; | ||
46 | ; 1 - If an invalid asset is repeatedly requested by a script and that asset is | ||
47 | ; subsequently created, it will not be seen until fcache clear | ||
48 | ; is used. This is a very theoretical scenario since UUID collisions | ||
49 | ; are deemed to be not occuring in practice. | ||
50 | ; This can only become an issue with sliding expiration time. | ||
51 | ; | ||
52 | ; 2 - If the asset service is clustered, an asset may not have propagated | ||
53 | ; to all cluster members when it is first attempted to fetch it. | ||
54 | ; This may theoretically occur with networked vendor systems and | ||
55 | ; would lead to an asset not found message. However, after the | ||
56 | ; expiration time has elapsed, the asset will then be fetchable. | ||
57 | ; | ||
58 | ; The defaults below are suitable for all small to medium installations | ||
59 | ; including grids. | ||
60 | NegativeCacheEnabled = true | ||
61 | NegativeCacheTimeout = 120 | ||
62 | NegativeCacheSliding = false | ||
63 | |||
64 | ; Set to false for no file cache | ||
65 | FileCacheEnabled = true | ||
66 | |||
67 | ; How long {in hours} to keep assets cached in memory, .5 == 30 minutes | ||
68 | ; even a few minutes may mean many assets loaded to memory, if not all. | ||
69 | ; this is good if memory is not a problem. | ||
70 | ; if memory is a problem then a few seconds may actually save same. | ||
71 | ; see hit rates with console comand: fcache status | ||
72 | MemoryCacheTimeout = .016 ; one minute | ||
73 | |||
74 | ; How long {in hours} to keep assets cached on disk, .5 == 30 minutes | ||
75 | ; Specify 0 if you do not want your disk cache to expire | ||
76 | FileCacheTimeout = 48 | ||
77 | |||
78 | ; How often {in hours} should the disk be checked for expired files | ||
79 | ; Specify 0 to disable expiration checking | ||
80 | FileCleanupTimer = 0.0 ; disabled | ||
81 | |||
82 | ; If WAIT_ON_INPROGRESS_REQUESTS has been defined then this specifies how | ||
83 | ; long (in miliseconds) to block a request thread while trying to complete | ||
84 | ; an existing write to disk. | ||
85 | ; NOTE: THIS PARAMETER IS NOT CURRENTLY USED BY THE CACHE | ||
86 | ; WaitOnInprogressTimeout = 3000 | ||
87 | |||
88 | ; Number of tiers to use for cache directories (current valid | ||
89 | ; range 1 to 3) | ||
90 | ;CacheDirectoryTiers = 1 | ||
91 | |||
92 | ; Number of letters per path tier, 1 will create 16 directories | ||
93 | ; per tier, 2 - 256, 3 - 4096 and 4 - 65K | ||
94 | ;CacheDirectoryTierLength = 3 | ||
95 | |||
96 | ; Warning level for cache directory size | ||
97 | ;CacheWarnAt = 30000 | ||
diff --git a/config/config-include/Grid.ini b/bin/config-include/Grid.ini index fd3bb43..ab8f25d 100644 --- a/config/config-include/Grid.ini +++ b/bin/config-include/Grid.ini | |||
@@ -12,7 +12,7 @@ | |||
12 | InventoryServices = "RemoteXInventoryServicesConnector" | 12 | InventoryServices = "RemoteXInventoryServicesConnector" |
13 | GridServices = "RemoteGridServicesConnector" | 13 | GridServices = "RemoteGridServicesConnector" |
14 | AvatarServices = "RemoteAvatarServicesConnector" | 14 | AvatarServices = "RemoteAvatarServicesConnector" |
15 | NeighbourServices = "RemoteNeighbourServicesConnector" | 15 | NeighbourServices = "NeighbourServicesOutConnector" |
16 | AuthenticationServices = "RemoteAuthenticationServicesConnector" | 16 | AuthenticationServices = "RemoteAuthenticationServicesConnector" |
17 | AuthorizationServices = "LocalAuthorizationServicesConnector" | 17 | AuthorizationServices = "LocalAuthorizationServicesConnector" |
18 | PresenceServices = "RemotePresenceServicesConnector" | 18 | PresenceServices = "RemotePresenceServicesConnector" |
@@ -25,27 +25,13 @@ | |||
25 | LandServices = "RemoteLandServicesConnector" | 25 | LandServices = "RemoteLandServicesConnector" |
26 | MapImageService = "MapImageServiceModule" | 26 | MapImageService = "MapImageServiceModule" |
27 | SearchModule = "BasicSearchModule" | 27 | SearchModule = "BasicSearchModule" |
28 | MuteListService = "RemoteMuteListServicesConnector" | ||
28 | 29 | ||
29 | LandServiceInConnector = true | 30 | LandServiceInConnector = true |
30 | NeighbourServiceInConnector = true | 31 | NeighbourServiceInConnector = true |
31 | SimulationServiceInConnector = true | 32 | SimulationServiceInConnector = true |
32 | LibraryModule = true | 33 | LibraryModule = true |
33 | 34 | ||
34 | [SimulationService] | ||
35 | ; This is the protocol version which the simulator advertises to the source destination when acting as a target destination for a teleport | ||
36 | ; It is used to control the teleport handoff process. | ||
37 | ; Valid values are | ||
38 | ; "SIMULATION/0.3" | ||
39 | ; - This is the default, and it supports teleports to variable-sized regions | ||
40 | ; - Older versions can teleport to this one, but only if the destination region | ||
41 | ; is 256x256 | ||
42 | ; "SIMULATION/0.2" | ||
43 | ; - A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol | ||
44 | ; - this protocol is more efficient than "SIMULATION/0.1" | ||
45 | ; "SIMULATION/0.1" | ||
46 | ; - this is an older teleport protocol used in OpenSimulator 0.7.5 and before. | ||
47 | ConnectorProtocolVersion = "SIMULATION/0.3" | ||
48 | |||
49 | [SimulationDataStore] | 35 | [SimulationDataStore] |
50 | LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" | 36 | LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" |
51 | 37 | ||
@@ -61,7 +47,7 @@ | |||
61 | ; Because LocalGridServicesConnector starts this service, in grid mode we need to suppress | 47 | ; Because LocalGridServicesConnector starts this service, in grid mode we need to suppress |
62 | ; the inappropriate console commands that it registers. | 48 | ; the inappropriate console commands that it registers. |
63 | SuppressConsoleCommands = true | 49 | SuppressConsoleCommands = true |
64 | 50 | ||
65 | [LibraryService] | 51 | [LibraryService] |
66 | LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" | 52 | LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" |
67 | LibraryName = "OpenSim Library" | 53 | LibraryName = "OpenSim Library" |
diff --git a/config/config-include/GridCommon.ini b/bin/config-include/GridCommon.ini index 1281aee..26accd9 100644 --- a/config/config-include/GridCommon.ini +++ b/bin/config-include/GridCommon.ini | |||
@@ -1,5 +1,5 @@ | |||
1 | ; This is the main configuration file for an instance of OpenSim running in grid mode | 1 | ; This is the main configuration file for an instance of OpenSim running in grid mode |
2 | ; In particular, this one is set up for connecting to Infinite Grid. | 2 | ; In particular, this one is set up for connecting to IG or MG. |
3 | 3 | ||
4 | [DatabaseService] | 4 | [DatabaseService] |
5 | ; | 5 | ; |
@@ -47,7 +47,7 @@ | |||
47 | ;; runs the UserAgentsService. | 47 | ;; runs the UserAgentsService. |
48 | ;; For example http://myworld.com:9000 or http://myworld.com:8002 | 48 | ;; For example http://myworld.com:9000 or http://myworld.com:8002 |
49 | ;; This is a default that can be overwritten in some sections. | 49 | ;; This is a default that can be overwritten in some sections. |
50 | ; HomeURI = "${Const|GridURL}:${Const|PublicPort}" | 50 | HomeURI = "${Const|BaseURL}:${Const|PublicPort}" |
51 | 51 | ||
52 | ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} | 52 | ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} |
53 | ;; If this is a standalone world, this is the address of this instance. | 53 | ;; If this is a standalone world, this is the address of this instance. |
@@ -55,7 +55,7 @@ | |||
55 | ;; that runs the Gatekeeper service. | 55 | ;; that runs the Gatekeeper service. |
56 | ;; For example http://myworld.com:9000 or http://myworld.com:8002 | 56 | ;; For example http://myworld.com:9000 or http://myworld.com:8002 |
57 | ;; This is a default that can be overwritten in some sections. | 57 | ;; This is a default that can be overwritten in some sections. |
58 | ; GatekeeperURI = "${Const|GridURL}:${Const|PublicPort}" | 58 | GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" |
59 | 59 | ||
60 | [Modules] | 60 | [Modules] |
61 | ;; Choose one cache module and the corresponding config file, if it exists. | 61 | ;; Choose one cache module and the corresponding config file, if it exists. |
@@ -77,11 +77,6 @@ | |||
77 | ;; Authorization is not on by default, as it depends on external php | 77 | ;; Authorization is not on by default, as it depends on external php |
78 | ;AuthorizationServices = "RemoteAuthorizationServicesConnector" | 78 | ;AuthorizationServices = "RemoteAuthorizationServicesConnector" |
79 | 79 | ||
80 | ;; To allow the Teleport and Show on Map buttons to work properly (for search | ||
81 | ;; results containing locations). From ossearch module. | ||
82 | ; LandServices = "RemoteLandServicesConnector" | ||
83 | ; LandServiceInConnector = "true" | ||
84 | |||
85 | [AssetService] | 80 | [AssetService] |
86 | DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" | 81 | DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" |
87 | AssetLoaderArgs = "assets/AssetSets.xml" | 82 | AssetLoaderArgs = "assets/AssetSets.xml" |
@@ -89,18 +84,14 @@ | |||
89 | ; | 84 | ; |
90 | ; Change this to your grid-wide asset server. Do not add a slash to the end of any of these addresses. | 85 | ; Change this to your grid-wide asset server. Do not add a slash to the end of any of these addresses. |
91 | ; | 86 | ; |
92 | AssetServerURI = "${Const|GridURL}:${Const|PrivatePort}" | 87 | AssetServerURI = "${Const|BaseURL}:${Const|AssetServerPort}" |
93 | |||
94 | ConnectionString = "${Const|ConnectionString}" | ||
95 | |||
96 | 88 | ||
97 | [InventoryService] | 89 | [InventoryService] |
98 | ; | 90 | ; |
99 | ; Change this to your grid-wide inventory server | 91 | ; Change this to your grid-wide inventory server |
100 | ; | 92 | ; |
101 | InventoryServerURI = "${Const|GridURL}:${Const|PrivatePort}" | 93 | InventoryServerURI = "${Const|GridURL}:${Const|PrivatePort}" |
102 | 94 | ;MaxRetries = 0 | |
103 | ConnectionString = "${Const|ConnectionString}" | ||
104 | 95 | ||
105 | [GridInfo] | 96 | [GridInfo] |
106 | ; | 97 | ; |
@@ -116,13 +107,13 @@ | |||
116 | AllowHypergridMapSearch = true | 107 | AllowHypergridMapSearch = true |
117 | 108 | ||
118 | ;; Directory for map tile images of linked regions | 109 | ;; Directory for map tile images of linked regions |
119 | MapTileDirectory = "${Const|CachePath}/maptiles" | 110 | MapTileDirectory = "${Paths|CachePath}/maptiles" |
120 | 111 | ||
121 | ; === HG ONLY === | 112 | ; === HG ONLY === |
122 | ;; Change this to the address of your Gatekeeper service | 113 | ;; Change this to the address of your Gatekeeper service |
123 | ;; (usually bundled with the rest of the services in one | 114 | ;; (usually bundled with the rest of the services in one |
124 | ;; Robust server in port ${Const|PublicPort}, but not always) | 115 | ;; Robust server in port ${Const|PublicPort}, but not always) |
125 | Gatekeeper="${Const|GridURL}:${Const|PublicPort}" | 116 | GatekeeperURI="${Const|GridURL}:${Const|PublicPort}" |
126 | 117 | ||
127 | [EstateDataStore] | 118 | [EstateDataStore] |
128 | ; | 119 | ; |
@@ -137,9 +128,9 @@ | |||
137 | [Messaging] | 128 | [Messaging] |
138 | ; === HG ONLY === | 129 | ; === HG ONLY === |
139 | ;; Change this to the address of your Gatekeeper service | 130 | ;; Change this to the address of your Gatekeeper service |
140 | ;; (usually bundled with the rest of the services in one | 131 | ;; (usually bundled with the rest of the services in one |
141 | ;; Robust server in port ${Const|PublicPort}, but not always) | 132 | ;; Robust server in port ${Const|PublicPort}, but not always) |
142 | Gatekeeper = "${Const|GridURL}:${Const|PublicPort}" | 133 | GatekeeperURI = "${Const|GridURL}:${Const|PublicPort}" |
143 | 134 | ||
144 | [AvatarService] | 135 | [AvatarService] |
145 | ; | 136 | ; |
@@ -147,8 +138,6 @@ | |||
147 | ; | 138 | ; |
148 | AvatarServerURI = "${Const|GridURL}:${Const|PrivatePort}" | 139 | AvatarServerURI = "${Const|GridURL}:${Const|PrivatePort}" |
149 | 140 | ||
150 | ConnectionString = "${Const|ConnectionString}" | ||
151 | |||
152 | [AgentPreferencesService] | 141 | [AgentPreferencesService] |
153 | ; | 142 | ; |
154 | ; Change this to your grid-wide avatar prefs server | 143 | ; Change this to your grid-wide avatar prefs server |
@@ -167,40 +156,32 @@ | |||
167 | ; | 156 | ; |
168 | UserAccountServerURI = "${Const|GridURL}:${Const|PrivatePort}" | 157 | UserAccountServerURI = "${Const|GridURL}:${Const|PrivatePort}" |
169 | 158 | ||
170 | ConnectionString = "${Const|ConnectionString}" | ||
171 | |||
172 | [GridUserService] | 159 | [GridUserService] |
173 | ; | 160 | ; |
174 | ; Change this to your grid-wide user accounts server | 161 | ; Change this to your grid-wide user accounts server |
175 | ; | 162 | ; |
176 | GridUserServerURI = "${Const|GridURL}:${Const|PrivatePort}" | 163 | GridUserServerURI = "${Const|GridURL}:${Const|PrivatePort}" |
177 | 164 | ||
178 | ConnectionString = "${Const|ConnectionString}" | ||
179 | |||
180 | [AuthenticationService] | 165 | [AuthenticationService] |
181 | ; | 166 | ; |
182 | ; Change this to your grid-wide authentication server | 167 | ; Change this to your grid-wide authentication server |
183 | ; | 168 | ; |
184 | AuthenticationServerURI = "${Const|GridURL}:${Const|PrivatePort}" | 169 | AuthenticationServerURI = "${Const|GridURL}:${Const|PrivatePort}" |
185 | 170 | ||
186 | ConnectionString = "${Const|ConnectionString}" | ||
187 | |||
188 | [FriendsService] | 171 | [FriendsService] |
189 | ; | 172 | ; |
190 | ; Change this to your grid-wide friends server | 173 | ; Change this to your grid-wide friends server |
191 | ; | 174 | ; |
192 | FriendsServerURI = "${Const|GridURL}:${Const|PrivatePort}" | 175 | FriendsServerURI = "${Const|GridURL}:${Const|PrivatePort}" |
193 | 176 | ||
194 | ConnectionString = "${Const|ConnectionString}" | ||
195 | |||
196 | [HGInventoryAccessModule] | 177 | [HGInventoryAccessModule] |
197 | ; | 178 | ; |
198 | ; === HG ONLY === | 179 | ; === HG ONLY === |
199 | ; Change this to your server | 180 | ; Change this to your server |
200 | ; accessible from other grids | 181 | ; accessible from other grids |
201 | ; | 182 | ; |
202 | HomeURI = "${Const|GridURL}:${Const|PublicPort}" | 183 | HomeURI = "${Const|GridURL}:${Const|PublicPort}" |
203 | Gatekeeper = "${Const|GridURL}:${Const|PublicPort}" | 184 | GatekeeperURI = "${Const|GridURL}:${Const|PublicPort}" |
204 | ;; If you want to protect your assets from being copied by foreign visitors | 185 | ;; If you want to protect your assets from being copied by foreign visitors |
205 | ;; set this to false. You may want to do this on sims that have licensed content. | 186 | ;; set this to false. You may want to do this on sims that have licensed content. |
206 | ;; Default is true. | 187 | ;; Default is true. |
@@ -212,7 +193,7 @@ | |||
212 | 193 | ||
213 | ;; Warning: advanced and unusual. Default is false. | 194 | ;; Warning: advanced and unusual. Default is false. |
214 | ;; Enables configurations where grids share user services, including inventory, | 195 | ;; Enables configurations where grids share user services, including inventory, |
215 | ;; while separating regions' assets from users' assets. Asset transfer between | 196 | ;; while separating regions' assets from users' assets. Asset transfer between |
216 | ;; the users' asset server and the regions' asset server is done in HG-like manner. | 197 | ;; the users' asset server and the regions' asset server is done in HG-like manner. |
217 | ; CheckSeparateAssets = false | 198 | ; CheckSeparateAssets = false |
218 | ; RegionHGAssetServerURI = ${Const|GridURL}:${Const|PublicPort} | 199 | ; RegionHGAssetServerURI = ${Const|GridURL}:${Const|PublicPort} |
@@ -221,7 +202,7 @@ | |||
221 | [HGAssetService] | 202 | [HGAssetService] |
222 | ; | 203 | ; |
223 | ; === HG ONLY === | 204 | ; === HG ONLY === |
224 | ; Change this to your server | 205 | ; Change this to your server |
225 | ; accessible from other grids | 206 | ; accessible from other grids |
226 | ; | 207 | ; |
227 | HomeURI = "${Const|GridURL}:${Const|PublicPort}" | 208 | HomeURI = "${Const|GridURL}:${Const|PublicPort}" |
@@ -229,11 +210,11 @@ | |||
229 | ;; The asset types that this grid can export to / import from other grids. | 210 | ;; The asset types that this grid can export to / import from other grids. |
230 | ;; Comma separated. | 211 | ;; Comma separated. |
231 | ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: | 212 | ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: |
232 | ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, | 213 | ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, |
233 | ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh | 214 | ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh |
234 | ;; | 215 | ;; |
235 | ;; Leave blank or commented if you don't want to apply any restrictions. | 216 | ;; Leave blank or commented if you don't want to apply any restrictions. |
236 | ;; A more strict, but still reasonable, policy may be to disallow the exchange | 217 | ;; A more strict, but still reasonable, policy may be to disallow the exchange |
237 | ;; of scripts, like so: | 218 | ;; of scripts, like so: |
238 | ; DisallowExport ="LSLText" | 219 | ; DisallowExport ="LSLText" |
239 | ; DisallowImport ="LSLBytecode" | 220 | ; DisallowImport ="LSLBytecode" |
@@ -270,3 +251,5 @@ | |||
270 | ;; Capability assigned by the grid administrator for the simulator | 251 | ;; Capability assigned by the grid administrator for the simulator |
271 | ;; SimulatorCapability = "00000000-0000-0000-0000-000000000000" | 252 | ;; SimulatorCapability = "00000000-0000-0000-0000-000000000000" |
272 | 253 | ||
254 | [MuteListService] | ||
255 | MuteListServerURI = "${Const|BaseURL}:${Const|PrivatePort}" | ||
diff --git a/config/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index 0922cf5..47771e3 100644 --- a/config/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example | |||
@@ -6,7 +6,7 @@ | |||
6 | ; | 6 | ; |
7 | 7 | ||
8 | ; SQLite | 8 | ; SQLite |
9 | Include-Storage = "config-include/storage/SQLiteStandalone.ini"; | 9 | ; Include-Storage = "config-include/storage/SQLiteStandalone.ini"; |
10 | 10 | ||
11 | ; MySql | 11 | ; MySql |
12 | ; Uncomment these lines if you want to use mysql storage | 12 | ; Uncomment these lines if you want to use mysql storage |
@@ -32,6 +32,9 @@ | |||
32 | ;StorageProvider = "OpenSim.Data.PGSQL.dll" | 32 | ;StorageProvider = "OpenSim.Data.PGSQL.dll" |
33 | ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" | 33 | ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" |
34 | 34 | ||
35 | StorageProvider = "${Const|DataProvider}" | ||
36 | ConnectionString = "${Const|ConnectionString}" | ||
37 | |||
35 | [Hypergrid] | 38 | [Hypergrid] |
36 | ; Uncomment the variables in this section only if you are in | 39 | ; Uncomment the variables in this section only if you are in |
37 | ; Hypergrid configuration. Otherwise, ignore. | 40 | ; Hypergrid configuration. Otherwise, ignore. |
@@ -85,6 +88,7 @@ | |||
85 | ; Change this to your grid-wide inventory server | 88 | ; Change this to your grid-wide inventory server |
86 | ; | 89 | ; |
87 | InventoryServerURI = "${Const|BaseURL}:${Const|PrivatePort}" | 90 | InventoryServerURI = "${Const|BaseURL}:${Const|PrivatePort}" |
91 | ;MaxRetries = 0 | ||
88 | 92 | ||
89 | [GridInfo] | 93 | [GridInfo] |
90 | ; | 94 | ; |
@@ -104,9 +108,9 @@ | |||
104 | 108 | ||
105 | ; === HG ONLY === | 109 | ; === HG ONLY === |
106 | ;; Change this to the address of your Gatekeeper service | 110 | ;; Change this to the address of your Gatekeeper service |
107 | ;; (usually bundled with the rest of the services in one | 111 | ;; (usually bundled with the rest of the services in one |
108 | ;; Robust server in port ${Const|PublicPort}, but not always) | 112 | ;; Robust server in port ${Const|PublicPort}, but not always) |
109 | Gatekeeper="${Const|BaseURL}:${Const|PublicPort}" | 113 | GatekeeperURI="${Const|BaseURL}:${Const|PublicPort}" |
110 | 114 | ||
111 | [EstateDataStore] | 115 | [EstateDataStore] |
112 | ; | 116 | ; |
@@ -121,9 +125,9 @@ | |||
121 | [Messaging] | 125 | [Messaging] |
122 | ; === HG ONLY === | 126 | ; === HG ONLY === |
123 | ;; Change this to the address of your Gatekeeper service | 127 | ;; Change this to the address of your Gatekeeper service |
124 | ;; (usually bundled with the rest of the services in one | 128 | ;; (usually bundled with the rest of the services in one |
125 | ;; Robust server in port ${Const|PublicPort}, but not always) | 129 | ;; Robust server in port ${Const|PublicPort}, but not always) |
126 | Gatekeeper = "${Const|BaseURL}:${Const|PublicPort}" | 130 | GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" |
127 | 131 | ||
128 | [AvatarService] | 132 | [AvatarService] |
129 | ; | 133 | ; |
@@ -170,11 +174,11 @@ | |||
170 | [HGInventoryAccessModule] | 174 | [HGInventoryAccessModule] |
171 | ; | 175 | ; |
172 | ; === HG ONLY === | 176 | ; === HG ONLY === |
173 | ; Change this to your server | 177 | ; Change this to your server |
174 | ; accessible from other grids | 178 | ; accessible from other grids |
175 | ; | 179 | ; |
176 | HomeURI = "${Const|BaseURL}:${Const|PublicPort}" | 180 | HomeURI = "${Const|BaseURL}:${Const|PublicPort}" |
177 | Gatekeeper = "${Const|BaseURL}:${Const|PublicPort}" | 181 | GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" |
178 | ;; If you want to protect your assets from being copied by foreign visitors | 182 | ;; If you want to protect your assets from being copied by foreign visitors |
179 | ;; set this to false. You may want to do this on sims that have licensed content. | 183 | ;; set this to false. You may want to do this on sims that have licensed content. |
180 | ;; Default is true. | 184 | ;; Default is true. |
@@ -186,7 +190,7 @@ | |||
186 | 190 | ||
187 | ;; Warning: advanced and unusual. Default is false. | 191 | ;; Warning: advanced and unusual. Default is false. |
188 | ;; Enables configurations where grids share user services, including inventory, | 192 | ;; Enables configurations where grids share user services, including inventory, |
189 | ;; while separating regions' assets from users' assets. Asset transfer between | 193 | ;; while separating regions' assets from users' assets. Asset transfer between |
190 | ;; the users' asset server and the regions' asset server is done in HG-like manner. | 194 | ;; the users' asset server and the regions' asset server is done in HG-like manner. |
191 | ; CheckSeparateAssets = false | 195 | ; CheckSeparateAssets = false |
192 | ; RegionHGAssetServerURI = ${Const|BaseURL}:${Const|PublicPort} | 196 | ; RegionHGAssetServerURI = ${Const|BaseURL}:${Const|PublicPort} |
@@ -195,7 +199,7 @@ | |||
195 | [HGAssetService] | 199 | [HGAssetService] |
196 | ; | 200 | ; |
197 | ; === HG ONLY === | 201 | ; === HG ONLY === |
198 | ; Change this to your server | 202 | ; Change this to your server |
199 | ; accessible from other grids | 203 | ; accessible from other grids |
200 | ; | 204 | ; |
201 | HomeURI = "${Const|BaseURL}:${Const|PublicPort}" | 205 | HomeURI = "${Const|BaseURL}:${Const|PublicPort}" |
@@ -203,11 +207,11 @@ | |||
203 | ;; The asset types that this grid can export to / import from other grids. | 207 | ;; The asset types that this grid can export to / import from other grids. |
204 | ;; Comma separated. | 208 | ;; Comma separated. |
205 | ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: | 209 | ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: |
206 | ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, | 210 | ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, |
207 | ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh | 211 | ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh |
208 | ;; | 212 | ;; |
209 | ;; Leave blank or commented if you don't want to apply any restrictions. | 213 | ;; Leave blank or commented if you don't want to apply any restrictions. |
210 | ;; A more strict, but still reasonable, policy may be to disallow the exchange | 214 | ;; A more strict, but still reasonable, policy may be to disallow the exchange |
211 | ;; of scripts, like so: | 215 | ;; of scripts, like so: |
212 | ; DisallowExport ="LSLText" | 216 | ; DisallowExport ="LSLText" |
213 | ; DisallowImport ="LSLBytecode" | 217 | ; DisallowImport ="LSLBytecode" |
@@ -243,3 +247,6 @@ | |||
243 | 247 | ||
244 | ;; Capability assigned by the grid administrator for the simulator | 248 | ;; Capability assigned by the grid administrator for the simulator |
245 | ;; SimulatorCapability = "00000000-0000-0000-0000-000000000000" | 249 | ;; SimulatorCapability = "00000000-0000-0000-0000-000000000000" |
250 | |||
251 | [MuteListService] | ||
252 | MuteListServerURI = "${Const|BaseURL}:${Const|PrivatePort}" | ||
diff --git a/config/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini index dae7af5..96cd3c4 100644 --- a/config/config-include/GridHypergrid.ini +++ b/bin/config-include/GridHypergrid.ini | |||
@@ -15,7 +15,7 @@ | |||
15 | InventoryServices = "HGInventoryBroker" | 15 | InventoryServices = "HGInventoryBroker" |
16 | GridServices = "RemoteGridServicesConnector" | 16 | GridServices = "RemoteGridServicesConnector" |
17 | AvatarServices = "RemoteAvatarServicesConnector" | 17 | AvatarServices = "RemoteAvatarServicesConnector" |
18 | NeighbourServices = "RemoteNeighbourServicesConnector" | 18 | NeighbourServices = "NeighbourServicesOutConnector" |
19 | AuthenticationServices = "RemoteAuthenticationServicesConnector" | 19 | AuthenticationServices = "RemoteAuthenticationServicesConnector" |
20 | AuthorizationServices = "LocalAuthorizationServicesConnector" | 20 | AuthorizationServices = "LocalAuthorizationServicesConnector" |
21 | PresenceServices = "RemotePresenceServicesConnector" | 21 | PresenceServices = "RemotePresenceServicesConnector" |
@@ -30,30 +30,13 @@ | |||
30 | MapImageService = "MapImageServiceModule" | 30 | MapImageService = "MapImageServiceModule" |
31 | UserManagementModule = "HGUserManagementModule" | 31 | UserManagementModule = "HGUserManagementModule" |
32 | SearchModule = "BasicSearchModule" | 32 | SearchModule = "BasicSearchModule" |
33 | MuteListService = "RemoteMuteListServicesConnector" | ||
33 | 34 | ||
34 | LandServiceInConnector = true | 35 | LandServiceInConnector = true |
35 | NeighbourServiceInConnector = true | 36 | NeighbourServiceInConnector = true |
36 | SimulationServiceInConnector = true | 37 | SimulationServiceInConnector = true |
37 | LibraryModule = true | 38 | LibraryModule = true |
38 | 39 | ||
39 | [SimulationService] | ||
40 | ; This is the protocol version which the simulator advertises to the source destination when acting as a target destination for a teleport | ||
41 | ; It is used to control the teleport handoff process. | ||
42 | ; Valid values are | ||
43 | ; "SIMULATION/0.3" | ||
44 | ; - This is the default, and it supports teleports to variable-sized regions | ||
45 | ; - Older versions can teleport to this one, but only if the destination region | ||
46 | ; is 256x256 | ||
47 | ; "SIMULATION/0.2" | ||
48 | ; - A source simulator which only implements "SIMULATION/0.1" can still teleport with that protocol | ||
49 | ; - this protocol is more efficient than "SIMULATION/0.1" | ||
50 | ; "SIMULATION/0.1" | ||
51 | ; - this is an older teleport protocol used in OpenSimulator 0.7.5 and before. | ||
52 | ConnectorProtocolVersion = "SIMULATION/0.3" | ||
53 | |||
54 | [Profile] | ||
55 | Module = "BasicProfileModule" | ||
56 | |||
57 | [SimulationDataStore] | 40 | [SimulationDataStore] |
58 | LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" | 41 | LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" |
59 | 42 | ||
@@ -92,11 +75,6 @@ | |||
92 | 75 | ||
93 | [Messaging] | 76 | [Messaging] |
94 | MessageTransferModule = HGMessageTransferModule | 77 | MessageTransferModule = HGMessageTransferModule |
95 | ; HG lures break normal in grid lures, so don't use them. | ||
96 | ; TODO - double check this is still the case. | ||
97 | ; LureModule = HGLureModule | ||
98 | LureModule = LureModule | ||
99 | |||
100 | 78 | ||
101 | [HGInstantMessageService] | 79 | [HGInstantMessageService] |
102 | LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" | 80 | LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" |
diff --git a/config/config-include/HyperSimianGrid.ini b/bin/config-include/HyperSimianGrid.ini index efad577..24f9813 100644 --- a/config/config-include/HyperSimianGrid.ini +++ b/bin/config-include/HyperSimianGrid.ini | |||
@@ -5,7 +5,7 @@ | |||
5 | ;; | 5 | ;; |
6 | 6 | ||
7 | ;; | 7 | ;; |
8 | ;; In GridCommon.ini, these are the URLs you would use if SimianGrid is | 8 | ;; In GridCommon.ini, these are the URLs you would use if SimianGrid is |
9 | ;; installed at http://www.mygrid.com/Grid/ | 9 | ;; installed at http://www.mygrid.com/Grid/ |
10 | ;; | 10 | ;; |
11 | ; AssetServerURI = "http://www.mygrid.com/Grid/?id=" | 11 | ; AssetServerURI = "http://www.mygrid.com/Grid/?id=" |
@@ -28,17 +28,17 @@ | |||
28 | AssetServices = "HGAssetBroker" | 28 | AssetServices = "HGAssetBroker" |
29 | InventoryServices = "HGInventoryBroker" | 29 | InventoryServices = "HGInventoryBroker" |
30 | AvatarServices = "SimianAvatarServiceConnector" | 30 | AvatarServices = "SimianAvatarServiceConnector" |
31 | 31 | ||
32 | NeighbourServices = "RemoteNeighbourServicesConnector" | 32 | NeighbourServices = "NeighbourServicesOutConnector" |
33 | SimulationServices = "RemoteSimulationConnectorModule" | 33 | SimulationServices = "RemoteSimulationConnectorModule" |
34 | EntityTransferModule = "HGEntityTransferModule" | 34 | EntityTransferModule = "HGEntityTransferModule" |
35 | InventoryAccessModule = "HGInventoryAccessModule" | 35 | InventoryAccessModule = "HGInventoryAccessModule" |
36 | 36 | ||
37 | LandServiceInConnector = true | 37 | LandServiceInConnector = true |
38 | NeighbourServiceInConnector = true | 38 | NeighbourServiceInConnector = true |
39 | SimulationServiceInConnector = true | 39 | SimulationServiceInConnector = true |
40 | LibraryModule = false | 40 | LibraryModule = false |
41 | 41 | ||
42 | AssetCaching = "FlotsamAssetCache" | 42 | AssetCaching = "FlotsamAssetCache" |
43 | 43 | ||
44 | [SimulationDataStore] | 44 | [SimulationDataStore] |
@@ -87,7 +87,7 @@ | |||
87 | [HGInventoryAccessModule] | 87 | [HGInventoryAccessModule] |
88 | ; | 88 | ; |
89 | ; === HG ONLY === | 89 | ; === HG ONLY === |
90 | ; Change this to your profile server | 90 | ; Change this to your profile server |
91 | ; accessible from other grids | 91 | ; accessible from other grids |
92 | ; | 92 | ; |
93 | ProfileServerURI = "http://mygridserver.com:8002/user" | 93 | ProfileServerURI = "http://mygridserver.com:8002/user" |
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/config/config-include/SimianGrid.ini b/bin/config-include/SimianGrid.ini index 5749656..fdf7ca2 100644 --- a/config/config-include/SimianGrid.ini +++ b/bin/config-include/SimianGrid.ini | |||
@@ -5,7 +5,7 @@ | |||
5 | ;; | 5 | ;; |
6 | 6 | ||
7 | ;; | 7 | ;; |
8 | ;; In GridCommon.ini, these are the URLs you would use if SimianGrid is | 8 | ;; In GridCommon.ini, these are the URLs you would use if SimianGrid is |
9 | ;; installed at http://www.mygrid.com/Grid/ | 9 | ;; installed at http://www.mygrid.com/Grid/ |
10 | ;; | 10 | ;; |
11 | ; AssetServerURI = "http://www.mygrid.com/Grid/?id=" | 11 | ; AssetServerURI = "http://www.mygrid.com/Grid/?id=" |
@@ -28,17 +28,17 @@ | |||
28 | AssetServices = "SimianAssetServiceConnector" | 28 | AssetServices = "SimianAssetServiceConnector" |
29 | InventoryServices = "SimianInventoryServiceConnector" | 29 | InventoryServices = "SimianInventoryServiceConnector" |
30 | AvatarServices = "SimianAvatarServiceConnector" | 30 | AvatarServices = "SimianAvatarServiceConnector" |
31 | 31 | ||
32 | NeighbourServices = "RemoteNeighbourServicesConnector" | 32 | NeighbourServices = "NeighbourServicesOutConnector" |
33 | SimulationServices = "RemoteSimulationConnectorModule" | 33 | SimulationServices = "RemoteSimulationConnectorModule" |
34 | EntityTransferModule = "BasicEntityTransferModule" | 34 | EntityTransferModule = "BasicEntityTransferModule" |
35 | InventoryAccessModule = "BasicInventoryAccessModule" | 35 | InventoryAccessModule = "BasicInventoryAccessModule" |
36 | 36 | ||
37 | LandServiceInConnector = true | 37 | LandServiceInConnector = true |
38 | NeighbourServiceInConnector = true | 38 | NeighbourServiceInConnector = true |
39 | SimulationServiceInConnector = true | 39 | SimulationServiceInConnector = true |
40 | LibraryModule = false | 40 | LibraryModule = false |
41 | 41 | ||
42 | AssetCaching = "FlotsamAssetCache" | 42 | AssetCaching = "FlotsamAssetCache" |
43 | 43 | ||
44 | [SimulationDataStore] | 44 | [SimulationDataStore] |
diff --git a/config/config-include/Standalone.ini b/bin/config-include/Standalone.ini index 78ada2b..127b073 100644 --- a/config/config-include/Standalone.ini +++ b/bin/config-include/Standalone.ini | |||
@@ -7,7 +7,7 @@ | |||
7 | [Modules] | 7 | [Modules] |
8 | AssetServices = "LocalAssetServicesConnector" | 8 | AssetServices = "LocalAssetServicesConnector" |
9 | InventoryServices = "LocalInventoryServicesConnector" | 9 | InventoryServices = "LocalInventoryServicesConnector" |
10 | NeighbourServices = "LocalNeighbourServicesConnector" | 10 | NeighbourServices = "NeighbourServicesOutConnector" |
11 | AuthenticationServices = "LocalAuthenticationServicesConnector" | 11 | AuthenticationServices = "LocalAuthenticationServicesConnector" |
12 | AuthorizationServices = "LocalAuthorizationServicesConnector" | 12 | AuthorizationServices = "LocalAuthorizationServicesConnector" |
13 | GridServices = "LocalGridServicesConnector" | 13 | GridServices = "LocalGridServicesConnector" |
@@ -22,6 +22,7 @@ | |||
22 | InventoryAccessModule = "BasicInventoryAccessModule" | 22 | InventoryAccessModule = "BasicInventoryAccessModule" |
23 | MapImageService = "MapImageServiceModule" | 23 | MapImageService = "MapImageServiceModule" |
24 | SearchModule = "BasicSearchModule" | 24 | SearchModule = "BasicSearchModule" |
25 | MuteListService = "LocalMuteListServicesConnector" | ||
25 | 26 | ||
26 | LibraryModule = true | 27 | LibraryModule = true |
27 | LLLoginServiceInConnector = true | 28 | LLLoginServiceInConnector = true |
@@ -103,8 +104,8 @@ | |||
103 | ;; However, they do rely on the server to tell them whether it's Daylight Saving Time or not. | 104 | ;; However, they do rely on the server to tell them whether it's Daylight Saving Time or not. |
104 | ;; Hence, calculating DST based on a different timezone can result in a misleading viewer display and inconsistencies between grids. | 105 | ;; Hence, calculating DST based on a different timezone can result in a misleading viewer display and inconsistencies between grids. |
105 | ;; By default, this setting uses various timezone names to calculate DST with regards to the viewer's standard PST. | 106 | ;; By default, this setting uses various timezone names to calculate DST with regards to the viewer's standard PST. |
106 | ;; Options are | 107 | ;; Options are |
107 | ;; "none" no DST | 108 | ;; "none" no DST |
108 | ;; "local" use the server's only timezone to calculate DST. This is previous OpenSimulator behaviour. | 109 | ;; "local" use the server's only timezone to calculate DST. This is previous OpenSimulator behaviour. |
109 | ;; "America/Los_Angeles;Pacific Standard Time" use these timezone names to look up Daylight savings. | 110 | ;; "America/Los_Angeles;Pacific Standard Time" use these timezone names to look up Daylight savings. |
110 | ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows | 111 | ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows |
@@ -113,6 +114,9 @@ | |||
113 | [MapImageService] | 114 | [MapImageService] |
114 | LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" | 115 | LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" |
115 | 116 | ||
117 | [MuteListService] | ||
118 | LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService" | ||
119 | |||
116 | ;; This should always be the very last thing on this file | 120 | ;; This should always be the very last thing on this file |
117 | [Includes] | 121 | [Includes] |
118 | Include-Common = "config-include/StandaloneCommon.ini" | 122 | Include-Common = "config-include/StandaloneCommon.ini" |
diff --git a/bin/config-include/StandaloneCommon.ini b/bin/config-include/StandaloneCommon.ini new file mode 100644 index 0000000..8da7784 --- /dev/null +++ b/bin/config-include/StandaloneCommon.ini | |||
@@ -0,0 +1,401 @@ | |||
1 | ; This is the main configuration file for an instance of OpenSim running in standalone mode | ||
2 | |||
3 | [DatabaseService] | ||
4 | ; | ||
5 | ; ### Choose the DB | ||
6 | ; | ||
7 | |||
8 | ; SQLite | ||
9 | ; Include-Storage = "config-include/storage/SQLiteStandalone.ini"; | ||
10 | |||
11 | ; MySql | ||
12 | ; Uncomment these lines if you want to use mysql storage | ||
13 | ; Change the connection string to your db details | ||
14 | ;StorageProvider = "OpenSim.Data.MySQL.dll" | ||
15 | ;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" | ||
16 | |||
17 | ; Uncomment this line if you are using MySQL and want to use a different database for estates. | ||
18 | ; The usual application for this is to allow estates to be spread out across multiple simulators by share the same database. | ||
19 | ; Most people won't need to do this so only uncomment if you know what you're doing. | ||
20 | ;EstateConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" | ||
21 | |||
22 | ; MSSQL | ||
23 | ; Uncomment these lines if you want to use MSSQL storage | ||
24 | ; Change the connection string to your db details | ||
25 | ; The value for server property is shown in your SQL Server Management Studio login dialog. | ||
26 | ; (This sample is the default of express edition) | ||
27 | ;StorageProvider = "OpenSim.Data.MSSQL.dll" | ||
28 | ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;" | ||
29 | |||
30 | ; PGSQL | ||
31 | ; Uncomment these lines if you want to use PGSQL storage | ||
32 | ; Change the connection string to your db details | ||
33 | ;StorageProvider = "OpenSim.Data.PGSQL.dll" | ||
34 | ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" | ||
35 | |||
36 | StorageProvider = "${Const|DataProvider}" | ||
37 | ConnectionString = "${Const|ConnectionString}" | ||
38 | |||
39 | [Hypergrid] | ||
40 | ; Uncomment the variables in this section only if you are in | ||
41 | ; Hypergrid configuration. Otherwise, ignore. | ||
42 | |||
43 | ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} | ||
44 | ;; If this is a standalone world, this is the address of this instance. | ||
45 | ;; If this is a grided simulator, this is the address of the external robust server that | ||
46 | ;; runs the UserAgentsService. | ||
47 | ;; For example http://myworld.com:9000 or http://myworld.com:8002 | ||
48 | ;; This is a default that can be overwritten in some sections. | ||
49 | ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
50 | |||
51 | ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} | ||
52 | ;; If this is a standalone world, this is the address of this instance. | ||
53 | ;; If this is a grided simulator, this is the address of the external robust server | ||
54 | ;; that runs the Gatekeeper service. | ||
55 | ;; For example http://myworld.com:9000 or http://myworld.com:8002 | ||
56 | ;; This is a default that can be overwritten in some sections. | ||
57 | ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
58 | |||
59 | [Modules] | ||
60 | ;; Choose one cache module and the corresponding config file, if it exists. | ||
61 | ;; Copy the config .example file into your own .ini file and alter that | ||
62 | ;; We recommend the use of the FlotsamAssetCache since this is most actively maintained. | ||
63 | |||
64 | AssetCaching = "FlotsamAssetCache" | ||
65 | Include-FlotsamCache = "config-include/FlotsamCache.ini" | ||
66 | |||
67 | ;AssetCaching = "CenomeMemoryAssetCache" | ||
68 | ;Include-CenomeCache = "config-include/CenomeCache.ini" | ||
69 | |||
70 | ;AssetCaching = "GlynnTuckerAssetCache" | ||
71 | |||
72 | ;; Authorization is not on by default, as it depends on external php | ||
73 | ;AuthorizationServices = "LocalAuthorizationServicesConnector" | ||
74 | |||
75 | [AssetService] | ||
76 | DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" | ||
77 | AssetLoaderArgs = "assets/AssetSets.xml" | ||
78 | |||
79 | [GridService] | ||
80 | ;; For in-memory region storage (default) | ||
81 | StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" | ||
82 | ;;--- For MySql region storage (alternative) | ||
83 | ;StorageProvider = "OpenSim.Data.MySQL.dll:MySqlRegionData" | ||
84 | |||
85 | ;; Directory for map tile images of remote regions | ||
86 | ; MapTileDirectory = "./maptiles" | ||
87 | |||
88 | ;; Next, we can specify properties of regions, including default and fallback regions | ||
89 | ;; The syntax is: Region_<RegionName> = "<flags>" | ||
90 | ;; where <flags> can be DefaultRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut | ||
91 | ;; | ||
92 | ;; DefaultRegion If a local login cannot be placed in the required region (e.g. home region does not exist, avatar is not allowed entry, etc.) | ||
93 | ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion | ||
94 | ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified | ||
95 | ;; an explicit region. | ||
96 | ;; | ||
97 | ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online | ||
98 | ;; region will be used. | ||
99 | ;; | ||
100 | ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the | ||
101 | ;; order specified. This only applies to local logins at this time, not Hypergrid connections. | ||
102 | ;; | ||
103 | ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins. | ||
104 | ;; | ||
105 | ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid. | ||
106 | ;; | ||
107 | ;; For example: | ||
108 | Region_Welcome_Area = "DefaultRegion, FallbackRegion" | ||
109 | |||
110 | ;; Allow supporting viewers to export content | ||
111 | ;; Set to false to prevent export | ||
112 | ExportSupported = true | ||
113 | |||
114 | ; === HG ONLY === | ||
115 | ;; If you have this set under [Hypergrid], no need to set it here, leave it commented | ||
116 | ; GatekeeperURI="${Const|BaseURL}:${Const|PublicPort}" | ||
117 | |||
118 | [LibraryModule] | ||
119 | ; Set this if you want to change the name of the OpenSim Library | ||
120 | ;LibraryName = "My World's Library" | ||
121 | |||
122 | [LoginService] | ||
123 | WelcomeMessage = "Welcome, Avatar!" | ||
124 | ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented | ||
125 | ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
126 | |||
127 | SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
128 | SRV_InventoryServerURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
129 | SRV_AssetServerURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
130 | SRV_ProfileServerURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
131 | SRV_FriendsServerURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
132 | SRV_IMServerURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
133 | |||
134 | ;; For Viewer 2 | ||
135 | MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/" | ||
136 | |||
137 | ; Url to search service | ||
138 | ; SearchURL = "${Const|BaseURL}:${Const|PublicPort}"; | ||
139 | |||
140 | ; For V3 destination guide | ||
141 | ; DestinationGuide = "${Const|BaseURL}/guide" | ||
142 | |||
143 | ; The minimum user level required for a user to be able to login. 0 by default | ||
144 | ; If you disable a particular user's account then you can set their login level below this number. | ||
145 | ; You can also change this level from the console though these changes will not be persisted. | ||
146 | ; MinLoginLevel = 0 | ||
147 | |||
148 | ;; Ask co-operative viewers to use a different currency name | ||
149 | ;Currency = "" | ||
150 | |||
151 | ;; Set minimum fee to publish classified | ||
152 | ; ClassifiedFee = 0 | ||
153 | |||
154 | ; Basic Login Service Dos Protection Tweaks | ||
155 | ; ; | ||
156 | ; ; Some Grids/Users use a transparent proxy that makes use of the X-Forwarded-For HTTP Header, If you do, set this to true | ||
157 | ; ; If you set this to true and you don't have a transparent proxy, it may allow attackers to put random things in the X-Forwarded-For header to | ||
158 | ; ; get around this basic DOS protection. | ||
159 | ; DOSAllowXForwardedForHeader = false | ||
160 | ; ; | ||
161 | ; ; The protector adds up requests during this rolling period of time, default 10 seconds | ||
162 | ; DOSRequestTimeFrameMS = 10000 | ||
163 | ; ; | ||
164 | ; ; The amount of requests in the above timeframe from the same endpoint that triggers protection | ||
165 | ; DOSMaxRequestsInTimeFrame = 5 | ||
166 | ; ; | ||
167 | ; ; The amount of time that a specific endpoint is blocked. Default 2 minutes. | ||
168 | ; DOSForgiveClientAfterMS = 120000 | ||
169 | ; ; | ||
170 | ; ; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0. | ||
171 | |||
172 | [FreeswitchService] | ||
173 | ;; If FreeSWITCH is not being used then you don't need to set any of these parameters | ||
174 | ;; | ||
175 | ;; The IP address of your FreeSWITCH server. The common case is for this to be the same as the server running the OpenSim standalone | ||
176 | ;; This has to be set for the FreeSWITCH service to work | ||
177 | ;; This address must be reachable by viewers. | ||
178 | ;ServerAddress = 127.0.0.1 | ||
179 | |||
180 | ;; The following configuration parameters are optional | ||
181 | |||
182 | ;; By default, this is the same as the ServerAddress | ||
183 | ; Realm = 127.0.0.1 | ||
184 | |||
185 | ;; By default, this is the same as the ServerAddress on port 5060 | ||
186 | ; SIPProxy = 127.0.0.1:5060 | ||
187 | |||
188 | ;; Default is 5000ms | ||
189 | ; DefaultTimeout = 5000 | ||
190 | |||
191 | ;; The dial plan context. Default is "default" | ||
192 | ; Context = default | ||
193 | |||
194 | ;; Currently unused | ||
195 | ; UserName = freeswitch | ||
196 | |||
197 | ;; Currently unused | ||
198 | ; Password = password | ||
199 | |||
200 | ;; The following parameters are for STUN = Simple Traversal of UDP through NATs | ||
201 | ;; See http://wiki.freeswitch.org/wiki/NAT_Traversal | ||
202 | ;; stun.freeswitch.org is not guaranteed to be running so use it in | ||
203 | ;; production at your own risk | ||
204 | ; EchoServer = 127.0.0.1 | ||
205 | ; EchoPort = 50505 | ||
206 | ; AttemptSTUN = false | ||
207 | |||
208 | [GridInfoService] | ||
209 | ; These settings are used to return information on a get_grid_info call. | ||
210 | ; Client launcher scripts and third-party clients make use of this to | ||
211 | ; autoconfigure the client and to provide a nice user experience. If you | ||
212 | ; want to facilitate that, you should configure the settings here according | ||
213 | ; to your grid or standalone setup. | ||
214 | ; | ||
215 | ; See http://opensimulator.org/wiki/GridInfo | ||
216 | |||
217 | ; login uri: for grid this is the login server URI | ||
218 | login = ${Const|BaseURL}:${Const|PublicPort}/ | ||
219 | |||
220 | ; long grid name: the long name of your grid | ||
221 | gridname = "the lost continent of hippo" | ||
222 | |||
223 | ; short grid name: the short name of your grid | ||
224 | gridnick = "hippogrid" | ||
225 | |||
226 | ; login page: optional: if it exists it will be used to tell the client to use | ||
227 | ; this as splash page. May also be served from an external web server, e.g. for | ||
228 | ; information on a standalone | ||
229 | ;welcome = ${Const|BaseURL}/welcome | ||
230 | |||
231 | ; helper uri: optional: if it exists it will be used to tell the client to use | ||
232 | ; this for all economy related things | ||
233 | ;economy = ${Const|BaseURL}/economy | ||
234 | |||
235 | ; web page of grid: optional: page providing further information about your grid | ||
236 | ;about = ${Const|BaseURL}/about | ||
237 | |||
238 | ; account creation: optional: page providing further information about obtaining | ||
239 | ; a user account on your grid | ||
240 | ;register = ${Const|BaseURL}/register | ||
241 | |||
242 | ; help: optional: page providing further assistance for users of your grid | ||
243 | ;help = ${Const|BaseURL}/help | ||
244 | |||
245 | ; password help: optional: page providing password assistance for users of your grid | ||
246 | ;password = ${Const|BaseURL}/password | ||
247 | |||
248 | ; HG address of the gatekeeper, if you have one | ||
249 | ; this is the entry point for all the regions of the world | ||
250 | ; gatekeeper = ${Const|BaseURL}:${Const|PublicPort}/ | ||
251 | |||
252 | ; HG user domain, if you have one | ||
253 | ; this is the entry point for all user-related HG services | ||
254 | ; uas = ${Const|BaseURL}:${Const|PublicPort}/ | ||
255 | |||
256 | [MapImageService] | ||
257 | ; Set this if you want to change the default | ||
258 | ; TilesStoragePath = "maptiles" | ||
259 | |||
260 | [AuthorizationService] | ||
261 | ; If you have regions with access restrictions | ||
262 | ; specify them here using the convention | ||
263 | ; Region_<Region_Name> = <flags> | ||
264 | ; Valid flags are: | ||
265 | ; DisallowForeigners -- HG visitors not allowed | ||
266 | ; DisallowResidents -- only Admins and Managers allowed | ||
267 | ; Example: | ||
268 | ; Region_Test_1 = "DisallowForeigners" | ||
269 | |||
270 | ;; | ||
271 | ;; HG configurations | ||
272 | ;; | ||
273 | [GatekeeperService] | ||
274 | ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented | ||
275 | ; ExternalName = "${Const|BaseURL}:${Const|PublicPort}" | ||
276 | |||
277 | ; Does this grid allow incoming links to any region in it? | ||
278 | ; If false, HG TPs happen only to the Default regions specified in [GridService] section | ||
279 | AllowTeleportsToAnyRegion = true | ||
280 | |||
281 | ;; Regular expressions for controlling which client versions are accepted/denied. | ||
282 | ;; An empty string means nothing is checked. | ||
283 | ;; | ||
284 | ;; Example 1: allow only these 3 types of clients (any version of them) | ||
285 | ;; AllowedClients = "Imprudence|Hippo|Second Life" | ||
286 | ;; | ||
287 | ;; Example 2: allow all clients except these | ||
288 | ;; DeniedClients = "Twisted|Crawler|Cryolife|FuckLife|StreetLife|GreenLife|AntiLife|KORE-Phaze|Synlyfe|Purple Second Life|SecondLi |Emerald" | ||
289 | ;; | ||
290 | ;; Note that these are regular expressions, so every character counts. | ||
291 | ;; Also note that this is very weak security and should not be trusted as a reliable means | ||
292 | ;; for keeping bad clients out; modified clients can fake their identifiers. | ||
293 | ;; | ||
294 | ;; | ||
295 | ;AllowedClients = "" | ||
296 | ;DeniedClients = "" | ||
297 | |||
298 | ;; Are foreign visitors allowed? | ||
299 | ;ForeignAgentsAllowed = true | ||
300 | ;; | ||
301 | ;; If ForeignAgentsAllowed is true, make exceptions using AllowExcept. | ||
302 | ;; Leave blank or commented for no exceptions. | ||
303 | ; AllowExcept = "http://griefer.com:8002, http://enemy.com:8002" | ||
304 | ;; | ||
305 | ;; If ForeignAgentsAllowed is false, make exceptions using DisallowExcept | ||
306 | ;; Leave blank or commented for no exceptions. | ||
307 | ; DisallowExcept = "http://myfriendgrid.com:8002, http://myboss.com:8002" | ||
308 | |||
309 | [UserAgentService] | ||
310 | ;; User level required to be contacted from other grids | ||
311 | ;LevelOutsideContacts = 0 | ||
312 | |||
313 | ;; Restrictions on destinations of local users. | ||
314 | ;; Are local users allowed to visit other grids? | ||
315 | ;; What user level? Use variables of this forrm: | ||
316 | ;; ForeignTripsAllowed_Level_<UserLevel> = true | false | ||
317 | ;; (the default is true) | ||
318 | ;; For example: | ||
319 | ; ForeignTripsAllowed_Level_0 = false | ||
320 | ; ForeignTripsAllowed_Level_200 = true ; true is default, no need to say it | ||
321 | ;; | ||
322 | ;; If ForeignTripsAllowed is false, make exceptions using DisallowExcept | ||
323 | ;; Leave blank or commented for no exceptions. | ||
324 | ; DisallowExcept_Level_0 = "http://myothergrid.com:8002, http://boss.com:8002" | ||
325 | ;; | ||
326 | ;; If ForeignTripsAllowed is true, make exceptions using AllowExcept. | ||
327 | ;; Leave blank or commented for no exceptions. | ||
328 | ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002" | ||
329 | |||
330 | ;; This variable controls what is exposed to profiles of local users | ||
331 | ;; as seen from outside of this grid. Leave it uncommented for exposing | ||
332 | ;; UserTitle, UserFlags and the creation date. Uncomment and change to False | ||
333 | ;; to block this info from being exposed. | ||
334 | ; ShowUserDetailsInHGProfile = True | ||
335 | |||
336 | [HGInventoryService] | ||
337 | ;; If you have this set under [Hypergrid], no need to set it here, leave it commented | ||
338 | ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
339 | |||
340 | [HGAssetService] | ||
341 | ;; If you have this set under [Hypergrid], no need to set it here, leave it commented | ||
342 | ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
343 | |||
344 | ;; The asset types that this grid can export to / import from other grids. | ||
345 | ;; Comma separated. | ||
346 | ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: | ||
347 | ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, | ||
348 | ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh | ||
349 | ;; | ||
350 | ;; Leave blank or commented if you don't want to apply any restrictions. | ||
351 | ;; A more strict, but still reasonable, policy may be to disallow the exchange | ||
352 | ;; of scripts, like so: | ||
353 | ; DisallowExport ="LSLText" | ||
354 | ; DisallowImport ="LSLBytecode" | ||
355 | |||
356 | [HGInventoryAccessModule] | ||
357 | ;; If you have these set under [Hypergrid], no need to set it here, leave it commented | ||
358 | ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
359 | ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
360 | |||
361 | ;; If you want to protect your assets from being copied by foreign visitors | ||
362 | ;; uncomment the next line. You may want to do this on sims that have licensed content. | ||
363 | ;; true = allow exports, false = disallow exports. True by default. | ||
364 | ; OutboundPermission = True | ||
365 | |||
366 | ;; Send visual reminder to local users that their inventories are unavailable while they are traveling | ||
367 | ;; and available when they return. True by default. | ||
368 | ;RestrictInventoryAccessAbroad = True | ||
369 | |||
370 | [HGFriendsModule] | ||
371 | ; User level required to be able to send friendship invitations to foreign users | ||
372 | ;LevelHGFriends = 0; | ||
373 | |||
374 | [Messaging] | ||
375 | ; === HG ONLY === | ||
376 | ;; If you have this set under [Hypergrid], no need to set it here, leave it commented | ||
377 | ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
378 | |||
379 | [EntityTransfer] | ||
380 | ;; User level from which local users are allowed to HG teleport. Default 0 (all users) | ||
381 | ;LevelHGTeleport = 0 | ||
382 | |||
383 | ;; Are local users restricted from taking their appearance abroad? | ||
384 | ;; Default is no restrictions | ||
385 | ;RestrictAppearanceAbroad = false | ||
386 | |||
387 | ;; If appearance is restricted, which accounts' appearances are allowed to be exported? | ||
388 | ;; Comma-separated list of account names | ||
389 | AccountForAppearance = "Test User, Astronaut Smith" | ||
390 | |||
391 | [UserProfilesService] | ||
392 | ;; To use, set Enabled to true then configure for your site... | ||
393 | Enabled = false | ||
394 | LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" | ||
395 | |||
396 | ;; Configure this for separate databse | ||
397 | ; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" | ||
398 | ; Realm = UserProfiles | ||
399 | |||
400 | UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService | ||
401 | AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" | ||
diff --git a/config/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index d0b152c..941a2ee 100644 --- a/config/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example | |||
@@ -6,7 +6,7 @@ | |||
6 | ; | 6 | ; |
7 | 7 | ||
8 | ; SQLite | 8 | ; SQLite |
9 | Include-Storage = "config-include/storage/SQLiteStandalone.ini"; | 9 | ;Include-Storage = "config-include/storage/SQLiteStandalone.ini"; |
10 | 10 | ||
11 | ; MySql | 11 | ; MySql |
12 | ; Uncomment these lines if you want to use mysql storage | 12 | ; Uncomment these lines if you want to use mysql storage |
@@ -33,6 +33,9 @@ | |||
33 | ;StorageProvider = "OpenSim.Data.PGSQL.dll" | 33 | ;StorageProvider = "OpenSim.Data.PGSQL.dll" |
34 | ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" | 34 | ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" |
35 | 35 | ||
36 | StorageProvider = "${Const|DataProvider}" | ||
37 | ConnectionString = "${Const|ConnectionString}" | ||
38 | |||
36 | [Hypergrid] | 39 | [Hypergrid] |
37 | ; Uncomment the variables in this section only if you are in | 40 | ; Uncomment the variables in this section only if you are in |
38 | ; Hypergrid configuration. Otherwise, ignore. | 41 | ; Hypergrid configuration. Otherwise, ignore. |
@@ -85,20 +88,20 @@ | |||
85 | ;; Next, we can specify properties of regions, including default and fallback regions | 88 | ;; Next, we can specify properties of regions, including default and fallback regions |
86 | ;; The syntax is: Region_<RegionName> = "<flags>" | 89 | ;; The syntax is: Region_<RegionName> = "<flags>" |
87 | ;; where <flags> can be DefaultRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut | 90 | ;; where <flags> can be DefaultRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut |
88 | ;; | 91 | ;; |
89 | ;; DefaultRegion If a local login cannot be placed in the required region (e.g. home region does not exist, avatar is not allowed entry, etc.) | 92 | ;; DefaultRegion If a local login cannot be placed in the required region (e.g. home region does not exist, avatar is not allowed entry, etc.) |
90 | ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion | 93 | ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion |
91 | ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified | 94 | ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified |
92 | ;; an explicit region. | 95 | ;; an explicit region. |
93 | ;; | 96 | ;; |
94 | ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online | 97 | ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online |
95 | ;; region will be used. | 98 | ;; region will be used. |
96 | ;; | 99 | ;; |
97 | ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the | 100 | ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the |
98 | ;; order specified. This only applies to local logins at this time, not Hypergrid connections. | 101 | ;; order specified. This only applies to local logins at this time, not Hypergrid connections. |
99 | ;; | 102 | ;; |
100 | ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins. | 103 | ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins. |
101 | ;; | 104 | ;; |
102 | ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid. | 105 | ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid. |
103 | ;; | 106 | ;; |
104 | ;; For example: | 107 | ;; For example: |
@@ -118,10 +121,10 @@ | |||
118 | 121 | ||
119 | [LoginService] | 122 | [LoginService] |
120 | WelcomeMessage = "Welcome, Avatar!" | 123 | WelcomeMessage = "Welcome, Avatar!" |
121 | ;; If you have Gatekeeper set under [Hypergrid], no need to set it here, leave it commented | 124 | ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented |
122 | ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" | 125 | ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" |
123 | 126 | ||
124 | SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}" | 127 | SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}" |
125 | SRV_InventoryServerURI = "${Const|BaseURL}:${Const|PublicPort}" | 128 | SRV_InventoryServerURI = "${Const|BaseURL}:${Const|PublicPort}" |
126 | SRV_AssetServerURI = "${Const|BaseURL}:${Const|PublicPort}" | 129 | SRV_AssetServerURI = "${Const|BaseURL}:${Const|PublicPort}" |
127 | SRV_ProfileServerURI = "${Const|BaseURL}:${Const|PublicPort}" | 130 | SRV_ProfileServerURI = "${Const|BaseURL}:${Const|PublicPort}" |
@@ -163,7 +166,7 @@ | |||
163 | ; ; | 166 | ; ; |
164 | ; ; The amount of time that a specific endpoint is blocked. Default 2 minutes. | 167 | ; ; The amount of time that a specific endpoint is blocked. Default 2 minutes. |
165 | ; DOSForgiveClientAfterMS = 120000 | 168 | ; DOSForgiveClientAfterMS = 120000 |
166 | ; ; | 169 | ; ; |
167 | ; ; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0. | 170 | ; ; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0. |
168 | 171 | ||
169 | [FreeswitchService] | 172 | [FreeswitchService] |
@@ -197,7 +200,7 @@ | |||
197 | ;; The following parameters are for STUN = Simple Traversal of UDP through NATs | 200 | ;; The following parameters are for STUN = Simple Traversal of UDP through NATs |
198 | ;; See http://wiki.freeswitch.org/wiki/NAT_Traversal | 201 | ;; See http://wiki.freeswitch.org/wiki/NAT_Traversal |
199 | ;; stun.freeswitch.org is not guaranteed to be running so use it in | 202 | ;; stun.freeswitch.org is not guaranteed to be running so use it in |
200 | ;; production at your own risk | 203 | ;; production at your own risk |
201 | ; EchoServer = 127.0.0.1 | 204 | ; EchoServer = 127.0.0.1 |
202 | ; EchoPort = 50505 | 205 | ; EchoPort = 50505 |
203 | ; AttemptSTUN = false | 206 | ; AttemptSTUN = false |
@@ -341,11 +344,11 @@ | |||
341 | ;; The asset types that this grid can export to / import from other grids. | 344 | ;; The asset types that this grid can export to / import from other grids. |
342 | ;; Comma separated. | 345 | ;; Comma separated. |
343 | ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: | 346 | ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: |
344 | ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, | 347 | ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, |
345 | ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh | 348 | ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh |
346 | ;; | 349 | ;; |
347 | ;; Leave blank or commented if you don't want to apply any restrictions. | 350 | ;; Leave blank or commented if you don't want to apply any restrictions. |
348 | ;; A more strict, but still reasonable, policy may be to disallow the exchange | 351 | ;; A more strict, but still reasonable, policy may be to disallow the exchange |
349 | ;; of scripts, like so: | 352 | ;; of scripts, like so: |
350 | ; DisallowExport ="LSLText" | 353 | ; DisallowExport ="LSLText" |
351 | ; DisallowImport ="LSLBytecode" | 354 | ; DisallowImport ="LSLBytecode" |
diff --git a/config/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini index eaacfff..fbb7f0b 100644 --- a/config/config-include/StandaloneHypergrid.ini +++ b/bin/config-include/StandaloneHypergrid.ini | |||
@@ -10,7 +10,7 @@ | |||
10 | [Modules] | 10 | [Modules] |
11 | AssetServices = "HGAssetBroker" | 11 | AssetServices = "HGAssetBroker" |
12 | InventoryServices = "HGInventoryBroker" | 12 | InventoryServices = "HGInventoryBroker" |
13 | NeighbourServices = "LocalNeighbourServicesConnector" | 13 | NeighbourServices = "NeighbourServicesOutConnector" |
14 | AuthenticationServices = "LocalAuthenticationServicesConnector" | 14 | AuthenticationServices = "LocalAuthenticationServicesConnector" |
15 | AuthorizationServices = "LocalAuthorizationServicesConnector" | 15 | AuthorizationServices = "LocalAuthorizationServicesConnector" |
16 | GridServices = "LocalGridServicesConnector" | 16 | GridServices = "LocalGridServicesConnector" |
@@ -27,7 +27,8 @@ | |||
27 | FriendsModule = "HGFriendsModule" | 27 | FriendsModule = "HGFriendsModule" |
28 | UserManagementModule = "HGUserManagementModule" | 28 | UserManagementModule = "HGUserManagementModule" |
29 | SearchModule = "BasicSearchModule" | 29 | SearchModule = "BasicSearchModule" |
30 | 30 | MuteListService = "LocalMuteListServicesConnector" | |
31 | |||
31 | InventoryServiceInConnector = true | 32 | InventoryServiceInConnector = true |
32 | AssetServiceInConnector = true | 33 | AssetServiceInConnector = true |
33 | HypergridServiceInConnector = true | 34 | HypergridServiceInConnector = true |
@@ -41,7 +42,6 @@ | |||
41 | 42 | ||
42 | [Messaging] | 43 | [Messaging] |
43 | MessageTransferModule = HGMessageTransferModule | 44 | MessageTransferModule = HGMessageTransferModule |
44 | LureModule = HGLureModule | ||
45 | 45 | ||
46 | [SimulationDataStore] | 46 | [SimulationDataStore] |
47 | LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" | 47 | LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" |
@@ -79,7 +79,7 @@ | |||
79 | 79 | ||
80 | ; Needed to display non-default map tile images for remote regions | 80 | ; Needed to display non-default map tile images for remote regions |
81 | AssetService = "OpenSim.Services.AssetService.dll:AssetService" | 81 | AssetService = "OpenSim.Services.AssetService.dll:AssetService" |
82 | 82 | ||
83 | HypergridLinker = true | 83 | HypergridLinker = true |
84 | AllowHypergridMapSearch = true | 84 | AllowHypergridMapSearch = true |
85 | 85 | ||
@@ -123,7 +123,7 @@ | |||
123 | GridService = "OpenSim.Services.GridService.dll:GridService" | 123 | GridService = "OpenSim.Services.GridService.dll:GridService" |
124 | AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" | 124 | AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" |
125 | FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" | 125 | FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" |
126 | 126 | ||
127 | ; This inventory service will be used to initialize the user's inventory | 127 | ; This inventory service will be used to initialize the user's inventory |
128 | HGInventoryServicePlugin = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" | 128 | HGInventoryServicePlugin = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" |
129 | HGInventoryServiceConstructorArg = "HGInventoryService" | 129 | HGInventoryServiceConstructorArg = "HGInventoryService" |
@@ -190,6 +190,9 @@ | |||
190 | UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" | 190 | UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" |
191 | InGatekeeper = True | 191 | InGatekeeper = True |
192 | 192 | ||
193 | [MuteListService] | ||
194 | LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService" | ||
195 | |||
193 | ;; This should always be the very last thing on this file | 196 | ;; This should always be the very last thing on this file |
194 | [Includes] | 197 | [Includes] |
195 | Include-Common = "config-include/StandaloneCommon.ini" | 198 | Include-Common = "config-include/StandaloneCommon.ini" |
diff --git a/bin/config-include/config_IG.ini b/bin/config-include/config_IG.ini new file mode 100644 index 0000000..bd809bf --- /dev/null +++ b/bin/config-include/config_IG.ini | |||
@@ -0,0 +1,105 @@ | |||
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 = "onefang needs a little coding or sysadmin work to keep IG going. Please help me find some." | ||
25 | |||
26 | GridName = "Infinite Grid" | ||
27 | ShortGridName = "IG" | ||
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://grid.infinitegrid.org" | ||
35 | HostName = "grid.infinitegrid.org" | ||
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;" | ||
50 | |||
51 | [AuthorizationService] | ||
52 | DefaultRegionAccess = "DisallowForeigners" | ||
53 | ; If you have regions with access restrictions | ||
54 | ; specify them here using the convention | ||
55 | ; Region_<Region_Name> = <flags> | ||
56 | ; Valid flags are: | ||
57 | ; DisallowForeigners -- HG visitors not allowed | ||
58 | ; DisallowResidents -- only Admins and Managers allowed | ||
59 | ; None -- No restrictions. | ||
60 | |||
61 | Region_Kellietown = "None" | ||
62 | Region_Sandbox = "None" | ||
63 | Region_Welcome = "None" | ||
64 | |||
65 | [Groups] | ||
66 | AddDefaultGroup = "Infinite Grid chat|Infinite Grid support" | ||
67 | AddHGDefaultGroup_misfitzgrid.com = "Infinite Grid support" | ||
68 | |||
69 | [Permissions] | ||
70 | region_owner_is_god = true | ||
71 | region_manager_is_god = true | ||
72 | parcel_owner_is_god = false | ||
73 | |||
74 | [GodNames] | ||
75 | Enabled = true | ||
76 | FullNames = "Infinite BootsFang,Infinite Crush,infinite onefang,Infinite Riseon" | ||
77 | FirstNames = "Infinite,infinite" | ||
78 | ; Surnames = "Kryztlsk" | ||
79 | |||
80 | [GridService] | ||
81 | Region_Welcome = "DefaultRegion, FallbackRegion, Persistent" | ||
82 | Region_Sandbox = "DefaultRegion, FallbackRegion, Persistent" | ||
83 | Region_Kellietown = "DefaultRegion, FallbackRegion, Persistent" | ||
84 | |||
85 | [GridInfoService] | ||
86 | ; login page: optional: if it exists it will be used to tell the client to use | ||
87 | ; this as splash page | ||
88 | welcome = ${Const|BaseURL}/drupal/loginpage | ||
89 | |||
90 | ; helper uri: optional: if it exists it will be used to tell the client to use | ||
91 | ; this for all economy related things | ||
92 | ;economy = ${Const|BaseURL}/economy | ||
93 | |||
94 | ; web page of grid: optional: page providing further information about your grid | ||
95 | about = ${Const|BaseURL}/drupal/ | ||
96 | |||
97 | ; account creation: optional: page providing further information about obtaining | ||
98 | ; a user account on your grid | ||
99 | register = ${Const|BaseURL}/drupal/content/How_to_join | ||
100 | |||
101 | ; help: optional: page providing further assistance for users of your grid | ||
102 | help = ${Const|BaseURL}/drupal/Tags/help | ||
103 | |||
104 | ; password help: optional: page providing password assistance for users of your grid | ||
105 | password = ${Const|BaseURL}/drupal | ||
diff --git a/bin/config-include/config_MG.ini b/bin/config-include/config_MG.ini new file mode 100644 index 0000000..862f7b8 --- /dev/null +++ b/bin/config-include/config_MG.ini | |||
@@ -0,0 +1,125 @@ | |||
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 = "All of the World is a Stage, and Everyone's a Critic." | ||
25 | |||
26 | GridName = "Misfitz Grid" | ||
27 | ShortGridName = "MG" | ||
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://misfitzgrid.com" | ||
35 | HostName = "misfitzgrid.com" | ||
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;" | ||
50 | |||
51 | ; jOpenSim URL | ||
52 | jOpensimURL = "http://misfitzgrid.com/members" | ||
53 | |||
54 | [AuthorizationService] | ||
55 | DefaultRegionAccess = "DisallowForeigners" | ||
56 | ; If you have regions with access restrictions | ||
57 | ; specify them here using the convention | ||
58 | ; Region_<Region_Name> = <flags> | ||
59 | ; Valid flags are: | ||
60 | ; DisallowForeigners -- HG visitors not allowed | ||
61 | ; DisallowResidents -- only Admins and Managers allowed | ||
62 | ; None -- No restrictions. | ||
63 | |||
64 | Region_Blue_Moon = "None" | ||
65 | Region_MisFitz_ = "None" | ||
66 | Region_MisFitz_Continuum = "None" | ||
67 | Region_MisFitz_Dev = "None" | ||
68 | Region_MisFitz_Getaway = "None" | ||
69 | Region_MisFitz_Hyperport = "None" | ||
70 | Region_MisFitz_Motion = "None" | ||
71 | Region_Misfitz_Nature = "None" | ||
72 | Region_MisFitz_Residents1 = "None" | ||
73 | Region_MisFitz_Residents2 = "None" | ||
74 | Region_MisFitz_Sandbox = "None" | ||
75 | Region_MisFitz_Shopping = "None" | ||
76 | Region_MisFitz_Welcome = "None" | ||
77 | Region_MisFitz_Welcome_Beta = "None" | ||
78 | Region_White_Harbor = "None" | ||
79 | |||
80 | Region_Infinite_Grid_Sandbox = "None" | ||
81 | Region_Infinite_Grid_Welcome = "None" | ||
82 | Region_Kellietown = "None" | ||
83 | Region_Life,_the_universe,_and_everything = "None" | ||
84 | Region_Naughtie_Nautical = "None" | ||
85 | Region_Play_Island = "None" | ||
86 | |||
87 | [Groups] | ||
88 | ;# {SecretKey} {ServicesConnectorModule:Groups Remote Service Connector} {Secret key between sim and remote group service} {} "" | ||
89 | ;; Used for V2 in Remote only. | ||
90 | SecretKey = "Kensentm3" | ||
91 | AddDefaultGroup = "MisFitz Grid Residents" | ||
92 | |||
93 | [GodNames] | ||
94 | Enabled = true | ||
95 | FullNames = "Fr0zenHawk Chillsmoke,Korgi Silvercloud,Max Zephyr" | ||
96 | ; Surnames = "Kryztlsk" | ||
97 | |||
98 | [GridService] | ||
99 | Region_MisFitz_Welcome = "DefaultRegion, FallbackRegion" | ||
100 | Region_MisFitz_Shopping = "FallbackRegion" | ||
101 | Region_MisFitz_HyperPort = "FallbackRegion" | ||
102 | Region_MisFitz_Sandbox = "FallbackRegion" | ||
103 | Region_MisFitz_Continuum= "DefaultHGRegion" | ||
104 | |||
105 | [GridInfoService] | ||
106 | ; login page: optional: if it exists it will be used to tell the client to use | ||
107 | ; this as splash page | ||
108 | welcome = ${Const|jOpensimURL}/index.php?option=com_opensim | ||
109 | |||
110 | ; helper uri: optional: if it exists it will be used to tell the client to use | ||
111 | ; this for all economy related things | ||
112 | economy = ${Const|BaseURL}/_tools/helper/ | ||
113 | |||
114 | ; web page of grid: optional: page providing further information about your grid | ||
115 | ;about = ${Const|BaseURL}/about | ||
116 | |||
117 | ; account creation: optional: page providing further information about obtaining | ||
118 | ; a user account on your grid | ||
119 | ;register = ${Const|BaseURL}/register | ||
120 | |||
121 | ; help: optional: page providing further assistance for users of your grid | ||
122 | ;help = ${Const|BaseURL}/help | ||
123 | |||
124 | ; password help: optional: page providing password assistance for users of your grid | ||
125 | ;password = ${Const|BaseURL}/password | ||
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;" | ||
diff --git a/bin/config-include/extra_MG.ini b/bin/config-include/extra_MG.ini new file mode 100644 index 0000000..a811d54 --- /dev/null +++ b/bin/config-include/extra_MG.ini | |||
@@ -0,0 +1,51 @@ | |||
1 | [Network] | ||
2 | ;# {ExternalHostNameForLSL} {} {Hostname to use for HTTP-IN URLs. This should be reachable from the internet.} {} | ||
3 | ;; Hostname to use in llRequestURL/llRequestSecureURL | ||
4 | ;; if not defined - llRequestURL/llRequestSecureURL are disabled | ||
5 | ExternalHostNameForLSL = "server2.misfitzgrid.com" | ||
6 | |||
7 | [Messaging] | ||
8 | ;# {OfflineMessageModule} {} {Module to use for offline message storage} {OfflineMessageModule "Offline Message Module V2" *} | ||
9 | ;; Module to handle offline messaging. The core module requires an external | ||
10 | ;; web service to do this. See OpenSim wiki. | ||
11 | OfflineMessageModule = OfflineMessageModule | ||
12 | ;; Or, alternatively, use this one, which works for both standalones and grids | ||
13 | ; OfflineMessageModule = "Offline Message Module V2" | ||
14 | |||
15 | ;# {OfflineMessageURL} {OfflineMessageModule:OfflineMessageModule Offline Message Module V2:Offline Message Module V2} {URL of offline messaging service} {} | ||
16 | ;; URL of web service for offline message storage. Leave it commented if your service is local to the sim. | ||
17 | ; OfflineMessageURL = ${Const|BaseURL}/Offline.php | ||
18 | OfflineMessageURL = ${Const|jOpensimURL}/components/com_opensim/interface.php | ||
19 | |||
20 | [DataSnapshot] | ||
21 | ;# {index_sims} {} {Enable data snapshotting (search)?} {true false} false | ||
22 | ;; The following set of configs pertains to search. | ||
23 | ;; Set index_sims to true to enable search engines to index your | ||
24 | ;; searchable data. | ||
25 | ;; If false, no data will be exposed, DataSnapshot module will be off, | ||
26 | ;; and you can ignore the rest of these search-related configs. | ||
27 | index_sims = true | ||
28 | |||
29 | ;# {data_exposure} {index_sims:true} {How much data should be exposed?} {minimum all} minimum | ||
30 | ;; The variable data_exposure controls what the regions expose: | ||
31 | ;; minimum: exposes only things explicitly marked for search | ||
32 | ;; all: exposes everything | ||
33 | data_exposure = all | ||
34 | |||
35 | ;; [Supported, but obsolete] | ||
36 | ;# {data_services} {index_sims:true} {Data service URLs to register with?} {} http://metaverseink.com/cgi-bin/register.py | ||
37 | ; This semicolon-separated string serves to notify specific data services | ||
38 | ; about the existence of this sim. Uncomment if you want to index your | ||
39 | ; data with this and/or other search providers. | ||
40 | data_services="${Const|jOpensimURL}/components/com_opensim/registersearch.php" | ||
41 | |||
42 | [Search] | ||
43 | SearchURL = ${Const|jOpensimURL}/components/com_opensim/interface.php | ||
44 | |||
45 | [Profile] | ||
46 | |||
47 | ProfileServiceURL = ${Const|jOpensimURL}/components/com_opensim/interface.php | ||
48 | Module = "jOpenSimProfile" | ||
49 | |||
50 | ; Optional: | ||
51 | Debug = true | ||
diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini new file mode 100644 index 0000000..1828da1 --- /dev/null +++ b/bin/config-include/osslEnable.ini | |||
@@ -0,0 +1,272 @@ | |||
1 | ; Enable OSSL functions. | ||
2 | ; Including this file in a region's set of INI files, causes the OpenSimulator | ||
3 | ; specific functions to be enabled. | ||
4 | ; See http://opensimulator.org/wiki/OSSL for a description of OSSL functions and | ||
5 | ; refer to http://opensimulator.org/wiki/OSSL_Implemented for a list of functions. | ||
6 | |||
7 | ; The below file lists all the functions and specifies who has permission to | ||
8 | ; execute the function. Some of the functions are for maintainance or can be | ||
9 | ; mis-used so the permission to execute a function can be limited. Ability to | ||
10 | ; execute a function is based on the owner of the prim holding the script. | ||
11 | |||
12 | [XEngine] | ||
13 | ; Allow the use of os* functions (some are dangerous) | ||
14 | AllowOSFunctions = true | ||
15 | |||
16 | ; Allow the user of mod* functions. This allows a script to pass messages | ||
17 | ; to a region module via the modSendCommand() function and is used by some | ||
18 | ; modules to extend the scripting language. | ||
19 | AllowMODFunctions = true | ||
20 | |||
21 | ; Allow the use of LightShare functions. | ||
22 | ; The setting enable_windlight = true must also be enabled in the [LightShare] section. | ||
23 | AllowLightShareFunctions = true | ||
24 | |||
25 | ; Threat level to allow. One of None, VeryLow, Low, Moderate, High, VeryHigh, Severe. | ||
26 | ; See http://opensimulator.org/wiki/Threat_level for more information on these levels. | ||
27 | ; This is the default level and can be overridden with the Allow_ specifications. | ||
28 | ; Blanket enabling the ossl functions is dangerous and we do not recommend setting higher | ||
29 | ; than 'Low' unless you have a high level of trust in all the users that can run scripts | ||
30 | ; in your simulator. It is safer to explicitly allow certain types of user to run | ||
31 | ; higher threat level OSSL functions, as detailed later on. | ||
32 | OSFunctionThreatLevel = Moderate | ||
33 | |||
34 | ; Some of the OSSL functions can be enabled or disabled individually. | ||
35 | ; To disable, set the value to 'false'. | ||
36 | ; To enable for everyone, set the value to 'true'. | ||
37 | ; To enable for individuals or groups, set it to a comma separated list. This checks | ||
38 | ; against the owner of the object containing the script. | ||
39 | ; The comma separated entries in the list may be one of: | ||
40 | ; "GRID_GOD" -- enable for users with UserLevel >= 200 | ||
41 | ; "GOD" -- enable for users with rights to be god (local or grid) | ||
42 | ; "ACTIVE_GOD" -- enable for users that are present and with active god power | ||
43 | ; "ESTATE_MANAGER" -- enable for estate manager | ||
44 | ; "ESTATE_OWNER" -- enable for estate owner | ||
45 | ; "PARCEL_OWNER" -- enable for parcel owner | ||
46 | ; "PARCEL_GROUP_MEMBER" -- enable for any member of the parcel group | ||
47 | ; uuid -- enable for specified ID (may be avatar or group ID) | ||
48 | ; from this we can also create macros that can be include in the list as | ||
49 | ; ${XEngine|macroname} see examples below | ||
50 | |||
51 | ; parcel macros | ||
52 | ; Allowing ossl functions for anyone owning a parcel can be dangerous especially if | ||
53 | ; a region is selling or otherwise giving away parcel ownership. By default, parcel | ||
54 | ; ownership or group membership does not enable OSSL functions. Uncomment the | ||
55 | ; appropriate line below to allow parcel ownership and groups to do restricted | ||
56 | ; OSSL functions. It might be better to check the list below and edit the ones | ||
57 | ; to enable individually. | ||
58 | osslParcelO = "PARCEL_OWNER," | ||
59 | osslParcelOG = "PARCEL_GROUP_MEMBER,PARCEL_OWNER," | ||
60 | |||
61 | ; NPC macros | ||
62 | ; These can be mis-used so limit use to those you can trust. | ||
63 | osslNPC = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
64 | |||
65 | ; The OSSL function name is prepended with "Allow_" and it checks against | ||
66 | ; the owners of the containing prim. There can also be entries beginning with | ||
67 | ; 'Creators_". The 'Creators_" parameters can only be a list of UUIDs and it is | ||
68 | ; checked against the creator of the script itself. | ||
69 | |||
70 | ; ************************************************* | ||
71 | |||
72 | ; ThreatLevel None | ||
73 | ; Commented functions are out of Threat level control (for reference only) | ||
74 | ; Allow_osCheckODE = true | ||
75 | ; Allow_osClearInertia = true | ||
76 | ; Allow_osCollisionSound = true | ||
77 | Allow_osDie = true | ||
78 | ; Allow_osDrawEllipse = true | ||
79 | ; Allow_osDrawFilledEllipse = true | ||
80 | ; Allow_osDrawFilledPolygon = true | ||
81 | ; Allow_osDrawFilledRectangle = true | ||
82 | ; Allow_osDrawImage = true | ||
83 | ; Allow_osDrawLine = true | ||
84 | ; Allow_osDrawPolygon = true | ||
85 | ; Allow_osDrawRectangle = true | ||
86 | ; Allow_osDrawResetTransform = true | ||
87 | ; Allow_osDrawRotationTransform = true | ||
88 | ; Allow_osDrawScaleTransform = true | ||
89 | ; Allow_osDrawText = true | ||
90 | ; Allow_osDrawTranslationTransform = true | ||
91 | Allow_osFormatString = true | ||
92 | ; Allow_osGetCurrentSunHour = true | ||
93 | Allow_osGetAgents = true | ||
94 | Allow_osGetAvatarList = true | ||
95 | ; Allow_osGetDrawStringSize = true | ||
96 | Allow_osGetGender = true | ||
97 | Allow_osGetGridCustom = true | ||
98 | Allow_osGetGridHomeURI = true | ||
99 | Allow_osGetGridLoginURI = true | ||
100 | Allow_osGetGridName = true | ||
101 | Allow_osGetGridNick = true | ||
102 | Allow_osGetHealth = true | ||
103 | Allow_osGetHealRate = true | ||
104 | ; Allow_osGetInertiaData = true | ||
105 | ; Allow_osGetInventoryDesc = true | ||
106 | ; Allow_osGetLinkNumber = true | ||
107 | ; Allow_osGetMapTexture = true | ||
108 | ; The notecard functions can cause a lot of load on the region if over used. | ||
109 | ; So can any LSL loop. Pffft | ||
110 | Allow_osGetNotecard = true | ||
111 | Allow_osGetNotecardLine = true | ||
112 | Allow_osGetNumberOfNotecardLines = true | ||
113 | Allow_osMakeNotecard = true | ||
114 | Allow_osGetNPCList = true | ||
115 | ; Allow_osGetPhysicsEngineName = true | ||
116 | Allow_osGetPhysicsEngineType = true | ||
117 | |||
118 | Allow_osGetRegionMapTexture = true | ||
119 | ; Allow_osGetRegionSize = true | ||
120 | Allow_osGetRezzingObject = true | ||
121 | Allow_osGetScriptEngineName = true | ||
122 | Allow_osGetSimulatorVersion = true | ||
123 | ; Allow_osGetSunParam = true | ||
124 | ; Allow_osGetTerrainHeight = true | ||
125 | Allow_osGetWindParam = true | ||
126 | ; Allow_osIsNpc = true | ||
127 | ; Allow_osIsUUID = true | ||
128 | Allow_osKey2Name = true | ||
129 | ; Allow_osList2Double = true | ||
130 | Allow_osListenRegex = true | ||
131 | Allow_osLoadedCreationDate = true | ||
132 | Allow_osLoadedCreationID = true | ||
133 | Allow_osLoadedCreationTime = true | ||
134 | Allow_osMatchString = true | ||
135 | ; Allow_osMax = true | ||
136 | ; Allow_osMin = true | ||
137 | Allow_osMessageObject = true | ||
138 | ; Allow_osMovePen = true | ||
139 | Allow_osNpcCreate = true | ||
140 | Allow_osNpcGetOwner = true | ||
141 | Allow_osNpcGetPos = true | ||
142 | Allow_osNpcGetRot = true | ||
143 | Allow_osNpcLoadAppearance = true | ||
144 | Allow_osNpcMoveTo = true | ||
145 | Allow_osNpcMoveToTarget = true | ||
146 | Allow_osNpcPlayAnimation = true | ||
147 | Allow_osNpcRemove = true | ||
148 | Allow_osNpcSaveAppearance = true | ||
149 | Allow_osNpcSay = true | ||
150 | Allow_osNpcSetProfileAbout = true | ||
151 | Allow_osNpcSetProfileImage = true | ||
152 | Allow_osNpcSetRot = true | ||
153 | Allow_osNpcShout = true | ||
154 | Allow_osNpcSit = true | ||
155 | Allow_osNpcStand = true | ||
156 | Allow_osNpcStopAnimation = true | ||
157 | Allow_osNpcStopMoveToTarget = true | ||
158 | Allow_osNpcTouch = true | ||
159 | Allow_osNpcWhisper = true | ||
160 | Allow_osOwnerSaveAppearance = true | ||
161 | Allow_osParseJSON = true | ||
162 | Allow_osParseJSONNew = true | ||
163 | Allow_osRegexIsMatch = true | ||
164 | Allow_osReplaceString = true | ||
165 | Allow_osSetDynamicTextureData = true | ||
166 | Allow_osSetDynamicTextureDataFace = true | ||
167 | Allow_osSetDynamicTextureDataBlend = true | ||
168 | Allow_osSetDynamicTextureDataBlendFace = true | ||
169 | Allow_osSetDynamicTextureURL = true | ||
170 | Allow_osSetDynamicTextureURLBlend = true | ||
171 | Allow_osSetDynamicTextureURLBlendFace = true | ||
172 | ; Allow_osSetFontName = true | ||
173 | ; Allow_osSetFontSize = true | ||
174 | ; Allow_osSetInertia = true | ||
175 | ; Allow_osSetInertiaAsBox = true | ||
176 | ; Allow_osSetInertiaAsSphere = true | ||
177 | ; Allow_osSetInertiaAsCylinder = true | ||
178 | ; Allow_osSetPenCap = true | ||
179 | ; Allow_osSetPenColor = true | ||
180 | ; Allow_osSetPenSize = true | ||
181 | Allow_osSetPrimitiveParams = true | ||
182 | ; Allow_osVolumeDetect = true | ||
183 | Allow_osTeleportOwner = true | ||
184 | Allow_osWindActiveModelPluginName = true | ||
185 | Allow_osUnixTimeToTimestamp = true | ||
186 | |||
187 | |||
188 | |||
189 | ; ThreatLevel Nuisance | ||
190 | Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER | ||
191 | Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER | ||
192 | Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
193 | Allow_osSetWindParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
194 | |||
195 | ; ThreatLevel VeryLow | ||
196 | Allow_osEjectFromGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
197 | Allow_osForceBreakAllLinks = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
198 | Allow_osForceBreakLink = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
199 | Allow_osForceCreateLink = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
200 | Allow_osGetLinkPrimitiveParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
201 | Allow_osGetPrimitiveParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
202 | Allow_osInviteToGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
203 | Allow_osSetParcelMediaURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
204 | Allow_osSetParcelSIPAddress = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
205 | Allow_osSetPrimFloatOnWater = true | ||
206 | Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER | ||
207 | |||
208 | ; ThreatLevel Low | ||
209 | Allow_osAvatarName2Key = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
210 | Allow_osGetAvatarHomeURI = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
211 | |||
212 | ; ThreatLevel Moderate | ||
213 | Allow_osDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
214 | Allow_osDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
215 | Allow_osGetGridGatekeeperURI = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
216 | Allow_osGetNumberOfAttachments = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
217 | Allow_osGetRegionStats = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
218 | Allow_osGetSimulatorMemory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
219 | Allow_osGetSimulatorMemoryKB = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
220 | Allow_osMessageAttachments = true | ||
221 | Allow_osRequestURL = true | ||
222 | Allow_osRequestSecureURL = true | ||
223 | Allow_osSetSpeed = true | ||
224 | |||
225 | ; ThreatLevel High | ||
226 | Allow_osCauseDamage = ESTATE_MANAGER,ESTATE_OWNER | ||
227 | Allow_osCauseHealing = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
228 | Allow_osSetHealth = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
229 | Allow_osSetHealRate = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
230 | Allow_osForceAttachToAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
231 | Allow_osForceAttachToAvatarFromInventory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
232 | Allow_osForceDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
233 | Allow_osForceDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
234 | Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER | ||
235 | Allow_osParcelSetDetails = ESTATE_MANAGER,ESTATE_OWNER | ||
236 | Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER | ||
237 | Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER | ||
238 | Allow_osSetContentType = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
239 | Allow_osSetParcelDetails = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
240 | Allow_osSetProjectionParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
241 | Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER | ||
242 | Allow_osSetStateEvents = false ; deprecated | ||
243 | Allow_osSetTerrainHeight = ESTATE_MANAGER,ESTATE_OWNER | ||
244 | Allow_osSetTerrainTexture = ESTATE_MANAGER,ESTATE_OWNER | ||
245 | Allow_osSetTerrainTextureHeight = ESTATE_MANAGER,ESTATE_OWNER | ||
246 | |||
247 | ; ThreatLevel VeryHigh | ||
248 | Allow_osAgentSaveAppearance = ESTATE_MANAGER,ESTATE_OWNER | ||
249 | ; Warning: The next function allows scripts to force animations on avatars without the user giving permission. | ||
250 | ; Enabling this can allow forced animations which can trigger traumatic episodes in vulnerable populations. | ||
251 | ; Similar things can be said for several of the 'force' functions. Enable with care and control. | ||
252 | ; Some of these were added as early functionality for NPCs. This has been replaced with the NPC functions. | ||
253 | Allow_osAvatarPlayAnimation = true | ||
254 | Allow_osAvatarStopAnimation = true | ||
255 | Allow_osForceAttachToOtherAvatarFromInventory = false | ||
256 | Allow_osForceDetachFromAvatar = false | ||
257 | Allow_osForceOtherSit = false | ||
258 | Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER | ||
259 | Allow_osSetRot = ESTATE_OWNER, ESTATE_MANAGER | ||
260 | |||
261 | ; ThreatLevel Severe | ||
262 | Allow_osConsoleCommand = false | ||
263 | Allow_osGrantScriptPermissions = false | ||
264 | Allow_osKickAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
265 | Allow_osRevokeScriptPermissions = false | ||
266 | Allow_osTeleportAgent = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
267 | Allow_osTeleportObject = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
268 | |||
269 | ; ThreatLevel Severe with additional internal restrictions | ||
270 | Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable) | ||
271 | |||
272 | |||
diff --git a/config/config-include/storage/SQLiteStandalone.ini b/bin/config-include/storage/SQLiteStandalone.ini index 14051cc..67d98ff 100644 --- a/config/config-include/storage/SQLiteStandalone.ini +++ b/bin/config-include/storage/SQLiteStandalone.ini | |||
@@ -2,10 +2,10 @@ | |||
2 | 2 | ||
3 | [DatabaseService] | 3 | [DatabaseService] |
4 | StorageProvider = "OpenSim.Data.SQLite.dll" | 4 | StorageProvider = "OpenSim.Data.SQLite.dll" |
5 | ConnectionString = "URI=file:../db/OpenSim.db,version=3,UseUTF16Encoding=True" | 5 | ConnectionString = "URI=file:OpenSim.db,version=3,UseUTF16Encoding=True" |
6 | 6 | ||
7 | [AssetService] | 7 | [AssetService] |
8 | ConnectionString = "URI=file:../db/Asset.db,version=3" | 8 | ConnectionString = "URI=file:Asset.db,version=3" |
9 | 9 | ||
10 | ; The HGAssetService section controls the connection given to the AssetService in a Hypergrid configuration. | 10 | ; The HGAssetService section controls the connection given to the AssetService in a Hypergrid configuration. |
11 | ; This has to be separate from [AssetService] because the Hypergrid facing connector uses [HGAssetService] for its config data instead. | 11 | ; This has to be separate from [AssetService] because the Hypergrid facing connector uses [HGAssetService] for its config data instead. |
@@ -15,25 +15,25 @@ | |||
15 | ; This issue does not apply to normal MySQL/MSSQL configurations, since by default they use the settings in [DatabaseService] and | 15 | ; This issue does not apply to normal MySQL/MSSQL configurations, since by default they use the settings in [DatabaseService] and |
16 | ; do not have separate connection strings for different services. | 16 | ; do not have separate connection strings for different services. |
17 | [HGAssetService] | 17 | [HGAssetService] |
18 | ConnectionString = "URI=file:../db/Asset.db,version=3" | 18 | ConnectionString = "URI=file:Asset.db,version=3" |
19 | 19 | ||
20 | [InventoryService] | 20 | [InventoryService] |
21 | ;ConnectionString = "URI=file:../db/inventory.db,version=3" | 21 | ;ConnectionString = "URI=file:inventory.db,version=3" |
22 | ; if you have a legacy inventory store use the connection string below | 22 | ; if you have a legacy inventory store use the connection string below |
23 | ConnectionString = "URI=file:../db/inventory.db,version=3,UseUTF16Encoding=True" | 23 | ConnectionString = "URI=file:inventory.db,version=3,UseUTF16Encoding=True" |
24 | 24 | ||
25 | [AvatarService] | 25 | [AvatarService] |
26 | ConnectionString = "URI=file:../db/avatars.db,version=3" | 26 | ConnectionString = "URI=file:avatars.db,version=3" |
27 | 27 | ||
28 | [AuthenticationService] | 28 | [AuthenticationService] |
29 | ConnectionString = "URI=file:../db/auth.db,version=3" | 29 | ConnectionString = "URI=file:auth.db,version=3" |
30 | 30 | ||
31 | [UserAccountService] | 31 | [UserAccountService] |
32 | ConnectionString = "URI=file:../db/userprofiles.db,version=3" | 32 | ConnectionString = "URI=file:userprofiles.db,version=3" |
33 | 33 | ||
34 | [GridUserService] | 34 | [GridUserService] |
35 | ConnectionString = "URI=file:../db/griduser.db,version=3" | 35 | ConnectionString = "URI=file:griduser.db,version=3" |
36 | 36 | ||
37 | [FriendsService] | 37 | [FriendsService] |
38 | ConnectionString = "URI=file:../db/friends.db,version=3" | 38 | ConnectionString = "URI=file:friends.db,version=3" |
39 | 39 | ||