aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/bin/config-include
diff options
context:
space:
mode:
authoronefang2019-09-11 16:36:50 +1000
committeronefang2019-09-11 16:36:50 +1000
commit50cd1ffd32f69228e566f2b0b89f86ea0d9fe489 (patch)
tree52f2ab0c04f1a5d7d6ac5dc872981b4b156447e7 /bin/config-include
parentRenamed branch to SledjChisl. (diff)
parentBump to release flavour, build 0. (diff)
downloadopensim-SC-50cd1ffd32f69228e566f2b0b89f86ea0d9fe489.zip
opensim-SC-50cd1ffd32f69228e566f2b0b89f86ea0d9fe489.tar.gz
opensim-SC-50cd1ffd32f69228e566f2b0b89f86ea0d9fe489.tar.bz2
opensim-SC-50cd1ffd32f69228e566f2b0b89f86ea0d9fe489.tar.xz
Merge branch 'SledjChisl'
Diffstat (limited to 'bin/config-include')
-rw-r--r--bin/config-include/CenomeCache.ini.example14
-rw-r--r--bin/config-include/FlotsamCache.ini97
-rw-r--r--bin/config-include/FlotsamCache.ini.example97
-rw-r--r--bin/config-include/Grid.ini60
-rw-r--r--bin/config-include/GridCommon.ini255
-rw-r--r--bin/config-include/GridCommon.ini.example252
-rw-r--r--bin/config-include/GridHypergrid.ini86
-rw-r--r--bin/config-include/HyperSimianGrid.ini97
-rw-r--r--bin/config-include/SimBalanced.ini889
-rw-r--r--bin/config-include/SimDefault.ini884
-rw-r--r--bin/config-include/SimFast.ini884
-rw-r--r--bin/config-include/SimLean.ini884
-rw-r--r--bin/config-include/SimianGrid.ini77
-rw-r--r--bin/config-include/Standalone.ini122
-rw-r--r--bin/config-include/StandaloneCommon.ini401
-rw-r--r--bin/config-include/StandaloneCommon.ini.example401
-rw-r--r--bin/config-include/StandaloneHypergrid.ini198
-rw-r--r--bin/config-include/config_IG.ini105
-rw-r--r--bin/config-include/config_MG.ini125
-rw-r--r--bin/config-include/config_localhost.ini49
-rw-r--r--bin/config-include/extra_MG.ini51
-rw-r--r--bin/config-include/osslEnable.ini272
-rw-r--r--bin/config-include/storage/SQLiteStandalone.ini39
23 files changed, 6339 insertions, 0 deletions
diff --git a/bin/config-include/CenomeCache.ini.example b/bin/config-include/CenomeCache.ini.example
new file mode 100644
index 0000000..4340493
--- /dev/null
+++ b/bin/config-include/CenomeCache.ini.example
@@ -0,0 +1,14 @@
1[AssetCache]
2 ;;
3 ;; Options for CenomeAssetCache
4 ;;
5
6 ; Max size of the cache in bytes
7 ; 134217728 = 128 MB, 26843556 = 256 MB, etc (default: 134217728)
8 MaxSize = 134217728
9
10 ; How many assets it is possible to store in the cache (default: 4096)
11 MaxCount = 4096
12
13 ; Expiration time in minutes (default: 30)
14 ExpirationTime = 30
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/bin/config-include/Grid.ini b/bin/config-include/Grid.ini
new file mode 100644
index 0000000..ab8f25d
--- /dev/null
+++ b/bin/config-include/Grid.ini
@@ -0,0 +1,60 @@
1;;
2;; Please don't change this file.
3;; All optional settings are in GridCommon.ini.example,
4;; which you can copy and change.
5;;
6
7[Includes]
8 Include-Common = "config-include/GridCommon.ini"
9
10[Modules]
11 AssetServices = "RemoteAssetServicesConnector"
12 InventoryServices = "RemoteXInventoryServicesConnector"
13 GridServices = "RemoteGridServicesConnector"
14 AvatarServices = "RemoteAvatarServicesConnector"
15 NeighbourServices = "NeighbourServicesOutConnector"
16 AuthenticationServices = "RemoteAuthenticationServicesConnector"
17 AuthorizationServices = "LocalAuthorizationServicesConnector"
18 PresenceServices = "RemotePresenceServicesConnector"
19 UserAccountServices = "RemoteUserAccountServicesConnector"
20 AgentPreferencesServices= "RemoteAgentPreferencesServicesConnector"
21 GridUserServices = "RemoteGridUserServicesConnector"
22 SimulationServices = "RemoteSimulationConnectorModule"
23 EntityTransferModule = "BasicEntityTransferModule"
24 InventoryAccessModule = "BasicInventoryAccessModule"
25 LandServices = "RemoteLandServicesConnector"
26 MapImageService = "MapImageServiceModule"
27 SearchModule = "BasicSearchModule"
28 MuteListService = "RemoteMuteListServicesConnector"
29
30 LandServiceInConnector = true
31 NeighbourServiceInConnector = true
32 SimulationServiceInConnector = true
33 LibraryModule = true
34
35[SimulationDataStore]
36 LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService"
37
38[EstateDataStore]
39 LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService"
40
41[GridService]
42 LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
43 ; for the LocalGridServicesConnector which is used by the Remote one
44 StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"
45 NetworkConnector = "OpenSim.Services.Connectors.dll:GridServicesConnector"
46
47 ; Because LocalGridServicesConnector starts this service, in grid mode we need to suppress
48 ; the inappropriate console commands that it registers.
49 SuppressConsoleCommands = true
50
51[LibraryService]
52 LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService"
53 LibraryName = "OpenSim Library"
54 DefaultLibrary = "./inventory/Libraries.xml"
55
56[Friends]
57 Connector = "OpenSim.Services.Connectors.dll:FriendsServicesConnector"
58
59[MapImageService]
60 LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector"
diff --git a/bin/config-include/GridCommon.ini b/bin/config-include/GridCommon.ini
new file mode 100644
index 0000000..26accd9
--- /dev/null
+++ b/bin/config-include/GridCommon.ini
@@ -0,0 +1,255 @@
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 IG or MG.
3
4[DatabaseService]
5 ;
6 ; ### Choose the DB
7 ;
8
9 ; SQLite
10 ; Include-Storage = "config-include/storage/SQLiteStandalone.ini";
11
12 ; MySql
13 ; Uncomment these lines if you want to use mysql storage
14 ; Change the connection string to your db details
15 ;StorageProvider = "OpenSim.Data.MySQL.dll"
16 ;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;"
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
40[Hypergrid]
41 ; Uncomment the variables in this section only if you are in
42 ; Hypergrid configuration. Otherwise, ignore.
43
44 ;# {HomeURI} {Hypergrid} {The Home URL of this world} {}
45 ;; If this is a standalone world, this is the address of this instance.
46 ;; If this is a grided simulator, this is the address of the external robust server that
47 ;; runs the UserAgentsService.
48 ;; For example http://myworld.com:9000 or http://myworld.com:8002
49 ;; This is a default that can be overwritten in some sections.
50 HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
51
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.
54 ;; If this is a grided simulator, this is the address of the external robust server
55 ;; that runs the Gatekeeper service.
56 ;; For example http://myworld.com:9000 or http://myworld.com:8002
57 ;; This is a default that can be overwritten in some sections.
58 GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
59
60[Modules]
61 ;; Choose one cache module and the corresponding config file, if it exists.
62 ;; Copy the config .example file into your own .ini file and adapt that.
63 ;; We recommend the use of the FlotsamAssetCache since this is most actively maintained.
64 ; I think only Windows needs caching, haven't noticed any difference under Linux, which uses spare memory for file caching anyway.
65
66 AssetCaching = "FlotsamAssetCache"
67 Include-FlotsamCache = "config-include/FlotsamCache.ini"
68
69 ;AssetCaching = "CenomeMemoryAssetCache"
70 ;Include-CenomeCache = "config-include/CenomeCache.ini"
71
72 ;AssetCaching = "GlynnTuckerAssetCache"
73
74 ;; Optionally, the port for the LLProxyLoginModule module can be changed
75 ;Setup_LLProxyLoginModule = "9090/"
76
77 ;; Authorization is not on by default, as it depends on external php
78 ;AuthorizationServices = "RemoteAuthorizationServicesConnector"
79
80[AssetService]
81 DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
82 AssetLoaderArgs = "assets/AssetSets.xml"
83
84 ;
85 ; Change this to your grid-wide asset server. Do not add a slash to the end of any of these addresses.
86 ;
87 AssetServerURI = "${Const|BaseURL}:${Const|AssetServerPort}"
88
89[InventoryService]
90 ;
91 ; Change this to your grid-wide inventory server
92 ;
93 InventoryServerURI = "${Const|GridURL}:${Const|PrivatePort}"
94 ;MaxRetries = 0
95
96[GridInfo]
97 ;
98 ; Change this to your grid info service
99 ;
100 GridInfoURI = "${Const|GridURL}:${Const|PublicPort}"
101
102[GridService]
103 ;
104 ; Change this to your grid-wide grid server
105 ;
106 GridServerURI = "${Const|GridURL}:${Const|PrivatePort}"
107 AllowHypergridMapSearch = true
108
109 ;; Directory for map tile images of linked regions
110 MapTileDirectory = "${Paths|CachePath}/maptiles"
111
112 ; === HG ONLY ===
113 ;; Change this to the address of your Gatekeeper service
114 ;; (usually bundled with the rest of the services in one
115 ;; Robust server in port ${Const|PublicPort}, but not always)
116 GatekeeperURI="${Const|GridURL}:${Const|PublicPort}"
117
118[EstateDataStore]
119 ;
120 ; Uncomment if you want centralized estate data at robust server,
121 ; in which case the URL in [EstateService] will be used
122 ;
123 ;LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataRemoteConnector"
124
125[EstateService]
126 EstateServerURI = "${Const|GridURL}:${Const|PrivatePort}"
127
128[Messaging]
129 ; === HG ONLY ===
130 ;; Change this to the address of your Gatekeeper service
131 ;; (usually bundled with the rest of the services in one
132 ;; Robust server in port ${Const|PublicPort}, but not always)
133 GatekeeperURI = "${Const|GridURL}:${Const|PublicPort}"
134
135[AvatarService]
136 ;
137 ; Change this to your grid-wide grid server
138 ;
139 AvatarServerURI = "${Const|GridURL}:${Const|PrivatePort}"
140
141[AgentPreferencesService]
142 ;
143 ; Change this to your grid-wide avatar prefs server
144 ;
145 AgentPreferencesServerURI = "${Const|GridURL}:${Const|PrivatePort}"
146
147[PresenceService]
148 ;
149 ; Change this to your grid-wide presence server
150 ;
151 PresenceServerURI = "${Const|GridURL}:${Const|PrivatePort}"
152
153[UserAccountService]
154 ;
155 ; Change this to your grid-wide user accounts server
156 ;
157 UserAccountServerURI = "${Const|GridURL}:${Const|PrivatePort}"
158
159[GridUserService]
160 ;
161 ; Change this to your grid-wide user accounts server
162 ;
163 GridUserServerURI = "${Const|GridURL}:${Const|PrivatePort}"
164
165[AuthenticationService]
166 ;
167 ; Change this to your grid-wide authentication server
168 ;
169 AuthenticationServerURI = "${Const|GridURL}:${Const|PrivatePort}"
170
171[FriendsService]
172 ;
173 ; Change this to your grid-wide friends server
174 ;
175 FriendsServerURI = "${Const|GridURL}:${Const|PrivatePort}"
176
177[HGInventoryAccessModule]
178 ;
179 ; === HG ONLY ===
180 ; Change this to your server
181 ; accessible from other grids
182 ;
183 HomeURI = "${Const|GridURL}:${Const|PublicPort}"
184 GatekeeperURI = "${Const|GridURL}:${Const|PublicPort}"
185 ;; If you want to protect your assets from being copied by foreign visitors
186 ;; set this to false. You may want to do this on sims that have licensed content.
187 ;; Default is true.
188 OutboundPermission = True
189
190 ;; Send visual reminder to local users that their inventories are unavailable while they are traveling
191 ;; and available when they return. True by default.
192 ;RestrictInventoryAccessAbroad = True
193
194 ;; Warning: advanced and unusual. Default is false.
195 ;; Enables configurations where grids share user services, including inventory,
196 ;; while separating regions' assets from users' assets. Asset transfer between
197 ;; the users' asset server and the regions' asset server is done in HG-like manner.
198 ; CheckSeparateAssets = false
199 ; RegionHGAssetServerURI = ${Const|GridURL}:${Const|PublicPort}
200
201
202[HGAssetService]
203 ;
204 ; === HG ONLY ===
205 ; Change this to your server
206 ; accessible from other grids
207 ;
208 HomeURI = "${Const|GridURL}:${Const|PublicPort}"
209
210 ;; The asset types that this grid can export to / import from other grids.
211 ;; Comma separated.
212 ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely:
213 ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText,
214 ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh
215 ;;
216 ;; Leave blank or commented if you don't want to apply any restrictions.
217 ;; A more strict, but still reasonable, policy may be to disallow the exchange
218 ;; of scripts, like so:
219 ; DisallowExport ="LSLText"
220 ; DisallowImport ="LSLBytecode"
221
222[HGFriendsModule]
223 ; User level required to be able to send friendship invitations to foreign users
224 LevelHGFriends = 0;
225
226[UserAgentService]
227 ;
228 ; === HG ONLY ===
229 ; Change this to your user agent server (HG robust)
230 ;
231 UserAgentServerURI = "${Const|GridURL}:${Const|PublicPort}"
232
233[MapImageService]
234 MapImageServerURI = "${Const|GridURL}:${Const|PrivatePort}"
235
236[AuthorizationService]
237 ; If you have regions with access restrictions
238 ; specify them here using the convention
239 ; Region_<Region_Name> = <flags>
240 ; Valid flags are:
241 ; DisallowForeigners -- HG visitors not allowed
242 ; DisallowResidents -- only Admins and Managers allowed
243 ; Example:
244 ; Region_Test_1 = "DisallowForeigners"
245
246;; Uncomment if you are using SimianGrid for grid services
247[SimianGrid]
248 ;; SimianGrid services URL
249 ;; SimianServiceURL = "http://grid.sciencesim.com/Grid/"
250
251 ;; Capability assigned by the grid administrator for the simulator
252 ;; SimulatorCapability = "00000000-0000-0000-0000-000000000000"
253
254[MuteListService]
255 MuteListServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example
new file mode 100644
index 0000000..47771e3
--- /dev/null
+++ b/bin/config-include/GridCommon.ini.example
@@ -0,0 +1,252 @@
1; This is the main configuration file for an instance of OpenSim running in grid 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 ; Uncomment this line if you are using MySQL and want to use a different database for estates
17 ; The usual application for this is to allow estates to be spread out across multiple simulators by share the same database.
18 ; Most people won't need to do this so only uncomment if you know what you're doing.
19 ;EstateConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;"
20
21 ; MSSQL
22 ; Uncomment these lines if you want to use MSSQL storage
23 ; Change the connection string to your db details
24 ; The value for server property is shown in your SQL Server Management Studio login dialog.
25 ; (This sample is the default of express edition)
26 ;StorageProvider = "OpenSim.Data.MSSQL.dll"
27 ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;"
28
29 ; PGSQL
30 ; Uncomment these lines if you want to use PGSQL storage
31 ; Change the connection string to your db details
32 ;StorageProvider = "OpenSim.Data.PGSQL.dll"
33 ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;"
34
35 StorageProvider = "${Const|DataProvider}"
36 ConnectionString = "${Const|ConnectionString}"
37
38[Hypergrid]
39 ; Uncomment the variables in this section only if you are in
40 ; Hypergrid configuration. Otherwise, ignore.
41
42 ;# {HomeURI} {Hypergrid} {The Home URL of this world} {}
43 ;; If this is a standalone world, this is the address of this instance.
44 ;; If this is a grided simulator, this is the address of the external robust server that
45 ;; runs the UserAgentsService.
46 ;; For example http://myworld.com:9000 or http://myworld.com:8002
47 ;; This is a default that can be overwritten in some sections.
48 ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
49
50 ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {}
51 ;; If this is a standalone world, this is the address of this instance.
52 ;; If this is a grided simulator, this is the address of the external robust server
53 ;; that runs the Gatekeeper service.
54 ;; For example http://myworld.com:9000 or http://myworld.com:8002
55 ;; This is a default that can be overwritten in some sections.
56 ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
57
58[Modules]
59 ;; Choose one cache module and the corresponding config file, if it exists.
60 ;; Copy the config .example file into your own .ini file and adapt that.
61 ;; We recommend the use of the FlotsamAssetCache since this is most actively maintained.
62
63 AssetCaching = "FlotsamAssetCache"
64 Include-FlotsamCache = "config-include/FlotsamCache.ini"
65
66 ;AssetCaching = "CenomeMemoryAssetCache"
67 ;Include-CenomeCache = "config-include/CenomeCache.ini"
68
69 ;AssetCaching = "GlynnTuckerAssetCache"
70
71 ;; Optionally, the port for the LLProxyLoginModule module can be changed
72 ;Setup_LLProxyLoginModule = "9090/"
73
74 ;; Authorization is not on by default, as it depends on external php
75 ;AuthorizationServices = "RemoteAuthorizationServicesConnector"
76
77[AssetService]
78 DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
79 AssetLoaderArgs = "assets/AssetSets.xml"
80
81 ;
82 ; Change this to your grid-wide asset server. Do not add a slash to the end of any of these addresses.
83 ;
84 AssetServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
85
86[InventoryService]
87 ;
88 ; Change this to your grid-wide inventory server
89 ;
90 InventoryServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
91 ;MaxRetries = 0
92
93[GridInfo]
94 ;
95 ; Change this to your grid info service
96 ;
97 GridInfoURI = "${Const|BaseURL}:${Const|PublicPort}"
98
99[GridService]
100 ;
101 ; Change this to your grid-wide grid server
102 ;
103 GridServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
104 ;AllowHypergridMapSearch = true
105
106 ;; Directory for map tile images of linked regions
107 ; MapTileDirectory = "./maptiles"
108
109 ; === HG ONLY ===
110 ;; Change this to the address of your Gatekeeper service
111 ;; (usually bundled with the rest of the services in one
112 ;; Robust server in port ${Const|PublicPort}, but not always)
113 GatekeeperURI="${Const|BaseURL}:${Const|PublicPort}"
114
115[EstateDataStore]
116 ;
117 ; Uncomment if you want centralized estate data at robust server,
118 ; in which case the URL in [EstateService] will be used
119 ;
120 ;LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataRemoteConnector"
121
122[EstateService]
123 EstateServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
124
125[Messaging]
126 ; === HG ONLY ===
127 ;; Change this to the address of your Gatekeeper service
128 ;; (usually bundled with the rest of the services in one
129 ;; Robust server in port ${Const|PublicPort}, but not always)
130 GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
131
132[AvatarService]
133 ;
134 ; Change this to your grid-wide grid server
135 ;
136 AvatarServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
137
138[AgentPreferencesService]
139 ;
140 ; Change this to your grid-wide avatar prefs server
141 ;
142 AgentPreferencesServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
143
144[PresenceService]
145 ;
146 ; Change this to your grid-wide presence server
147 ;
148 PresenceServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
149
150[UserAccountService]
151 ;
152 ; Change this to your grid-wide user accounts server
153 ;
154 UserAccountServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
155
156[GridUserService]
157 ;
158 ; Change this to your grid-wide user accounts server
159 ;
160 GridUserServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
161
162[AuthenticationService]
163 ;
164 ; Change this to your grid-wide authentication server
165 ;
166 AuthenticationServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
167
168[FriendsService]
169 ;
170 ; Change this to your grid-wide friends server
171 ;
172 FriendsServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
173
174[HGInventoryAccessModule]
175 ;
176 ; === HG ONLY ===
177 ; Change this to your server
178 ; accessible from other grids
179 ;
180 HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
181 GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
182 ;; If you want to protect your assets from being copied by foreign visitors
183 ;; set this to false. You may want to do this on sims that have licensed content.
184 ;; Default is true.
185 ; OutboundPermission = True
186
187 ;; Send visual reminder to local users that their inventories are unavailable while they are traveling
188 ;; and available when they return. True by default.
189 ;RestrictInventoryAccessAbroad = True
190
191 ;; Warning: advanced and unusual. Default is false.
192 ;; Enables configurations where grids share user services, including inventory,
193 ;; while separating regions' assets from users' assets. Asset transfer between
194 ;; the users' asset server and the regions' asset server is done in HG-like manner.
195 ; CheckSeparateAssets = false
196 ; RegionHGAssetServerURI = ${Const|BaseURL}:${Const|PublicPort}
197
198
199[HGAssetService]
200 ;
201 ; === HG ONLY ===
202 ; Change this to your server
203 ; accessible from other grids
204 ;
205 HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
206
207 ;; The asset types that this grid can export to / import from other grids.
208 ;; Comma separated.
209 ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely:
210 ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText,
211 ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh
212 ;;
213 ;; Leave blank or commented if you don't want to apply any restrictions.
214 ;; A more strict, but still reasonable, policy may be to disallow the exchange
215 ;; of scripts, like so:
216 ; DisallowExport ="LSLText"
217 ; DisallowImport ="LSLBytecode"
218
219[HGFriendsModule]
220 ; User level required to be able to send friendship invitations to foreign users
221 ;LevelHGFriends = 0;
222
223[UserAgentService]
224 ;
225 ; === HG ONLY ===
226 ; Change this to your user agent server (HG robust)
227 ;
228 UserAgentServerURI = "${Const|BaseURL}:${Const|PublicPort}"
229
230[MapImageService]
231 MapImageServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
232
233[AuthorizationService]
234 ; If you have regions with access restrictions
235 ; specify them here using the convention
236 ; Region_<Region_Name> = <flags>
237 ; Valid flags are:
238 ; DisallowForeigners -- HG visitors not allowed
239 ; DisallowResidents -- only Admins and Managers allowed
240 ; Example:
241 ; Region_Test_1 = "DisallowForeigners"
242
243;; Uncomment if you are using SimianGrid for grid services
244[SimianGrid]
245 ;; SimianGrid services URL
246 ;; SimianServiceURL = "http://grid.sciencesim.com/Grid/"
247
248 ;; Capability assigned by the grid administrator for the simulator
249 ;; SimulatorCapability = "00000000-0000-0000-0000-000000000000"
250
251[MuteListService]
252 MuteListServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini
new file mode 100644
index 0000000..96cd3c4
--- /dev/null
+++ b/bin/config-include/GridHypergrid.ini
@@ -0,0 +1,86 @@
1;;
2;; Please don't change this file.
3;; All optional settings are in GridCommon.ini.example,
4;; which you can copy and change.
5;;
6
7[Includes]
8 Include-Common = "config-include/GridCommon.ini"
9
10[Startup]
11 WorldMapModule = "HGWorldMap"
12
13[Modules]
14 AssetServices = "HGAssetBroker"
15 InventoryServices = "HGInventoryBroker"
16 GridServices = "RemoteGridServicesConnector"
17 AvatarServices = "RemoteAvatarServicesConnector"
18 NeighbourServices = "NeighbourServicesOutConnector"
19 AuthenticationServices = "RemoteAuthenticationServicesConnector"
20 AuthorizationServices = "LocalAuthorizationServicesConnector"
21 PresenceServices = "RemotePresenceServicesConnector"
22 UserAccountServices = "RemoteUserAccountServicesConnector"
23 AgentPreferencesServices= "RemoteAgentPreferencesServicesConnector"
24 GridUserServices = "RemoteGridUserServicesConnector"
25 SimulationServices = "RemoteSimulationConnectorModule"
26 EntityTransferModule = "HGEntityTransferModule"
27 InventoryAccessModule = "HGInventoryAccessModule"
28 LandServices = "RemoteLandServicesConnector"
29 FriendsModule = "HGFriendsModule"
30 MapImageService = "MapImageServiceModule"
31 UserManagementModule = "HGUserManagementModule"
32 SearchModule = "BasicSearchModule"
33 MuteListService = "RemoteMuteListServicesConnector"
34
35 LandServiceInConnector = true
36 NeighbourServiceInConnector = true
37 SimulationServiceInConnector = true
38 LibraryModule = true
39
40[SimulationDataStore]
41 LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService"
42
43[EstateDataStore]
44 LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService"
45
46[AssetService]
47 LocalGridAssetService = "OpenSim.Services.Connectors.dll:AssetServicesConnector"
48 HypergridAssetService = "OpenSim.Services.Connectors.dll:HGAssetServiceConnector"
49
50[InventoryService]
51 LocalGridInventoryService = "OpenSim.Region.CoreModules.dll:RemoteXInventoryServicesConnector"
52
53[GridService]
54 ; RemoteGridServicesConnector instantiates a LocalGridServicesConnector,
55 ; which in turn uses this
56 LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
57 StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"
58
59 NetworkConnector = "OpenSim.Services.Connectors.dll:GridServicesConnector"
60
61 ; Needed to display non-default map tile images for linked regions
62 AssetService = "OpenSim.Services.Connectors.dll:AssetServicesConnector"
63
64 HypergridLinker = true
65 AllowHypergridMapSearch = true
66 SuppressConsoleCommands = true
67
68[LibraryService]
69 LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService"
70 LibraryName = "OpenSim Library"
71 DefaultLibrary = "./inventory/Libraries.xml"
72
73[Friends]
74 Connector = "OpenSim.Services.Connectors.dll:FriendsServicesConnector"
75
76[Messaging]
77 MessageTransferModule = HGMessageTransferModule
78
79[HGInstantMessageService]
80 LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService"
81 GridService = "OpenSim.Services.Connectors.dll:GridServicesConnector"
82 PresenceService = "OpenSim.Services.Connectors.dll:PresenceServicesConnector"
83 UserAgentService = "OpenSim.Services.Connectors.dll:UserAgentServiceConnector"
84
85[MapImageService]
86 LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector"
diff --git a/bin/config-include/HyperSimianGrid.ini b/bin/config-include/HyperSimianGrid.ini
new file mode 100644
index 0000000..24f9813
--- /dev/null
+++ b/bin/config-include/HyperSimianGrid.ini
@@ -0,0 +1,97 @@
1;;
2;; Please don't change this file.
3;; All optional settings are in GridCommon.ini.example,
4;; which you can copy and change.
5;;
6
7;;
8;; In GridCommon.ini, these are the URLs you would use if SimianGrid is
9;; installed at http://www.mygrid.com/Grid/
10;;
11; AssetServerURI = "http://www.mygrid.com/Grid/?id="
12; InventoryServerURI = "http://www.mygrid.com/Grid/"
13; AvatarServerURI = "http://www.mygrid.com/Grid/"
14; PresenceServerURI = "http://www.mygrid.com/Grid/"
15; UserAccountServerURI = "http://www.mygrid.com/Grid/"
16; AuthenticationServerURI = "http://www.mygrid.com/Grid/"
17; FriendsServerURI = "http://www.mygrid.com/Grid/"
18; GroupsServerURI = "http://www.mygrid.com/Grid/"
19
20[Includes]
21 Include-Common = "config-include/GridCommon.ini"
22
23[Modules]
24 GridServices = "RemoteGridServicesConnector"
25 PresenceServices = "SimianPresenceServiceConnector"
26 UserAccountServices = "SimianUserAccountServiceConnector"
27 AuthenticationServices = "SimianAuthenticationServiceConnector"
28 AssetServices = "HGAssetBroker"
29 InventoryServices = "HGInventoryBroker"
30 AvatarServices = "SimianAvatarServiceConnector"
31
32 NeighbourServices = "NeighbourServicesOutConnector"
33 SimulationServices = "RemoteSimulationConnectorModule"
34 EntityTransferModule = "HGEntityTransferModule"
35 InventoryAccessModule = "HGInventoryAccessModule"
36
37 LandServiceInConnector = true
38 NeighbourServiceInConnector = true
39 SimulationServiceInConnector = true
40 LibraryModule = false
41
42 AssetCaching = "FlotsamAssetCache"
43
44[SimulationDataStore]
45 LocalServiceModule = "OpenSim.Services.Connectors.dll:SimulationDataService"
46
47[EstateDataStore]
48 LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataService"
49
50[Friends]
51 Connector = "OpenSim.Services.Connectors.dll:SimianFriendsServiceConnector"
52
53[GridService]
54 LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
55 StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"
56 NetworkConnector = "OpenSim.Services.Connectors.dll:SimianGridServiceConnector"
57
58 HypergridLinker = true
59 AllowHypergridMapSearch = true
60
61[LibraryService]
62 LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService"
63 LibraryName = "OpenSim Library"
64 DefaultLibrary = "./inventory/Libraries.xml"
65
66[AssetService]
67 DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
68 LocalGridAssetService = "OpenSim.Services.Connectors.dll:SimianAssetServiceConnector"
69 HypergridAssetService = "OpenSim.Services.Connectors.dll:HGAssetServiceConnector"
70 AssetLoaderArgs = "assets/AssetSets.xml"
71
72[InventoryService]
73 LocalGridInventoryService = "OpenSim.Services.Connectors.dll:SimianInventoryServiceConnector"
74
75[Groups]
76 Enabled = true
77 Module = GroupsModule
78 DebugEnabled = false
79 NoticesEnabled = true
80 MessagingModule = GroupsMessagingModule
81 MessagingEnabled = true
82 ServicesConnectorModule = SimianGroupsServicesConnector
83
84[Profiles]
85 Module = "SimianProfiles"
86
87[HGInventoryAccessModule]
88 ;
89 ; === HG ONLY ===
90 ; Change this to your profile server
91 ; accessible from other grids
92 ;
93 ProfileServerURI = "http://mygridserver.com:8002/user"
94
95 ;; If you want to protect your assets from being copied by foreign visitors
96 ;; uncomment the next line. You may want to do this on sims that have licensed content.
97 ; OutboundPermission = False
diff --git a/bin/config-include/SimBalanced.ini b/bin/config-include/SimBalanced.ini
new file mode 100644
index 0000000..fbf778f
--- /dev/null
+++ b/bin/config-include/SimBalanced.ini
@@ -0,0 +1,889 @@
1;; hopefully a well balanced configuration that works well for everything.
2
3
4[Startup]
5 ; ##
6 ; ## SYSTEM
7 ; ##
8
9 ; Sets the method that OpenSim will use to fire asynchronous
10 ; events. Valid values are UnsafeQueueUserWorkItem,
11 ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread.
12 ;
13 ; SmartThreadPool is reported to work well on Mono/Linux, but
14 ; UnsafeQueueUserWorkItem has been benchmarked with better
15 ; performance on .NET/Windows
16 ;
17 ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security
18 ; privileges. However, as calling code is trusted anyway this is safe (if you set
19 ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons).
20 async_call_method = SmartThreadPool
21
22 ; Max threads to allocate on the FireAndForget thread pool
23 ; when running with the SmartThreadPool option above
24 MaxPoolThreads = 300
25
26 ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently.
27 ; This improves performance in regions with large numbers of connections (in the hundreds).
28 JobEngineEnabled = true
29
30 ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos
31 ; Increasing this number will increase memory usage.
32 MaxPrimUndos = 42
33
34 ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum
35 ; This can be overridden in the region config file.
36 ClampPrimSize = true
37
38 ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative.
39 ClampNegativeZ = true
40
41 ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region.
42 ; This only applies when crossing to a region running in a different simulator.
43 ; For crossings where the regions are on the same simulator the script is always kept running.
44 AllowScriptCrossing = true
45
46 ; Main Frame time
47 ; This defines the rate of several simulation events.
48 ; Default value should meet most needs.
49 ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads.
50 ; It should not be less than the physics engine step time.
51 ; Being a integer multiple of it may reduce some jitter in reported physics FPS.
52 ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same
53 FrameTime = 0.0909
54
55 ; Send scheduled updates to objects in the scene
56 ; This must be a whole number
57 UpdateObjectsEveryNFrames = 1
58
59 ; Send position/velocity, etc. updates to agents in the scene
60 ; This must be a whole number
61 UpdateAgentsEveryNFrames = 1
62
63 ; Apply pending forces from physics calculations to an entity.
64 ; This must be a whole number
65 UpdateEntityMovementEveryNFrames = 1
66
67 ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap.
68 ; This must be a whole number
69 UpdateCoarseLocationsEveryNFrames = 50
70
71 ; Physics simulation execution or syncronization, acording to engine. Should be 1
72 ; This must be a whole number
73 UpdatePhysicsEveryNFrames = 1
74
75 ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1.
76 ; This must be a whole number
77 UpdateEventsEveryNFrames = 1
78
79 ; Send terrain updates to viewers
80 ; This must be a whole number
81 UpdateTerrainEveryNFrames = 50
82
83 ; Persitently store any objects which meet the PRIM STORAGE criteria
84 ; This must be a whole number
85 UpdateStorageEveryNFrames = 200
86
87 ; Clean up temp on rez objects.
88 ; This must be a whole number
89 UpdateTempCleaningEveryNSeconds = 180
90
91 ; ##
92 ; ## PRIM STORAGE
93 ; ##
94
95 ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to
96 ; prevent frequently changing objects from heavily loading the region data store.
97 ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep.
98 ;
99 ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds
100 MinimumTimeBeforePersistenceConsidered = 60
101 ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago
102 MaximumTimeBeforePersistenceConsidered = 600
103
104 ; ##
105 ; ## PHYSICS
106 ; ##
107
108 ; Select a mesher here.
109 ;
110 ; Meshmerizer properly handles complex prims by using triangle meshes.
111 ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way
112 ;
113 ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports
114 ; Usually this is only a box
115
116 ;meshing = Meshmerizer
117 ;meshing = ZeroMesher
118 ;; select ubODEMeshmerizer only with ubOde physics engine
119 meshing = ubODEMeshmerizer
120
121 ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit
122 ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions
123 ; edit the line ulimit -s 262144, and change this last value
124
125 ; if you use Meshmerizer and want sculpt map collisions, setting this to
126 ; to true will store decoded sculpt maps in a special folder in your bin
127 ; folder, which can reduce startup times by reducing asset requests. Some
128 ; versions of mono dont work well when reading the cache files, so set this
129 ; to false if you have compatibility problems.
130 CacheSculptMaps = true
131
132 ;; BulletSim is the default physics engine. It provides the best performance and most functionality.
133 ;; BulletSim supports varregions.
134 ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before.
135 ;; It continues to provide a workable physics implementation. It does not currently support varregions.
136 ;; basicphysics effectively does not model physics at all, making all objects phantom.
137 ;; Default is BulletSim
138 ;physics = BulletSim
139 ;physics = modified_BulletX
140 ;physics = OpenDynamicsEngine
141 ;physics = basicphysics
142 ;physics = POS
143 ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also
144 physics = ubODE
145
146 ; ##
147 ; ## SCRIPT ENGINE
148 ; ##
149
150 ;; Default script engine to use. Currently, we only have XEngine
151 DefaultScriptEngine = "XEngine"
152
153 ; Image decoding. Use CSJ2K for layer boundary decoding if true,
154 ; OpenJPEG if false
155 ; UseCSJ2K = true
156
157
158[Map]
159 ; Map tile options.
160 ; If true, then maptiles are generated using the MapImageModule below.
161 ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden
162 ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need
163 ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/
164 GenerateMaptiles = true
165
166 ;WorldMapModule = "WorldMap"
167
168 ; The module to use in order to generate map images.
169 ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can
170 ; generate better images.
171 MapImageModule = "Warp3DImageModule"
172
173 ; World map blacklist timeout in seconds
174 ;BlacklistTimeout = 600
175
176 ; Refresh (in seconds) the map tile periodically
177 MaptileRefresh = 0
178
179 ; If not generating maptiles, use this static texture asset ID
180 ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000"
181
182 ; Draw objects on maptile. This step might take a long time if you've got a large number of
183 ; objects, so you can turn it off here if you'd like.
184 DrawPrimOnMapTile = true
185
186 ; Use terrain texture for maptiles if true, use shaded green if false
187 TextureOnMapTile = true
188
189 ; Texture prims
190 TexturePrims = true
191
192 ; Only texture prims that have a diagonal size greater than this number
193 TexturePrimSize = 5
194
195 ; Attempt to render meshes and sculpties on the map
196 RenderMeshes = true
197
198 UseAntiAliasing = true
199
200
201[Network]
202 ; OpenSim can send multiple simultaneous requests for services such as asset
203 ; retrieval. However, some versions of mono appear to hang when there are too
204 ; many simultaneous requests, default is 30 and is currently applied only to assets
205 ;MaxRequestConcurrency = 30
206
207
208[ClientStack.LindenUDP]
209 ; The client socket receive buffer size determines how many
210 ; incoming requests we can process; the default on .NET is 8192
211 ; which is about 2 4k-sized UDP datagrams. On mono this is
212 ; whatever the underlying operating system has as default; for
213 ; example, ubuntu 8.04 or SLES11 have about 111k, which is about
214 ; 27 4k-sized UDP datagrams (on linux platforms you can [as root]
215 ; do "sysctl net.core.rmem_default" to find out what your system
216 ; uses a default socket receive buffer size.
217 ;
218 ; client_socket_rcvbuf_size allows you to specify the receive
219 ; buffer size LLUDPServer should use. NOTE: this will be limited
220 ; by the system's settings for the maximum client receive buffer
221 ; size (on linux systems you can set that with "sysctl -w
222 ; net.core.rmem_max=X")
223 ;
224 ;client_socket_rcvbuf_size = 8388608
225
226 ; Maximum outbound bytes per second for a single scene. This can be used to
227 ; throttle total outbound UDP traffic for a simulator. The default value is
228 ; 0, meaning no throttling at the scene level. The example given here is
229 ; 20 megabits
230 ;
231 ;scene_throttle_max_bps = 2500000
232
233 ; Maximum bytes per second to send to any single client. This will override
234 ; the user's viewer preference settings. The default value is 0, meaning no
235 ; aggregate throttling on clients (only per-category throttling). The
236 ; example given here is 1.5 megabits
237 ;
238 ;client_throttle_max_bps = 187500
239
240 ; Minimum bytes per second to send to any single client as a result of
241 ; adaptive throttling. Viewer preferences set to a lower number will
242 ; override the settin. The example given here ensures that adaptive
243 ; throttling will never decrease per client bandwidth below 256 kbps.
244 ;
245 ;adaptive_throttle_min_bps = 32000
246
247 ; Adaptive throttling attempts to limit network overload when multiple
248 ; clients login by starting each connection more slowly. Disabled by
249 ; default
250 ;
251 enable_adaptive_throttles = true
252
253 ; Per-client bytes per second rates for the various throttle categories.
254 ; These are default values that will be overridden by clients. These
255 ; defaults are approximately equivalent to the throttles set by the Imprudence
256 ; viewer when maximum bandwidth is set to 350kbps
257
258 ;resend_default = 6625
259 ;land_default = 9125
260 ;wind_default = 1750
261 ;cloud_default = 1750
262 ;task_default = 18500
263 ;texture_default = 18500
264 ;asset_default = 10500
265
266 ; Configures how ObjectUpdates are aggregated. These numbers
267 ; do not literally mean how many updates will be put in each
268 ; packet that goes over the wire, as packets are
269 ; automatically split on a 1400 byte boundary. These control
270 ; the balance between responsiveness of interest list updates
271 ; and total throughput. Higher numbers will ensure more full-
272 ; sized packets and faster sending of data, but more delay in
273 ; updating interest lists
274 ;
275 ;PrimUpdatesPerCallback = 100
276
277 ; TextureSendLimit determines how many packets will be put on
278 ; the outgoing queue each cycle. Like the settings above, this
279 ; is a balance between responsiveness to priority updates and
280 ; total throughput. Higher numbers will give a better
281 ; throughput at the cost of reduced responsiveness to client
282 ; priority changes or transfer aborts
283 ;
284 ;TextureSendLimit = 20
285
286 ; CannibalizeTextureRate allows bandwidth to be moved from the
287 ; UDP texture throttle to the task throttle. Since most viewers
288 ; use HTTP textures, this provides a means of using what is largely
289 ; unused bandwidth in the total throttle. The value is the proportion
290 ; of the texture rate to move to the task queue. It must be between
291 ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the
292 ; bandwidth is grabbed)
293 ;
294 ; CannibalizeTextureRate = 0.5
295
296 ; The time to wait before disconecting an unresponsive client.
297 ; The time is in seconds. The default is one minute
298 ;
299 ;AckTimeout = 60
300
301 ; The time to wait before disconecting an unresponsive paused client.
302 ; A client can be paused when the file selection dialog is open during file upload.
303 ; This gives extra time to find files via the dialog but will still disconnect if
304 ; the client crashes or loses its network connection
305 ; The time is in seconds. The default is five minutes.
306 ;
307 ;PausedAckTimeout = 300
308
309
310[Appearance]
311 ; Persist avatar baked textures
312 ; Persisting baked textures can speed up login and region border
313 ; crossings especially with large numbers of users, though it
314 ; will store potentially large numbers of textures in your asset
315 ; database
316 PersistBakedTextures = true
317
318 ; Control the delay before appearance is sent to other avatars and
319 ; saved in the avatar service. Attempts to limit the impact caused
320 ; by the very chatty dialog that sets appearance when an avatar
321 ; logs in or teleports into a region; values are in seconds
322 DelayBeforeAppearanceSave = 5
323 DelayBeforeAppearanceSend = 2
324
325 ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds.
326 ; This may help with some situations where avatars are persistently grey, though it will not help
327 ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others).
328 ResendAppearanceUpdates = true
329
330 ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar
331 ; on every login
332 ReuseTextures = true
333
334
335[Attachments]
336 ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments
337 ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit
338 ; or when multiple avatars with medium level attachments login/change outfit simultaneously.
339 ; If 0 then no throttling is performed.
340 ThrottlePer100PrimsRezzed = 0
341
342
343[Textures]
344 ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible
345 ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components
346 ; (e.g. images pulled from an external HTTP address).
347 ; Reusing previously generated textures results in a much faster update on the viewer but may cause issues if the viewer didn't receive all resolutions of the texture.
348 ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted.
349 ; Hence, currently considered experimental.
350 ; Default is false.
351 ReuseDynamicTextures = true
352
353 ; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused
354 ; This is to workaround an apparent LL 3.3.4 and earlier viewer bug where such textures are not redisplayed properly when pulled from the viewer cache.
355 ; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem.
356 ; This setting only has an affect is ReuseDynamicTextures = true
357 ; Default is false
358 ReuseDynamicLowDataTextures = true
359
360
361[ODEPhysicsSettings]
362 ; ##
363 ; ## Physics stats settings ( most ignored by ubOde )
364 ;
365
366 ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule
367 ; (see http://opensimulator.org/wiki/Monitoring_Module for more details).
368 collect_stats = true
369
370 ; ##
371 ; ## Physics logging settings - logfiles are saved to *.DIF files
372 ; ##
373
374 ; default is false
375 ;physics_logging = true
376 ;; every n simulation iterations, the physics snapshot file is updated
377 ;physics_logging_interval = 50
378 ;; append to existing physics logfile, or overwrite existing logfiles?
379 ;physics_logging_append_existing_logfile = true
380
381 ;##
382 ;## World Settings
383 ;##
384
385 ; World Step size.
386 ; with legacy ODE this value needs to be close to 0.02s
387 ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load
388 ; you will need to test acording to you needs
389 ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS
390 world_stepsize = 0.01818
391 ; number of iterations of constrains solver, higher should improve results
392 ; up to a point where acumulated math errors eliminate the improvement
393 ; more steps may increase CPU load. No real gain in changing
394 world_solver_iterations = 10
395
396 ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim
397 ; defines spaces partition cells min and max sizes == 2^value
398 world_hashspace_level_low = -5
399 world_hashSpace_level_high = 12
400
401 meters_in_small_space = 29.9
402
403
404 ; ##
405 ; ## Contact properties. (the stuff that happens when things come in contact with each other)
406 ; ##
407
408 ; surface layer around geometries other geometries can sink into before generating a contact
409 world_contact_surface_layer = 0.001
410
411 ; Filtering collisions helps keep things stable physics wise, but sometimes
412 ; it can be overzealous. If you notice bouncing, chances are it's that.
413 filter_collisions = true
414
415 ; Non Moving Terrain Contact (avatar isn't moving)
416 nm_terraincontact_friction = 255.0
417 nm_terraincontact_bounce = 0.1
418 nm_terraincontact_erp = 0.1025
419
420 ; Moving Terrain Contact (avatar is moving)
421 m_terraincontact_friction = 75.0
422 m_terraincontact_bounce = 0.05
423 m_terrainContact_erp = 0.05025
424
425 ; Moving Avatar to object Contact
426 m_avatarobjectcontact_friction = 75.0
427 m_avatarobjectcontact_bounce = 0.1
428
429 ; Object to Object Contact and Non-Moving Avatar to object
430 objectcontact_friction = 250.0
431 objectcontact_bounce = 0.2
432
433 ; ##
434 ; ## Avatar Control
435 ; ##
436
437 ; PID Controller Settings. These affect the math that causes the avatar to reach the
438 ; desired velocity
439 ; See http://en.wikipedia.org/wiki/PID_controller
440
441 av_pid_derivative = 2200.0
442 av_pid_proportional = 900.0
443
444 ; specifies if the capsule should be tilted (=true; old compatibility mode)
445 ; or straight up-and-down (=false; better and more consistent physics behavior)
446 av_capsule_tilted = false
447
448 ; Movement. Smaller is faster.
449
450 ; speed of movement with Always Run off
451 av_movement_divisor_walk = 1.3
452
453 ; speed of movement with Always Run on
454 av_movement_divisor_run = 0.8
455
456 ; When the avatar flies, it will be moved up by this amount off the ground (in meters)
457 minimum_ground_flight_offset = 3.0
458
459 ; Plant avatar. This reduces the effect of physical contacts with the avatar.
460 ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive.
461 ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active
462 ; will lock the avatar in place
463 av_planted = false
464
465 ; No Avatar Avatar Collissions. This causes avatar to be able to walk through each other as if they're ghosts but still interact with the environment
466 av_av_collisions_off = false
467
468 ; ##
469 ; ## Object options
470 ; ##
471
472 ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep
473 body_frames_auto_disable = 20
474
475 ; used to control llMove2Target
476 body_pid_derivative = 35
477 body_pid_gain = 25
478
479 ; maximum number of contact points to generate per collision
480 contacts_per_collision = 80
481
482 ; start throttling the object updates if object comes in contact with 3 or more other objects
483 geom_contactpoints_start_throttling = 3
484
485 ; send 1 update for every x updates below when throttled
486 geom_updates_before_throttled_update = 15
487
488 ; ##
489 ; ## Sculpted Prim settings
490 ; ##
491
492 ; Do we want to mesh sculpted prim to collide like they look?
493 ; If you are seeing sculpt texture decode problems
494 ; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception")
495 ; then you might want to try setting this to false.
496 mesh_sculpted_prim = true
497
498 ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies
499 mesh_lod = 32
500
501 ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies
502 mesh_physical_lod = 16
503
504 ; ##
505 ; ## additional meshing options
506 ; ##
507
508 ; Physics needs to create internal meshs (or convert the object meshs or scultps)
509 ; for all prims except simple boxes and spheres.
510
511 ; collisions of small objects againts larger ones can have a increased CPU load cost
512 ; so this are represented by a simple BOX
513 ; if all their scale dimensions are lower or equal to this option. Default is 0.1m
514 ; (ubOde only)
515 ; MinSizeToMeshmerize = 0.1
516
517
518[BulletSim]
519 ; There are two bullet physics libraries, bulletunmanaged is the default and is a
520 ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality
521 ; but the c++ one is much faster.
522 ;BulletEngine = "bulletunmanaged"
523 BulletEngine = "bulletxna"
524
525 ; BulletSim can run on its own thread independent of the simulator's heartbeat
526 ; thread. Enabling this will not let the physics engine slow down avatar movement, etc.
527 UseSeparatePhysicsThread = true
528
529 ; Terrain implementation can use either Bullet's heightField or BulletSim can build
530 ; a mesh. 0=heightField, 1=mesh
531 TerrainImplementation = 0
532 ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield
533 ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher
534 ; magnifications use lots of memory.
535 TerrainMeshMagnification = 1
536
537 ; Should avatars collide with each other?
538 AvatarToAvatarCollisionsByDefault = true
539
540 ; Default linkset implmentation
541 ; 'Constraint' uses physics constraints to hold linkset together. 'Compound'
542 ; builds a compound shape from the children shapes to create a single physical
543 ; shape. 'Compound' uses a lot less CPU time.
544 LinkImplementation = 1 ; 0=constraint, 1=compound
545
546 ; If 'true', offset a linkset's origin based on mass of linkset parts.
547 LinksetOffsetCenterOfMass = false
548
549 ; If 'true', turn scuplties into meshes
550 MeshSculptedPrim = true
551
552 ; If 'true', force simple prims (box and sphere) to be meshed
553 ; If 'false', the Bullet native special case shape is used for square rectangles
554 ; and even dimensioned spheres.
555 ForceSimplePrimMeshing = true
556
557 ; If 'true', when creating meshes, remove all triangles that have two equal vertexes.
558 ; Happens often in sculpties. If turned off, there will be some doorways
559 ; that cannot be walked through.
560 ShouldRemoveZeroWidthTriangles = true
561
562 ; If 'true', use convex hull definition in mesh asset if present.
563 ShouldUseAssetHulls = true
564
565 ; If there are thousands of physical objects, these maximums should be increased.
566 MaxCollisionsPerFrame = 2048
567 MaxUpdatesPerFrame = 8192
568
569 ; Detailed physics debug logging. Very verbose.
570 PhysicsLoggingEnabled = False
571 PhysicsLoggingDir = "."
572 VehicleLoggingEnabled = False
573
574
575[Sun]
576 ; send a Sun update every update_interval # of frames. A lower number will
577 ; make for smoother sun transition at the cost of network
578 ;update_interval = 100
579
580
581[Wind]
582 ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second
583 wind_update_rate = 150
584
585 ; The Default Wind Plugin to load
586 wind_plugin = SimpleRandomWind
587
588
589[Cloud]
590 ; update interval for the cloud cover data returned by llCloud().
591 ; default is 1000
592 cloud_update_rate = 1000
593
594
595[Trees]
596 ; active_trees allows module to change its trees in time.
597 ; some will be deleted, others created and rest may grow
598 ; default is false. You can change it with console command tree active true | false later
599 active_trees = false
600 ; the trees change execution time rate (in ms)
601 update_rate = 1000
602
603 ; allow the trees to grow.
604 ; DANGER
605 ; this option causes high network use on the order of
606 ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second
607 allowGrow = false
608
609
610[LL-Functions]
611 ; Maximum number of llListen events we allow over the entire region.
612 ; Set this to 0 to have no limit imposed
613 max_listens_per_region = 0
614
615 ; Maximum number of llListen events we allow per script
616 ; Set this to 0 to have no limit imposed.
617 max_listens_per_script = 0
618
619 ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL())
620 max_external_urls_per_simulator = 256
621
622 ; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes.
623 ; Speeds up calculations but can make them inaccurate, in some cases very inaccurate.
624 UseSimpleBoxesInGetBoundingBox = false
625
626 ; Use llCastRay V3 if true.
627 ; Implements llCastRay similar but not identical to Second Life.
628 ; See http://wiki.secondlife.com/wiki/LlCastRay .
629 ; NEW
630 ; Meshes prims for good accuracy in ray hit detection,
631 ; handling basic and tortured prims, sculpts and meshes.
632 ; Uses ellipsoid, correctly sized avatar capsules.
633 ; Handles complex terrain, multi-prim objects and seated avatars.
634 ; Implements throttling and the status codes
635 ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED,
636 ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW.
637 ; WARNING
638 ; Can be faster on some servers and scenes, but slower on others,
639 ; compared to previous version of llCastRay in OpenSimulator.
640 ; Is in most cases considerably slower than llCastRay in Second Life.
641 ; Generates geometry meshes and can therefore use much system resources.
642 UseLlCastRayV3 = true
643
644 ; Accepted calculation precision error in calculations in llCastRay V3
645 FloatToleranceInLlCastRay = 0.00001
646
647 ; Accepted distance difference between duplicate hits in llCastRay V3
648 FloatTolerance2InLlCastRay = 0.001
649
650 ; Detail level when rendering prims in llCastRay V3
651 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
652 PrimDetailLevelInLlCastRay = 1
653
654 ; Detail level when rendering sculpts in llCastRay V3
655 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
656 SculptDetailLevelInLlCastRay = 1
657
658 ; Detail level when rendering meshes in llCastRay V3
659 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
660 MeshDetailLevelInLlCastRay = 3
661
662 ; Detail level when rendering avatar capsules in llCastRay V3
663 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
664 AvatarDetailLevelInLlCastRay = 1
665
666 ; Maximum number of returned hits from llCastRay V3
667 MaxHitsInLlCastRay = 16
668
669 ; Maximum number of returned hits per prim from llCastRay V3
670 MaxHitsPerPrimInLlCastRay = 16
671
672 ; Maximum number of returned hits per object from llCastRay V3
673 MaxHitsPerObjectInLlCastRay = 16
674
675 ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true
676 DetectExitHitsInLlCastRay = false
677
678 ; Detect attachments in llCastRay V3 if true
679 DoAttachmentsInLlCastRay = false
680
681 ; Throttle period length in ms before which all old llCastRay use is discarded in llCastRay V3
682 ; The sum of AvailableTimeInMsPerRegionInLlCastRay and all AvailableTimeInMsPerAvatarInLlCastRay should not exceed this
683 ThrottleTimeInMsInLlCastRay = 200
684
685 ; Available time in ms for llCastRay per throttle period and 65536 m2 land area in llCastRay V3
686 AvailableTimeInMsPerRegionInLlCastRay = 40
687
688 ; Available time in ms for llCastRay per throttle period and avatar when script in attachment or vehicle in llCastRay V3
689 AvailableTimeInMsPerAvatarInLlCastRay = 10
690
691 ; Required available time in ms left to perform a new llCastRay in llCastRay V3
692 RequiredAvailableTimeInMsInLlCastRay = 2
693
694 ; Maximum available time in ms possible in llCastRay V3, not to get too high values with varregions
695 MaximumAvailableTimeInMsInLlCastRay = 40
696
697 ; Use cached meshes in llCastRay V3 if true
698 ; Improves performance but uses more memory
699 UseMeshCacheInLlCastRay = true
700
701
702[XEngine]
703 ; How many threads to keep alive even if nothing is happening
704 MinThreads = 2
705
706 ; How many threads to start at maximum load
707 MaxThreads = 100
708
709 ; Time a thread must be idle (in seconds) before it dies
710 IdleTimeout = 60
711
712 ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest")
713 Priority = "Normal"
714
715 ; Maximum number of events to queue for a script (excluding timers)
716 MaxScriptEventQueue = 3000
717
718 ; Stack size per thread created
719 ThreadStackSize = 262144
720
721 ; Set this to true to load each script into a separate
722 ; AppDomain. Setting this to false will load all script assemblies into the
723 ; current AppDomain, which will reduce the initial per-script memory overhead,
724 ; but deleted scripts stay inactive using memory.
725 ; Significantly improving script loading times.
726 ; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted.
727 ; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region.
728 ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited.
729 ; At this time some mono versions seem to have problems with the true option,
730 ; so default is now false until a fix is found, to simply life of less technical skilled users.
731 ;
732 ; At least on my desktop, this seems to be what soaks up 4 - 5 times the memory.
733 AppDomainLoading = false
734
735 ; Controls whether previously compiled scripts DLLs are deleted on sim restart.
736 ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled.
737 ; It should be true on first run after updating opensim binary version
738 ; after first run you can change to false.
739 ; You can also set it to false and delete the script DLLs by hand
740 ; This does not delete cached scripts state.
741 DeleteScriptsOnStartup = true
742
743 ; CompactMemOnLoad
744 ; forces calls to memory garbage collector before loading each script DLL during region startup.
745 ; Peak memory usage is reduced and region starts with a more compacted memory allocation.
746 ; But this costs a lot of time, so region load will take a lot longer.
747 ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true)
748 CompactMemOnLoad = true
749
750 ; Controls whether scripts are stopped by aborting their threads externally (abort)
751 ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op).
752 ; co-op will be more stable as aborting threads can cause instability.
753 ; abort was the default option in OpenSimulator 0.8 and before.
754 ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary.
755 ; However, the setting change will not take affect until the next time you restart the simulator.
756 ; Setting changes will not affect state information stored for scripts.
757 ScriptStopStrategy = co-op
758
759 ; Rate to poll for asynchronous command replies (ms)
760 ; currently unused
761 ;AsyncLLCommandLoopms = 50
762
763 ; Compile debug info (line numbers) into the script assemblies
764 CompileWithDebugInformation = true
765
766 ; Interval (s) between background save of script states
767 SaveInterval = 120
768
769 ; Interval (s) between maintenance runs (0 = disable)
770 MaintenanceInterval = 10
771
772 ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested
773 ; before aborting the thread (such as when an object containing scripts is taken into inventory).
774 WaitForEventCompletionOnScriptStop = 1000
775
776 ; Minimum settable timer interval. Any timer setting less than this is
777 ; rounded up to this minimum interval.
778 MinTimerInterval = 0.1
779
780 ; Sensor settings
781 SensorMaxRange = 1024.0
782 SensorMaxResults = 64
783
784
785[Groups]
786 ; Groups data is cached for this number of seconds before another request is made to the groups service
787 ; Set to 0 to disable the cache.
788 ; Default is 30 seconds
789 GroupsCacheTimeout = 30
790
791
792[PacketPool]
793 ;RecyclePackets = true
794 ;RecycleDataBlocks = true
795
796 ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets.
797 ; This reduces data churn
798 RecycleBaseUDPPackets = true
799
800
801[InterestManagement]
802 ; This section controls how state updates are prioritized for each client
803 ; Valid values are BestAvatarResponsiveness, Time, Distance,
804 ; SimpleAngularDistance, and FrontBack
805 UpdatePrioritizationScheme = BestAvatarResponsiveness
806 ReprioritizationEnabled = true
807 ReprioritizationInterval = 2000.0
808 RootReprioritizationDistance = 10.0
809 ChildReprioritizationDistance = 20.0
810
811 ; TEST OPTION KEEP AS FALSE
812 ; if true, don't send object updates if outside view range
813 ObjectsCullingByDistance = false
814
815 ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region
816 ; Updates will always be sent to the avatar that the update addresses and if av velocity is effectively zero (to prevent drift due to missing updates).
817 ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars.
818 RootTerseUpdatePeriod = 0
819
820 ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region
821 ; n > 1 will reduce UDP traffic but may lead to laggier movement observed in other avatars, though values up to 4 may not generate a noticeable effect.
822 ChildTerseUpdatePeriod = 0
823
824 ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance
825 RootPositionUpdateTolerance = 0.05
826
827 ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance
828 RootRotationUpdateTolerance = 0.1
829
830 ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance
831 RootVelocityUpdateTolerance = 0.001
832
833
834[Statistics]
835 ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames
836 ; to include in the averaging calculations
837 NumberOfFrames=10
838
839
840[Terrain]
841 ; If 'true' each avatar is only sent terrain patches within their view distance
842 ; This also changes the region terrain loading from 'lawn mower' to ordered around
843 ; the avatar outward.
844 SendTerrainUpdatesByViewDistance = True
845
846
847[LandManagement]
848 ; When editing terrain or objects, parcel layer info is updated in the viewer.
849 ; This can be expensive for large regions. If this variable is 'true', only the
850 ; parcel layer data around the area of interest is sent. The parcel layer info
851 ; is sent for 'ParcelLayerViewDistance' around the interest point.
852 ; If 'ParcelLayerViewDistance' is >= 128, the operation for legacy sized regions
853 ; will be what it has always been (send the whole region's parcel layer info).
854 ; Other parcel updates (login, changing parcel ownership, ...) will still send
855 ; whole region.
856 LimitParcelLayerUpdateDistance = true
857 ParcelLayerViewDistance = 1024
858
859
860;; If you are using a simian grid frontend you can enable
861;; this module to upload tile images for the mapping fn
862;;
863[SimianGridMaptiles]
864 RefreshTime = 3600
865
866
867;;
868;; These are defaults that are overwritten below in [Architecture].
869;; These defaults allow OpenSim to work out of the box with
870;; zero configuration
871;;
872[AssetService]
873 ; Disable this to prevent the default asset set from being inserted into the
874 ; asset store each time the region starts
875 AssetLoaderEnabled = false
876
877
878[AutoBackupModule]
879 ;; default is module is disabled at the top level
880 AutoBackupModuleEnabled = false
881
882
883[ServiceThrottle]
884 ;; Default time interval (in ms) for the throttle service thread to wake up
885 Interval = 5000
886
887
888[Materials]
889 MaxMaterialsPerTransaction = 50
diff --git a/bin/config-include/SimDefault.ini b/bin/config-include/SimDefault.ini
new file mode 100644
index 0000000..3f2e713
--- /dev/null
+++ b/bin/config-include/SimDefault.ini
@@ -0,0 +1,884 @@
1[Startup]
2 ; ##
3 ; ## SYSTEM
4 ; ##
5
6 ; Sets the method that OpenSim will use to fire asynchronous
7 ; events. Valid values are UnsafeQueueUserWorkItem,
8 ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread.
9 ;
10 ; SmartThreadPool is reported to work well on Mono/Linux, but
11 ; UnsafeQueueUserWorkItem has been benchmarked with better
12 ; performance on .NET/Windows
13 ;
14 ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security
15 ; privileges. However, as calling code is trusted anyway this is safe (if you set
16 ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons).
17 async_call_method = SmartThreadPool
18
19 ; Max threads to allocate on the FireAndForget thread pool
20 ; when running with the SmartThreadPool option above
21 MaxPoolThreads = 300
22
23 ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently.
24 ; This improves performance in regions with large numbers of connections (in the hundreds).
25 JobEngineEnabled = true
26
27 ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos
28 ; Increasing this number will increase memory usage.
29 MaxPrimUndos = 20
30
31 ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum
32 ; This can be overridden in the region config file.
33 ClampPrimSize = false
34
35 ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative.
36 ClampNegativeZ = false
37
38 ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region.
39 ; This only applies when crossing to a region running in a different simulator.
40 ; For crossings where the regions are on the same simulator the script is always kept running.
41 AllowScriptCrossing = true
42
43 ; Main Frame time
44 ; This defines the rate of several simulation events.
45 ; Default value should meet most needs.
46 ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads.
47 ; It should not be less than the physics engine step time.
48 ; Being a integer multiple of it may reduce some jitter in reported physics FPS.
49 ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same
50 FrameTime = 0.0909
51
52 ; Send scheduled updates to objects in the scene
53 ; This must be a whole number
54 UpdateObjectsEveryNFrames = 1
55
56 ; Send position/velocity, etc. updates to agents in the scene
57 ; This must be a whole number
58 UpdateAgentsEveryNFrames = 1
59
60 ; Apply pending forces from physics calculations to an entity.
61 ; This must be a whole number
62 UpdateEntityMovementEveryNFrames = 1
63
64 ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap.
65 ; This must be a whole number
66 UpdateCoarseLocationsEveryNFrames = 50
67
68 ; Physics simulation execution or syncronization, acording to engine. Should be 1
69 ; This must be a whole number
70 UpdatePhysicsEveryNFrames = 1
71
72 ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1.
73 ; This must be a whole number
74 UpdateEventsEveryNFrames = 1
75
76 ; Send terrain updates to viewers
77 ; This must be a whole number
78 UpdateTerrainEveryNFrames = 50
79
80 ; Persitently store any objects which meet the PRIM STORAGE criteria
81 ; This must be a whole number
82 UpdateStorageEveryNFrames = 200
83
84 ; Clean up temp on rez objects.
85 ; This must be a whole number
86 UpdateTempCleaningEveryNSeconds = 180
87
88 ; ##
89 ; ## PRIM STORAGE
90 ; ##
91
92 ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to
93 ; prevent frequently changing objects from heavily loading the region data store.
94 ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep.
95 ;
96 ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds
97 MinimumTimeBeforePersistenceConsidered = 60
98 ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago
99 MaximumTimeBeforePersistenceConsidered = 600
100
101 ; ##
102 ; ## PHYSICS
103 ; ##
104
105 ; Select a mesher here.
106 ;
107 ; Meshmerizer properly handles complex prims by using triangle meshes.
108 ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way
109 ;
110 ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports
111 ; Usually this is only a box
112
113 ;meshing = Meshmerizer
114 ;meshing = ZeroMesher
115 ;; select ubODEMeshmerizer only with ubOde physics engine
116 meshing = ubODEMeshmerizer
117
118 ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit
119 ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions
120 ; edit the line ulimit -s 262144, and change this last value
121
122 ; if you use Meshmerizer and want sculpt map collisions, setting this to
123 ; to true will store decoded sculpt maps in a special folder in your bin
124 ; folder, which can reduce startup times by reducing asset requests. Some
125 ; versions of mono dont work well when reading the cache files, so set this
126 ; to false if you have compatibility problems.
127 CacheSculptMaps = true
128
129 ;; BulletSim is the default physics engine. It provides the best performance and most functionality.
130 ;; BulletSim supports varregions.
131 ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before.
132 ;; It continues to provide a workable physics implementation. It does not currently support varregions.
133 ;; basicphysics effectively does not model physics at all, making all objects phantom.
134 ;; Default is BulletSim
135 ;physics = BulletSim
136 ;physics = modified_BulletX
137 ;physics = OpenDynamicsEngine
138 ;physics = basicphysics
139 ;physics = POS
140 ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also
141 physics = ubODE
142
143 ; ##
144 ; ## SCRIPT ENGINE
145 ; ##
146
147 ;; Default script engine to use. Currently, we only have XEngine
148 DefaultScriptEngine = "XEngine"
149
150 ; Image decoding. Use CSJ2K for layer boundary decoding if true,
151 ; OpenJPEG if false
152 ; UseCSJ2K = true
153
154
155[Map]
156 ; Map tile options.
157 ; If true, then maptiles are generated using the MapImageModule below.
158 ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden
159 ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need
160 ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/
161 GenerateMaptiles = true
162
163 ;WorldMapModule = "WorldMap"
164
165 ; The module to use in order to generate map images.
166 ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can
167 ; generate better images.
168 MapImageModule = "MapImageModule"
169
170 ; World map blacklist timeout in seconds
171 ;BlacklistTimeout = 600
172
173 ; Refresh (in seconds) the map tile periodically
174 MaptileRefresh = 0
175
176 ; If not generating maptiles, use this static texture asset ID
177 ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000"
178
179 ; Draw objects on maptile. This step might take a long time if you've got a large number of
180 ; objects, so you can turn it off here if you'd like.
181 DrawPrimOnMapTile = true
182
183 ; Use terrain texture for maptiles if true, use shaded green if false
184 TextureOnMapTile = true
185
186 ; Texture prims
187 TexturePrims = true
188
189 ; Only texture prims that have a diagonal size greater than this number
190 TexturePrimSize = 48
191
192 ; Attempt to render meshes and sculpties on the map
193 RenderMeshes = false
194
195 ;UseAntiAliasing = true
196
197
198[Network]
199 ; OpenSim can send multiple simultaneous requests for services such as asset
200 ; retrieval. However, some versions of mono appear to hang when there are too
201 ; many simultaneous requests, default is 30 and is currently applied only to assets
202 ;MaxRequestConcurrency = 30
203
204
205[ClientStack.LindenUDP]
206 ; The client socket receive buffer size determines how many
207 ; incoming requests we can process; the default on .NET is 8192
208 ; which is about 2 4k-sized UDP datagrams. On mono this is
209 ; whatever the underlying operating system has as default; for
210 ; example, ubuntu 8.04 or SLES11 have about 111k, which is about
211 ; 27 4k-sized UDP datagrams (on linux platforms you can [as root]
212 ; do "sysctl net.core.rmem_default" to find out what your system
213 ; uses a default socket receive buffer size.
214 ;
215 ; client_socket_rcvbuf_size allows you to specify the receive
216 ; buffer size LLUDPServer should use. NOTE: this will be limited
217 ; by the system's settings for the maximum client receive buffer
218 ; size (on linux systems you can set that with "sysctl -w
219 ; net.core.rmem_max=X")
220 ;
221 ;client_socket_rcvbuf_size = 8388608
222
223 ; Maximum outbound bytes per second for a single scene. This can be used to
224 ; throttle total outbound UDP traffic for a simulator. The default value is
225 ; 0, meaning no throttling at the scene level. The example given here is
226 ; 20 megabits
227 ;
228 ;scene_throttle_max_bps = 2500000
229
230 ; Maximum bytes per second to send to any single client. This will override
231 ; the user's viewer preference settings. The default value is 0, meaning no
232 ; aggregate throttling on clients (only per-category throttling). The
233 ; example given here is 1.5 megabits
234 ;
235 ;client_throttle_max_bps = 187500
236
237 ; Minimum bytes per second to send to any single client as a result of
238 ; adaptive throttling. Viewer preferences set to a lower number will
239 ; override the settin. The example given here ensures that adaptive
240 ; throttling will never decrease per client bandwidth below 256 kbps.
241 ;
242 ;adaptive_throttle_min_bps = 32000
243
244 ; Adaptive throttling attempts to limit network overload when multiple
245 ; clients login by starting each connection more slowly. Disabled by
246 ; default
247 ;
248 enable_adaptive_throttles = false
249
250 ; Per-client bytes per second rates for the various throttle categories.
251 ; These are default values that will be overridden by clients. These
252 ; defaults are approximately equivalent to the throttles set by the Imprudence
253 ; viewer when maximum bandwidth is set to 350kbps
254
255 ;resend_default = 6625
256 ;land_default = 9125
257 ;wind_default = 1750
258 ;cloud_default = 1750
259 ;task_default = 18500
260 ;texture_default = 18500
261 ;asset_default = 10500
262
263 ; Configures how ObjectUpdates are aggregated. These numbers
264 ; do not literally mean how many updates will be put in each
265 ; packet that goes over the wire, as packets are
266 ; automatically split on a 1400 byte boundary. These control
267 ; the balance between responsiveness of interest list updates
268 ; and total throughput. Higher numbers will ensure more full-
269 ; sized packets and faster sending of data, but more delay in
270 ; updating interest lists
271 ;
272 ;PrimUpdatesPerCallback = 100
273
274 ; TextureSendLimit determines how many packets will be put on
275 ; the outgoing queue each cycle. Like the settings above, this
276 ; is a balance between responsiveness to priority updates and
277 ; total throughput. Higher numbers will give a better
278 ; throughput at the cost of reduced responsiveness to client
279 ; priority changes or transfer aborts
280 ;
281 ;TextureSendLimit = 20
282
283 ; CannibalizeTextureRate allows bandwidth to be moved from the
284 ; UDP texture throttle to the task throttle. Since most viewers
285 ; use HTTP textures, this provides a means of using what is largely
286 ; unused bandwidth in the total throttle. The value is the proportion
287 ; of the texture rate to move to the task queue. It must be between
288 ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the
289 ; bandwidth is grabbed)
290 ;
291 ; CannibalizeTextureRate = 0.5
292
293 ; The time to wait before disconecting an unresponsive client.
294 ; The time is in seconds. The default is one minute
295 ;
296 ;AckTimeout = 60
297
298 ; The time to wait before disconecting an unresponsive paused client.
299 ; A client can be paused when the file selection dialog is open during file upload.
300 ; This gives extra time to find files via the dialog but will still disconnect if
301 ; the client crashes or loses its network connection
302 ; The time is in seconds. The default is five minutes.
303 ;
304 ;PausedAckTimeout = 300
305
306
307[Appearance]
308 ; Persist avatar baked textures
309 ; Persisting baked textures can speed up login and region border
310 ; crossings especially with large numbers of users, though it
311 ; will store potentially large numbers of textures in your asset
312 ; database
313 PersistBakedTextures = false
314
315 ; Control the delay before appearance is sent to other avatars and
316 ; saved in the avatar service. Attempts to limit the impact caused
317 ; by the very chatty dialog that sets appearance when an avatar
318 ; logs in or teleports into a region; values are in seconds
319 DelayBeforeAppearanceSave = 5
320 DelayBeforeAppearanceSend = 2
321
322 ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds.
323 ; This may help with some situations where avatars are persistently grey, though it will not help
324 ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others).
325 ResendAppearanceUpdates = false
326
327 ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar
328 ; on every login
329 ReuseTextures = false
330
331
332[Attachments]
333 ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments
334 ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit
335 ; or when multiple avatars with medium level attachments login/change outfit simultaneously.
336 ; If 0 then no throttling is performed.
337 ThrottlePer100PrimsRezzed = 0
338
339
340[Textures]
341 ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible
342 ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components
343 ; (e.g. images pulled from an external HTTP address).
344 ; Reusing previously generated textures results in a much faster update on the viewer but may cause issues if the viewer didn't receive all resolutions of the texture.
345 ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted.
346 ; Hence, currently considered experimental.
347 ; Default is false.
348 ReuseDynamicTextures = false
349
350 ; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused
351 ; This is to workaround an apparent LL 3.3.4 and earlier viewer bug where such textures are not redisplayed properly when pulled from the viewer cache.
352 ; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem.
353 ; This setting only has an affect is ReuseDynamicTextures = true
354 ; Default is false
355 ReuseDynamicLowDataTextures = false
356
357
358[ODEPhysicsSettings]
359 ; ##
360 ; ## Physics stats settings ( most ignored by ubOde )
361 ;
362
363 ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule
364 ; (see http://opensimulator.org/wiki/Monitoring_Module for more details).
365 collect_stats = false
366
367 ; ##
368 ; ## Physics logging settings - logfiles are saved to *.DIF files
369 ; ##
370
371 ; default is false
372 ;physics_logging = true
373 ;; every n simulation iterations, the physics snapshot file is updated
374 ;physics_logging_interval = 50
375 ;; append to existing physics logfile, or overwrite existing logfiles?
376 ;physics_logging_append_existing_logfile = true
377
378 ;##
379 ;## World Settings
380 ;##
381
382 ; World Step size.
383 ; with legacy ODE this value needs to be close to 0.02s
384 ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load
385 ; you will need to test acording to you needs
386 ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS
387 world_stepsize = 0.01818
388 ; number of iterations of constrains solver, higher should improve results
389 ; up to a point where acumulated math errors eliminate the improvement
390 ; more steps may increase CPU load. No real gain in changing
391 world_solver_iterations = 10
392
393 ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim
394 ; defines spaces partition cells min and max sizes == 2^value
395 world_hashspace_level_low = -5
396 world_hashSpace_level_high = 12
397
398 meters_in_small_space = 29.9
399
400
401 ; ##
402 ; ## Contact properties. (the stuff that happens when things come in contact with each other)
403 ; ##
404
405 ; surface layer around geometries other geometries can sink into before generating a contact
406 world_contact_surface_layer = 0.001
407
408 ; Filtering collisions helps keep things stable physics wise, but sometimes
409 ; it can be overzealous. If you notice bouncing, chances are it's that.
410 filter_collisions = false
411
412 ; Non Moving Terrain Contact (avatar isn't moving)
413 nm_terraincontact_friction = 255.0
414 nm_terraincontact_bounce = 0.1
415 nm_terraincontact_erp = 0.1025
416
417 ; Moving Terrain Contact (avatar is moving)
418 m_terraincontact_friction = 75.0
419 m_terraincontact_bounce = 0.1
420 m_terrainContact_erp = 0.05025
421
422 ; Moving Avatar to object Contact
423 m_avatarobjectcontact_friction = 75.0
424 m_avatarobjectcontact_bounce = 0.1
425
426 ; Object to Object Contact and Non-Moving Avatar to object
427 objectcontact_friction = 250.0
428 objectcontact_bounce = 0.2
429
430 ; ##
431 ; ## Avatar Control
432 ; ##
433
434 ; PID Controller Settings. These affect the math that causes the avatar to reach the
435 ; desired velocity
436 ; See http://en.wikipedia.org/wiki/PID_controller
437
438 av_pid_derivative = 2200.0
439 av_pid_proportional = 900.0
440
441 ; specifies if the capsule should be tilted (=true; old compatibility mode)
442 ; or straight up-and-down (=false; better and more consistent physics behavior)
443 av_capsule_tilted = false
444
445 ; Movement. Smaller is faster.
446
447 ; speed of movement with Always Run off
448 av_movement_divisor_walk = 1.3
449
450 ; speed of movement with Always Run on
451 av_movement_divisor_run = 0.8
452
453 ; When the avatar flies, it will be moved up by this amount off the ground (in meters)
454 minimum_ground_flight_offset = 3.0
455
456 ; Plant avatar. This reduces the effect of physical contacts with the avatar.
457 ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive.
458 ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active
459 ; will lock the avatar in place
460 av_planted = false
461
462 ; No Avatar Avatar Collissions. This causes avatar to be able to walk through each other as if they're ghosts but still interact with the environment
463 av_av_collisions_off = false
464
465 ; ##
466 ; ## Object options
467 ; ##
468
469 ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep
470 body_frames_auto_disable = 20
471
472 ; used to control llMove2Target
473 body_pid_derivative = 35
474 body_pid_gain = 25
475
476 ; maximum number of contact points to generate per collision
477 contacts_per_collision = 80
478
479 ; start throttling the object updates if object comes in contact with 3 or more other objects
480 geom_contactpoints_start_throttling = 3
481
482 ; send 1 update for every x updates below when throttled
483 geom_updates_before_throttled_update = 15
484
485 ; ##
486 ; ## Sculpted Prim settings
487 ; ##
488
489 ; Do we want to mesh sculpted prim to collide like they look?
490 ; If you are seeing sculpt texture decode problems
491 ; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception")
492 ; then you might want to try setting this to false.
493 mesh_sculpted_prim = true
494
495 ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies
496 mesh_lod = 32
497
498 ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies
499 mesh_physical_lod = 16
500
501 ; ##
502 ; ## additional meshing options
503 ; ##
504
505 ; Physics needs to create internal meshs (or convert the object meshs or scultps)
506 ; for all prims except simple boxes and spheres.
507
508 ; collisions of small objects againts larger ones can have a increased CPU load cost
509 ; so this are represented by a simple BOX
510 ; if all their scale dimensions are lower or equal to this option. Default is 0.1m
511 ; (ubOde only)
512 ; MinSizeToMeshmerize = 0.1
513
514
515[BulletSim]
516 ; There are two bullet physics libraries, bulletunmanaged is the default and is a
517 ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality
518 ; but the c++ one is much faster.
519 BulletEngine = "bulletunmanaged"
520 ; BulletEngine = "bulletxna"
521
522 ; BulletSim can run on its own thread independent of the simulator's heartbeat
523 ; thread. Enabling this will not let the physics engine slow down avatar movement, etc.
524 UseSeparatePhysicsThread = false
525
526 ; Terrain implementation can use either Bullet's heightField or BulletSim can build
527 ; a mesh. 0=heightField, 1=mesh
528 TerrainImplementation = 0
529 ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield
530 ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher
531 ; magnifications use lots of memory.
532 TerrainMeshMagnification = 2
533
534 ; Should avatars collide with each other?
535 AvatarToAvatarCollisionsByDefault = true
536
537 ; Default linkset implmentation
538 ; 'Constraint' uses physics constraints to hold linkset together. 'Compound'
539 ; builds a compound shape from the children shapes to create a single physical
540 ; shape. 'Compound' uses a lot less CPU time.
541 LinkImplementation = 1 ; 0=constraint, 1=compound
542
543 ; If 'true', offset a linkset's origin based on mass of linkset parts.
544 LinksetOffsetCenterOfMass = false
545
546 ; If 'true', turn scuplties into meshes
547 MeshSculptedPrim = true
548
549 ; If 'true', force simple prims (box and sphere) to be meshed
550 ; If 'false', the Bullet native special case shape is used for square rectangles
551 ; and even dimensioned spheres.
552 ForceSimplePrimMeshing = false
553
554 ; If 'true', when creating meshes, remove all triangles that have two equal vertexes.
555 ; Happens often in sculpties. If turned off, there will be some doorways
556 ; that cannot be walked through.
557 ShouldRemoveZeroWidthTriangles = true
558
559 ; If 'true', use convex hull definition in mesh asset if present.
560 ShouldUseAssetHulls = true
561
562 ; If there are thousands of physical objects, these maximums should be increased.
563 MaxCollisionsPerFrame = 2048
564 MaxUpdatesPerFrame = 8192
565
566 ; Detailed physics debug logging. Very verbose.
567 PhysicsLoggingEnabled = False
568 PhysicsLoggingDir = "."
569 VehicleLoggingEnabled = False
570
571
572[Sun]
573 ; send a Sun update every update_interval # of frames. A lower number will
574 ; make for smoother sun transition at the cost of network
575 ;update_interval = 100
576
577
578[Wind]
579 ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second
580 wind_update_rate = 150
581
582 ; The Default Wind Plugin to load
583 wind_plugin = SimpleRandomWind
584
585
586[Cloud]
587 ; update interval for the cloud cover data returned by llCloud().
588 ; default is 1000
589 cloud_update_rate = 1000
590
591
592[Trees]
593 ; active_trees allows module to change its trees in time.
594 ; some will be deleted, others created and rest may grow
595 ; default is false. You can change it with console command tree active true | false later
596 active_trees = false
597 ; the trees change execution time rate (in ms)
598 update_rate = 1000
599
600 ; allow the trees to grow.
601 ; DANGER
602 ; this option causes high network use on the order of
603 ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second
604 allowGrow = false
605
606
607[LL-Functions]
608 ; Maximum number of llListen events we allow over the entire region.
609 ; Set this to 0 to have no limit imposed
610 max_listens_per_region = 1000
611
612 ; Maximum number of llListen events we allow per script
613 ; Set this to 0 to have no limit imposed.
614 max_listens_per_script = 64
615
616 ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL())
617 max_external_urls_per_simulator = 100
618
619 ; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes.
620 ; Speeds up calculations but can make them inaccurate, in some cases very inaccurate.
621 UseSimpleBoxesInGetBoundingBox = false
622
623 ; Use llCastRay V3 if true.
624 ; Implements llCastRay similar but not identical to Second Life.
625 ; See http://wiki.secondlife.com/wiki/LlCastRay .
626 ; NEW
627 ; Meshes prims for good accuracy in ray hit detection,
628 ; handling basic and tortured prims, sculpts and meshes.
629 ; Uses ellipsoid, correctly sized avatar capsules.
630 ; Handles complex terrain, multi-prim objects and seated avatars.
631 ; Implements throttling and the status codes
632 ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED,
633 ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW.
634 ; WARNING
635 ; Can be faster on some servers and scenes, but slower on others,
636 ; compared to previous version of llCastRay in OpenSimulator.
637 ; Is in most cases considerably slower than llCastRay in Second Life.
638 ; Generates geometry meshes and can therefore use much system resources.
639 UseLlCastRayV3 = false
640
641 ; Accepted calculation precision error in calculations in llCastRay V3
642 FloatToleranceInLlCastRay = 0.00001
643
644 ; Accepted distance difference between duplicate hits in llCastRay V3
645 FloatTolerance2InLlCastRay = 0.001
646
647 ; Detail level when rendering prims in llCastRay V3
648 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
649 PrimDetailLevelInLlCastRay = 1
650
651 ; Detail level when rendering sculpts in llCastRay V3
652 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
653 SculptDetailLevelInLlCastRay = 1
654
655 ; Detail level when rendering meshes in llCastRay V3
656 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
657 MeshDetailLevelInLlCastRay = 3
658
659 ; Detail level when rendering avatar capsules in llCastRay V3
660 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
661 AvatarDetailLevelInLlCastRay = 1
662
663 ; Maximum number of returned hits from llCastRay V3
664 MaxHitsInLlCastRay = 16
665
666 ; Maximum number of returned hits per prim from llCastRay V3
667 MaxHitsPerPrimInLlCastRay = 16
668
669 ; Maximum number of returned hits per object from llCastRay V3
670 MaxHitsPerObjectInLlCastRay = 16
671
672 ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true
673 DetectExitHitsInLlCastRay = false
674
675 ; Detect attachments in llCastRay V3 if true
676 DoAttachmentsInLlCastRay = false
677
678 ; Throttle period length in ms before which all old llCastRay use is discarded in llCastRay V3
679 ; The sum of AvailableTimeInMsPerRegionInLlCastRay and all AvailableTimeInMsPerAvatarInLlCastRay should not exceed this
680 ThrottleTimeInMsInLlCastRay = 200
681
682 ; Available time in ms for llCastRay per throttle period and 65536 m2 land area in llCastRay V3
683 AvailableTimeInMsPerRegionInLlCastRay = 40
684
685 ; Available time in ms for llCastRay per throttle period and avatar when script in attachment or vehicle in llCastRay V3
686 AvailableTimeInMsPerAvatarInLlCastRay = 10
687
688 ; Required available time in ms left to perform a new llCastRay in llCastRay V3
689 RequiredAvailableTimeInMsInLlCastRay = 2
690
691 ; Maximum available time in ms possible in llCastRay V3, not to get too high values with varregions
692 MaximumAvailableTimeInMsInLlCastRay = 40
693
694 ; Use cached meshes in llCastRay V3 if true
695 ; Improves performance but uses more memory
696 UseMeshCacheInLlCastRay = true
697
698
699[XEngine]
700 ; How many threads to keep alive even if nothing is happening
701 MinThreads = 2
702
703 ; How many threads to start at maximum load
704 MaxThreads = 100
705
706 ; Time a thread must be idle (in seconds) before it dies
707 IdleTimeout = 60
708
709 ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest")
710 Priority = "BelowNormal"
711
712 ; Maximum number of events to queue for a script (excluding timers)
713 MaxScriptEventQueue = 300
714
715 ; Stack size per thread created
716 ThreadStackSize = 262144
717
718 ; Set this to true to load each script into a separate
719 ; AppDomain. Setting this to false will load all script assemblies into the
720 ; current AppDomain, which will reduce the initial per-script memory overhead,
721 ; but deleted scripts stay inactive using memory.
722 ; Significantly improving script loading times.
723 ; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted.
724 ; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region.
725 ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited.
726 ; At this time some mono versions seem to have problems with the true option,
727 ; so default is now false until a fix is found, to simply life of less technical skilled users.
728 AppDomainLoading = false
729
730 ; Controls whether previously compiled scripts DLLs are deleted on sim restart.
731 ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled.
732 ; It should be true on first run after updating opensim binary version
733 ; after first run you can change to false.
734 ; You can also set it to false and delete the script DLLs by hand
735 ; This does not delete cached scripts state.
736 DeleteScriptsOnStartup = true
737
738 ; CompactMemOnLoad
739 ; forces calls to memory garbage collector before loading each script DLL during region startup.
740 ; Peak memory usage is reduced and region starts with a more compacted memory allocation.
741 ; But this costs a lot of time, so region load will take a lot longer.
742 ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true)
743 ; CompactMemOnLoad = false
744
745 ; Controls whether scripts are stopped by aborting their threads externally (abort)
746 ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op).
747 ; co-op will be more stable as aborting threads can cause instability.
748 ; abort was the default option in OpenSimulator 0.8 and before.
749 ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary.
750 ; However, the setting change will not take affect until the next time you restart the simulator.
751 ; Setting changes will not affect state information stored for scripts.
752 ScriptStopStrategy = co-op
753
754 ; Rate to poll for asynchronous command replies (ms)
755 ; currently unused
756 ;AsyncLLCommandLoopms = 50
757
758 ; Compile debug info (line numbers) into the script assemblies
759 CompileWithDebugInformation = true
760
761 ; Interval (s) between background save of script states
762 SaveInterval = 120
763
764 ; Interval (s) between maintenance runs (0 = disable)
765 MaintenanceInterval = 10
766
767 ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested
768 ; before aborting the thread (such as when an object containing scripts is taken into inventory).
769 WaitForEventCompletionOnScriptStop = 1000
770
771 ; Minimum settable timer interval. Any timer setting less than this is
772 ; rounded up to this minimum interval.
773 MinTimerInterval = 0.5
774
775 ; Sensor settings
776 SensorMaxRange = 96.0
777 SensorMaxResults = 16
778
779
780[Groups]
781 ; Groups data is cached for this number of seconds before another request is made to the groups service
782 ; Set to 0 to disable the cache.
783 ; Default is 30 seconds
784 GroupsCacheTimeout = 30
785
786
787[PacketPool]
788 ;RecyclePackets = true
789 ;RecycleDataBlocks = true
790
791 ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets.
792 ; This reduces data churn
793 RecycleBaseUDPPackets = true
794
795
796[InterestManagement]
797 ; This section controls how state updates are prioritized for each client
798 ; Valid values are BestAvatarResponsiveness, Time, Distance,
799 ; SimpleAngularDistance, and FrontBack
800 UpdatePrioritizationScheme = BestAvatarResponsiveness
801 ReprioritizationEnabled = true
802 ReprioritizationInterval = 2000.0
803 RootReprioritizationDistance = 10.0
804 ChildReprioritizationDistance = 20.0
805
806 ; TEST OPTION KEEP AS FALSE
807 ; if true, don't send object updates if outside view range
808 ObjectsCullingByDistance = false
809
810 ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region
811 ; Updates will always be sent to the avatar that the update addresses and if av velocity is effectively zero (to prevent drift due to missing updates).
812 ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars.
813 RootTerseUpdatePeriod = 0
814
815 ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region
816 ; n > 1 will reduce UDP traffic but may lead to laggier movement observed in other avatars, though values up to 4 may not generate a noticeable effect.
817 ChildTerseUpdatePeriod = 0
818
819 ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance
820 RootPositionUpdateTolerance = 0.05
821
822 ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance
823 RootRotationUpdateTolerance = 0.1
824
825 ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance
826 RootVelocityUpdateTolerance = 0.001
827
828
829[Statistics]
830 ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames
831 ; to include in the averaging calculations
832 NumberOfFrames=10
833
834
835[Terrain]
836 ; If 'true' each avatar is only sent terrain patches within their view distance
837 ; This also changes the region terrain loading from 'lawn mower' to ordered around
838 ; the avatar outward.
839 SendTerrainUpdatesByViewDistance = True
840
841
842[LandManagement]
843 ; When editing terrain or objects, parcel layer info is updated in the viewer.
844 ; This can be expensive for large regions. If this variable is 'true', only the
845 ; parcel layer data around the area of interest is sent. The parcel layer info
846 ; is sent for 'ParcelLayerViewDistance' around the interest point.
847 ; If 'ParcelLayerViewDistance' is >= 128, the operation for legacy sized regions
848 ; will be what it has always been (send the whole region's parcel layer info).
849 ; Other parcel updates (login, changing parcel ownership, ...) will still send
850 ; whole region.
851 LimitParcelLayerUpdateDistance = true
852 ParcelLayerViewDistance = 128
853
854
855;; If you are using a simian grid frontend you can enable
856;; this module to upload tile images for the mapping fn
857;;
858[SimianGridMaptiles]
859 RefreshTime = 3600
860
861
862;;
863;; These are defaults that are overwritten below in [Architecture].
864;; These defaults allow OpenSim to work out of the box with
865;; zero configuration
866;;
867[AssetService]
868 ; Disable this to prevent the default asset set from being inserted into the
869 ; asset store each time the region starts
870 AssetLoaderEnabled = true
871
872
873[AutoBackupModule]
874 ;; default is module is disabled at the top level
875 AutoBackupModuleEnabled = false
876
877
878[ServiceThrottle]
879 ;; Default time interval (in ms) for the throttle service thread to wake up
880 Interval = 5000
881
882
883[Materials]
884 MaxMaterialsPerTransaction = 50
diff --git a/bin/config-include/SimFast.ini b/bin/config-include/SimFast.ini
new file mode 100644
index 0000000..40d3cc1
--- /dev/null
+++ b/bin/config-include/SimFast.ini
@@ -0,0 +1,884 @@
1[Startup]
2 ; ##
3 ; ## SYSTEM
4 ; ##
5
6 ; Sets the method that OpenSim will use to fire asynchronous
7 ; events. Valid values are UnsafeQueueUserWorkItem,
8 ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread.
9 ;
10 ; SmartThreadPool is reported to work well on Mono/Linux, but
11 ; UnsafeQueueUserWorkItem has been benchmarked with better
12 ; performance on .NET/Windows
13 ;
14 ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security
15 ; privileges. However, as calling code is trusted anyway this is safe (if you set
16 ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons).
17 async_call_method = SmartThreadPool
18
19 ; Max threads to allocate on the FireAndForget thread pool
20 ; when running with the SmartThreadPool option above
21 MaxPoolThreads = 300
22
23 ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently.
24 ; This improves performance in regions with large numbers of connections (in the hundreds).
25 JobEngineEnabled = true
26
27 ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos
28 ; Increasing this number will increase memory usage.
29 MaxPrimUndos = 42
30
31 ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum
32 ; This can be overridden in the region config file.
33 ClampPrimSize = true
34
35 ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative.
36 ClampNegativeZ = true
37
38 ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region.
39 ; This only applies when crossing to a region running in a different simulator.
40 ; For crossings where the regions are on the same simulator the script is always kept running.
41 AllowScriptCrossing = true
42
43 ; Main Frame time
44 ; This defines the rate of several simulation events.
45 ; Default value should meet most needs.
46 ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads.
47 ; It should not be less than the physics engine step time.
48 ; Being a integer multiple of it may reduce some jitter in reported physics FPS.
49 ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same
50 FrameTime = 0.0909
51
52 ; Send scheduled updates to objects in the scene
53 ; This must be a whole number
54 UpdateObjectsEveryNFrames = 1
55
56 ; Send position/velocity, etc. updates to agents in the scene
57 ; This must be a whole number
58 UpdateAgentsEveryNFrames = 1
59
60 ; Apply pending forces from physics calculations to an entity.
61 ; This must be a whole number
62 UpdateEntityMovementEveryNFrames = 1
63
64 ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap.
65 ; This must be a whole number
66 UpdateCoarseLocationsEveryNFrames = 50
67
68 ; Physics simulation execution or syncronization, acording to engine. Should be 1
69 ; This must be a whole number
70 UpdatePhysicsEveryNFrames = 1
71
72 ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1.
73 ; This must be a whole number
74 UpdateEventsEveryNFrames = 1
75
76 ; Send terrain updates to viewers
77 ; This must be a whole number
78 UpdateTerrainEveryNFrames = 50
79
80 ; Persitently store any objects which meet the PRIM STORAGE criteria
81 ; This must be a whole number
82 UpdateStorageEveryNFrames = 200
83
84 ; Clean up temp on rez objects.
85 ; This must be a whole number
86 UpdateTempCleaningEveryNSeconds = 180
87
88 ; ##
89 ; ## PRIM STORAGE
90 ; ##
91
92 ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to
93 ; prevent frequently changing objects from heavily loading the region data store.
94 ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep.
95 ;
96 ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds
97 MinimumTimeBeforePersistenceConsidered = 60
98 ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago
99 MaximumTimeBeforePersistenceConsidered = 600
100
101 ; ##
102 ; ## PHYSICS
103 ; ##
104
105 ; Select a mesher here.
106 ;
107 ; Meshmerizer properly handles complex prims by using triangle meshes.
108 ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way
109 ;
110 ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports
111 ; Usually this is only a box
112
113 ;meshing = Meshmerizer
114 ;meshing = ZeroMesher
115 ;; select ubODEMeshmerizer only with ubOde physics engine
116 meshing = ubODEMeshmerizer
117
118 ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit
119 ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions
120 ; edit the line ulimit -s 262144, and change this last value
121
122 ; if you use Meshmerizer and want sculpt map collisions, setting this to
123 ; to true will store decoded sculpt maps in a special folder in your bin
124 ; folder, which can reduce startup times by reducing asset requests. Some
125 ; versions of mono dont work well when reading the cache files, so set this
126 ; to false if you have compatibility problems.
127 CacheSculptMaps = true
128
129 ;; BulletSim is the default physics engine. It provides the best performance and most functionality.
130 ;; BulletSim supports varregions.
131 ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before.
132 ;; It continues to provide a workable physics implementation. It does not currently support varregions.
133 ;; basicphysics effectively does not model physics at all, making all objects phantom.
134 ;; Default is BulletSim
135 ;physics = BulletSim
136 ;physics = modified_BulletX
137 ;physics = OpenDynamicsEngine
138 ;physics = basicphysics
139 ;physics = POS
140 ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also
141 physics = ubODE
142
143 ; ##
144 ; ## SCRIPT ENGINE
145 ; ##
146
147 ;; Default script engine to use. Currently, we only have XEngine
148 DefaultScriptEngine = "XEngine"
149
150 ; Image decoding. Use CSJ2K for layer boundary decoding if true,
151 ; OpenJPEG if false
152 ; UseCSJ2K = true
153
154
155[Map]
156 ; Map tile options.
157 ; If true, then maptiles are generated using the MapImageModule below.
158 ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden
159 ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need
160 ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/
161 GenerateMaptiles = false
162
163 ;WorldMapModule = "WorldMap"
164
165 ; The module to use in order to generate map images.
166 ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can
167 ; generate better images.
168 MapImageModule = "Map3DImageModule"
169
170 ; World map blacklist timeout in seconds
171 ;BlacklistTimeout = 600
172
173 ; Refresh (in seconds) the map tile periodically
174 MaptileRefresh = 0
175
176 ; If not generating maptiles, use this static texture asset ID
177 MaptileStaticUUID = "00000000-0000-0000-0000-000000000000"
178
179 ; Draw objects on maptile. This step might take a long time if you've got a large number of
180 ; objects, so you can turn it off here if you'd like.
181 DrawPrimOnMapTile = false
182
183 ; Use terrain texture for maptiles if true, use shaded green if false
184 TextureOnMapTile = false
185
186 ; Texture prims
187 TexturePrims = false
188
189 ; Only texture prims that have a diagonal size greater than this number
190 TexturePrimSize = 64
191
192 ; Attempt to render meshes and sculpties on the map
193 RenderMeshes = false
194
195 UseAntiAliasing = false
196
197
198[Network]
199 ; OpenSim can send multiple simultaneous requests for services such as asset
200 ; retrieval. However, some versions of mono appear to hang when there are too
201 ; many simultaneous requests, default is 30 and is currently applied only to assets
202 ;MaxRequestConcurrency = 30
203
204
205[ClientStack.LindenUDP]
206 ; The client socket receive buffer size determines how many
207 ; incoming requests we can process; the default on .NET is 8192
208 ; which is about 2 4k-sized UDP datagrams. On mono this is
209 ; whatever the underlying operating system has as default; for
210 ; example, ubuntu 8.04 or SLES11 have about 111k, which is about
211 ; 27 4k-sized UDP datagrams (on linux platforms you can [as root]
212 ; do "sysctl net.core.rmem_default" to find out what your system
213 ; uses a default socket receive buffer size.
214 ;
215 ; client_socket_rcvbuf_size allows you to specify the receive
216 ; buffer size LLUDPServer should use. NOTE: this will be limited
217 ; by the system's settings for the maximum client receive buffer
218 ; size (on linux systems you can set that with "sysctl -w
219 ; net.core.rmem_max=X")
220 ;
221 ;client_socket_rcvbuf_size = 8388608
222
223 ; Maximum outbound bytes per second for a single scene. This can be used to
224 ; throttle total outbound UDP traffic for a simulator. The default value is
225 ; 0, meaning no throttling at the scene level. The example given here is
226 ; 20 megabits
227 ;
228 ;scene_throttle_max_bps = 2500000
229
230 ; Maximum bytes per second to send to any single client. This will override
231 ; the user's viewer preference settings. The default value is 0, meaning no
232 ; aggregate throttling on clients (only per-category throttling). The
233 ; example given here is 1.5 megabits
234 ;
235 ;client_throttle_max_bps = 187500
236
237 ; Minimum bytes per second to send to any single client as a result of
238 ; adaptive throttling. Viewer preferences set to a lower number will
239 ; override the settin. The example given here ensures that adaptive
240 ; throttling will never decrease per client bandwidth below 256 kbps.
241 ;
242 ;adaptive_throttle_min_bps = 32000
243
244 ; Adaptive throttling attempts to limit network overload when multiple
245 ; clients login by starting each connection more slowly. Disabled by
246 ; default
247 ;
248 enable_adaptive_throttles = false
249
250 ; Per-client bytes per second rates for the various throttle categories.
251 ; These are default values that will be overridden by clients. These
252 ; defaults are approximately equivalent to the throttles set by the Imprudence
253 ; viewer when maximum bandwidth is set to 350kbps
254
255 ;resend_default = 6625
256 ;land_default = 9125
257 ;wind_default = 1750
258 ;cloud_default = 1750
259 ;task_default = 18500
260 ;texture_default = 18500
261 ;asset_default = 10500
262
263 ; Configures how ObjectUpdates are aggregated. These numbers
264 ; do not literally mean how many updates will be put in each
265 ; packet that goes over the wire, as packets are
266 ; automatically split on a 1400 byte boundary. These control
267 ; the balance between responsiveness of interest list updates
268 ; and total throughput. Higher numbers will ensure more full-
269 ; sized packets and faster sending of data, but more delay in
270 ; updating interest lists
271 ;
272 ;PrimUpdatesPerCallback = 100
273
274 ; TextureSendLimit determines how many packets will be put on
275 ; the outgoing queue each cycle. Like the settings above, this
276 ; is a balance between responsiveness to priority updates and
277 ; total throughput. Higher numbers will give a better
278 ; throughput at the cost of reduced responsiveness to client
279 ; priority changes or transfer aborts
280 ;
281 ;TextureSendLimit = 20
282
283 ; CannibalizeTextureRate allows bandwidth to be moved from the
284 ; UDP texture throttle to the task throttle. Since most viewers
285 ; use HTTP textures, this provides a means of using what is largely
286 ; unused bandwidth in the total throttle. The value is the proportion
287 ; of the texture rate to move to the task queue. It must be between
288 ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the
289 ; bandwidth is grabbed)
290 ;
291 ; CannibalizeTextureRate = 0.5
292
293 ; The time to wait before disconecting an unresponsive client.
294 ; The time is in seconds. The default is one minute
295 ;
296 ;AckTimeout = 60
297
298 ; The time to wait before disconecting an unresponsive paused client.
299 ; A client can be paused when the file selection dialog is open during file upload.
300 ; This gives extra time to find files via the dialog but will still disconnect if
301 ; the client crashes or loses its network connection
302 ; The time is in seconds. The default is five minutes.
303 ;
304 ;PausedAckTimeout = 300
305
306
307[Appearance]
308 ; Persist avatar baked textures
309 ; Persisting baked textures can speed up login and region border
310 ; crossings especially with large numbers of users, though it
311 ; will store potentially large numbers of textures in your asset
312 ; database
313 PersistBakedTextures = false
314
315 ; Control the delay before appearance is sent to other avatars and
316 ; saved in the avatar service. Attempts to limit the impact caused
317 ; by the very chatty dialog that sets appearance when an avatar
318 ; logs in or teleports into a region; values are in seconds
319 DelayBeforeAppearanceSave = 5
320 DelayBeforeAppearanceSend = 2
321
322 ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds.
323 ; This may help with some situations where avatars are persistently grey, though it will not help
324 ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others).
325 ResendAppearanceUpdates = false
326
327 ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar
328 ; on every login
329 ReuseTextures = true
330
331
332[Attachments]
333 ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments
334 ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit
335 ; or when multiple avatars with medium level attachments login/change outfit simultaneously.
336 ; If 0 then no throttling is performed.
337 ThrottlePer100PrimsRezzed = 0
338
339
340[Textures]
341 ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible
342 ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components
343 ; (e.g. images pulled from an external HTTP address).
344 ; Reusing previously generated textures results in a much faster update on the viewer but may cause issues if the viewer didn't receive all resolutions of the texture.
345 ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted.
346 ; Hence, currently considered experimental.
347 ; Default is false.
348 ReuseDynamicTextures = true
349
350 ; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused
351 ; This is to workaround an apparent LL 3.3.4 and earlier viewer bug where such textures are not redisplayed properly when pulled from the viewer cache.
352 ; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem.
353 ; This setting only has an affect is ReuseDynamicTextures = true
354 ; Default is false
355 ReuseDynamicLowDataTextures = true
356
357
358[ODEPhysicsSettings]
359 ; ##
360 ; ## Physics stats settings ( most ignored by ubOde )
361 ;
362
363 ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule
364 ; (see http://opensimulator.org/wiki/Monitoring_Module for more details).
365 collect_stats = false
366
367 ; ##
368 ; ## Physics logging settings - logfiles are saved to *.DIF files
369 ; ##
370
371 ; default is false
372 ;physics_logging = true
373 ;; every n simulation iterations, the physics snapshot file is updated
374 ;physics_logging_interval = 50
375 ;; append to existing physics logfile, or overwrite existing logfiles?
376 ;physics_logging_append_existing_logfile = true
377
378 ;##
379 ;## World Settings
380 ;##
381
382 ; World Step size.
383 ; with legacy ODE this value needs to be close to 0.02s
384 ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load
385 ; you will need to test acording to you needs
386 ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS
387 world_stepsize = 0.015
388 ; number of iterations of constrains solver, higher should improve results
389 ; up to a point where acumulated math errors eliminate the improvement
390 ; more steps may increase CPU load. No real gain in changing
391 world_solver_iterations = 10
392
393 ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim
394 ; defines spaces partition cells min and max sizes == 2^value
395 world_hashspace_level_low = -5
396 world_hashSpace_level_high = 12
397
398 meters_in_small_space = 29.9
399
400
401 ; ##
402 ; ## Contact properties. (the stuff that happens when things come in contact with each other)
403 ; ##
404
405 ; surface layer around geometries other geometries can sink into before generating a contact
406 world_contact_surface_layer = 0.001
407
408 ; Filtering collisions helps keep things stable physics wise, but sometimes
409 ; it can be overzealous. If you notice bouncing, chances are it's that.
410 filter_collisions = false
411
412 ; Non Moving Terrain Contact (avatar isn't moving)
413 nm_terraincontact_friction = 255.0
414 nm_terraincontact_bounce = 0.1
415 nm_terraincontact_erp = 0.1025
416
417 ; Moving Terrain Contact (avatar is moving)
418 m_terraincontact_friction = 75.0
419 m_terraincontact_bounce = 0.05
420 m_terrainContact_erp = 0.05025
421
422 ; Moving Avatar to object Contact
423 m_avatarobjectcontact_friction = 75.0
424 m_avatarobjectcontact_bounce = 0.1
425
426 ; Object to Object Contact and Non-Moving Avatar to object
427 objectcontact_friction = 250.0
428 objectcontact_bounce = 0.2
429
430 ; ##
431 ; ## Avatar Control
432 ; ##
433
434 ; PID Controller Settings. These affect the math that causes the avatar to reach the
435 ; desired velocity
436 ; See http://en.wikipedia.org/wiki/PID_controller
437
438 av_pid_derivative = 2200.0
439 av_pid_proportional = 900.0
440
441 ; specifies if the capsule should be tilted (=true; old compatibility mode)
442 ; or straight up-and-down (=false; better and more consistent physics behavior)
443 av_capsule_tilted = false
444
445 ; Movement. Smaller is faster.
446
447 ; speed of movement with Always Run off
448 av_movement_divisor_walk = 1.4
449
450 ; speed of movement with Always Run on
451 av_movement_divisor_run = 0.9
452
453 ; When the avatar flies, it will be moved up by this amount off the ground (in meters)
454 minimum_ground_flight_offset = 3.0
455
456 ; Plant avatar. This reduces the effect of physical contacts with the avatar.
457 ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive.
458 ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active
459 ; will lock the avatar in place
460 av_planted = true
461
462 ; No Avatar Avatar Collissions. This causes avatar to be able to walk through each other as if they're ghosts but still interact with the environment
463 av_av_collisions_off = true
464
465 ; ##
466 ; ## Object options
467 ; ##
468
469 ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep
470 body_frames_auto_disable = 20
471
472 ; used to control llMove2Target
473 body_pid_derivative = 35
474 body_pid_gain = 25
475
476 ; maximum number of contact points to generate per collision
477 contacts_per_collision = 80
478
479 ; start throttling the object updates if object comes in contact with 3 or more other objects
480 geom_contactpoints_start_throttling = 3
481
482 ; send 1 update for every x updates below when throttled
483 geom_updates_before_throttled_update = 15
484
485 ; ##
486 ; ## Sculpted Prim settings
487 ; ##
488
489 ; Do we want to mesh sculpted prim to collide like they look?
490 ; If you are seeing sculpt texture decode problems
491 ; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception")
492 ; then you might want to try setting this to false.
493 mesh_sculpted_prim = false
494
495 ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies
496 mesh_lod = 32
497
498 ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies
499 mesh_physical_lod = 16
500
501 ; ##
502 ; ## additional meshing options
503 ; ##
504
505 ; Physics needs to create internal meshs (or convert the object meshs or scultps)
506 ; for all prims except simple boxes and spheres.
507
508 ; collisions of small objects againts larger ones can have a increased CPU load cost
509 ; so this are represented by a simple BOX
510 ; if all their scale dimensions are lower or equal to this option. Default is 0.1m
511 ; (ubOde only)
512 ; MinSizeToMeshmerize = 0.1
513
514
515[BulletSim]
516 ; There are two bullet physics libraries, bulletunmanaged is the default and is a
517 ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality
518 ; but the c++ one is much faster.
519 ;BulletEngine = "bulletunmanaged"
520 BulletEngine = "bulletxna"
521
522 ; BulletSim can run on its own thread independent of the simulator's heartbeat
523 ; thread. Enabling this will not let the physics engine slow down avatar movement, etc.
524 UseSeparatePhysicsThread = true
525
526 ; Terrain implementation can use either Bullet's heightField or BulletSim can build
527 ; a mesh. 0=heightField, 1=mesh
528 TerrainImplementation = 0
529 ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield
530 ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher
531 ; magnifications use lots of memory.
532 TerrainMeshMagnification = 1
533
534 ; Should avatars collide with each other?
535 AvatarToAvatarCollisionsByDefault = false
536
537 ; Default linkset implmentation
538 ; 'Constraint' uses physics constraints to hold linkset together. 'Compound'
539 ; builds a compound shape from the children shapes to create a single physical
540 ; shape. 'Compound' uses a lot less CPU time.
541 LinkImplementation = 1 ; 0=constraint, 1=compound
542
543 ; If 'true', offset a linkset's origin based on mass of linkset parts.
544 LinksetOffsetCenterOfMass = false
545
546 ; If 'true', turn scuplties into meshes
547 MeshSculptedPrim = false
548
549 ; If 'true', force simple prims (box and sphere) to be meshed
550 ; If 'false', the Bullet native special case shape is used for square rectangles
551 ; and even dimensioned spheres.
552 ForceSimplePrimMeshing = true
553
554 ; If 'true', when creating meshes, remove all triangles that have two equal vertexes.
555 ; Happens often in sculpties. If turned off, there will be some doorways
556 ; that cannot be walked through.
557 ShouldRemoveZeroWidthTriangles = true
558
559 ; If 'true', use convex hull definition in mesh asset if present.
560 ShouldUseAssetHulls = true
561
562 ; If there are thousands of physical objects, these maximums should be increased.
563 MaxCollisionsPerFrame = 2048
564 MaxUpdatesPerFrame = 8192
565
566 ; Detailed physics debug logging. Very verbose.
567 PhysicsLoggingEnabled = False
568 PhysicsLoggingDir = "."
569 VehicleLoggingEnabled = False
570
571
572[Sun]
573 ; send a Sun update every update_interval # of frames. A lower number will
574 ; make for smoother sun transition at the cost of network
575 ;update_interval = 100
576
577
578[Wind]
579 ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second
580 wind_update_rate = 150
581
582 ; The Default Wind Plugin to load
583 wind_plugin = SimpleRandomWind
584
585
586[Cloud]
587 ; update interval for the cloud cover data returned by llCloud().
588 ; default is 1000
589 cloud_update_rate = 1000
590
591
592[Trees]
593 ; active_trees allows module to change its trees in time.
594 ; some will be deleted, others created and rest may grow
595 ; default is false. You can change it with console command tree active true | false later
596 active_trees = false
597 ; the trees change execution time rate (in ms)
598 update_rate = 1000
599
600 ; allow the trees to grow.
601 ; DANGER
602 ; this option causes high network use on the order of
603 ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second
604 allowGrow = false
605
606
607[LL-Functions]
608 ; Maximum number of llListen events we allow over the entire region.
609 ; Set this to 0 to have no limit imposed
610 max_listens_per_region = 0
611
612 ; Maximum number of llListen events we allow per script
613 ; Set this to 0 to have no limit imposed.
614 max_listens_per_script = 0
615
616 ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL())
617 max_external_urls_per_simulator = 256
618
619 ; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes.
620 ; Speeds up calculations but can make them inaccurate, in some cases very inaccurate.
621 UseSimpleBoxesInGetBoundingBox = true
622
623 ; Use llCastRay V3 if true.
624 ; Implements llCastRay similar but not identical to Second Life.
625 ; See http://wiki.secondlife.com/wiki/LlCastRay .
626 ; NEW
627 ; Meshes prims for good accuracy in ray hit detection,
628 ; handling basic and tortured prims, sculpts and meshes.
629 ; Uses ellipsoid, correctly sized avatar capsules.
630 ; Handles complex terrain, multi-prim objects and seated avatars.
631 ; Implements throttling and the status codes
632 ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED,
633 ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW.
634 ; WARNING
635 ; Can be faster on some servers and scenes, but slower on others,
636 ; compared to previous version of llCastRay in OpenSimulator.
637 ; Is in most cases considerably slower than llCastRay in Second Life.
638 ; Generates geometry meshes and can therefore use much system resources.
639 UseLlCastRayV3 = true
640
641 ; Accepted calculation precision error in calculations in llCastRay V3
642 FloatToleranceInLlCastRay = 0.00001
643
644 ; Accepted distance difference between duplicate hits in llCastRay V3
645 FloatTolerance2InLlCastRay = 0.001
646
647 ; Detail level when rendering prims in llCastRay V3
648 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
649 PrimDetailLevelInLlCastRay = 1
650
651 ; Detail level when rendering sculpts in llCastRay V3
652 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
653 SculptDetailLevelInLlCastRay = 1
654
655 ; Detail level when rendering meshes in llCastRay V3
656 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
657 MeshDetailLevelInLlCastRay = 3
658
659 ; Detail level when rendering avatar capsules in llCastRay V3
660 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
661 AvatarDetailLevelInLlCastRay = 1
662
663 ; Maximum number of returned hits from llCastRay V3
664 MaxHitsInLlCastRay = 16
665
666 ; Maximum number of returned hits per prim from llCastRay V3
667 MaxHitsPerPrimInLlCastRay = 16
668
669 ; Maximum number of returned hits per object from llCastRay V3
670 MaxHitsPerObjectInLlCastRay = 16
671
672 ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true
673 DetectExitHitsInLlCastRay = false
674
675 ; Detect attachments in llCastRay V3 if true
676 DoAttachmentsInLlCastRay = false
677
678 ; Throttle period length in ms before which all old llCastRay use is discarded in llCastRay V3
679 ; The sum of AvailableTimeInMsPerRegionInLlCastRay and all AvailableTimeInMsPerAvatarInLlCastRay should not exceed this
680 ThrottleTimeInMsInLlCastRay = 200
681
682 ; Available time in ms for llCastRay per throttle period and 65536 m2 land area in llCastRay V3
683 AvailableTimeInMsPerRegionInLlCastRay = 40
684
685 ; Available time in ms for llCastRay per throttle period and avatar when script in attachment or vehicle in llCastRay V3
686 AvailableTimeInMsPerAvatarInLlCastRay = 10
687
688 ; Required available time in ms left to perform a new llCastRay in llCastRay V3
689 RequiredAvailableTimeInMsInLlCastRay = 2
690
691 ; Maximum available time in ms possible in llCastRay V3, not to get too high values with varregions
692 MaximumAvailableTimeInMsInLlCastRay = 40
693
694 ; Use cached meshes in llCastRay V3 if true
695 ; Improves performance but uses more memory
696 UseMeshCacheInLlCastRay = true
697
698
699[XEngine]
700 ; How many threads to keep alive even if nothing is happening
701 MinThreads = 2
702
703 ; How many threads to start at maximum load
704 MaxThreads = 100
705
706 ; Time a thread must be idle (in seconds) before it dies
707 IdleTimeout = 60
708
709 ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest")
710 Priority = "Normal"
711
712 ; Maximum number of events to queue for a script (excluding timers)
713 MaxScriptEventQueue = 3000
714
715 ; Stack size per thread created
716 ThreadStackSize = 262144
717
718 ; Set this to true to load each script into a separate
719 ; AppDomain. Setting this to false will load all script assemblies into the
720 ; current AppDomain, which will reduce the initial per-script memory overhead,
721 ; but deleted scripts stay inactive using memory.
722 ; Significantly improving script loading times.
723 ; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted.
724 ; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region.
725 ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited.
726 ; At this time some mono versions seem to have problems with the true option,
727 ; so default is now false until a fix is found, to simply life of less technical skilled users.
728 AppDomainLoading = false
729
730 ; Controls whether previously compiled scripts DLLs are deleted on sim restart.
731 ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled.
732 ; It should be true on first run after updating opensim binary version
733 ; after first run you can change to false.
734 ; You can also set it to false and delete the script DLLs by hand
735 ; This does not delete cached scripts state.
736 DeleteScriptsOnStartup = false
737
738 ; CompactMemOnLoad
739 ; forces calls to memory garbage collector before loading each script DLL during region startup.
740 ; Peak memory usage is reduced and region starts with a more compacted memory allocation.
741 ; But this costs a lot of time, so region load will take a lot longer.
742 ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true)
743 CompactMemOnLoad = true
744
745 ; Controls whether scripts are stopped by aborting their threads externally (abort)
746 ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op).
747 ; co-op will be more stable as aborting threads can cause instability.
748 ; abort was the default option in OpenSimulator 0.8 and before.
749 ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary.
750 ; However, the setting change will not take affect until the next time you restart the simulator.
751 ; Setting changes will not affect state information stored for scripts.
752 ScriptStopStrategy = abort
753
754 ; Rate to poll for asynchronous command replies (ms)
755 ; currently unused
756 ;AsyncLLCommandLoopms = 50
757
758 ; Compile debug info (line numbers) into the script assemblies
759 CompileWithDebugInformation = false
760
761 ; Interval (s) between background save of script states
762 SaveInterval = 120
763
764 ; Interval (s) between maintenance runs (0 = disable)
765 MaintenanceInterval = 10
766
767 ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested
768 ; before aborting the thread (such as when an object containing scripts is taken into inventory).
769 WaitForEventCompletionOnScriptStop = 1000
770
771 ; Minimum settable timer interval. Any timer setting less than this is
772 ; rounded up to this minimum interval.
773 MinTimerInterval = 0.1
774
775 ; Sensor settings
776 SensorMaxRange = 96.0
777 SensorMaxResults = 64
778
779
780[Groups]
781 ; Groups data is cached for this number of seconds before another request is made to the groups service
782 ; Set to 0 to disable the cache.
783 ; Default is 30 seconds
784 GroupsCacheTimeout = 30
785
786
787[PacketPool]
788 ;RecyclePackets = true
789 ;RecycleDataBlocks = true
790
791 ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets.
792 ; This reduces data churn
793 RecycleBaseUDPPackets = true
794
795
796[InterestManagement]
797 ; This section controls how state updates are prioritized for each client
798 ; Valid values are BestAvatarResponsiveness, Time, Distance,
799 ; SimpleAngularDistance, and FrontBack
800 UpdatePrioritizationScheme = BestAvatarResponsiveness
801 ReprioritizationEnabled = true
802 ReprioritizationInterval = 2000.0
803 RootReprioritizationDistance = 10.0
804 ChildReprioritizationDistance = 20.0
805
806 ; TEST OPTION KEEP AS FALSE
807 ; if true, don't send object updates if outside view range
808 ObjectsCullingByDistance = false
809
810 ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region
811 ; Updates will always be sent to the avatar that the update addresses and if av velocity is effectively zero (to prevent drift due to missing updates).
812 ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars.
813 RootTerseUpdatePeriod = 0
814
815 ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region
816 ; n > 1 will reduce UDP traffic but may lead to laggier movement observed in other avatars, though values up to 4 may not generate a noticeable effect.
817 ChildTerseUpdatePeriod = 0
818
819 ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance
820 RootPositionUpdateTolerance = 0.05
821
822 ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance
823 RootRotationUpdateTolerance = 0.1
824
825 ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance
826 RootVelocityUpdateTolerance = 0.001
827
828
829[Statistics]
830 ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames
831 ; to include in the averaging calculations
832 NumberOfFrames=10
833
834
835[Terrain]
836 ; If 'true' each avatar is only sent terrain patches within their view distance
837 ; This also changes the region terrain loading from 'lawn mower' to ordered around
838 ; the avatar outward.
839 SendTerrainUpdatesByViewDistance = True
840
841
842[LandManagement]
843 ; When editing terrain or objects, parcel layer info is updated in the viewer.
844 ; This can be expensive for large regions. If this variable is 'true', only the
845 ; parcel layer data around the area of interest is sent. The parcel layer info
846 ; is sent for 'ParcelLayerViewDistance' around the interest point.
847 ; If 'ParcelLayerViewDistance' is >= 128, the operation for legacy sized regions
848 ; will be what it has always been (send the whole region's parcel layer info).
849 ; Other parcel updates (login, changing parcel ownership, ...) will still send
850 ; whole region.
851 LimitParcelLayerUpdateDistance = true
852 ParcelLayerViewDistance = 128
853
854
855;; If you are using a simian grid frontend you can enable
856;; this module to upload tile images for the mapping fn
857;;
858[SimianGridMaptiles]
859 RefreshTime = 3600
860
861
862;;
863;; These are defaults that are overwritten below in [Architecture].
864;; These defaults allow OpenSim to work out of the box with
865;; zero configuration
866;;
867[AssetService]
868 ; Disable this to prevent the default asset set from being inserted into the
869 ; asset store each time the region starts
870 AssetLoaderEnabled = false
871
872
873[AutoBackupModule]
874 ;; default is module is disabled at the top level
875 AutoBackupModuleEnabled = false
876
877
878[ServiceThrottle]
879 ;; Default time interval (in ms) for the throttle service thread to wake up
880 Interval = 5000
881
882
883[Materials]
884 MaxMaterialsPerTransaction = 50
diff --git a/bin/config-include/SimLean.ini b/bin/config-include/SimLean.ini
new file mode 100644
index 0000000..0e80320
--- /dev/null
+++ b/bin/config-include/SimLean.ini
@@ -0,0 +1,884 @@
1[Startup]
2 ; ##
3 ; ## SYSTEM
4 ; ##
5
6 ; Sets the method that OpenSim will use to fire asynchronous
7 ; events. Valid values are UnsafeQueueUserWorkItem,
8 ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread.
9 ;
10 ; SmartThreadPool is reported to work well on Mono/Linux, but
11 ; UnsafeQueueUserWorkItem has been benchmarked with better
12 ; performance on .NET/Windows
13 ;
14 ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security
15 ; privileges. However, as calling code is trusted anyway this is safe (if you set
16 ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons).
17 async_call_method = SmartThreadPool
18
19 ; Max threads to allocate on the FireAndForget thread pool
20 ; when running with the SmartThreadPool option above
21 MaxPoolThreads = 300
22
23 ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently.
24 ; This improves performance in regions with large numbers of connections (in the hundreds).
25 JobEngineEnabled = false
26
27 ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos
28 ; Increasing this number will increase memory usage.
29 MaxPrimUndos = 10
30
31 ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum
32 ; This can be overridden in the region config file.
33 ClampPrimSize = false
34
35 ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative.
36 ClampNegativeZ = false
37
38 ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region.
39 ; This only applies when crossing to a region running in a different simulator.
40 ; For crossings where the regions are on the same simulator the script is always kept running.
41 AllowScriptCrossing = true
42
43 ; Main Frame time
44 ; This defines the rate of several simulation events.
45 ; Default value should meet most needs.
46 ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads.
47 ; It should not be less than the physics engine step time.
48 ; Being a integer multiple of it may reduce some jitter in reported physics FPS.
49 ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same
50 FrameTime = 0.0909
51
52 ; Send scheduled updates to objects in the scene
53 ; This must be a whole number
54 UpdateObjectsEveryNFrames = 1
55
56 ; Send position/velocity, etc. updates to agents in the scene
57 ; This must be a whole number
58 UpdateAgentsEveryNFrames = 1
59
60 ; Apply pending forces from physics calculations to an entity.
61 ; This must be a whole number
62 UpdateEntityMovementEveryNFrames = 1
63
64 ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap.
65 ; This must be a whole number
66 UpdateCoarseLocationsEveryNFrames = 50
67
68 ; Physics simulation execution or syncronization, acording to engine. Should be 1
69 ; This must be a whole number
70 UpdatePhysicsEveryNFrames = 1
71
72 ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1.
73 ; This must be a whole number
74 UpdateEventsEveryNFrames = 1
75
76 ; Send terrain updates to viewers
77 ; This must be a whole number
78 UpdateTerrainEveryNFrames = 50
79
80 ; Persitently store any objects which meet the PRIM STORAGE criteria
81 ; This must be a whole number
82 UpdateStorageEveryNFrames = 200
83
84 ; Clean up temp on rez objects.
85 ; This must be a whole number
86 UpdateTempCleaningEveryNSeconds = 180
87
88 ; ##
89 ; ## PRIM STORAGE
90 ; ##
91
92 ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to
93 ; prevent frequently changing objects from heavily loading the region data store.
94 ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep.
95 ;
96 ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds
97 MinimumTimeBeforePersistenceConsidered = 60
98 ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago
99 MaximumTimeBeforePersistenceConsidered = 600
100
101 ; ##
102 ; ## PHYSICS
103 ; ##
104
105 ; Select a mesher here.
106 ;
107 ; Meshmerizer properly handles complex prims by using triangle meshes.
108 ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way
109 ;
110 ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports
111 ; Usually this is only a box
112
113 ;meshing = Meshmerizer
114 ;meshing = ZeroMesher
115 ;; select ubODEMeshmerizer only with ubOde physics engine
116 meshing = ubODEMeshmerizer
117
118 ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit
119 ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions
120 ; edit the line ulimit -s 262144, and change this last value
121
122 ; if you use Meshmerizer and want sculpt map collisions, setting this to
123 ; to true will store decoded sculpt maps in a special folder in your bin
124 ; folder, which can reduce startup times by reducing asset requests. Some
125 ; versions of mono dont work well when reading the cache files, so set this
126 ; to false if you have compatibility problems.
127 CacheSculptMaps = false
128
129 ;; BulletSim is the default physics engine. It provides the best performance and most functionality.
130 ;; BulletSim supports varregions.
131 ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before.
132 ;; It continues to provide a workable physics implementation. It does not currently support varregions.
133 ;; basicphysics effectively does not model physics at all, making all objects phantom.
134 ;; Default is BulletSim
135 ;physics = BulletSim
136 ;physics = modified_BulletX
137 ;physics = OpenDynamicsEngine
138 ;physics = basicphysics
139 ;physics = POS
140 ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also
141 physics = ubODE
142
143 ; ##
144 ; ## SCRIPT ENGINE
145 ; ##
146
147 ;; Default script engine to use. Currently, we only have XEngine
148 DefaultScriptEngine = "XEngine"
149
150 ; Image decoding. Use CSJ2K for layer boundary decoding if true,
151 ; OpenJPEG if false
152 ; UseCSJ2K = true
153
154
155[Map]
156 ; Map tile options.
157 ; If true, then maptiles are generated using the MapImageModule below.
158 ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden
159 ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need
160 ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/
161 GenerateMaptiles = false
162
163 ;WorldMapModule = "WorldMap"
164
165 ; The module to use in order to generate map images.
166 ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can
167 ; generate better images.
168 MapImageModule = "Map3DImageModule"
169
170 ; World map blacklist timeout in seconds
171 ;BlacklistTimeout = 600
172
173 ; Refresh (in seconds) the map tile periodically
174 MaptileRefresh = 0
175
176 ; If not generating maptiles, use this static texture asset ID
177 ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000"
178
179 ; Draw objects on maptile. This step might take a long time if you've got a large number of
180 ; objects, so you can turn it off here if you'd like.
181 DrawPrimOnMapTile = false
182
183 ; Use terrain texture for maptiles if true, use shaded green if false
184 TextureOnMapTile = false
185
186 ; Texture prims
187 TexturePrims = false
188
189 ; Only texture prims that have a diagonal size greater than this number
190 TexturePrimSize = 48
191
192 ; Attempt to render meshes and sculpties on the map
193 RenderMeshes = false
194
195 UseAntiAliasing = false
196
197
198[Network]
199 ; OpenSim can send multiple simultaneous requests for services such as asset
200 ; retrieval. However, some versions of mono appear to hang when there are too
201 ; many simultaneous requests, default is 30 and is currently applied only to assets
202 ;MaxRequestConcurrency = 30
203
204
205[ClientStack.LindenUDP]
206 ; The client socket receive buffer size determines how many
207 ; incoming requests we can process; the default on .NET is 8192
208 ; which is about 2 4k-sized UDP datagrams. On mono this is
209 ; whatever the underlying operating system has as default; for
210 ; example, ubuntu 8.04 or SLES11 have about 111k, which is about
211 ; 27 4k-sized UDP datagrams (on linux platforms you can [as root]
212 ; do "sysctl net.core.rmem_default" to find out what your system
213 ; uses a default socket receive buffer size.
214 ;
215 ; client_socket_rcvbuf_size allows you to specify the receive
216 ; buffer size LLUDPServer should use. NOTE: this will be limited
217 ; by the system's settings for the maximum client receive buffer
218 ; size (on linux systems you can set that with "sysctl -w
219 ; net.core.rmem_max=X")
220 ;
221 ;client_socket_rcvbuf_size = 8388608
222
223 ; Maximum outbound bytes per second for a single scene. This can be used to
224 ; throttle total outbound UDP traffic for a simulator. The default value is
225 ; 0, meaning no throttling at the scene level. The example given here is
226 ; 20 megabits
227 ;
228 ;scene_throttle_max_bps = 2500000
229
230 ; Maximum bytes per second to send to any single client. This will override
231 ; the user's viewer preference settings. The default value is 0, meaning no
232 ; aggregate throttling on clients (only per-category throttling). The
233 ; example given here is 1.5 megabits
234 ;
235 ;client_throttle_max_bps = 187500
236
237 ; Minimum bytes per second to send to any single client as a result of
238 ; adaptive throttling. Viewer preferences set to a lower number will
239 ; override the settin. The example given here ensures that adaptive
240 ; throttling will never decrease per client bandwidth below 256 kbps.
241 ;
242 ;adaptive_throttle_min_bps = 32000
243
244 ; Adaptive throttling attempts to limit network overload when multiple
245 ; clients login by starting each connection more slowly. Disabled by
246 ; default
247 ;
248 enable_adaptive_throttles = false
249
250 ; Per-client bytes per second rates for the various throttle categories.
251 ; These are default values that will be overridden by clients. These
252 ; defaults are approximately equivalent to the throttles set by the Imprudence
253 ; viewer when maximum bandwidth is set to 350kbps
254
255 ;resend_default = 6625
256 ;land_default = 9125
257 ;wind_default = 1750
258 ;cloud_default = 1750
259 ;task_default = 18500
260 ;texture_default = 18500
261 ;asset_default = 10500
262
263 ; Configures how ObjectUpdates are aggregated. These numbers
264 ; do not literally mean how many updates will be put in each
265 ; packet that goes over the wire, as packets are
266 ; automatically split on a 1400 byte boundary. These control
267 ; the balance between responsiveness of interest list updates
268 ; and total throughput. Higher numbers will ensure more full-
269 ; sized packets and faster sending of data, but more delay in
270 ; updating interest lists
271 ;
272 ;PrimUpdatesPerCallback = 100
273
274 ; TextureSendLimit determines how many packets will be put on
275 ; the outgoing queue each cycle. Like the settings above, this
276 ; is a balance between responsiveness to priority updates and
277 ; total throughput. Higher numbers will give a better
278 ; throughput at the cost of reduced responsiveness to client
279 ; priority changes or transfer aborts
280 ;
281 ;TextureSendLimit = 20
282
283 ; CannibalizeTextureRate allows bandwidth to be moved from the
284 ; UDP texture throttle to the task throttle. Since most viewers
285 ; use HTTP textures, this provides a means of using what is largely
286 ; unused bandwidth in the total throttle. The value is the proportion
287 ; of the texture rate to move to the task queue. It must be between
288 ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the
289 ; bandwidth is grabbed)
290 ;
291 ; CannibalizeTextureRate = 0.5
292
293 ; The time to wait before disconecting an unresponsive client.
294 ; The time is in seconds. The default is one minute
295 ;
296 ;AckTimeout = 60
297
298 ; The time to wait before disconecting an unresponsive paused client.
299 ; A client can be paused when the file selection dialog is open during file upload.
300 ; This gives extra time to find files via the dialog but will still disconnect if
301 ; the client crashes or loses its network connection
302 ; The time is in seconds. The default is five minutes.
303 ;
304 ;PausedAckTimeout = 300
305
306
307[Appearance]
308 ; Persist avatar baked textures
309 ; Persisting baked textures can speed up login and region border
310 ; crossings especially with large numbers of users, though it
311 ; will store potentially large numbers of textures in your asset
312 ; database
313 PersistBakedTextures = false
314
315 ; Control the delay before appearance is sent to other avatars and
316 ; saved in the avatar service. Attempts to limit the impact caused
317 ; by the very chatty dialog that sets appearance when an avatar
318 ; logs in or teleports into a region; values are in seconds
319 DelayBeforeAppearanceSave = 5
320 DelayBeforeAppearanceSend = 2
321
322 ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds.
323 ; This may help with some situations where avatars are persistently grey, though it will not help
324 ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others).
325 ResendAppearanceUpdates = false
326
327 ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar
328 ; on every login
329 ReuseTextures = true
330
331
332[Attachments]
333 ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments
334 ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit
335 ; or when multiple avatars with medium level attachments login/change outfit simultaneously.
336 ; If 0 then no throttling is performed.
337 ThrottlePer100PrimsRezzed = 0
338
339
340[Textures]
341 ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible
342 ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components
343 ; (e.g. images pulled from an external HTTP address).
344 ; Reusing previously generated textures results in a much faster update on the viewer but may cause issues if the viewer didn't receive all resolutions of the texture.
345 ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted.
346 ; Hence, currently considered experimental.
347 ; Default is false.
348 ReuseDynamicTextures = false
349
350 ; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused
351 ; This is to workaround an apparent LL 3.3.4 and earlier viewer bug where such textures are not redisplayed properly when pulled from the viewer cache.
352 ; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem.
353 ; This setting only has an affect is ReuseDynamicTextures = true
354 ; Default is false
355 ReuseDynamicLowDataTextures = false
356
357
358[ODEPhysicsSettings]
359 ; ##
360 ; ## Physics stats settings ( most ignored by ubOde )
361 ;
362
363 ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule
364 ; (see http://opensimulator.org/wiki/Monitoring_Module for more details).
365 collect_stats = false
366
367 ; ##
368 ; ## Physics logging settings - logfiles are saved to *.DIF files
369 ; ##
370
371 ; default is false
372 ;physics_logging = true
373 ;; every n simulation iterations, the physics snapshot file is updated
374 ;physics_logging_interval = 50
375 ;; append to existing physics logfile, or overwrite existing logfiles?
376 ;physics_logging_append_existing_logfile = true
377
378 ;##
379 ;## World Settings
380 ;##
381
382 ; World Step size.
383 ; with legacy ODE this value needs to be close to 0.02s
384 ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load
385 ; you will need to test acording to you needs
386 ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS
387 world_stepsize = 0.01818
388 ; number of iterations of constrains solver, higher should improve results
389 ; up to a point where acumulated math errors eliminate the improvement
390 ; more steps may increase CPU load. No real gain in changing
391 world_solver_iterations = 10
392
393 ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim
394 ; defines spaces partition cells min and max sizes == 2^value
395 world_hashspace_level_low = -5
396 world_hashSpace_level_high = 12
397
398 meters_in_small_space = 29.9
399
400
401 ; ##
402 ; ## Contact properties. (the stuff that happens when things come in contact with each other)
403 ; ##
404
405 ; surface layer around geometries other geometries can sink into before generating a contact
406 world_contact_surface_layer = 0.001
407
408 ; Filtering collisions helps keep things stable physics wise, but sometimes
409 ; it can be overzealous. If you notice bouncing, chances are it's that.
410 filter_collisions = false
411
412 ; Non Moving Terrain Contact (avatar isn't moving)
413 nm_terraincontact_friction = 255.0
414 nm_terraincontact_bounce = 0.1
415 nm_terraincontact_erp = 0.1025
416
417 ; Moving Terrain Contact (avatar is moving)
418 m_terraincontact_friction = 75.0
419 m_terraincontact_bounce = 0.05
420 m_terrainContact_erp = 0.05025
421
422 ; Moving Avatar to object Contact
423 m_avatarobjectcontact_friction = 75.0
424 m_avatarobjectcontact_bounce = 0.1
425
426 ; Object to Object Contact and Non-Moving Avatar to object
427 objectcontact_friction = 250.0
428 objectcontact_bounce = 0.2
429
430 ; ##
431 ; ## Avatar Control
432 ; ##
433
434 ; PID Controller Settings. These affect the math that causes the avatar to reach the
435 ; desired velocity
436 ; See http://en.wikipedia.org/wiki/PID_controller
437
438 av_pid_derivative = 2200.0
439 av_pid_proportional = 900.0
440
441 ; specifies if the capsule should be tilted (=true; old compatibility mode)
442 ; or straight up-and-down (=false; better and more consistent physics behavior)
443 av_capsule_tilted = false
444
445 ; Movement. Smaller is faster.
446
447 ; speed of movement with Always Run off
448 av_movement_divisor_walk = 1.3
449
450 ; speed of movement with Always Run on
451 av_movement_divisor_run = 0.8
452
453 ; When the avatar flies, it will be moved up by this amount off the ground (in meters)
454 minimum_ground_flight_offset = 3.0
455
456 ; Plant avatar. This reduces the effect of physical contacts with the avatar.
457 ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive.
458 ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active
459 ; will lock the avatar in place
460 av_planted = false
461
462 ; No Avatar Avatar Collissions. This causes avatar to be able to walk through each other as if they're ghosts but still interact with the environment
463 av_av_collisions_off = false
464
465 ; ##
466 ; ## Object options
467 ; ##
468
469 ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep
470 body_frames_auto_disable = 20
471
472 ; used to control llMove2Target
473 body_pid_derivative = 35
474 body_pid_gain = 25
475
476 ; maximum number of contact points to generate per collision
477 contacts_per_collision = 80
478
479 ; start throttling the object updates if object comes in contact with 3 or more other objects
480 geom_contactpoints_start_throttling = 3
481
482 ; send 1 update for every x updates below when throttled
483 geom_updates_before_throttled_update = 15
484
485 ; ##
486 ; ## Sculpted Prim settings
487 ; ##
488
489 ; Do we want to mesh sculpted prim to collide like they look?
490 ; If you are seeing sculpt texture decode problems
491 ; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception")
492 ; then you might want to try setting this to false.
493 mesh_sculpted_prim = true
494
495 ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies
496 mesh_lod = 32
497
498 ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies
499 mesh_physical_lod = 16
500
501 ; ##
502 ; ## additional meshing options
503 ; ##
504
505 ; Physics needs to create internal meshs (or convert the object meshs or scultps)
506 ; for all prims except simple boxes and spheres.
507
508 ; collisions of small objects againts larger ones can have a increased CPU load cost
509 ; so this are represented by a simple BOX
510 ; if all their scale dimensions are lower or equal to this option. Default is 0.1m
511 ; (ubOde only)
512 ; MinSizeToMeshmerize = 0.1
513
514
515[BulletSim]
516 ; There are two bullet physics libraries, bulletunmanaged is the default and is a
517 ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality
518 ; but the c++ one is much faster.
519 BulletEngine = "bulletunmanaged"
520 ; BulletEngine = "bulletxna"
521
522 ; BulletSim can run on its own thread independent of the simulator's heartbeat
523 ; thread. Enabling this will not let the physics engine slow down avatar movement, etc.
524 UseSeparatePhysicsThread = false
525
526 ; Terrain implementation can use either Bullet's heightField or BulletSim can build
527 ; a mesh. 0=heightField, 1=mesh
528 TerrainImplementation = 0
529 ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield
530 ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher
531 ; magnifications use lots of memory.
532 TerrainMeshMagnification = 1
533
534 ; Should avatars collide with each other?
535 AvatarToAvatarCollisionsByDefault = false
536
537 ; Default linkset implmentation
538 ; 'Constraint' uses physics constraints to hold linkset together. 'Compound'
539 ; builds a compound shape from the children shapes to create a single physical
540 ; shape. 'Compound' uses a lot less CPU time.
541 LinkImplementation = 1 ; 0=constraint, 1=compound
542
543 ; If 'true', offset a linkset's origin based on mass of linkset parts.
544 LinksetOffsetCenterOfMass = false
545
546 ; If 'true', turn scuplties into meshes
547 MeshSculptedPrim = false
548
549 ; If 'true', force simple prims (box and sphere) to be meshed
550 ; If 'false', the Bullet native special case shape is used for square rectangles
551 ; and even dimensioned spheres.
552 ForceSimplePrimMeshing = false
553
554 ; If 'true', when creating meshes, remove all triangles that have two equal vertexes.
555 ; Happens often in sculpties. If turned off, there will be some doorways
556 ; that cannot be walked through.
557 ShouldRemoveZeroWidthTriangles = true
558
559 ; If 'true', use convex hull definition in mesh asset if present.
560 ShouldUseAssetHulls = true
561
562 ; If there are thousands of physical objects, these maximums should be increased.
563 MaxCollisionsPerFrame = 2048
564 MaxUpdatesPerFrame = 8192
565
566 ; Detailed physics debug logging. Very verbose.
567 PhysicsLoggingEnabled = False
568 PhysicsLoggingDir = "."
569 VehicleLoggingEnabled = False
570
571
572[Sun]
573 ; send a Sun update every update_interval # of frames. A lower number will
574 ; make for smoother sun transition at the cost of network
575 ;update_interval = 100
576
577
578[Wind]
579 ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second
580 wind_update_rate = 150
581
582 ; The Default Wind Plugin to load
583 wind_plugin = SimpleRandomWind
584
585
586[Cloud]
587 ; update interval for the cloud cover data returned by llCloud().
588 ; default is 1000
589 cloud_update_rate = 1000
590
591
592[Trees]
593 ; active_trees allows module to change its trees in time.
594 ; some will be deleted, others created and rest may grow
595 ; default is false. You can change it with console command tree active true | false later
596 active_trees = false
597 ; the trees change execution time rate (in ms)
598 update_rate = 1000
599
600 ; allow the trees to grow.
601 ; DANGER
602 ; this option causes high network use on the order of
603 ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second
604 allowGrow = false
605
606
607[LL-Functions]
608 ; Maximum number of llListen events we allow over the entire region.
609 ; Set this to 0 to have no limit imposed
610 max_listens_per_region = 1000
611
612 ; Maximum number of llListen events we allow per script
613 ; Set this to 0 to have no limit imposed.
614 max_listens_per_script = 64
615
616 ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL())
617 max_external_urls_per_simulator = 100
618
619 ; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes.
620 ; Speeds up calculations but can make them inaccurate, in some cases very inaccurate.
621 UseSimpleBoxesInGetBoundingBox = true
622
623 ; Use llCastRay V3 if true.
624 ; Implements llCastRay similar but not identical to Second Life.
625 ; See http://wiki.secondlife.com/wiki/LlCastRay .
626 ; NEW
627 ; Meshes prims for good accuracy in ray hit detection,
628 ; handling basic and tortured prims, sculpts and meshes.
629 ; Uses ellipsoid, correctly sized avatar capsules.
630 ; Handles complex terrain, multi-prim objects and seated avatars.
631 ; Implements throttling and the status codes
632 ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED,
633 ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW.
634 ; WARNING
635 ; Can be faster on some servers and scenes, but slower on others,
636 ; compared to previous version of llCastRay in OpenSimulator.
637 ; Is in most cases considerably slower than llCastRay in Second Life.
638 ; Generates geometry meshes and can therefore use much system resources.
639 UseLlCastRayV3 = false
640
641 ; Accepted calculation precision error in calculations in llCastRay V3
642 FloatToleranceInLlCastRay = 0.00001
643
644 ; Accepted distance difference between duplicate hits in llCastRay V3
645 FloatTolerance2InLlCastRay = 0.001
646
647 ; Detail level when rendering prims in llCastRay V3
648 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
649 PrimDetailLevelInLlCastRay = 1
650
651 ; Detail level when rendering sculpts in llCastRay V3
652 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
653 SculptDetailLevelInLlCastRay = 1
654
655 ; Detail level when rendering meshes in llCastRay V3
656 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
657 MeshDetailLevelInLlCastRay = 3
658
659 ; Detail level when rendering avatar capsules in llCastRay V3
660 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
661 AvatarDetailLevelInLlCastRay = 1
662
663 ; Maximum number of returned hits from llCastRay V3
664 MaxHitsInLlCastRay = 16
665
666 ; Maximum number of returned hits per prim from llCastRay V3
667 MaxHitsPerPrimInLlCastRay = 16
668
669 ; Maximum number of returned hits per object from llCastRay V3
670 MaxHitsPerObjectInLlCastRay = 16
671
672 ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true
673 DetectExitHitsInLlCastRay = false
674
675 ; Detect attachments in llCastRay V3 if true
676 DoAttachmentsInLlCastRay = false
677
678 ; Throttle period length in ms before which all old llCastRay use is discarded in llCastRay V3
679 ; The sum of AvailableTimeInMsPerRegionInLlCastRay and all AvailableTimeInMsPerAvatarInLlCastRay should not exceed this
680 ThrottleTimeInMsInLlCastRay = 200
681
682 ; Available time in ms for llCastRay per throttle period and 65536 m2 land area in llCastRay V3
683 AvailableTimeInMsPerRegionInLlCastRay = 40
684
685 ; Available time in ms for llCastRay per throttle period and avatar when script in attachment or vehicle in llCastRay V3
686 AvailableTimeInMsPerAvatarInLlCastRay = 10
687
688 ; Required available time in ms left to perform a new llCastRay in llCastRay V3
689 RequiredAvailableTimeInMsInLlCastRay = 2
690
691 ; Maximum available time in ms possible in llCastRay V3, not to get too high values with varregions
692 MaximumAvailableTimeInMsInLlCastRay = 40
693
694 ; Use cached meshes in llCastRay V3 if true
695 ; Improves performance but uses more memory
696 UseMeshCacheInLlCastRay = true
697
698
699[XEngine]
700 ; How many threads to keep alive even if nothing is happening
701 MinThreads = 2
702
703 ; How many threads to start at maximum load
704 MaxThreads = 100
705
706 ; Time a thread must be idle (in seconds) before it dies
707 IdleTimeout = 60
708
709 ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest")
710 Priority = "BelowNormal"
711
712 ; Maximum number of events to queue for a script (excluding timers)
713 MaxScriptEventQueue = 3000
714
715 ; Stack size per thread created
716 ThreadStackSize = 132144
717
718 ; Set this to true to load each script into a separate
719 ; AppDomain. Setting this to false will load all script assemblies into the
720 ; current AppDomain, which will reduce the initial per-script memory overhead,
721 ; but deleted scripts stay inactive using memory.
722 ; Significantly improving script loading times.
723 ; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted.
724 ; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region.
725 ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited.
726 ; At this time some mono versions seem to have problems with the true option,
727 ; so default is now false until a fix is found, to simply life of less technical skilled users.
728 AppDomainLoading = false
729
730 ; Controls whether previously compiled scripts DLLs are deleted on sim restart.
731 ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled.
732 ; It should be true on first run after updating opensim binary version
733 ; after first run you can change to false.
734 ; You can also set it to false and delete the script DLLs by hand
735 ; This does not delete cached scripts state.
736 DeleteScriptsOnStartup = true
737
738 ; CompactMemOnLoad
739 ; forces calls to memory garbage collector before loading each script DLL during region startup.
740 ; Peak memory usage is reduced and region starts with a more compacted memory allocation.
741 ; But this costs a lot of time, so region load will take a lot longer.
742 ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true)
743 CompactMemOnLoad = true
744
745 ; Controls whether scripts are stopped by aborting their threads externally (abort)
746 ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op).
747 ; co-op will be more stable as aborting threads can cause instability.
748 ; abort was the default option in OpenSimulator 0.8 and before.
749 ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary.
750 ; However, the setting change will not take affect until the next time you restart the simulator.
751 ; Setting changes will not affect state information stored for scripts.
752 ScriptStopStrategy = abort
753
754 ; Rate to poll for asynchronous command replies (ms)
755 ; currently unused
756 ;AsyncLLCommandLoopms = 50
757
758 ; Compile debug info (line numbers) into the script assemblies
759 CompileWithDebugInformation = false
760
761 ; Interval (s) between background save of script states
762 SaveInterval = 120
763
764 ; Interval (s) between maintenance runs (0 = disable)
765 MaintenanceInterval = 10
766
767 ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested
768 ; before aborting the thread (such as when an object containing scripts is taken into inventory).
769 WaitForEventCompletionOnScriptStop = 1000
770
771 ; Minimum settable timer interval. Any timer setting less than this is
772 ; rounded up to this minimum interval.
773 MinTimerInterval = 0.1
774
775 ; Sensor settings
776 SensorMaxRange = 96.0
777 SensorMaxResults = 16
778
779
780[Groups]
781 ; Groups data is cached for this number of seconds before another request is made to the groups service
782 ; Set to 0 to disable the cache.
783 ; Default is 30 seconds
784 GroupsCacheTimeout = 30
785
786
787[PacketPool]
788 ;RecyclePackets = true
789 ;RecycleDataBlocks = true
790
791 ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets.
792 ; This reduces data churn
793 RecycleBaseUDPPackets = true
794
795
796[InterestManagement]
797 ; This section controls how state updates are prioritized for each client
798 ; Valid values are BestAvatarResponsiveness, Time, Distance,
799 ; SimpleAngularDistance, and FrontBack
800 UpdatePrioritizationScheme = BestAvatarResponsiveness
801 ReprioritizationEnabled = true
802 ReprioritizationInterval = 2000.0
803 RootReprioritizationDistance = 10.0
804 ChildReprioritizationDistance = 20.0
805
806 ; TEST OPTION KEEP AS FALSE
807 ; if true, don't send object updates if outside view range
808 ObjectsCullingByDistance = false
809
810 ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region
811 ; Updates will always be sent to the avatar that the update addresses and if av velocity is effectively zero (to prevent drift due to missing updates).
812 ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars.
813 RootTerseUpdatePeriod = 0
814
815 ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region
816 ; n > 1 will reduce UDP traffic but may lead to laggier movement observed in other avatars, though values up to 4 may not generate a noticeable effect.
817 ChildTerseUpdatePeriod = 0
818
819 ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance
820 RootPositionUpdateTolerance = 0.05
821
822 ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance
823 RootRotationUpdateTolerance = 0.1
824
825 ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance
826 RootVelocityUpdateTolerance = 0.001
827
828
829[Statistics]
830 ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames
831 ; to include in the averaging calculations
832 NumberOfFrames=10
833
834
835[Terrain]
836 ; If 'true' each avatar is only sent terrain patches within their view distance
837 ; This also changes the region terrain loading from 'lawn mower' to ordered around
838 ; the avatar outward.
839 SendTerrainUpdatesByViewDistance = True
840
841
842[LandManagement]
843 ; When editing terrain or objects, parcel layer info is updated in the viewer.
844 ; This can be expensive for large regions. If this variable is 'true', only the
845 ; parcel layer data around the area of interest is sent. The parcel layer info
846 ; is sent for 'ParcelLayerViewDistance' around the interest point.
847 ; If 'ParcelLayerViewDistance' is >= 128, the operation for legacy sized regions
848 ; will be what it has always been (send the whole region's parcel layer info).
849 ; Other parcel updates (login, changing parcel ownership, ...) will still send
850 ; whole region.
851 LimitParcelLayerUpdateDistance = true
852 ParcelLayerViewDistance = 128
853
854
855;; If you are using a simian grid frontend you can enable
856;; this module to upload tile images for the mapping fn
857;;
858[SimianGridMaptiles]
859 RefreshTime = 3600
860
861
862;;
863;; These are defaults that are overwritten below in [Architecture].
864;; These defaults allow OpenSim to work out of the box with
865;; zero configuration
866;;
867[AssetService]
868 ; Disable this to prevent the default asset set from being inserted into the
869 ; asset store each time the region starts
870 AssetLoaderEnabled = true
871
872
873[AutoBackupModule]
874 ;; default is module is disabled at the top level
875 AutoBackupModuleEnabled = false
876
877
878[ServiceThrottle]
879 ;; Default time interval (in ms) for the throttle service thread to wake up
880 Interval = 5000
881
882
883[Materials]
884 MaxMaterialsPerTransaction = 50
diff --git a/bin/config-include/SimianGrid.ini b/bin/config-include/SimianGrid.ini
new file mode 100644
index 0000000..fdf7ca2
--- /dev/null
+++ b/bin/config-include/SimianGrid.ini
@@ -0,0 +1,77 @@
1;;
2;; Please don't change this file.
3;; All optional settings are in GridCommon.ini.example,
4;; which you can copy and change.
5;;
6
7;;
8;; In GridCommon.ini, these are the URLs you would use if SimianGrid is
9;; installed at http://www.mygrid.com/Grid/
10;;
11; AssetServerURI = "http://www.mygrid.com/Grid/?id="
12; InventoryServerURI = "http://www.mygrid.com/Grid/"
13; AvatarServerURI = "http://www.mygrid.com/Grid/"
14; PresenceServerURI = "http://www.mygrid.com/Grid/"
15; UserAccountServerURI = "http://www.mygrid.com/Grid/"
16; AuthenticationServerURI = "http://www.mygrid.com/Grid/"
17; FriendsServerURI = "http://www.mygrid.com/Grid/"
18; GroupsServerURI = "http://www.mygrid.com/Grid/"
19
20[Includes]
21 Include-Common = "config-include/GridCommon.ini"
22
23[Modules]
24 GridServices = "RemoteGridServicesConnector"
25 PresenceServices = "SimianPresenceServiceConnector"
26 UserAccountServices = "SimianUserAccountServiceConnector"
27 AuthenticationServices = "SimianAuthenticationServiceConnector"
28 AssetServices = "SimianAssetServiceConnector"
29 InventoryServices = "SimianInventoryServiceConnector"
30 AvatarServices = "SimianAvatarServiceConnector"
31
32 NeighbourServices = "NeighbourServicesOutConnector"
33 SimulationServices = "RemoteSimulationConnectorModule"
34 EntityTransferModule = "BasicEntityTransferModule"
35 InventoryAccessModule = "BasicInventoryAccessModule"
36
37 LandServiceInConnector = true
38 NeighbourServiceInConnector = true
39 SimulationServiceInConnector = true
40 LibraryModule = false
41
42 AssetCaching = "FlotsamAssetCache"
43
44[SimulationDataStore]
45 LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService"
46
47[EstateDataStore]
48 LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService"
49
50[Friends]
51 Connector = "OpenSim.Services.Connectors.dll:SimianFriendsServiceConnector"
52
53[GridService]
54 LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
55 StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"
56 NetworkConnector = "OpenSim.Services.Connectors.dll:SimianGridServiceConnector"
57
58[LibraryService]
59 LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService"
60 LibraryName = "OpenSim Library"
61 DefaultLibrary = "./inventory/Libraries.xml"
62
63[AssetService]
64 DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
65 AssetLoaderArgs = "assets/AssetSets.xml"
66
67[Groups]
68 Enabled = true
69 Module = GroupsModule
70 DebugEnabled = false
71 NoticesEnabled = true
72 MessagingModule = GroupsMessagingModule
73 MessagingEnabled = true
74 ServicesConnectorModule = SimianGroupsServicesConnector
75
76[Profiles]
77 Module = "SimianProfiles"
diff --git a/bin/config-include/Standalone.ini b/bin/config-include/Standalone.ini
new file mode 100644
index 0000000..127b073
--- /dev/null
+++ b/bin/config-include/Standalone.ini
@@ -0,0 +1,122 @@
1;;
2;; Please don't change this file.
3;; All optional settings are in StandaloneCommon.ini.example,
4;; which you can copy and change.
5;;
6
7[Modules]
8 AssetServices = "LocalAssetServicesConnector"
9 InventoryServices = "LocalInventoryServicesConnector"
10 NeighbourServices = "NeighbourServicesOutConnector"
11 AuthenticationServices = "LocalAuthenticationServicesConnector"
12 AuthorizationServices = "LocalAuthorizationServicesConnector"
13 GridServices = "LocalGridServicesConnector"
14 PresenceServices = "LocalPresenceServicesConnector"
15 UserProfilesServices = "LocalUserProfilesServicesConnector"
16 UserAccountServices = "LocalUserAccountServicesConnector"
17 AgentPreferencesServices= "LocalAgentPreferencesServicesConnector"
18 GridUserServices = "LocalGridUserServicesConnector"
19 SimulationServices = "LocalSimulationConnectorModule"
20 AvatarServices = "LocalAvatarServicesConnector"
21 EntityTransferModule = "BasicEntityTransferModule"
22 InventoryAccessModule = "BasicInventoryAccessModule"
23 MapImageService = "MapImageServiceModule"
24 SearchModule = "BasicSearchModule"
25 MuteListService = "LocalMuteListServicesConnector"
26
27 LibraryModule = true
28 LLLoginServiceInConnector = true
29 GridInfoServiceInConnector = true
30 MapImageServiceInConnector = true
31
32[SimulationDataStore]
33 LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService"
34
35[EstateDataStore]
36 LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService"
37
38[AssetService]
39 LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService"
40
41[InventoryService]
42 LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService"
43
44[LibraryService]
45 LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService"
46 LibraryName = "OpenSim Library"
47 DefaultLibrary = "./inventory/Libraries.xml"
48
49[AvatarService]
50 LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService"
51
52[AuthenticationService]
53 LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
54
55[GridService]
56 LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
57 Realm = "regions"
58 StorageProvider = "OpenSim.Data.Null.dll"
59
60[PresenceService]
61 LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService"
62 StorageProvider = "OpenSim.Data.Null.dll"
63
64[UserAccountService]
65 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService"
66
67 ;; These are for creating new accounts
68 AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
69 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
70 GridService = "OpenSim.Services.GridService.dll:GridService"
71 InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
72 AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
73
74 ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 to show a default "Ruth" avatar rather than a cloud.
75 CreateDefaultAvatarEntries = true
76
77[GridUserService]
78 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService"
79
80[FriendsService]
81 LocalServiceModule = "OpenSim.Services.FriendsService.dll"
82
83[Friends]
84 Connector = "OpenSim.Services.FriendsService.dll"
85
86[AgentPreferencesService]
87 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:AgentPreferencesService"
88
89[LoginService]
90 LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService"
91 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
92 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
93 AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
94 InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
95 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
96 GridService = "OpenSim.Services.GridService.dll:GridService"
97 AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
98 FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService"
99
100 WelcomeMessage = "Welcome, Avatar!"
101
102 ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time"
103 ;; Viewers do not receive timezone information from the server - almost all (?) default to Pacific Standard Time
104 ;; However, they do rely on the server to tell them whether it's Daylight Saving Time or not.
105 ;; Hence, calculating DST based on a different timezone can result in a misleading viewer display and inconsistencies between grids.
106 ;; By default, this setting uses various timezone names to calculate DST with regards to the viewer's standard PST.
107 ;; Options are
108 ;; "none" no DST
109 ;; "local" use the server's only timezone to calculate DST. This is previous OpenSimulator behaviour.
110 ;; "America/Los_Angeles;Pacific Standard Time" use these timezone names to look up Daylight savings.
111 ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows
112 DSTZone = "America/Los_Angeles;Pacific Standard Time"
113
114[MapImageService]
115 LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService"
116
117[MuteListService]
118 LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService"
119
120;; This should always be the very last thing on this file
121[Includes]
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/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example
new file mode 100644
index 0000000..941a2ee
--- /dev/null
+++ b/bin/config-include/StandaloneCommon.ini.example
@@ -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/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini
new file mode 100644
index 0000000..fbb7f0b
--- /dev/null
+++ b/bin/config-include/StandaloneHypergrid.ini
@@ -0,0 +1,198 @@
1;;
2;; Please don't change this file.
3;; All optional settings are in StandaloneCommon.ini.example,
4;; which you can copy and change.
5;;
6
7[Startup]
8 WorldMapModule = "HGWorldMap"
9
10[Modules]
11 AssetServices = "HGAssetBroker"
12 InventoryServices = "HGInventoryBroker"
13 NeighbourServices = "NeighbourServicesOutConnector"
14 AuthenticationServices = "LocalAuthenticationServicesConnector"
15 AuthorizationServices = "LocalAuthorizationServicesConnector"
16 GridServices = "LocalGridServicesConnector"
17 PresenceServices = "LocalPresenceServicesConnector"
18 UserAccountServices = "LocalUserAccountServicesConnector"
19 AgentPreferencesServices= "LocalAgentPreferencesServicesConnector"
20 GridUserServices = "LocalGridUserServicesConnector"
21 SimulationServices = "RemoteSimulationConnectorModule"
22 AvatarServices = "LocalAvatarServicesConnector"
23 UserProfilesServices = "LocalUserProfilesServicesConnector"
24 MapImageService = "MapImageServiceModule"
25 EntityTransferModule = "HGEntityTransferModule"
26 InventoryAccessModule = "HGInventoryAccessModule"
27 FriendsModule = "HGFriendsModule"
28 UserManagementModule = "HGUserManagementModule"
29 SearchModule = "BasicSearchModule"
30 MuteListService = "LocalMuteListServicesConnector"
31
32 InventoryServiceInConnector = true
33 AssetServiceInConnector = true
34 HypergridServiceInConnector = true
35 NeighbourServiceInConnector = true
36 LibraryModule = true
37 LLLoginServiceInConnector = true
38 GridInfoServiceInConnector = true
39 AuthenticationServiceInConnector = true
40 SimulationServiceInConnector = true
41 MapImageServiceInConnector = true
42
43[Messaging]
44 MessageTransferModule = HGMessageTransferModule
45
46[SimulationDataStore]
47 LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService"
48
49[EstateDataStore]
50 LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService"
51
52[AssetService]
53 LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService"
54
55 ; For HGAssetBroker
56 LocalGridAssetService = "OpenSim.Services.AssetService.dll:AssetService"
57 HypergridAssetService = "OpenSim.Services.Connectors.dll:HGAssetServiceConnector"
58
59[InventoryService]
60 ; For HGInventoryBroker
61 LocalGridInventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
62
63[AvatarService]
64 LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService"
65
66[LibraryService]
67 LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService"
68 LibraryName = "OpenSim Library"
69 DefaultLibrary = "./inventory/Libraries.xml"
70
71[AuthenticationService]
72 LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
73
74[GridService]
75 ; LocalGridServicesConnector needs this
76 LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
77 Realm = "regions"
78 StorageProvider = "OpenSim.Data.Null.dll"
79
80 ; Needed to display non-default map tile images for remote regions
81 AssetService = "OpenSim.Services.AssetService.dll:AssetService"
82
83 HypergridLinker = true
84 AllowHypergridMapSearch = true
85
86[PresenceService]
87 LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService"
88 StorageProvider = "OpenSim.Data.Null.dll"
89
90[UserAccountService]
91 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService"
92
93 ;; These are for creating new accounts by the service
94 AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
95 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
96 GridService = "OpenSim.Services.GridService.dll:GridService"
97 InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
98 AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
99
100 ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 to show a default "Ruth" avatar rather than a cloud.
101 CreateDefaultAvatarEntries = true
102
103[GridUserService]
104 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService"
105
106[FriendsService]
107 LocalServiceModule = "OpenSim.Services.FriendsService.dll"
108
109[Friends]
110 Connector = "OpenSim.Services.FriendsService.dll"
111
112[AgentPreferencesService]
113 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:AgentPreferencesService"
114
115[LoginService]
116 LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService"
117 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
118 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
119 UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
120 AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
121 InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
122 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
123 GridService = "OpenSim.Services.GridService.dll:GridService"
124 AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
125 FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService"
126
127 ; This inventory service will be used to initialize the user's inventory
128 HGInventoryServicePlugin = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService"
129 HGInventoryServiceConstructorArg = "HGInventoryService"
130
131[MapImageService]
132 LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService"
133
134[GatekeeperService]
135 LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService"
136 ;; for the service
137 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
138 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
139 UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
140 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
141 GridService = "OpenSim.Services.GridService.dll:GridService"
142 AuthenticationService = "OpenSim.Services.Connectors.dll:AuthenticationServicesConnector"
143 SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector"
144
145[UserAgentService]
146 LocalServiceModule = "OpenSim.Services.HypergridService.dll:UserAgentService"
147 ;; for the service
148 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
149 GridService = "OpenSim.Services.GridService.dll:GridService"
150 GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService"
151 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
152 FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService"
153 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
154
155 ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 to show a default "Ruth" avatar rather than a cloud.
156 CreateDefaultAvatarEntries = true
157
158;; The interface that local users get when they are in other grids
159;; This greatly restricts the inventory operations while in other grids
160[HGInventoryService]
161 ; For the InventoryServiceInConnector
162 LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService"
163 ;; alternatives:
164 ;; HG1.5, more permissive, not recommended, but still supported
165 ;LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInventoryService"
166 ;; HG1.0, totally permissive, not recommended, but OK for grids with 100% trust
167 ;LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService"
168
169 UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
170 AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
171
172;; The interface that local users get when they are in other grids
173;; This restricts/filters the asset operations from the outside
174[HGAssetService]
175 LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGAssetService"
176 UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
177
178[HGFriendsService]
179 LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFriendsService"
180 UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
181 FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService"
182 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
183 GridService = "OpenSim.Services.GridService.dll:GridService"
184 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
185
186[HGInstantMessageService]
187 LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService"
188 GridService = "OpenSim.Services.GridService.dll:GridService"
189 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
190 UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
191 InGatekeeper = True
192
193[MuteListService]
194 LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService"
195
196;; This should always be the very last thing on this file
197[Includes]
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/bin/config-include/storage/SQLiteStandalone.ini b/bin/config-include/storage/SQLiteStandalone.ini
new file mode 100644
index 0000000..67d98ff
--- /dev/null
+++ b/bin/config-include/storage/SQLiteStandalone.ini
@@ -0,0 +1,39 @@
1; These are the initialization settings for running OpenSim Standalone with an SQLite database
2
3[DatabaseService]
4 StorageProvider = "OpenSim.Data.SQLite.dll"
5 ConnectionString = "URI=file:OpenSim.db,version=3,UseUTF16Encoding=True"
6
7[AssetService]
8 ConnectionString = "URI=file:Asset.db,version=3"
9
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.
12; However, the internal asset service will still use the [AssetService] section.
13; Therefore, you will almost certainly want the ConnectionString in [HGAssetService] to be the same as in [AssetService]
14; so that they both access the same database.
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.
17[HGAssetService]
18 ConnectionString = "URI=file:Asset.db,version=3"
19
20[InventoryService]
21 ;ConnectionString = "URI=file:inventory.db,version=3"
22 ; if you have a legacy inventory store use the connection string below
23 ConnectionString = "URI=file:inventory.db,version=3,UseUTF16Encoding=True"
24
25[AvatarService]
26 ConnectionString = "URI=file:avatars.db,version=3"
27
28[AuthenticationService]
29 ConnectionString = "URI=file:auth.db,version=3"
30
31[UserAccountService]
32 ConnectionString = "URI=file:userprofiles.db,version=3"
33
34[GridUserService]
35 ConnectionString = "URI=file:griduser.db,version=3"
36
37[FriendsService]
38 ConnectionString = "URI=file:friends.db,version=3"
39