diff options
-rw-r--r-- | .nant/local.include | 4 | ||||
-rw-r--r-- | bin/OpenSim.ini | 57 | ||||
-rw-r--r-- | bin/OpenSimDefaults.ini | 2571 | ||||
-rw-r--r-- | bin/Robust.Tests.ini | 468 | ||||
-rw-r--r-- | bin/Robust.ini | 841 | ||||
-rw-r--r-- | bin/config-include/FlotsamCache.ini | 97 | ||||
-rw-r--r-- | bin/config-include/GridCommon.ini | 255 | ||||
-rw-r--r-- | bin/config-include/GridCommon.ini.example | 5 | ||||
-rw-r--r-- | bin/config-include/StandaloneCommon.ini | 401 | ||||
-rw-r--r-- | bin/config-include/StandaloneCommon.ini.example | 5 |
10 files changed, 4700 insertions, 4 deletions
diff --git a/.nant/local.include b/.nant/local.include index 07421c8..7b7aaf5 100644 --- a/.nant/local.include +++ b/.nant/local.include | |||
@@ -55,8 +55,8 @@ | |||
55 | <include name="runprebuild*"/> | 55 | <include name="runprebuild*"/> |
56 | <include name="TESTING.txt"/> | 56 | <include name="TESTING.txt"/> |
57 | <include name="TestResult.xml"/> | 57 | <include name="TestResult.xml"/> |
58 | <include name="bin/OpenSim.Server.ini"/> | 58 | <include name="config/OpenSim.Server.ini"/> |
59 | <include name="bin/Regions/Regions.ini"/> | 59 | <include name="config/Regions/Regions.ini"/> |
60 | <include name="bin/*.db"/> | 60 | <include name="bin/*.db"/> |
61 | <include name="**/.git/**"/> | 61 | <include name="**/.git/**"/> |
62 | <include name=".gitignore"/> | 62 | <include name=".gitignore"/> |
diff --git a/bin/OpenSim.ini b/bin/OpenSim.ini new file mode 100644 index 0000000..0087258 --- /dev/null +++ b/bin/OpenSim.ini | |||
@@ -0,0 +1,57 @@ | |||
1 | ;; This is the main configuration file for OpenSimulator. | ||
2 | ;; If it's named OpenSim.ini then it will be loaded by OpenSimulator. | ||
3 | ;; If it's named OpenSim.ini.example then you will need to copy it to | ||
4 | ;; OpenSim.ini first (if that file does not already exist) | ||
5 | ;; | ||
6 | ;; Once you have copied OpenSim.ini.example to OpenSim.ini you will at least | ||
7 | ;; need to set the constants in the [Const] section and pick an architecture | ||
8 | ;; in the [Architecture] section at the end of this file. The architecture | ||
9 | ;; will require a suitable .ini file in the config-include directory, either | ||
10 | ;; StandaloneCommon.ini or GridCommon.ini which you can copy and modify from the | ||
11 | ;; available .example files. | ||
12 | ;; | ||
13 | ;; The settings in this file are in the form "<key> = <value>". For example, | ||
14 | ;; save_crashes = false in the [Startup] section below. | ||
15 | ;; | ||
16 | ;; All settings are initially commented out and the default value used, as | ||
17 | ;; found in OpenSimDefaults.ini. To change a setting, first uncomment it by | ||
18 | ;; deleting the initial semicolon (;) and then change the value. This will | ||
19 | ;; override the value in OpenSimDefaults.ini | ||
20 | ;; | ||
21 | ;; If you want to find out what configuration OpenSimulator has finished with | ||
22 | ;; once all the configuration files are loaded then type "config show" on the | ||
23 | ;; region console command line. | ||
24 | ;; | ||
25 | ;; | ||
26 | ;; NOTES FOR DEVELOPERS REGARDING THE FORMAT OF THIS FILE | ||
27 | ;; | ||
28 | ;; All leading white space is ignored, but preserved. | ||
29 | ;; | ||
30 | ;; Double semicolons denote a text comment | ||
31 | ;; | ||
32 | ;; A * in the choices list will allow an empty entry. | ||
33 | ;; An empty question will set the default if the dependencies are | ||
34 | ;; satisfied. | ||
35 | ;; | ||
36 | ;; ; denotes a commented out option. | ||
37 | ;; Any options added to OpenSim.ini.example should be initially commented | ||
38 | ;; out. | ||
39 | |||
40 | |||
41 | [Architecture] | ||
42 | ;; Uncomment one of the following includes as required. For instance, to create a standalone OpenSim, | ||
43 | ;; uncomment Include-Architecture = "config-include/Standalone.ini" | ||
44 | ;; | ||
45 | ;; Then you will need to copy and edit the corresponding *Common.example file in config-include/ | ||
46 | ;; that the referenced .ini file goes on to include. | ||
47 | ;; | ||
48 | ;; For instance, if you chose "config-include/Standalone.ini" then you will need to copy | ||
49 | ;; "config-include/StandaloneCommon.ini.example" to "config-include/StandaloneCommon.ini" before | ||
50 | ;; editing it to set the database and backend services that OpenSim will use. | ||
51 | ;; | ||
52 | ; Include-Architecture = "config-include/Standalone.ini" | ||
53 | ; Include-Architecture = "config-include/StandaloneHypergrid.ini" | ||
54 | ; Include-Architecture = "config-include/Grid.ini" | ||
55 | Include-Architecture = "config-include/GridHypergrid.ini" | ||
56 | ; Include-Architecture = "config-include/SimianGrid.ini" | ||
57 | ; Include-Architecture = "config-include/HyperSimianGrid.ini" | ||
diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini new file mode 100644 index 0000000..228b59d --- /dev/null +++ b/bin/OpenSimDefaults.ini | |||
@@ -0,0 +1,2571 @@ | |||
1 | ; This file contains defaults for various settings in OpenSimulator. These can be overriden | ||
2 | ; by changing the same setting in OpenSim.ini (once OpenSim.ini.example has been copied to OpenSim.ini). | ||
3 | |||
4 | |||
5 | [Includes] | ||
6 | ; Define your server specific constants in this file. | ||
7 | Include-Common = ../../config/config.ini | ||
8 | |||
9 | |||
10 | [Startup] | ||
11 | ; Console prompt | ||
12 | ; Certain special characters can be used to customize the prompt | ||
13 | ; Currently, these are | ||
14 | ; \R - substitute region name | ||
15 | ; \\ - substtitue \ | ||
16 | ConsolePrompt = "Region (\R) " | ||
17 | |||
18 | ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) | ||
19 | ConsoleHistoryFileEnabled = true | ||
20 | |||
21 | ; Log file location. This can be set to a simple file path | ||
22 | LogFile = "${Paths|LogPath}/OpenSim.log" | ||
23 | |||
24 | ; The history file can be just a filename (relative to OpenSim's bin/ directory | ||
25 | ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/) | ||
26 | ConsoleHistoryFile = "${Paths|LogPath}/OpenSimConsoleHistory.txt" | ||
27 | |||
28 | ; How many lines of command history should we keep? (default is 100) | ||
29 | ConsoleHistoryFileLines = 100 | ||
30 | |||
31 | ; Set this to true if you want to log crashes to disk | ||
32 | ; this can be useful when submitting bug reports. | ||
33 | ; However, this will only log crashes within OpenSimulator that cause the entire program to exit | ||
34 | ; It will not log crashes caused by virtual machine failures, which includes mono and ODE failures. | ||
35 | ; You will need to capture these native stack traces by recording the session log itself. | ||
36 | save_crashes = false | ||
37 | |||
38 | ; Directory to save crashes to if above is enabled | ||
39 | ; (default is /opensimdir/crashes/*.txt or C:\opensim\crashes\*.txt) | ||
40 | crash_dir = "crashes" | ||
41 | |||
42 | ; Place to create a PID file | ||
43 | ; PIDFile = "/tmp/OpenSim.exe.pid" | ||
44 | |||
45 | ; Console commands run at startup | ||
46 | startup_console_commands_file = "startup_commands.txt" | ||
47 | |||
48 | ; Console commands run on shutdown | ||
49 | shutdown_console_commands_file = "shutdown_commands.txt" | ||
50 | |||
51 | ; Console commands run every 20 minutes | ||
52 | ; timer_Script = "filename" | ||
53 | |||
54 | ; timer_Script time interval (default 20 min) | ||
55 | ; The time is 60 per minute | ||
56 | ; timer_Interval = 1200 | ||
57 | |||
58 | ; ## | ||
59 | ; ## SYSTEM | ||
60 | ; ## | ||
61 | |||
62 | ; Sets the method that OpenSim will use to fire asynchronous | ||
63 | ; events. Valid values are UnsafeQueueUserWorkItem, | ||
64 | ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread. | ||
65 | ; | ||
66 | ; SmartThreadPool is reported to work well on Mono/Linux, but | ||
67 | ; UnsafeQueueUserWorkItem has been benchmarked with better | ||
68 | ; performance on .NET/Windows | ||
69 | ; | ||
70 | ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security | ||
71 | ; privileges. However, as calling code is trusted anyway this is safe (if you set | ||
72 | ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons). | ||
73 | async_call_method = SmartThreadPool | ||
74 | |||
75 | ; Max threads to allocate on the FireAndForget thread pool | ||
76 | ; when running with the SmartThreadPool option above | ||
77 | MaxPoolThreads = 300 | ||
78 | |||
79 | ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently. | ||
80 | ; This improves performance in regions with large numbers of connections (in the hundreds). | ||
81 | JobEngineEnabled = true | ||
82 | |||
83 | ; Plugin Registry Location | ||
84 | ; Set path to directory for plugin registry. Information about the | ||
85 | ; registered repositories and installed plugins will be stored here. | ||
86 | ; The OpenSim.exe process must have R/W access to the location. | ||
87 | RegistryLocation = "." | ||
88 | |||
89 | ; Used by region module addins. You can set this to outside bin, so that addin | ||
90 | ; configurations will survive updates. The OpenSim.exe process must have R/W access | ||
91 | ; to the location. | ||
92 | ConfigDirectory = "." | ||
93 | |||
94 | ; ## | ||
95 | ; ## CLIENTS | ||
96 | ; ## | ||
97 | |||
98 | ; Set this to the DLL containing the client stack to use. | ||
99 | clientstack_plugin="OpenSim.Region.ClientStack.LindenUDP.dll" | ||
100 | |||
101 | ; ## | ||
102 | ; ## REGIONS | ||
103 | ; ## | ||
104 | |||
105 | ; Determine where OpenSimulator looks for the files which tell it which regions to server | ||
106 | ; Defaults to "filesystem" if this setting isn't present | ||
107 | region_info_source = "filesystem" | ||
108 | ; region_info_source = "web" | ||
109 | |||
110 | ; Determines where the region XML files are stored if you are loading these from the filesystem. | ||
111 | ; Defaults to bin/Regions in your OpenSimulator installation directory | ||
112 | regionload_regionsdir="${Paths|ConfigPath}Regions" | ||
113 | |||
114 | ; Determines the page from which regions xml is retrieved if you are loading these from the web | ||
115 | ; The XML here has the same format as it does on the filesystem (including the <Root> tag), | ||
116 | ; except that everything is also enclosed in a <Regions> tag. | ||
117 | ; regionload_webserver_url = "http://example.com/regions.xml" | ||
118 | |||
119 | ;; Allow the simulator to start up if there are no region configuration available | ||
120 | ;; from the selected region_info_source. | ||
121 | allow_regionless = false | ||
122 | |||
123 | ;; Allow child agents to see into the region even if their root counterpart isn't allowed in here | ||
124 | see_into_region = false | ||
125 | |||
126 | ;; use legacy math for sittarget offset "correction" | ||
127 | ;; set this option to false to use improved math more compatibility with SL. | ||
128 | ;; keep it true if you have many old objects with sits set by scripts. | ||
129 | ;; the offset in question is added to the SitTarget to find the sitting avatar position. | ||
130 | ;; acording to its size, etc. | ||
131 | LegacySitOffsets = false | ||
132 | |||
133 | ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos | ||
134 | ; Increasing this number will increase memory usage. | ||
135 | MaxPrimUndos = 20 | ||
136 | |||
137 | ; Minimum size for non-physical prims.This can be overridden in the region config file (as | ||
138 | ; NonPhysicalPrimMin!). | ||
139 | ; NonPhysicalPrimMin = 0.001 | ||
140 | |||
141 | ; Maximum size of non physical prims. Affects resizing of existing prims. This can be overridden in the region config file (as NonPhysicalPrimMax!). | ||
142 | NonPhysicalPrimMax = 2560 | ||
143 | |||
144 | ; Minimum size where a prim can be physical. This can be overridden in the region config file. | ||
145 | ; PhysicalPrimMin = 0.01 | ||
146 | |||
147 | ; Maximum size of physical prims. Affects resizing of existing prims. This can be overridden in the region config file. | ||
148 | PhysicalPrimMax = 640 | ||
149 | |||
150 | ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum | ||
151 | ; This can be overridden in the region config file. | ||
152 | ClampPrimSize = false | ||
153 | |||
154 | ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative. | ||
155 | ClampNegativeZ = false | ||
156 | |||
157 | ; Maximum number of prims allowable in a linkset. Affects creating new linksets. Ignored if less than or equal to zero. | ||
158 | ; This can be overridden in the region config file. | ||
159 | LinksetPrims = 0 | ||
160 | |||
161 | ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region. | ||
162 | ; This only applies when crossing to a region running in a different simulator. | ||
163 | ; For crossings where the regions are on the same simulator the script is always kept running. | ||
164 | AllowScriptCrossing = true | ||
165 | |||
166 | ; Allow compiled script binary code to cross region boundaries. | ||
167 | ; If you set this to "true", any region that can teleport to you can | ||
168 | ; inject ARBITRARY BINARY CODE into your system. Use at your own risk. | ||
169 | ; YOU HAVE BEEN WARNED!!! | ||
170 | TrustBinaries = false | ||
171 | |||
172 | ; the default view range. Viewers override this ( no major effect still ) | ||
173 | DefaultDrawDistance = 1024.0 | ||
174 | |||
175 | ; limit the maximum view range ( no effect still (does limit MaxRegionsViewDistance) ) | ||
176 | MaxDrawDistance = 1024 | ||
177 | |||
178 | ; the maximum distance to tell a viewer to connect to a neighbour region, so it can be seen | ||
179 | ; (it is limited by MaxDrawDistance above) | ||
180 | ; less than 256 shows imediate neighbours; 512 also second imediate neighbours etc | ||
181 | ; more than 512m can cause viewers problems specially in case of dense regions. | ||
182 | ; curretly this distance is from current region borders. | ||
183 | MaxRegionsViewDistance = 1024 | ||
184 | |||
185 | ; If you have only one region in an instance, or to avoid the many bugs | ||
186 | ; that you can trigger in modules by restarting a region, set this to | ||
187 | ; true to make the entire instance exit instead of restarting the region. | ||
188 | ; This is meant to be used on systems where some external system like | ||
189 | ; Monit will restart any instance that exits, thereby making the shutdown | ||
190 | ; into a restart. | ||
191 | InworldRestartShutsDown = true | ||
192 | |||
193 | ; Use of normalized 55FPS statistics | ||
194 | ; Opensim does not have a frame rate control like other simulators. | ||
195 | ; Most parameters that control timing can be configurable region by region. | ||
196 | ; To achieve closer compatibility with values expected by viewers, scripts and users | ||
197 | ; some parameters are converted to a equivalent per frame value. | ||
198 | ; Additionally, they are scaled to values they would have on a system running at a nominal 55 frames per second rate. | ||
199 | ; The scale factor it 55 * FrameTime, corresponding to 5 with default configuration | ||
200 | ; You can choose to show the true physics FPS to viewers by setting Normalized55FPS to false. | ||
201 | ; Normalized55FPS = true | ||
202 | |||
203 | ; Main Frame time | ||
204 | ; This defines the rate of several simulation events. | ||
205 | ; Default value should meet most needs. | ||
206 | ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads. | ||
207 | ; It should not be less than the physics engine step time. | ||
208 | ; Being a integer multiple of it may reduce some jitter in reported physics FPS. | ||
209 | ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same | ||
210 | FrameTime = 0.0909 | ||
211 | |||
212 | ; The values below represent the percentage of the target frame time that, | ||
213 | ; when underrun, should trigger yellow or red in the lag meter. | ||
214 | ; Less than 60% of FPS is amber by default, less then 40% is red. | ||
215 | ; These values are advisory. Viewers may choose to not use them but it is | ||
216 | ; encouraged that they do. | ||
217 | ; FrameTimeWarnPercent = 60 | ||
218 | ; FrameTimeCritPercent = 40 | ||
219 | |||
220 | ; Send scheduled updates to objects in the scene | ||
221 | ; This must be a whole number | ||
222 | UpdateObjectsEveryNFrames = 1 | ||
223 | |||
224 | ; Send position/velocity, etc. updates to agents in the scene | ||
225 | ; This must be a whole number | ||
226 | UpdateAgentsEveryNFrames = 1 | ||
227 | |||
228 | ; Apply pending forces from physics calculations to an entity. | ||
229 | ; This must be a whole number | ||
230 | UpdateEntityMovementEveryNFrames = 1 | ||
231 | |||
232 | ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap. | ||
233 | ; This must be a whole number | ||
234 | UpdateCoarseLocationsEveryNFrames = 50 | ||
235 | |||
236 | ; Physics simulation execution or syncronization, acording to engine. Should be 1 | ||
237 | ; This must be a whole number | ||
238 | UpdatePhysicsEveryNFrames = 1 | ||
239 | |||
240 | ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1. | ||
241 | ; This must be a whole number | ||
242 | UpdateEventsEveryNFrames = 1 | ||
243 | |||
244 | ; Send terrain updates to viewers | ||
245 | ; This must be a whole number | ||
246 | UpdateTerrainEveryNFrames = 50 | ||
247 | |||
248 | ; Persitently store any objects which meet the PRIM STORAGE criteria | ||
249 | ; This must be a whole number | ||
250 | UpdateStorageEveryNFrames = 200 | ||
251 | |||
252 | ; Clean up temp on rez objects. | ||
253 | ; This must be a whole number | ||
254 | UpdateTempCleaningEveryNSeconds = 180 | ||
255 | |||
256 | ; ## | ||
257 | ; ## PRIM STORAGE | ||
258 | ; ## | ||
259 | |||
260 | ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to | ||
261 | ; prevent frequently changing objects from heavily loading the region data store. | ||
262 | ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep. | ||
263 | ; | ||
264 | ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds | ||
265 | MinimumTimeBeforePersistenceConsidered = 60 | ||
266 | ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago | ||
267 | MaximumTimeBeforePersistenceConsidered = 600 | ||
268 | |||
269 | ; ## | ||
270 | ; ## PHYSICS | ||
271 | ; ## | ||
272 | |||
273 | ; If true then prims can be collided with by avatars, other prims, etc. | ||
274 | ; If false then all prims are phantom, no matter whether their phantom flag is checked or unchecked. | ||
275 | ; Also, no prims are subject to physics. | ||
276 | collidable_prim = true | ||
277 | |||
278 | ; If true then prims can be made subject to physics (gravity, pushing, etc.). | ||
279 | ; If false then physics flag can be set but it is not honoured. However, prims are still solid for the purposes of collision direction | ||
280 | physical_prim = true | ||
281 | |||
282 | ; Select a mesher here. | ||
283 | ; | ||
284 | ; Meshmerizer properly handles complex prims by using triangle meshes. | ||
285 | ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way | ||
286 | ; | ||
287 | ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports | ||
288 | ; Usually this is only a box | ||
289 | |||
290 | ;meshing = Meshmerizer | ||
291 | ;meshing = ZeroMesher | ||
292 | ;; select ubODEMeshmerizer only with ubOde physics engine | ||
293 | meshing = ubODEMeshmerizer | ||
294 | |||
295 | ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit | ||
296 | ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions | ||
297 | ; edit the line ulimit -s 262144, and change this last value | ||
298 | |||
299 | ; Path to decoded sculpty maps | ||
300 | ; Defaults to "j2kDecodeCache | ||
301 | ;DecodedSculptMapPath = "j2kDecodeCache" | ||
302 | |||
303 | ; if you use Meshmerizer and want sculpt map collisions, setting this to | ||
304 | ; to true will store decoded sculpt maps in a special folder in your bin | ||
305 | ; folder, which can reduce startup times by reducing asset requests. Some | ||
306 | ; versions of mono dont work well when reading the cache files, so set this | ||
307 | ; to false if you have compatibility problems. | ||
308 | CacheSculptMaps = true | ||
309 | |||
310 | ;; BulletSim is the default physics engine. It provides the best performance and most functionality. | ||
311 | ;; BulletSim supports varregions. | ||
312 | ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. | ||
313 | ;; It continues to provide a workable physics implementation. It does not currently support varregions. | ||
314 | ;; basicphysics effectively does not model physics at all, making all objects phantom. | ||
315 | ;; Default is BulletSim | ||
316 | ;physics = BulletSim | ||
317 | ;physics = modified_BulletX | ||
318 | ;physics = OpenDynamicsEngine | ||
319 | ;physics = basicphysics | ||
320 | ;physics = POS | ||
321 | ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also | ||
322 | physics = ubODE | ||
323 | |||
324 | ; ## | ||
325 | ; ## SCRIPT ENGINE | ||
326 | ; ## | ||
327 | |||
328 | ;; Default script engine to use. Currently, we only have XEngine | ||
329 | DefaultScriptEngine = "XEngine" | ||
330 | |||
331 | ; Http proxy setting for llHTTPRequest and dynamic texture loading, if | ||
332 | ; required | ||
333 | ; HttpProxy = "http://proxy.com:8080" | ||
334 | |||
335 | ; If you're using HttpProxy, then you can set HttpProxyExceptions to a | ||
336 | ; list of regular expressions for URLs that you don't want to go through | ||
337 | ; the proxy. | ||
338 | ; For example, servers inside your firewall. | ||
339 | ; Separate patterns with a ';' | ||
340 | ; HttpProxyExceptions = ".mydomain.com;localhost" | ||
341 | |||
342 | ; ## | ||
343 | ; ## EMAIL MODULE | ||
344 | ; ## | ||
345 | ;; The email module requires some configuration. It needs an SMTP | ||
346 | ;; server to send mail through. | ||
347 | ;emailmodule = DefaultEmailModule | ||
348 | |||
349 | ; ## | ||
350 | ; ## ANIMATIONS | ||
351 | ; ## | ||
352 | |||
353 | ; If enabled, enableFlySlow will change the primary fly state to | ||
354 | ; FLYSLOW, and the "always run" state will be the regular fly. | ||
355 | enableflyslow = false | ||
356 | |||
357 | ; PreJump is an additional animation state, but it probably | ||
358 | ; won't look right until the physics engine supports it | ||
359 | ; (i.e delays takeoff for a moment) | ||
360 | |||
361 | ; # | ||
362 | ; # statistics | ||
363 | ; # | ||
364 | |||
365 | ; Simulator statistics are output to the console periodically at debug level INFO. | ||
366 | ; Setting this to zero disables this output. | ||
367 | LogShowStatsSeconds = 0 | ||
368 | |||
369 | ; Simulator Stats URI | ||
370 | ; Enable JSON simulator data by setting a URI name (case sensitive) | ||
371 | ; Returns regular sim stats (SimFPS, ...) | ||
372 | Stats_URI = "jsonSimStats" | ||
373 | |||
374 | ; Simulator StatsManager URI | ||
375 | ; Enable fetch of StatsManager registered stats. Fetch is query which can optionally | ||
376 | ; specify category, container and stat to fetch. If not selected, returns all of that type. | ||
377 | ; http://simulatorHTTPport/ManagedStats/?cat=Category&cont=Container&stat=Statistic | ||
378 | ; ManagedStatsRemoteFetchURI = "ManagedStats" | ||
379 | |||
380 | ; Make OpenSim start all regions with logins disabled. They will need | ||
381 | ; to be enabled from the console if this is set | ||
382 | StartDisabled = false | ||
383 | |||
384 | ; Image decoding. Use CSJ2K for layer boundary decoding if true, | ||
385 | ; OpenJPEG if false | ||
386 | ; UseCSJ2K = true | ||
387 | |||
388 | ; Use "Trash" folder for items deleted from the scene | ||
389 | ; When set to True (the default) items deleted from the scene will be | ||
390 | ; stored in the user's trash or lost and found folder. When set to | ||
391 | ; False items will be removed from the scene permanently | ||
392 | UseTrashOnDelete = True | ||
393 | |||
394 | ; # | ||
395 | ; # Logging | ||
396 | ; # | ||
397 | |||
398 | ; Force logging when the thread pool approaches an overload condition | ||
399 | ; Provides useful data for post-mortem analysis even in a production | ||
400 | ; system with reduced logging | ||
401 | LogOverloads = True | ||
402 | |||
403 | ; # | ||
404 | ; # Telehubs | ||
405 | ; # | ||
406 | |||
407 | ; SpawnPointRouting adjusts the landing for incoming avatars. | ||
408 | ; "closest" will place the avatar at the SpawnPoint located in the closest | ||
409 | ; available spot to the destination (typically map click/landmark). | ||
410 | ; "random" will place the avatar on a randomly selected spawnpoint; | ||
411 | ; "sequence" will place the avatar on the next sequential SpawnPoint | ||
412 | SpawnPointRouting = closest | ||
413 | |||
414 | ; TelehubAllowLandmark allows users with landmarks to override telehub | ||
415 | ; routing and land at the landmark coordinates when set to true | ||
416 | ; default is false | ||
417 | TelehubAllowLandmark = true | ||
418 | |||
419 | |||
420 | [Map] | ||
421 | ; Map tile options. | ||
422 | ; If true, then maptiles are generated using the MapImageModule below. | ||
423 | ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden | ||
424 | ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need | ||
425 | ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ | ||
426 | GenerateMaptiles = true | ||
427 | |||
428 | ;WorldMapModule = "WorldMap" | ||
429 | |||
430 | ; The module to use in order to generate map images. | ||
431 | ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can | ||
432 | ; generate better images. | ||
433 | MapImageModule = "Warp3DImageModule" | ||
434 | |||
435 | ; World map blacklist timeout in seconds | ||
436 | ;BlacklistTimeout = 600 | ||
437 | |||
438 | ; Refresh (in seconds) the map tile periodically | ||
439 | MaptileRefresh = 0 | ||
440 | |||
441 | ; If not generating maptiles, use this static texture asset ID | ||
442 | ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" | ||
443 | |||
444 | ; Draw objects on maptile. This step might take a long time if you've got a large number of | ||
445 | ; objects, so you can turn it off here if you'd like. | ||
446 | DrawPrimOnMapTile = true | ||
447 | |||
448 | ; Use terrain texture for maptiles if true, use shaded green if false | ||
449 | TextureOnMapTile = true | ||
450 | |||
451 | ; Texture prims | ||
452 | TexturePrims = true | ||
453 | |||
454 | ; Only texture prims that have a diagonal size greater than this number | ||
455 | TexturePrimSize = 1 | ||
456 | |||
457 | ; Attempt to render meshes and sculpties on the map | ||
458 | RenderMeshes = true; | ||
459 | |||
460 | ; where to store cached map tiles. | ||
461 | CacheDirectory = "${Paths|CachePath}/MapImageCache" | ||
462 | |||
463 | ; Draw map position at bottom right. | ||
464 | enablePosition = true | ||
465 | |||
466 | ; Refresh the cached map tile once a month. | ||
467 | ;RefreshEveryMonth = true | ||
468 | |||
469 | ;# {MapColorWater} {} {Water color for textured and shaded maps} {"#1D475F"} | ||
470 | ; MapColorWater = "#3399FF" | ||
471 | |||
472 | ;# {MapColor1} {} {Terrain color 1 for textured maps} {"#A58976"} | ||
473 | ; MapColor1 = "#A58976" | ||
474 | |||
475 | ;# {MapColor2} {} {Terrain color 2 for textured maps} {"#455931"} | ||
476 | ; MapColor2 = "#455931" | ||
477 | |||
478 | ;# {MapColor3} {} {Terrain color 3 for textured maps} {"#A29A8D"} | ||
479 | ; MapColor3 = "#A29A8D" | ||
480 | |||
481 | ;# {MapColor4} {} {Terrain color 4 for textured maps} {"#C8C8C8"} | ||
482 | ; MapColor4 = "#C8C8C8" | ||
483 | |||
484 | |||
485 | [Permissions] | ||
486 | ; ## | ||
487 | ; ## PERMISSIONS | ||
488 | ; ## | ||
489 | |||
490 | ; Permission modules to use, separated by comma. | ||
491 | ; Possible modules are DefaultPermissionsModule, PrimLimitsModule | ||
492 | permissionmodules = "DefaultPermissionsModule" | ||
493 | |||
494 | ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy | ||
495 | ; any item, etc. This may not yet be implemented uniformally. | ||
496 | ; If set to true, then all permissions checks are carried out | ||
497 | ; Default is true | ||
498 | serverside_object_permissions = true | ||
499 | |||
500 | |||
501 | ; This allows some control over permissions | ||
502 | ; please note that this still doesn't duplicate SL, and is not intended to | ||
503 | |||
504 | ; This allows grid users with a UserLevel of 200 or more to assume god | ||
505 | ; powers in the regions in this simulator. | ||
506 | allow_grid_gods = true | ||
507 | |||
508 | ; Allow region owners to assume god powers in their regions | ||
509 | ;region_owner_is_god = true | ||
510 | |||
511 | ; Allow region managers to assume god powers in regions they manage | ||
512 | ;region_manager_is_god = false | ||
513 | |||
514 | ; God mode should be turned on in the viewer whenever | ||
515 | ; the user has god rights somewhere. They may choose | ||
516 | ; to turn it off again, though. | ||
517 | automatic_gods = false | ||
518 | |||
519 | ; The user can execute any and all god functions, as | ||
520 | ; permitted by the viewer UI, without actually "godding | ||
521 | ; up". This is the default state in 0.8.2. | ||
522 | implicit_gods = true | ||
523 | |||
524 | ; Control user types that are allowed to create new scripts | ||
525 | ; Only enforced if serviceside_object_permissions is true | ||
526 | ; | ||
527 | ; Current possible values are | ||
528 | ; all - anyone can create scripts (subject to normal permissions) | ||
529 | ; gods - only administrators can create scripts (as long as allow_grid_gods is true) | ||
530 | ; Default value is all | ||
531 | ; allowed_script_creators = all | ||
532 | |||
533 | ; Control user types that are allowed to edit (save) scripts | ||
534 | ; Only enforced if serviceside_object_permissions is true | ||
535 | ; | ||
536 | ; Current possible values are | ||
537 | ; all - anyone can edit scripts (subject to normal permissions) | ||
538 | ; gods - only administrators can edit scripts (as long as allow_grid_gods is true) | ||
539 | ; Default value is all | ||
540 | ; allowed_script_editors = all | ||
541 | |||
542 | ; Provides a simple control for land owners to give build rights to specific avatars | ||
543 | ; in publicly accessible parcels that disallow object creation in general. | ||
544 | ; Owners specific avatars by adding them to the Access List of the parcel | ||
545 | ; without having to use the Groups feature | ||
546 | ; Disabled by default | ||
547 | ; simple_build_permissions = False | ||
548 | |||
549 | ; Minimum user level required to upload assets | ||
550 | ;LevelUpload = 0 | ||
551 | |||
552 | |||
553 | [RegionReady] | ||
554 | ; Enable this module to get notified once all items and scripts in the region have been completely loaded and compiled | ||
555 | enabled = true | ||
556 | |||
557 | ; Channel on which to signal region readiness through a message | ||
558 | ; formatted as follows: "{server_startup|oar_file_load},{0|1},n,[oar error]" | ||
559 | ; - the first field indicating whether this is an initial server startup | ||
560 | ; - the second field is a number indicating whether the OAR file loaded ok (1 == ok, 0 == error) | ||
561 | ; - the third field is a number indicating how many scripts failed to compile | ||
562 | ; - "oar error" if supplied, provides the error message from the OAR load | ||
563 | channel_notify = 0 | ||
564 | |||
565 | ; - disallow logins while scripts are loading | ||
566 | ; Instability can occur on regions with 100+ scripts if users enter before they have finished loading | ||
567 | login_disable = false | ||
568 | |||
569 | ; - send an alert as json to a service | ||
570 | ; alert_uri = "http://myappserver.net/my_handler/" | ||
571 | |||
572 | |||
573 | [EstateManagement] | ||
574 | ; If false, then block any region restart requests from the client even if they are otherwise valid. | ||
575 | ; Default is true | ||
576 | AllowRegionRestartFromClient = true | ||
577 | |||
578 | |||
579 | [Estates] | ||
580 | ; If these values are commented out then the user will be asked for estate details when required (this is the normal case). | ||
581 | ; If these values are uncommented then they will be used to create a default estate as necessary. | ||
582 | ; New regions will be automatically assigned to that default estate. | ||
583 | |||
584 | ;# {DefaultEstateName} {} {Default name for estate?} {} My Estate | ||
585 | ;; Name for the default estate | ||
586 | ; DefaultEstateName = My Estate | ||
587 | |||
588 | ;# {DefaultEstateOwnerName} {} {Default estate owner name?} {} FirstName LastName | ||
589 | ;; Name for default estate owner | ||
590 | ; DefaultEstateOwnerName = FirstName LastName | ||
591 | |||
592 | |||
593 | ; ** Standalone Estate Settings ** | ||
594 | ; The following parameters will only be used on a standalone system to | ||
595 | ; create an estate owner that does not already exist | ||
596 | |||
597 | ;# {DefaultEstateOwnerUUID} {} {Default estate owner UUID?} {} 00000000-0000-0000-0000-000000000000 | ||
598 | ;; If DefaultEstateOwnerUUID is left at UUID.Zero (as below) then a random | ||
599 | ;; UUID will be assigned. This is normally what you want | ||
600 | ; DefaultEstateOwnerUUID = 00000000-0000-0000-0000-000000000000 | ||
601 | |||
602 | ;# {DefaultEstateOwnerEMail} {} {Default estate owner email?} {} | ||
603 | ;; Email address for the default estate owner | ||
604 | ; DefaultEstateOwnerEMail = owner@domain.com | ||
605 | |||
606 | ;# {DefaultEstateOwnerPassword} {} {Default estate owner password} {} | ||
607 | ;; Password for the default estate owner | ||
608 | ; DefaultEstateOwnerPassword = password | ||
609 | |||
610 | |||
611 | [UserProfiles] | ||
612 | ;; Set the value of the url to your UserProfilesService | ||
613 | ;; If un-set / "" the module is disabled | ||
614 | ;; If the ProfileServiceURL is not set, then very BASIC | ||
615 | ;; profile support will be configured. If the ProfileServiceURL is set to a | ||
616 | ;; valid URL, then full profile support will be configured. The URL | ||
617 | ;; points to your grid's Robust user profiles service | ||
618 | ;; | ||
619 | ProfileServiceURL = ${Const|GridURL}:${Const|PublicPort} | ||
620 | |||
621 | ;; set this to false to prevent your users to be sent to unknown | ||
622 | ;; web sites by other users on their profiles | ||
623 | ; AllowUserProfileWebURLs = true | ||
624 | |||
625 | |||
626 | [SMTP] | ||
627 | ;; The SMTP server enabled the email module to send email to external | ||
628 | ;; destinations. | ||
629 | |||
630 | ;# {enabled} {[Startup]emailmodule:DefaultEmailModule} {Enable SMTP service?} {true false} false | ||
631 | ;; Enable sending email via SMTP | ||
632 | enabled = false | ||
633 | |||
634 | ;# {internal_object_host} {[Startup]emailmodule:DefaultEmailModule enabled:true} {Host name to treat as internal (object to object) email?} {} lsl.opensim.local | ||
635 | ; internal_object_host = lsl.opensim.local | ||
636 | |||
637 | ;# {host_domain_header_from} {[Startup]emailmodule:DefaultEmailModule enabled:true} {From address to use in the sent email header?} {} 127.0.0.1 | ||
638 | ; host_domain_header_from = "127.0.0.1" | ||
639 | |||
640 | ;# {email_pause_time} {[Startup]emailmodule:DefaultEmailModule enabled:true} {Period in seconds to delay after an email is sent.} {} 20 | ||
641 | ; email_pause_time = 20 | ||
642 | |||
643 | ;# {email_max_size} {[Startup]emailmodule:DefaultEmailModule enabled:true} {Maximum total size of email in bytes.} {} 4096 | ||
644 | ; email_max_size = 4096 | ||
645 | |||
646 | ;# {SMTP_SERVER_HOSTNAME} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server name?} {} 127.0.0.1 | ||
647 | ; SMTP_SERVER_HOSTNAME = "127.0.0.1" | ||
648 | |||
649 | ;# {SMTP_SERVER_PORT} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server name?} {SMTP server port?} {} 25 | ||
650 | ; SMTP_SERVER_PORT = 25 | ||
651 | |||
652 | ;# {SMTP_SERVER_LOGIN} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server user name?} {} | ||
653 | ; SMTP_SERVER_LOGIN = "" | ||
654 | |||
655 | ;# {SMTP_SERVER_PASSWORD} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server password} {} | ||
656 | ; SMTP_SERVER_PASSWORD = "" | ||
657 | |||
658 | |||
659 | [Network] | ||
660 | ;; Configure the remote console user here. This will not actually be used | ||
661 | ;; unless you use -console=rest at startup. | ||
662 | ;ConsoleUser = "Test" | ||
663 | ;ConsolePass = "secret" | ||
664 | ;console_port = 0 | ||
665 | |||
666 | ;# {http_listener_port} {} {TCP Port for this simulator to listen on? (This must be unique to the simulator!)} {} 9000 | ||
667 | ;; Simulator HTTP port. This is not the region port, but the port the | ||
668 | ;; entire simulator listens on. This port uses the TCP protocol, while | ||
669 | ;; the region ports use UDP. | ||
670 | ;http_listener_port = 9000 | ||
671 | |||
672 | ; ssl config: Experimental! The auto https config only really works definately on windows XP now | ||
673 | ; you need a Cert Request/Signed pair installed in the MY store with the CN specified below | ||
674 | ; you can use https on other platforms, but you'll need to configure the httpapi yourself for now | ||
675 | http_listener_ssl = false ; Also create a SSL server | ||
676 | http_listener_cn = "localhost" ; Use the cert with the common name | ||
677 | http_listener_sslport = 9001 ; Use this port for SSL connections | ||
678 | http_listener_ssl_cert = "" ; Currently unused, but will be used for OSHttpServer | ||
679 | |||
680 | ; HTTPS for "Out of band" management applications such as the remote | ||
681 | ; admin module | ||
682 | ; | ||
683 | ; Create https_listener = "True" will create a listener on the port | ||
684 | ; specified. Provide the path to your server certificate along with it's | ||
685 | ; password | ||
686 | ; https_listener = False | ||
687 | ; Set our listener to this port | ||
688 | ; https_port = 0 | ||
689 | ; Path to X509 certificate | ||
690 | ; cert_path = "path/to/cert.p12" | ||
691 | ; Password for cert | ||
692 | ; cert_pass = "password" | ||
693 | |||
694 | ; By default, OpenSimulator does not allow scripts to make HTTP calls to addresses on the simulator's LAN. | ||
695 | ; See the OutboundDisallowForUserScripts parameter in OpenSimDefaults.ini for more information on this filter. | ||
696 | ; If you need to allow scripts to make some LAN calls use the OutboundDisallowForUserScriptsExcept parameter below. | ||
697 | ; We recommend that you do not override OutboundDisallowForUserScripts directly unless you are very sure about what you're doing. | ||
698 | ; | ||
699 | ; You can whitelist individual endpoints by IP or FQDN, e.g. | ||
700 | ; | ||
701 | ; OutboundDisallowForUserScriptsExcept = 192.168.1.3:8003 | ||
702 | ; | ||
703 | ; You can specify multiple addresses by separating them with a bar. For example, | ||
704 | ; | ||
705 | ; OutboundDisallowForUserScriptsExcept = 192.168.1.3:8003|myinternalserver:8000 | ||
706 | ; | ||
707 | ; If an address if given without a port number then port 80 is assumed | ||
708 | ; | ||
709 | ; You can also specify a network range in CIDR notation to whitelist, e.g. | ||
710 | ; | ||
711 | ; OutboundDisallowForUserScriptsExcept = 192.168.1.0/24 | ||
712 | ; | ||
713 | ; to whitelist all ports on addresses 192.168.1.0 to 192.168.1.255 | ||
714 | ; To specify an individual IP address use the /32 netmask | ||
715 | ; | ||
716 | ; OutboundDisallowForUserScriptsExcept = 192.168.1.2/32 | ||
717 | ; | ||
718 | ; See http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation for more information on CIDR notation | ||
719 | |||
720 | ; Maximum bytes allowed for HTTP_BODY_MAXLENGTH. | ||
721 | ; By default, llHTTPRequest limits the response body to 2048 bytes. | ||
722 | ; This limit can be extended using HTTP_BODY_MAXLENGTH to a maximum | ||
723 | ; of HttpBodyMaxLenMAX bytes. | ||
724 | ; Please be aware that the limit can be set to insanely high values, | ||
725 | ; effectively removing any limitation. This will expose your sim to a | ||
726 | ; known attack. It is not recommended to set this limit higher than | ||
727 | ; the highest value that is actually needed by existing applications! | ||
728 | ; 16384 is the SL compatible value. | ||
729 | ; HttpBodyMaxLenMAX=16384 | ||
730 | |||
731 | ; Hostname to use in llRequestURL/llRequestSecureURL | ||
732 | ; if not defined - llRequestURL/llRequestSecureURL are disabled | ||
733 | ; ExternalHostNameForLSL=127.0.0.1 | ||
734 | ExternalHostNameForLSL = "${Const|HostName}" | ||
735 | |||
736 | ; Disallow the following address ranges for user scripting calls (e.g. llHttpRequest()) | ||
737 | ; This is based on http://en.wikipedia.org/wiki/Reserved_IP_addresses | ||
738 | ; This stops users making HTTP calls to machines in the simulator's local network. | ||
739 | ; If you need to allow some LAN calls we recommend you use OutboundDisallowForUserScriptsExcept documented in OpenSim.ini.example | ||
740 | ; If you override OutboundDisallowForUserScripts directly you need to be very careful. | ||
741 | ; | ||
742 | ; Network ranges are specified in CIDR notation (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation) with multiple entries separated by | | ||
743 | ; To specify an individual IP address use the /32 netmask (e.g. 192.168.1.3/32) | ||
744 | ; You can also specify individual <addr>:<port> endpoints (e.g. 192.168.1.3:8003) | ||
745 | ; If an address if given without a port number then port 80 is assumed. | ||
746 | OutboundDisallowForUserScripts = 0.0.0.0/8|10.0.0.0/8|100.64.0.0/10|127.0.0.0/8|169.254.0.0/16|172.16.0.0/12|192.0.0.0/24|192.0.2.0/24|192.88.99.0/24|192.168.0.0/16|198.18.0.0/15|198.51.100.0/24|203.0.113.0/24|224.0.0.0/4|240.0.0.0/4|255.255.255.255/32 | ||
747 | ; | ||
748 | ; You can also prevent all user script outgoing calls with the following override in OpenSim.ini | ||
749 | ; | ||
750 | ; OutboundDisallowForUserScripts = 0.0.0.0/0 | ||
751 | ; | ||
752 | ; You can also disable the blacklist entirely with an empty entry | ||
753 | ; | ||
754 | ; OutboundDisallowForUserScripts = "" | ||
755 | |||
756 | ; What is reported as the "X-Secondlife-Shard" | ||
757 | ; Defaults to the user server url if not set | ||
758 | ; The old default is "OpenSim", set here for compatibility | ||
759 | shard = "OpenSim" | ||
760 | |||
761 | ; What is reported as the "User-Agent" when using llHTTPRequest | ||
762 | ; Defaults to not sent if not set here. See the notes section in the wiki at | ||
763 | ; http://wiki.secondlife.com/wiki/LlHTTPRequest for comments on adding | ||
764 | ; " (Mozilla Compatible)" to the text where there are problems with a web server | ||
765 | ;user_agent = "OpenSim LSL (Mozilla Compatible)" | ||
766 | |||
767 | ;; The following 3 variables are for HTTP Basic Authentication for the Robust services. | ||
768 | ;; Use this if your central services in port 8003 need to be accessible on the Internet | ||
769 | ;; but you want to protect them from unauthorized access. The username and password | ||
770 | ;; here need to match the ones in the Robust service configuration. | ||
771 | ; AuthType = "BasicHttpAuthentication" | ||
772 | ; HttpAuthUsername = "some_username" | ||
773 | ; HttpAuthPassword = "some_password" | ||
774 | ;; | ||
775 | ;; Any of these 3 variables above can be overriden in any of the service sections. | ||
776 | |||
777 | ; OpenSim can send multiple simultaneous requests for services such as asset | ||
778 | ; retrieval. However, some versions of mono appear to hang when there are too | ||
779 | ; many simultaneous requests, default is 30 and is currently applied only to assets | ||
780 | ;MaxRequestConcurrency = 30 | ||
781 | |||
782 | |||
783 | [AccessControl] | ||
784 | ; Viewer-based access control. |-separated list of allowed viewers. | ||
785 | ;; One can use a substring of the viewer name to enable only certain | ||
786 | ;; versions | ||
787 | ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" | ||
788 | ;; - "Imprudence" has access | ||
789 | ;; - "Imprudence 1.3" has access | ||
790 | ;; - "Imprudence 1.3.1" has no access | ||
791 | ; AllowedClients = "" | ||
792 | |||
793 | ; Viewer-based access control. |-separated list of denied viewers. | ||
794 | ;; One can use a Substring of the viewer name to disable only certain | ||
795 | ;; versions | ||
796 | ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" | ||
797 | ;; - "Imprudence" has no access | ||
798 | ;; - "Imprudence 1.3" has no access | ||
799 | ;; - "Imprudence 1.3.1" has access | ||
800 | ; No restrictions by default. | ||
801 | ; DeniedClients = "" | ||
802 | |||
803 | |||
804 | [XMLRPC] | ||
805 | ;# {XmlRpcRouterModule} {} {Module used to route incoming llRemoteData calls} {XmlRpcRouterModule XmlRpcGridRouterModule} XmlRpcRouterModule | ||
806 | ;; If enabled and set to XmlRpcRouterModule, this will post an event, | ||
807 | ;; "xmlrpc_uri(string)" to the script concurrently with the first | ||
808 | ;; remote_data event. This will contain the fully qualified URI an | ||
809 | ;; external site needs to use to send XMLRPC requests to that script | ||
810 | ;; | ||
811 | ;; If enabled and set to XmlRpcGridRouterModule, newly created channels | ||
812 | ;; will be registered with an external service via a configured uri | ||
813 | ;XmlRpcRouterModule = "XmlRpcRouterModule" | ||
814 | |||
815 | ;# {XmlRpcPort} {} {Port for incoming llRemoteData xmlrpc calls} {} 20800 | ||
816 | ;XmlRpcPort = 20800 | ||
817 | |||
818 | ;# {XmlRpcHubURI} {XmlRpcRouterModule} {URI for external service used to register xmlrpc channels created in the simulator. This depends on XmlRpcRouterModule being set to XmlRpcGridRouterModule} {} http://example.com | ||
819 | ;; If XmlRpcRouterModule is set to XmlRpcGridRouterModule, the simulator | ||
820 | ;; will use this address to register xmlrpc channels on the external | ||
821 | ;; service | ||
822 | ; XmlRpcHubURI = http://example.com | ||
823 | |||
824 | |||
825 | [ClientStack.LindenUDP] | ||
826 | ; The client socket receive buffer size determines how many | ||
827 | ; incoming requests we can process; the default on .NET is 8192 | ||
828 | ; which is about 2 4k-sized UDP datagrams. On mono this is | ||
829 | ; whatever the underlying operating system has as default; for | ||
830 | ; example, ubuntu 8.04 or SLES11 have about 111k, which is about | ||
831 | ; 27 4k-sized UDP datagrams (on linux platforms you can [as root] | ||
832 | ; do "sysctl net.core.rmem_default" to find out what your system | ||
833 | ; uses a default socket receive buffer size. | ||
834 | ; | ||
835 | ; client_socket_rcvbuf_size allows you to specify the receive | ||
836 | ; buffer size LLUDPServer should use. NOTE: this will be limited | ||
837 | ; by the system's settings for the maximum client receive buffer | ||
838 | ; size (on linux systems you can set that with "sysctl -w | ||
839 | ; net.core.rmem_max=X") | ||
840 | ; | ||
841 | ;client_socket_rcvbuf_size = 8388608 | ||
842 | |||
843 | ; Maximum outbound bytes per second for a single scene. This can be used to | ||
844 | ; throttle total outbound UDP traffic for a simulator. The default value is | ||
845 | ; 0, meaning no throttling at the scene level. The example given here is | ||
846 | ; 20 megabits | ||
847 | ; | ||
848 | ;scene_throttle_max_bps = 2500000 | ||
849 | |||
850 | ; Maximum bytes per second to send to any single client. This will override | ||
851 | ; the user's viewer preference settings. The default value is 0, meaning no | ||
852 | ; aggregate throttling on clients (only per-category throttling). The | ||
853 | ; example given here is 1.5 megabits | ||
854 | ; | ||
855 | ;client_throttle_max_bps = 187500 | ||
856 | |||
857 | ; Minimum bytes per second to send to any single client as a result of | ||
858 | ; adaptive throttling. Viewer preferences set to a lower number will | ||
859 | ; override the settin. The example given here ensures that adaptive | ||
860 | ; throttling will never decrease per client bandwidth below 256 kbps. | ||
861 | ; | ||
862 | ;adaptive_throttle_min_bps = 32000 | ||
863 | |||
864 | ; Adaptive throttling attempts to limit network overload when multiple | ||
865 | ; clients login by starting each connection more slowly. Disabled by | ||
866 | ; default | ||
867 | ; | ||
868 | enable_adaptive_throttles = true | ||
869 | |||
870 | ; Per-client bytes per second rates for the various throttle categories. | ||
871 | ; These are default values that will be overridden by clients. These | ||
872 | ; defaults are approximately equivalent to the throttles set by the Imprudence | ||
873 | ; viewer when maximum bandwidth is set to 350kbps | ||
874 | |||
875 | ;resend_default = 6625 | ||
876 | ;land_default = 9125 | ||
877 | ;wind_default = 1750 | ||
878 | ;cloud_default = 1750 | ||
879 | ;task_default = 18500 | ||
880 | ;texture_default = 18500 | ||
881 | ;asset_default = 10500 | ||
882 | |||
883 | ; Configures how ObjectUpdates are aggregated. These numbers | ||
884 | ; do not literally mean how many updates will be put in each | ||
885 | ; packet that goes over the wire, as packets are | ||
886 | ; automatically split on a 1400 byte boundary. These control | ||
887 | ; the balance between responsiveness of interest list updates | ||
888 | ; and total throughput. Higher numbers will ensure more full- | ||
889 | ; sized packets and faster sending of data, but more delay in | ||
890 | ; updating interest lists | ||
891 | ; | ||
892 | ;PrimUpdatesPerCallback = 100 | ||
893 | |||
894 | ; TextureSendLimit determines how many packets will be put on | ||
895 | ; the outgoing queue each cycle. Like the settings above, this | ||
896 | ; is a balance between responsiveness to priority updates and | ||
897 | ; total throughput. Higher numbers will give a better | ||
898 | ; throughput at the cost of reduced responsiveness to client | ||
899 | ; priority changes or transfer aborts | ||
900 | ; | ||
901 | ;TextureSendLimit = 20 | ||
902 | |||
903 | ; CannibalizeTextureRate allows bandwidth to be moved from the | ||
904 | ; UDP texture throttle to the task throttle. Since most viewers | ||
905 | ; use HTTP textures, this provides a means of using what is largely | ||
906 | ; unused bandwidth in the total throttle. The value is the proportion | ||
907 | ; of the texture rate to move to the task queue. It must be between | ||
908 | ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the | ||
909 | ; bandwidth is grabbed) | ||
910 | ; | ||
911 | ; CannibalizeTextureRate = 0.5 | ||
912 | |||
913 | ; Quash and remove any light properties from attachments not on the | ||
914 | ; hands. This allows flashlights and lanterns to function, but kills | ||
915 | ; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps | ||
916 | ; will also be affected. | ||
917 | ; | ||
918 | DisableFacelights = true | ||
919 | |||
920 | ; The time to wait before disconecting an unresponsive client. | ||
921 | ; The time is in seconds. The default is one minute | ||
922 | ; | ||
923 | ;AckTimeout = 60 | ||
924 | |||
925 | ; The time to wait before disconecting an unresponsive paused client. | ||
926 | ; A client can be paused when the file selection dialog is open during file upload. | ||
927 | ; This gives extra time to find files via the dialog but will still disconnect if | ||
928 | ; the client crashes or loses its network connection | ||
929 | ; The time is in seconds. The default is five minutes. | ||
930 | ; | ||
931 | ;PausedAckTimeout = 300 | ||
932 | |||
933 | |||
934 | [ClientStack.LindenCaps] | ||
935 | ;; Long list of capabilities taken from | ||
936 | ;; http://wiki.secondlife.com/wiki/Current_Sim_Capabilities | ||
937 | ;; Not all are supported by OpenSim. The ones supported are | ||
938 | ;; set to localhost. These defaults can be overwritten | ||
939 | ;; in OpenSim.ini | ||
940 | ;; Possible values are: | ||
941 | ;; "" -- empty, capability disabled | ||
942 | ;; "localhost" -- capability enabled and served by the simulator | ||
943 | ;; "<url>" -- capability enabled and served by some other server | ||
944 | ;; | ||
945 | ; These are enabled by default to localhost. Change if you see fit. | ||
946 | ;; | ||
947 | Cap_AttachmentResources = "" | ||
948 | Cap_ChatSessionRequest = "" | ||
949 | Cap_CopyInventoryFromNotecard = "localhost" | ||
950 | Cap_DispatchRegionInfo = "" | ||
951 | Cap_EstateChangeInfo = "" | ||
952 | Cap_EnvironmentSettings = "localhost" | ||
953 | Cap_EventQueueGet = "localhost" | ||
954 | Cap_FetchInventory = "" | ||
955 | Cap_ObjectMedia = "localhost" | ||
956 | Cap_ObjectMediaNavigate = "localhost" | ||
957 | Cap_FetchLib = "" | ||
958 | Cap_FetchLibDescendents = "" | ||
959 | Cap_GetDisplayNames = "localhost" | ||
960 | Cap_GetTexture = "localhost" | ||
961 | Cap_GetMesh = "localhost" | ||
962 | Cap_GetObjectCost = "" | ||
963 | Cap_GetObjectPhysicsData = "" | ||
964 | Cap_GroupProposalBallot = "" | ||
965 | Cap_GroupMemberData = "localhost" | ||
966 | Cap_HomeLocation = "localhost" | ||
967 | Cap_LandResources = "" | ||
968 | Cap_MapLayer = "localhost" | ||
969 | Cap_MapLayerGod = "localhost" | ||
970 | Cap_NewFileAgentInventory = "localhost" | ||
971 | Cap_NewFileAgentInventoryVariablePrice = "localhost" | ||
972 | Cap_ObjectAdd = "localhost" | ||
973 | Cap_ParcelPropertiesUpdate = "localhost" | ||
974 | Cap_ParcelMediaURLFilterList = "" | ||
975 | Cap_ParcelNavigateMedia = "" | ||
976 | Cap_ParcelVoiceInfoRequest = "" | ||
977 | Cap_ProductInfoRequest = "" | ||
978 | Cap_ProvisionVoiceAccountRequest = "" | ||
979 | Cap_RemoteParcelRequest = "localhost" | ||
980 | Cap_RequestTextureDownload = "" | ||
981 | Cap_SearchStatRequest = "" | ||
982 | Cap_SearchStatTracking = "" | ||
983 | Cap_SendPostcard = "" | ||
984 | Cap_SendUserReport = "" | ||
985 | Cap_SendUserReportWithScreenshot = "" | ||
986 | Cap_ServerReleaseNotes = "" | ||
987 | Cap_SimConsole = "" | ||
988 | Cap_SimulatorFeatures = "" | ||
989 | Cap_SetDisplayName = "" | ||
990 | Cap_StartGroupProposal = "" | ||
991 | Cap_TextureStats = "" | ||
992 | Cap_UntrustedSimulatorMessage = "" | ||
993 | Cap_UpdateAgentInformation = "" | ||
994 | Cap_UpdateAgentLanguage = "" | ||
995 | Cap_UpdateGestureAgentInventory = "" | ||
996 | Cap_UpdateNotecardAgentInventory = "localhost" | ||
997 | Cap_UpdateScriptAgent = "localhost" | ||
998 | Cap_UpdateGestureTaskInventory = "" | ||
999 | Cap_UpdateNotecardTaskInventory = "localhost" | ||
1000 | Cap_UpdateScriptTask = "localhost" | ||
1001 | Cap_UploadBakedTexture = "localhost" | ||
1002 | Cap_UploadObjectAsset = "localhost" | ||
1003 | Cap_ViewerStartAuction = "" | ||
1004 | Cap_ViewerStats = "" | ||
1005 | |||
1006 | ; Capabilities for fetching inventory over HTTP rather than UDP | ||
1007 | ; FetchInventoryDescendents2 and FetchInventory2 are the ones used in the latest Linden Lab viewers (from some point in the v2 series and above) | ||
1008 | ; It appears that Linden Lab viewer 3.3.1 onwards will not work properly if FetchInventoryDescendents2 and FetchInventory2 are not enabled | ||
1009 | Cap_WebFetchInventoryDescendents = "" | ||
1010 | Cap_FetchInventoryDescendents2 = "localhost" | ||
1011 | Cap_FetchInventory2 = "localhost" | ||
1012 | |||
1013 | ; Capability for searching for people | ||
1014 | Cap_AvatarPickerSearch = "localhost" | ||
1015 | |||
1016 | |||
1017 | [SimulatorFeatures] | ||
1018 | ;# {SearchServerURI} {} {URL of the search server} {} | ||
1019 | ;; Optional. If given this serves the same purpose as the grid wide | ||
1020 | ;; [LoginServices] SearchURL setting and will override that where | ||
1021 | ;; supported by viewers. | ||
1022 | ;SearchServerURI = "http://127.0.0.1:9000/" | ||
1023 | |||
1024 | ;# {DestinationGuideURI} {} {URL of the destination guide} {} | ||
1025 | ;; Optional. If given this serves the same purpose as the grid wide | ||
1026 | ;; [LoginServices] DestinationGuide setting and will override that where | ||
1027 | ;; supported by viewers. | ||
1028 | ;DestinationGuideURI = "http://127.0.0.1:9000/guide" | ||
1029 | |||
1030 | |||
1031 | [Chat] | ||
1032 | ; Controls whether the chat module is enabled. Default is true. | ||
1033 | enabled = true | ||
1034 | |||
1035 | ; Distance in meters that whispers should travel. Default is 10m | ||
1036 | whisper_distance = 15 | ||
1037 | |||
1038 | ; Distance in meters that ordinary chat should travel. Default is 20m | ||
1039 | say_distance = 40 | ||
1040 | |||
1041 | ; Distance in meters that shouts should travel. Default is 100m | ||
1042 | shout_distance = 256 | ||
1043 | |||
1044 | |||
1045 | [EntityTransfer] | ||
1046 | ; Allow avatars to cross into and out of the region. | ||
1047 | AllowAvatarCrossing = true | ||
1048 | |||
1049 | ; This disables border transfers for objects. When true, objects can be placed outside | ||
1050 | ; the region's border without being transferred to another simulator. | ||
1051 | DisableObjectTransfer = false | ||
1052 | |||
1053 | ; Minimum user level required for HyperGrid teleports | ||
1054 | LevelHGTeleport = 0 | ||
1055 | |||
1056 | ; Determine whether the cancel button is shown at all during teleports. | ||
1057 | ; This option exists because cancelling at certain points can result in an unuseable session (frozen avatar, etc.) | ||
1058 | ; Disabling cancellation can be okay in small closed grids where all teleports are highly likely to suceed. | ||
1059 | DisableInterRegionTeleportCancellation = false | ||
1060 | |||
1061 | ;; This option exists to control the behavior of teleporting gods into places that have landing points | ||
1062 | ;; and telehubs. Historically, there has been a difference: OpenSim (OS) has honored landing points and telehubs even for | ||
1063 | ;; avatars with god permissions; SL lets gods land wherever they want. | ||
1064 | LandingPointBehavior = LandingPointBehavior_SL | ||
1065 | |||
1066 | |||
1067 | [Messaging] | ||
1068 | ; Control which region module is used for instant messaging. | ||
1069 | ; Default is InstantMessageModule (this is the name of the core IM module as well as the setting) | ||
1070 | |||
1071 | ; InstantMessageModule = InstantMessageModule | ||
1072 | ; MessageTransferModule = MessageTransferModule | ||
1073 | |||
1074 | ;# {OfflineMessageModule} {} {Module to use for offline message storage} {OfflineMessageModule "Offline Message Module V2" *} | ||
1075 | ;; Module to handle offline messaging. The core module requires an external | ||
1076 | ;; web service to do this. See OpenSim wiki. | ||
1077 | ; OfflineMessageModule = OfflineMessageModule | ||
1078 | ;; Or, alternatively, use this one, which works for both standalones and grids | ||
1079 | OfflineMessageModule = "Offline Message Module V2" | ||
1080 | |||
1081 | ;# {OfflineMessageURL} {OfflineMessageModule:OfflineMessageModule Offline Message Module V2:Offline Message Module V2} {URL of offline messaging service} {} | ||
1082 | ;; URL of web service for offline message storage. Leave it commented if your service is local to the sim. | ||
1083 | OfflineMessageURL = ${Const|BaseURL}/Offline.php | ||
1084 | |||
1085 | ;# {StorageProvider} {Offline Message Module V2:Offline Message Module V2} {DLL that provides the storage interface} {OpenSim.Data.MySQL.dll} | ||
1086 | ;; For standalones, this is the storage dll. | ||
1087 | StorageProvider = "${Const|DataProvider}" | ||
1088 | |||
1089 | ; Mute list handler | ||
1090 | ; the provided MuteListModule is just a Dummy | ||
1091 | ; you will need a external module for proper suport. | ||
1092 | ; if you keep both 2 following settings comment, viewers will use mutes in their caches | ||
1093 | ; if you uncoment both (url is ignored) the mutes will be deleted at login on this instance regions | ||
1094 | ; WARNING: viewers mutes cache seems to shared by all grids, including SL | ||
1095 | ; this may cause some confusion. | ||
1096 | ;# {MuteListModule} {MuteListModule:MuteListModule} {} {} None | ||
1097 | MuteListModule = MuteListModule | ||
1098 | ;# {MuteListURL} {MuteListModule:MuteListModule} {} {} http://yourserver/Mute.php | ||
1099 | MuteListURL = ${Const|BaseURL}/Mute.php | ||
1100 | |||
1101 | ;; Control whether group invites and notices are stored for offline users. | ||
1102 | ;; Default is true. | ||
1103 | ;; This applies to both core groups module. | ||
1104 | ForwardOfflineGroupMessages = true | ||
1105 | |||
1106 | |||
1107 | [Inventory] | ||
1108 | ; Control whether multiple objects sent to inventory should be coaleseced into a single item | ||
1109 | ; There are still some issues with coalescence, including the fact that rotation is not restored | ||
1110 | ; and some assets may be missing from archive files. | ||
1111 | CoalesceMultipleObjectsToInventory = true | ||
1112 | |||
1113 | |||
1114 | [Appearance] | ||
1115 | ; Persist avatar baked textures | ||
1116 | ; Persisting baked textures can speed up login and region border | ||
1117 | ; crossings especially with large numbers of users, though it | ||
1118 | ; will store potentially large numbers of textures in your asset | ||
1119 | ; database | ||
1120 | PersistBakedTextures = true | ||
1121 | |||
1122 | ; Control the delay before appearance is sent to other avatars and | ||
1123 | ; saved in the avatar service. Attempts to limit the impact caused | ||
1124 | ; by the very chatty dialog that sets appearance when an avatar | ||
1125 | ; logs in or teleports into a region; values are in seconds | ||
1126 | DelayBeforeAppearanceSave = 5 | ||
1127 | DelayBeforeAppearanceSend = 2 | ||
1128 | |||
1129 | ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds. | ||
1130 | ; This may help with some situations where avatars are persistently grey, though it will not help | ||
1131 | ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others). | ||
1132 | ResendAppearanceUpdates = true | ||
1133 | |||
1134 | ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar | ||
1135 | ; on every login | ||
1136 | ReuseTextures = true | ||
1137 | |||
1138 | |||
1139 | [Attachments] | ||
1140 | ; Controls whether avatar attachments are enabled. | ||
1141 | ; Defaults to true - only set to false for debugging purposes | ||
1142 | Enabled = true | ||
1143 | |||
1144 | ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments | ||
1145 | ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit | ||
1146 | ; or when multiple avatars with medium level attachments login/change outfit simultaneously. | ||
1147 | ; If 0 then no throttling is performed. | ||
1148 | ThrottlePer100PrimsRezzed = 0 | ||
1149 | |||
1150 | |||
1151 | [Mesh] | ||
1152 | ; enable / disable mesh asset uploads | ||
1153 | ; mesh asset must conform to standard mesh format, with OpenSim extensions | ||
1154 | ; default is true | ||
1155 | AllowMeshUpload = true | ||
1156 | |||
1157 | ; Minimum user level required to upload meshes | ||
1158 | ;LevelUpload = 0 | ||
1159 | |||
1160 | ; support meshes on physics | ||
1161 | UseMeshiesPhysicsMesh = true | ||
1162 | |||
1163 | ;support convex shape type on normal prims | ||
1164 | ; (ubOde only) | ||
1165 | ;ConvexPrims = true | ||
1166 | |||
1167 | ;support convex shape type on sculpts | ||
1168 | ; (ubOde only) | ||
1169 | ;ConvexSculpts = true | ||
1170 | |||
1171 | ; mesh cache settings: | ||
1172 | ; (ubOde only) | ||
1173 | ; do cache (keep true) | ||
1174 | ;MeshFileCache = true | ||
1175 | ; cache folder name relative to bin/ or absolute path | ||
1176 | ;MeshFileCachePath = MeshCache | ||
1177 | ;MeshFileCacheDoExpire = true | ||
1178 | ;MeshFileCacheExpireHours = 48 | ||
1179 | |||
1180 | |||
1181 | [Textures] | ||
1182 | ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible | ||
1183 | ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components | ||
1184 | ; (e.g. images pulled from an external HTTP address). | ||
1185 | ; 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. | ||
1186 | ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted. | ||
1187 | ; Hence, currently considered experimental. | ||
1188 | ; Default is false. | ||
1189 | ReuseDynamicTextures = false | ||
1190 | |||
1191 | ; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused | ||
1192 | ; 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. | ||
1193 | ; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem. | ||
1194 | ; This setting only has an affect is ReuseDynamicTextures = true | ||
1195 | ; Default is false | ||
1196 | ReuseDynamicLowDataTextures = false | ||
1197 | |||
1198 | |||
1199 | [ODEPhysicsSettings] | ||
1200 | ; ## | ||
1201 | ; ## Physics stats settings ( most ignored by ubOde ) | ||
1202 | ; | ||
1203 | |||
1204 | ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule | ||
1205 | ; (see http://opensimulator.org/wiki/Monitoring_Module for more details). | ||
1206 | collect_stats = false | ||
1207 | |||
1208 | ; ## | ||
1209 | ; ## Physics logging settings - logfiles are saved to *.DIF files | ||
1210 | ; ## | ||
1211 | |||
1212 | ; default is false | ||
1213 | ;physics_logging = true | ||
1214 | ;; every n simulation iterations, the physics snapshot file is updated | ||
1215 | ;physics_logging_interval = 50 | ||
1216 | ;; append to existing physics logfile, or overwrite existing logfiles? | ||
1217 | ;physics_logging_append_existing_logfile = true | ||
1218 | |||
1219 | ;## | ||
1220 | ;## World Settings | ||
1221 | ;## | ||
1222 | |||
1223 | ;Gravity. Feel like falling up? change world_gravityz to 9.8 instead of -9.8. m/s | ||
1224 | world_gravityx = 0 | ||
1225 | world_gravityy = 0 | ||
1226 | world_gravityz = -9.8 | ||
1227 | |||
1228 | ; Terminal velocity of a falling avatar | ||
1229 | ; This is the same http://en.wikipedia.org/wiki/Terminal_velocity#Examples | ||
1230 | ; Max value is 255, min value is 0 | ||
1231 | avatar_terminal_velocity = 54 | ||
1232 | |||
1233 | ; World Step size. | ||
1234 | ; with legacy ODE this value needs to be close to 0.02s | ||
1235 | ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load | ||
1236 | ; you will need to test acording to you needs | ||
1237 | ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS | ||
1238 | world_stepsize = 0.01818 | ||
1239 | ; number of iterations of constrains solver, higher should improve results | ||
1240 | ; up to a point where acumulated math errors eliminate the improvement | ||
1241 | ; more steps may increase CPU load. No real gain in changing | ||
1242 | world_solver_iterations = 10 | ||
1243 | |||
1244 | ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim | ||
1245 | ; defines spaces partition cells min and max sizes == 2^value | ||
1246 | world_hashspace_level_low = -5 | ||
1247 | world_hashSpace_level_high = 12 | ||
1248 | |||
1249 | meters_in_small_space = 29.9 | ||
1250 | |||
1251 | |||
1252 | ; ## | ||
1253 | ; ## Contact properties. (the stuff that happens when things come in contact with each other) | ||
1254 | ; ## | ||
1255 | |||
1256 | ; surface layer around geometries other geometries can sink into before generating a contact | ||
1257 | world_contact_surface_layer = 0.001 | ||
1258 | |||
1259 | ; Filtering collisions helps keep things stable physics wise, but sometimes | ||
1260 | ; it can be overzealous. If you notice bouncing, chances are it's that. | ||
1261 | filter_collisions = false | ||
1262 | |||
1263 | ; Non Moving Terrain Contact (avatar isn't moving) | ||
1264 | nm_terraincontact_friction = 255.0 | ||
1265 | nm_terraincontact_bounce = 0.1 | ||
1266 | nm_terraincontact_erp = 0.1025 | ||
1267 | |||
1268 | ; Moving Terrain Contact (avatar is moving) | ||
1269 | m_terraincontact_friction = 75.0 | ||
1270 | m_terraincontact_bounce = 0.05 | ||
1271 | m_terrainContact_erp = 0.05025 | ||
1272 | |||
1273 | ; Moving Avatar to object Contact | ||
1274 | m_avatarobjectcontact_friction = 75.0 | ||
1275 | m_avatarobjectcontact_bounce = 0.1 | ||
1276 | |||
1277 | ; Object to Object Contact and Non-Moving Avatar to object | ||
1278 | objectcontact_friction = 250.0 | ||
1279 | objectcontact_bounce = 0.2 | ||
1280 | |||
1281 | ; ## | ||
1282 | ; ## Avatar Control | ||
1283 | ; ## | ||
1284 | |||
1285 | ; PID Controller Settings. These affect the math that causes the avatar to reach the | ||
1286 | ; desired velocity | ||
1287 | ; See http://en.wikipedia.org/wiki/PID_controller | ||
1288 | |||
1289 | av_pid_derivative = 2200.0 | ||
1290 | av_pid_proportional = 900.0 | ||
1291 | |||
1292 | ;girth of the avatar. Adds radius to the height also | ||
1293 | av_capsule_radius = 0.37 | ||
1294 | |||
1295 | ; Max force permissible to use to keep the avatar standing up straight | ||
1296 | av_capsule_standup_tensor = 550000 | ||
1297 | |||
1298 | ; specifies if the capsule should be tilted (=true; old compatibility mode) | ||
1299 | ; or straight up-and-down (=false; better and more consistent physics behavior) | ||
1300 | av_capsule_tilted = false | ||
1301 | |||
1302 | ; used to calculate mass of avatar. | ||
1303 | ; float AVvolume = (float) (Math.PI*Math.Pow(CAPSULE_RADIUS, 2)*CAPSULE_LENGTH); | ||
1304 | ; av_density * AVvolume; | ||
1305 | av_density = 80 | ||
1306 | |||
1307 | ; use this value to cut 52% of the height the sim gives us | ||
1308 | ; Currently unused | ||
1309 | ; av_height_fudge_factor = 0.52 | ||
1310 | |||
1311 | ; Movement. Smaller is faster. | ||
1312 | |||
1313 | ; speed of movement with Always Run off | ||
1314 | av_movement_divisor_walk = 1.3 | ||
1315 | |||
1316 | ; speed of movement with Always Run on | ||
1317 | av_movement_divisor_run = 0.8 | ||
1318 | |||
1319 | ; When the avatar flies, it will be moved up by this amount off the ground (in meters) | ||
1320 | minimum_ground_flight_offset = 3.0 | ||
1321 | |||
1322 | ; Plant avatar. This reduces the effect of physical contacts with the avatar. | ||
1323 | ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive. | ||
1324 | ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active | ||
1325 | ; will lock the avatar in place | ||
1326 | av_planted = false | ||
1327 | |||
1328 | ; 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 | ||
1329 | av_av_collisions_off = false | ||
1330 | |||
1331 | ; ## | ||
1332 | ; ## Object options | ||
1333 | ; ## | ||
1334 | |||
1335 | ; used in the mass calculation. | ||
1336 | geometry_default_density = 10.000006836 | ||
1337 | |||
1338 | ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep | ||
1339 | body_frames_auto_disable = 20 | ||
1340 | |||
1341 | ; used to control llMove2Target | ||
1342 | body_pid_derivative = 35 | ||
1343 | body_pid_gain = 25 | ||
1344 | |||
1345 | ; maximum number of contact points to generate per collision | ||
1346 | contacts_per_collision = 80 | ||
1347 | |||
1348 | ; start throttling the object updates if object comes in contact with 3 or more other objects | ||
1349 | geom_contactpoints_start_throttling = 3 | ||
1350 | |||
1351 | ; send 1 update for every x updates below when throttled | ||
1352 | geom_updates_before_throttled_update = 15 | ||
1353 | |||
1354 | ; Maximum mass an object can be before it is clamped | ||
1355 | maximum_mass_object = 10000.01 | ||
1356 | |||
1357 | ; ## | ||
1358 | ; ## Sculpted Prim settings | ||
1359 | ; ## | ||
1360 | |||
1361 | ; Do we want to mesh sculpted prim to collide like they look? | ||
1362 | ; If you are seeing sculpt texture decode problems | ||
1363 | ; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception") | ||
1364 | ; then you might want to try setting this to false. | ||
1365 | mesh_sculpted_prim = true | ||
1366 | |||
1367 | ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies | ||
1368 | mesh_lod = 32 | ||
1369 | |||
1370 | ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies | ||
1371 | mesh_physical_lod = 16 | ||
1372 | |||
1373 | ; ## | ||
1374 | ; ## additional meshing options | ||
1375 | ; ## | ||
1376 | |||
1377 | ; Physics needs to create internal meshs (or convert the object meshs or scultps) | ||
1378 | ; for all prims except simple boxes and spheres. | ||
1379 | |||
1380 | ; collisions of small objects againts larger ones can have a increased CPU load cost | ||
1381 | ; so this are represented by a simple BOX | ||
1382 | ; if all their scale dimensions are lower or equal to this option. Default is 0.1m | ||
1383 | ; (ubOde only) | ||
1384 | ; MinSizeToMeshmerize = 0.1 | ||
1385 | |||
1386 | |||
1387 | [BulletSim] | ||
1388 | ; All the BulletSim parameters can be displayed with the console command | ||
1389 | ; "physics get all" and all are defined in the source file | ||
1390 | ; OpenSim/Regions/Physics/BulletSPlugin/BSParam.cs. | ||
1391 | |||
1392 | ; There are two bullet physics libraries, bulletunmanaged is the default and is a | ||
1393 | ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality | ||
1394 | ; but the c++ one is much faster. | ||
1395 | BulletEngine = "bulletunmanaged" | ||
1396 | ; BulletEngine = "bulletxna" | ||
1397 | |||
1398 | ; BulletSim can run on its own thread independent of the simulator's heartbeat | ||
1399 | ; thread. Enabling this will not let the physics engine slow down avatar movement, etc. | ||
1400 | UseSeparatePhysicsThread = true | ||
1401 | |||
1402 | ; Terrain implementation can use either Bullet's heightField or BulletSim can build | ||
1403 | ; a mesh. 0=heightField, 1=mesh | ||
1404 | TerrainImplementation = 1 | ||
1405 | ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield | ||
1406 | ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher | ||
1407 | ; magnifications use lots of memory. | ||
1408 | TerrainMeshMagnification = 3 | ||
1409 | |||
1410 | ; Should avatars collide with each other? | ||
1411 | AvatarToAvatarCollisionsByDefault = true | ||
1412 | |||
1413 | ; Avatar physics height adjustments. | ||
1414 | ; http://opensimulator.org/wiki/BulletSim#Adjusting_Avatar_Height | ||
1415 | AvatarHeightLowFudge = 0 ; Adjustment at low end of height range | ||
1416 | AvatarHeightMidFudge = 0 ; Adjustment at mid point of avatar height range | ||
1417 | AvatarHeightHighFudge = 0 ; Adjustment at high end of height range | ||
1418 | |||
1419 | ; Avatar walk-up-stairs parameters | ||
1420 | ; If an avatar collides with an object 'close to its feet', the avatar will be | ||
1421 | ; moved/pushed up do simulate stepping up. | ||
1422 | ;;;; Has trouble with the lighthouse stairs, but all others work fine, can even climb over some fences. Which is odd. | ||
1423 | AvatarStepHeight = 0.6 ; The height, below which is considered a step collision. | ||
1424 | AvatarStepAngle = 0.3 ; The angle from vertical (in radians) to consider a surface a step | ||
1425 | AvatarStepApproachFactor = 2 ; Approach angle factor. O=straight on, .6=~45 degrees. | ||
1426 | AvatarStepGroundFudge = 0.1 ; Fudge added to bottom of avatar below which step collisions happen | ||
1427 | AvatarStepForceFactor = 0 ; Avatar is pushed up by its mass times this factor | ||
1428 | AvatarStepUpCorrectionFactor = 1.1 ; Avatar is displaced up the collision height times this factor | ||
1429 | AvatarStepSmoothingSteps = 3 ; Number of frames after a step collision that up correction is applied | ||
1430 | |||
1431 | ; Terminal velocity of a falling avatar | ||
1432 | ; This is the same http://en.wikipedia.org/wiki/Terminal_velocity#Examples | ||
1433 | ; negative for a downward speed. | ||
1434 | AvatarTerminalVelocity = -54 | ||
1435 | |||
1436 | ; Default linkset implmentation | ||
1437 | ; 'Constraint' uses physics constraints to hold linkset together. 'Compound' | ||
1438 | ; builds a compound shape from the children shapes to create a single physical | ||
1439 | ; shape. 'Compound' uses a lot less CPU time. | ||
1440 | LinkImplementation = 1 ; 0=constraint, 1=compound | ||
1441 | |||
1442 | ; If 'true', offset a linkset's origin based on mass of linkset parts. | ||
1443 | LinksetOffsetCenterOfMass = false | ||
1444 | |||
1445 | ; If 'true', turn scuplties into meshes | ||
1446 | MeshSculptedPrim = true | ||
1447 | |||
1448 | ; If 'true', force simple prims (box and sphere) to be meshed | ||
1449 | ; If 'false', the Bullet native special case shape is used for square rectangles | ||
1450 | ; and even dimensioned spheres. | ||
1451 | ForceSimplePrimMeshing = false | ||
1452 | |||
1453 | ; If 'true', when creating meshes, remove all triangles that have two equal vertexes. | ||
1454 | ; Happens often in sculpties. If turned off, there will be some doorways | ||
1455 | ; that cannot be walked through. | ||
1456 | ShouldRemoveZeroWidthTriangles = true | ||
1457 | |||
1458 | ; If 'true', use convex hull definition in mesh asset if present. | ||
1459 | ShouldUseAssetHulls = true | ||
1460 | |||
1461 | ; If there are thousands of physical objects, these maximums should be increased. | ||
1462 | MaxCollisionsPerFrame = 2048 | ||
1463 | MaxUpdatesPerFrame = 8192 | ||
1464 | |||
1465 | ; Detailed physics debug logging. Very verbose. | ||
1466 | PhysicsLoggingEnabled = False | ||
1467 | PhysicsLoggingDir = "." | ||
1468 | VehicleLoggingEnabled = False | ||
1469 | |||
1470 | |||
1471 | [RemoteAdmin] | ||
1472 | ;; This is the remote admin module, which uses XMLRPC requests to | ||
1473 | ;; manage regions from a web interface. | ||
1474 | |||
1475 | enabled = false | ||
1476 | |||
1477 | ; Set this to a nonzero value to have remote admin use a different port | ||
1478 | port = 0 | ||
1479 | |||
1480 | ; Set this to the ip address that you want the admin server to bind to | ||
1481 | bind_ip_address = "0.0.0.0" | ||
1482 | |||
1483 | ; This password is required to make any XMLRPC call (should be set as the "password" parameter) | ||
1484 | access_password = unknown | ||
1485 | |||
1486 | ; List the IP addresses allowed to call RemoteAdmin | ||
1487 | ; If access_ip_addresses isn't set, then all IP addresses can access RemoteAdmin. | ||
1488 | ; access_ip_addresses = 0.0.0.0, 0.0.0.0 ... | ||
1489 | ; access_ip_addresses = | ||
1490 | |||
1491 | ; set this variable to true if you want the create_region XmlRpc | ||
1492 | ; call to unconditionally enable voice on all parcels for a newly | ||
1493 | ; created region [default: false] | ||
1494 | create_region_enable_voice = false | ||
1495 | |||
1496 | ; set this variable to false if you want the create_region XmlRpc | ||
1497 | ; call to create all regions as private per default (can be | ||
1498 | ; overridden in the XmlRpc call) [default: true] | ||
1499 | create_region_public = false | ||
1500 | |||
1501 | ; the create_region XmlRpc call uses region_file_template to generate | ||
1502 | ; the file name of newly create regions (if they are created | ||
1503 | ; persistent). the parameter available are: | ||
1504 | ; {0} - X location | ||
1505 | ; {1} - Y location | ||
1506 | ; {2} - region UUID | ||
1507 | ; {3} - region port | ||
1508 | ; {4} - region name with " ", ":", "/" mapped to "_" | ||
1509 | region_file_template = "{0}x{1}-{2}.ini" | ||
1510 | |||
1511 | ; we can limit the number of regions that XmlRpcCreateRegion will | ||
1512 | ; allow by setting this to a positive, non-0 number: as long as the | ||
1513 | ; number of regions is below region_limits, XmlRpcCreateRegion will | ||
1514 | ; succeed. setting region_limit to 0 disables the check. | ||
1515 | ; default is 0 | ||
1516 | ;region_limit = 0 | ||
1517 | |||
1518 | ; enable only those methods you deem to be appropriate using a | delimited whitelist | ||
1519 | ; for example, enabled_methods = admin_broadcast|admin_region_query|admin_save_oar|admin_save_xml | ||
1520 | ; if this parameter is not specified but enabled = true, all methods will be available | ||
1521 | enabled_methods = all | ||
1522 | |||
1523 | ; specify the default appearance for an avatar created through the remote admin interface | ||
1524 | ; This will only take effect is the file specified by the default_appearance setting below exists | ||
1525 | ;default_male = Default Male | ||
1526 | ;default_female = Default Female | ||
1527 | |||
1528 | ; update appearance copies inventory items and wearables of default avatars. if this value is false | ||
1529 | ; (default), just worn assets are copied to the Clothes folder; if true, all Clothes and Bodyparts | ||
1530 | ; subfolders are copied. the receiver will wear the same items the default avatar did wear. | ||
1531 | copy_folders = true | ||
1532 | |||
1533 | ; path to default appearance XML file that specifies the look of the default avatars | ||
1534 | ;default_appearance = default_appearance.xml | ||
1535 | |||
1536 | |||
1537 | ; RestPlugins are not currently operational. | ||
1538 | ;[RestPlugins] | ||
1539 | ; ; Change this to true to enable REST Plugins. This must be true if you wish to use | ||
1540 | ; ; REST Region or REST Asset and Inventory Plugins | ||
1541 | ; enabled = false | ||
1542 | ; god_key = SECRET | ||
1543 | ; prefix = /admin | ||
1544 | |||
1545 | |||
1546 | ;[RestRegionPlugin] | ||
1547 | ; ; Change this to true to enable the REST Region Plugin | ||
1548 | ; enabled = false | ||
1549 | |||
1550 | |||
1551 | ;[RestHandler] | ||
1552 | ; ; Change this to true to enable the REST Asset and Inventory Plugin | ||
1553 | ; enabled = false | ||
1554 | ; authenticate = true | ||
1555 | ; secured = true | ||
1556 | ; extended-escape = true | ||
1557 | ; realm = OpenSim REST | ||
1558 | ; dump-asset = false | ||
1559 | ; path-fill = true | ||
1560 | ; dump-line-size = 32 | ||
1561 | ; flush-on-error = true | ||
1562 | |||
1563 | |||
1564 | [IRC] | ||
1565 | ; IRC bridge is experimental, so if it breaks... keep both parts... yada yada | ||
1566 | ; also, not good error detection when it fails | ||
1567 | enabled = false; you need to set this to true otherwise it won't connect | ||
1568 | ;server = name.of.irc.server.on.the.net | ||
1569 | ;; user password - only use this if the server requires one | ||
1570 | ;password = mypass | ||
1571 | ;nick = OpenSimBotNameProbablyMakeThisShorter | ||
1572 | ;channel = #the_irc_channel_you_want_to_connect_to | ||
1573 | ;user = "USER OpenSimBot 8 * :I'm an OpenSim to IRC bot" | ||
1574 | ;port = 6667 | ||
1575 | ;; channel to listen for configuration commands | ||
1576 | ;commands_enabled = false | ||
1577 | ;command_channel = 2777 | ||
1578 | ;report_clients = true | ||
1579 | ;; relay private chat connections | ||
1580 | ;; relay_private_channels = true: will relay IRC chat from/to private in-world channels | ||
1581 | ;; relay_private_channel_out -- channel to send messages out to the IRC bridge | ||
1582 | ;; relay_private_channel_in -- channel to receive message from the IRC bridge | ||
1583 | ;; relay_chat = false: IRC bridge will not relay normal chat | ||
1584 | ;; access_password -- simple security device | ||
1585 | ;; | ||
1586 | ;; so, to just relay chat from an IRC channel to in-world region and vice versa: | ||
1587 | ;; | ||
1588 | ;; relay_private_channels = false | ||
1589 | ;; relay_chat = true | ||
1590 | ;; | ||
1591 | ;; to relay chat only to/from private in-world channels: | ||
1592 | ;; | ||
1593 | ;; relay_chat = false | ||
1594 | ;; relay_private_channels = true | ||
1595 | ;; relay_private_channel_in = 2226 | ||
1596 | ;; relay_private_channel_out = 2225 | ||
1597 | ;; | ||
1598 | ;; in this example, all chat coming in from IRC will be send out via | ||
1599 | ;; in-world channel 2226, and all chat from in-world channel 2225 will | ||
1600 | ;; be relayed to the IRC channel. | ||
1601 | ;; | ||
1602 | ;relay_private_channels = false | ||
1603 | ;relay_private_channel_in = 2226 | ||
1604 | ;relay_private_channel_out = 2225 | ||
1605 | ;relay_chat = true | ||
1606 | ;access_password = foobar | ||
1607 | |||
1608 | ;;fallback_region = name of "default" region | ||
1609 | ;;MSGformat fields : 0=botnick, 1=user, 2=region, 3=message | ||
1610 | ;; must start with "PRIVMSG {0} : " or irc server will get upset | ||
1611 | ;;for <bot>:<user in region> :<message> | ||
1612 | ;;msgformat = "PRIVMSG {0} :<{1} in {2}>: {3}" | ||
1613 | ;;for <bot>:<message> - <user of region> : | ||
1614 | ;msgformat = "PRIVMSG {0} : {3} - {1} of {2}" | ||
1615 | ;;for <bot>:<message> - from <user> : | ||
1616 | ;;msgformat = "PRIVMSG {0} : {3} - from {1}" | ||
1617 | |||
1618 | ;; exclude_list allows you to stop the IRC connector from announcing the | ||
1619 | ;;arrival and departure of certain users. For example: admins, bots. | ||
1620 | |||
1621 | ;exclude_list=User 1,User 2,User 3 | ||
1622 | |||
1623 | ;;Shows modal alertbox for entering agent on IRC enabled regions | ||
1624 | ;; | ||
1625 | ;; Enable Alert, default = false | ||
1626 | ;alert_show = false | ||
1627 | ;; | ||
1628 | ;; Show IRC serverinfo, default = true | ||
1629 | ;alert_show_serverinfo = true | ||
1630 | ;; | ||
1631 | ;alert_msg_pre = "This region is linked to Irc." | ||
1632 | ;alert_msg_post = "Everything you say in public chat can be listened." | ||
1633 | |||
1634 | |||
1635 | [Sun] | ||
1636 | ; The following settings control the progression of daytime | ||
1637 | ; in the Sim. The defaults are the same as the commented out settings | ||
1638 | ; number of wall clock hours for an opensim day. 24.0 would mean realtime | ||
1639 | day_length = 24 | ||
1640 | ; Year length in days | ||
1641 | year_length = 365 | ||
1642 | ; Day to Night Ratio | ||
1643 | day_night_offset = 1.0 | ||
1644 | ; send a Sun update every update_interval # of frames. A lower number will | ||
1645 | ; make for smoother sun transition at the cost of network | ||
1646 | ;update_interval = 100 | ||
1647 | |||
1648 | |||
1649 | [Wind] | ||
1650 | ; Enables the wind module. Default is true | ||
1651 | enabled = true | ||
1652 | |||
1653 | ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second | ||
1654 | wind_update_rate = 150 | ||
1655 | |||
1656 | ; The Default Wind Plugin to load | ||
1657 | wind_plugin = SimpleRandomWind | ||
1658 | |||
1659 | ; These settings are specific to the ConfigurableWind plugin | ||
1660 | ; To use ConfigurableWind as the default, simply change wind_plugin to ConfigurableWind and uncomment the following. | ||
1661 | ; avg_strength = 5.0 | ||
1662 | ; avg_direction = 0.0 | ||
1663 | ; var_strength = 0.0 | ||
1664 | ; var_direction = 0.0 | ||
1665 | ; rate_change = 1.0 | ||
1666 | |||
1667 | ; This setting is specific to the SimpleRandomWind plugin | ||
1668 | ; Adjusts wind strength. 0.0 = no wind, 1.0 = normal wind. Default is 1.0 | ||
1669 | strength = 1.0 | ||
1670 | |||
1671 | |||
1672 | [Cloud] | ||
1673 | ; Enable this to generate classic particle clouds above the sim. | ||
1674 | ; default is disabled - turn it on here | ||
1675 | enabled = true | ||
1676 | |||
1677 | ; Density of cloud cover 0.0 to 1.0 Defult 0.5 | ||
1678 | density = 0.5 | ||
1679 | |||
1680 | ; update interval for the cloud cover data returned by llCloud(). | ||
1681 | ; default is 1000 | ||
1682 | cloud_update_rate = 1000 | ||
1683 | |||
1684 | |||
1685 | [LightShare] | ||
1686 | ; This enables the transmission of Windlight scenes to supporting clients, such as the Meta7 viewer. | ||
1687 | ; It has no ill effect on viewers which do not support server-side windlight settings. | ||
1688 | enable_windlight = true | ||
1689 | |||
1690 | |||
1691 | [Trees] | ||
1692 | ; enable the trees module. default true | ||
1693 | enabled = true | ||
1694 | |||
1695 | ; active_trees allows module to change its trees in time. | ||
1696 | ; some will be deleted, others created and rest may grow | ||
1697 | ; default is false. You can change it with console command tree active true | false later | ||
1698 | active_trees = false | ||
1699 | ; the trees change execution time rate (in ms) | ||
1700 | update_rate = 1000 | ||
1701 | |||
1702 | ; allow the trees to grow. | ||
1703 | ; DANGER | ||
1704 | ; this option causes high network use on the order of | ||
1705 | ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second | ||
1706 | allowGrow = false | ||
1707 | |||
1708 | |||
1709 | [VectorRender] | ||
1710 | ; the font to use for rendering text (default: Arial) | ||
1711 | ; font_name = "Arial" | ||
1712 | |||
1713 | |||
1714 | [LL-Functions] | ||
1715 | ; Set the following to true to allow administrator owned scripts to execute console commands | ||
1716 | ; currently unused | ||
1717 | ; AllowosConsoleCommand=false | ||
1718 | |||
1719 | ; Are god functions such as llSetObjectPermMask() allowed? If true then gods and only gods have access to these functions. | ||
1720 | ; If false then gods cannot execute these functions either. | ||
1721 | AllowGodFunctions = true | ||
1722 | |||
1723 | ; Restrict the email address used by llEmail to the address associated with the avatars user account? | ||
1724 | ; If true then llEmail will only send email to the address in the user account of the avatar who owns the object containing the script. | ||
1725 | ; If false then email may be sent to any valid email address. | ||
1726 | RestrictEmail = false | ||
1727 | |||
1728 | ; Maximum number of llListen events we allow over the entire region. | ||
1729 | ; Set this to 0 to have no limit imposed | ||
1730 | max_listens_per_region = 0 | ||
1731 | |||
1732 | ; Maximum number of llListen events we allow per script | ||
1733 | ; Set this to 0 to have no limit imposed. | ||
1734 | max_listens_per_script = 0 | ||
1735 | |||
1736 | ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL()) | ||
1737 | max_external_urls_per_simulator = 100 | ||
1738 | |||
1739 | ; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes. | ||
1740 | ; Speeds up calculations but can make them inaccurate, in some cases very inaccurate. | ||
1741 | UseSimpleBoxesInGetBoundingBox = false | ||
1742 | |||
1743 | ; Add a third vector with stats when returning results from llGetBoundingBox. | ||
1744 | ; Lists objects (groups), prims/meshes/avatars (parts) and vertices rendered. | ||
1745 | AddStatsInGetBoundingBox = false | ||
1746 | |||
1747 | ; Avatar bounding box, lower X value, constant part, when standing | ||
1748 | LowerAvatarBoundingBoxStandingXconst = -0.275 | ||
1749 | |||
1750 | ; Avatar bounding box, upper X value, constant part, when standing | ||
1751 | UpperAvatarBoundingBoxStandingXconst = 0.275 | ||
1752 | |||
1753 | ; Avatar bounding box, lower Y value, constant part, when standing | ||
1754 | LowerAvatarBoundingBoxStandingYconst = -0.35 | ||
1755 | |||
1756 | ; Avatar bounding box, upper Y value, constant part, when standing | ||
1757 | UpperAvatarBoundingBoxStandingYconst = 0.35 | ||
1758 | |||
1759 | ; Avatar bounding box, lower Z value, constant part, when standing | ||
1760 | LowerAvatarBoundingBoxStandingZconst = -0.1 | ||
1761 | |||
1762 | ; Avatar bounding box, lower Z value, coefficient to multiply with avatar height, when standing | ||
1763 | LowerAvatarBoundingBoxStandingZcoeff = -0.5 | ||
1764 | |||
1765 | ; Avatar bounding box, upper Z value, constant part, when standing | ||
1766 | UpperAvatarBoundingBoxStandingZconst = 0.1 | ||
1767 | |||
1768 | ; Avatar bounding box, upper Z value, coefficient to multiply with avatar height, when standing | ||
1769 | UpperAvatarBoundingBoxStandingZcoeff = 0.5 | ||
1770 | |||
1771 | ; Avatar bounding box, lower X value, constant part, when groundsitting | ||
1772 | LowerAvatarBoundingBoxGroundsittingXconst = -0.3875 | ||
1773 | |||
1774 | ; Avatar bounding box, upper X value, constant part, when groundsitting | ||
1775 | UpperAvatarBoundingBoxGroundsittingXconst = 0.3875 | ||
1776 | |||
1777 | ; Avatar bounding box, lower Y value, constant part, when groundsitting | ||
1778 | LowerAvatarBoundingBoxGroundsittingYconst = -0.5 | ||
1779 | |||
1780 | ; Avatar bounding box, upper Y value, constant part, when groundsitting | ||
1781 | UpperAvatarBoundingBoxGroundsittingYconst = 0.5 | ||
1782 | |||
1783 | ; Avatar bounding box, lower Z value, constant part, when groundsitting | ||
1784 | LowerAvatarBoundingBoxGroundsittingZconst = -0.05 | ||
1785 | |||
1786 | ; Avatar bounding box, lower Z value, coefficient to multiply with avatar height, when groundsitting | ||
1787 | LowerAvatarBoundingBoxGroundsittingZcoeff = -0.375 | ||
1788 | |||
1789 | ; Avatar bounding box, upper Z value, constant part, when groundsitting | ||
1790 | UpperAvatarBoundingBoxGroundsittingZconst = 0.5 | ||
1791 | |||
1792 | ; Avatar bounding box, upper Z value, coefficient to multiply with avatar height, when groundsitting | ||
1793 | UpperAvatarBoundingBoxGroundsittingZcoeff = 0.0 | ||
1794 | |||
1795 | ; Avatar bounding box, lower X value, constant part, when sitting | ||
1796 | LowerAvatarBoundingBoxSittingXconst = -0.5875 | ||
1797 | |||
1798 | ; Avatar bounding box, upper X value, constant part, when sitting | ||
1799 | UpperAvatarBoundingBoxSittingXconst = 0.1875 | ||
1800 | |||
1801 | ; Avatar bounding box, lower Y value, constant part, when sitting | ||
1802 | LowerAvatarBoundingBoxSittingYconst = -0.35 | ||
1803 | |||
1804 | ; Avatar bounding box, upper Y value, constant part, when sitting | ||
1805 | UpperAvatarBoundingBoxSittingYconst = 0.35 | ||
1806 | |||
1807 | ; Avatar bounding box, lower Z value, constant part, when sitting | ||
1808 | LowerAvatarBoundingBoxSittingZconst = -0.35 | ||
1809 | |||
1810 | ; Avatar bounding box, lower Z value, coefficient to multiply with avatar height, when sitting | ||
1811 | LowerAvatarBoundingBoxSittingZcoeff = -0.375 | ||
1812 | |||
1813 | ; Avatar bounding box, upper Z value, constant part, when sitting | ||
1814 | UpperAvatarBoundingBoxSittingZconst = -0.25 | ||
1815 | |||
1816 | ; Avatar bounding box, upper Z value, coefficient to multiply with avatar height, when sitting | ||
1817 | UpperAvatarBoundingBoxSittingZcoeff = 0.25 | ||
1818 | |||
1819 | ; Safety coefficient for max bounding box from prim size box X coordinate | ||
1820 | ; Worst case is twisted and sheared box, 1+sqrt(2) | ||
1821 | PrimBoundingBoxSafetyCoefficientX = 2.414214 | ||
1822 | |||
1823 | ; Safety coefficient for max bounding box from prim size box Y coordinate | ||
1824 | ; Worst case is twisted and sheared box, 1+sqrt(2) | ||
1825 | PrimBoundingBoxSafetyCoefficientY = 2.414214 | ||
1826 | |||
1827 | ; Safety coefficient for max bounding box from prim size box Z coordinate | ||
1828 | ; Worst case is twisted tube, 0.5+sqrt(1.25) | ||
1829 | PrimBoundingBoxSafetyCoefficientZ = 1.618034 | ||
1830 | |||
1831 | ; Use llCastRay V3 if true. | ||
1832 | ; Implements llCastRay similar but not identical to Second Life. | ||
1833 | ; See http://wiki.secondlife.com/wiki/LlCastRay . | ||
1834 | ; NEW | ||
1835 | ; Meshes prims for good accuracy in ray hit detection, | ||
1836 | ; handling basic and tortured prims, sculpts and meshes. | ||
1837 | ; Uses ellipsoid, correctly sized avatar capsules. | ||
1838 | ; Handles complex terrain, multi-prim objects and seated avatars. | ||
1839 | ; Implements throttling and the status codes | ||
1840 | ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED, | ||
1841 | ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW. | ||
1842 | ; WARNING | ||
1843 | ; Can be faster on some servers and scenes, but slower on others, | ||
1844 | ; compared to previous version of llCastRay in OpenSimulator. | ||
1845 | ; Is in most cases considerably slower than llCastRay in Second Life. | ||
1846 | ; Generates geometry meshes and can therefore use much system resources. | ||
1847 | UseLlCastRayV3 = true | ||
1848 | |||
1849 | ; Accepted calculation precision error in calculations in llCastRay V3 | ||
1850 | FloatToleranceInLlCastRay = 0.00001 | ||
1851 | |||
1852 | ; Accepted distance difference between duplicate hits in llCastRay V3 | ||
1853 | FloatTolerance2InLlCastRay = 0.001 | ||
1854 | |||
1855 | ; Detail level when rendering prims in llCastRay V3 | ||
1856 | ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call | ||
1857 | PrimDetailLevelInLlCastRay = 1 | ||
1858 | |||
1859 | ; Detail level when rendering sculpts in llCastRay V3 | ||
1860 | ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call | ||
1861 | SculptDetailLevelInLlCastRay = 1 | ||
1862 | |||
1863 | ; Detail level when rendering meshes in llCastRay V3 | ||
1864 | ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call | ||
1865 | MeshDetailLevelInLlCastRay = 3 | ||
1866 | |||
1867 | ; Detail level when rendering avatar capsules in llCastRay V3 | ||
1868 | ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call | ||
1869 | AvatarDetailLevelInLlCastRay = 1 | ||
1870 | |||
1871 | ; Maximum number of returned hits from llCastRay V3 | ||
1872 | MaxHitsInLlCastRay = 16 | ||
1873 | |||
1874 | ; Maximum number of returned hits per prim from llCastRay V3 | ||
1875 | MaxHitsPerPrimInLlCastRay = 16 | ||
1876 | |||
1877 | ; Maximum number of returned hits per object from llCastRay V3 | ||
1878 | MaxHitsPerObjectInLlCastRay = 16 | ||
1879 | |||
1880 | ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true | ||
1881 | DetectExitHitsInLlCastRay = false | ||
1882 | |||
1883 | ; Detect attachments in llCastRay V3 if true | ||
1884 | DoAttachmentsInLlCastRay = false | ||
1885 | |||
1886 | ; Throttle period length in ms before which all old llCastRay use is discarded in llCastRay V3 | ||
1887 | ; The sum of AvailableTimeInMsPerRegionInLlCastRay and all AvailableTimeInMsPerAvatarInLlCastRay should not exceed this | ||
1888 | ThrottleTimeInMsInLlCastRay = 200 | ||
1889 | |||
1890 | ; Available time in ms for llCastRay per throttle period and 65536 m2 land area in llCastRay V3 | ||
1891 | AvailableTimeInMsPerRegionInLlCastRay = 40 | ||
1892 | |||
1893 | ; Available time in ms for llCastRay per throttle period and avatar when script in attachment or vehicle in llCastRay V3 | ||
1894 | AvailableTimeInMsPerAvatarInLlCastRay = 10 | ||
1895 | |||
1896 | ; Required available time in ms left to perform a new llCastRay in llCastRay V3 | ||
1897 | RequiredAvailableTimeInMsInLlCastRay = 2 | ||
1898 | |||
1899 | ; Maximum available time in ms possible in llCastRay V3, not to get too high values with varregions | ||
1900 | MaximumAvailableTimeInMsInLlCastRay = 40 | ||
1901 | |||
1902 | ; Use cached meshes in llCastRay V3 if true | ||
1903 | ; Improves performance but uses more memory | ||
1904 | UseMeshCacheInLlCastRay = true | ||
1905 | |||
1906 | |||
1907 | [DataSnapshot] | ||
1908 | ; The following set of configs pertains to search. | ||
1909 | ; Set index_sims to true to enable search engines to index your searchable data | ||
1910 | ; If false, no data will be exposed, DataSnapshot module will be off, and you can ignore the rest of these search-related configs | ||
1911 | ; default is false | ||
1912 | index_sims = false | ||
1913 | |||
1914 | ; The variable data_exposure controls what the regions expose: | ||
1915 | ; minimum: exposes only things explicitly marked for search | ||
1916 | ; all: exposes everything | ||
1917 | data_exposure = minimum | ||
1918 | |||
1919 | ; If search is on, change this to your grid name; will be ignored for standalones | ||
1920 | gridname = "${Const|GridName}" | ||
1921 | |||
1922 | ; Period between data snapshots, in seconds. 20 minutes, for starters, so that you see the initial changes fast. | ||
1923 | ; Later, you may want to increase this to 3600 (1 hour) or more | ||
1924 | default_snapshot_period = 1200 | ||
1925 | |||
1926 | ; This will be created in bin, if it doesn't exist already. It will hold the data snapshots. | ||
1927 | snapshot_cache_directory = "${Paths|CachePath}/DataSnapshot" | ||
1928 | |||
1929 | ; Uncomment if you want to index your data with this and/or other search providers. One entry per | ||
1930 | ; data service | ||
1931 | ;DATA_SRV_MISearch = "http://metaverseink.com/cgi-bin/register.py" | ||
1932 | |||
1933 | |||
1934 | [Economy] | ||
1935 | ; the economy module in use | ||
1936 | ; default is the provided BetaGridLikeMoneyModule | ||
1937 | ; - This module is for demonstration only - | ||
1938 | ; The default economy module only implements just enough to allow free actions (transfer of objects, etc). | ||
1939 | ; There is no intention to implement anything further in core OpenSimulator. | ||
1940 | ; This functionality has to be provided by third party modules. | ||
1941 | ; To use other modules you need to override this setting on OpenSim.ini Economy (or startup) section | ||
1942 | ; economymodule = BetaGridLikeMoneyModule | ||
1943 | |||
1944 | ; These economy values get used in the BetaGridLikeMoneyModule. - This module is for demonstration only - | ||
1945 | ; The default economy module only implements just enough to allow free actions (transfer of objects, etc). | ||
1946 | ; There is no intention to implement anything further in core OpenSimulator. | ||
1947 | ; This functionality has to be provided by third party modules. | ||
1948 | |||
1949 | ;; Enables selling things for $0. Default is true. | ||
1950 | SellEnabled = true | ||
1951 | |||
1952 | ;; Money Unit fee to upload textures, animations etc. Default is 0. | ||
1953 | PriceUpload = 0 | ||
1954 | |||
1955 | ;; Money Unit fee to create groups. Default is 0. | ||
1956 | PriceGroupCreate = 0 | ||
1957 | |||
1958 | ; We don't really know what the rest of these values do. These get sent to the client | ||
1959 | ; These taken from Agni at a Public Telehub. Change at your own risk. | ||
1960 | ;ObjectCount = 0 | ||
1961 | ;PriceEnergyUnit = 0 | ||
1962 | ;PriceObjectClaim = 0 | ||
1963 | ;PricePublicObjectDecay = 0 | ||
1964 | ;PricePublicObjectDelete = 0 | ||
1965 | ;PriceParcelClaim = 0 | ||
1966 | ;PriceParcelClaimFactor = 1 | ||
1967 | |||
1968 | ;PriceRentLight = 0 | ||
1969 | ;TeleportMinPrice = 0 | ||
1970 | ;TeleportPriceExponent = 2 | ||
1971 | ;EnergyEfficiency = 1 | ||
1972 | ;PriceObjectRent = 0 | ||
1973 | ;PriceObjectScaleFactor = 10 | ||
1974 | ;PriceParcelRent = 0 | ||
1975 | |||
1976 | |||
1977 | [XEngine] | ||
1978 | ; Enable this engine in this OpenSim instance | ||
1979 | Enabled = true | ||
1980 | |||
1981 | ; How many threads to keep alive even if nothing is happening | ||
1982 | MinThreads = 2 | ||
1983 | |||
1984 | ; How many threads to start at maximum load | ||
1985 | MaxThreads = 100 | ||
1986 | |||
1987 | ; Time a thread must be idle (in seconds) before it dies | ||
1988 | IdleTimeout = 60 | ||
1989 | |||
1990 | ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest") | ||
1991 | Priority = "BelowNormal" | ||
1992 | |||
1993 | ; Maximum number of events to queue for a script (excluding timers) | ||
1994 | MaxScriptEventQueue = 3000 | ||
1995 | |||
1996 | ; Stack size per thread created | ||
1997 | ThreadStackSize = 262144 | ||
1998 | |||
1999 | ; Set this to true to load each script into a separate | ||
2000 | ; AppDomain. Setting this to false will load all script assemblies into the | ||
2001 | ; current AppDomain, which will reduce the initial per-script memory overhead, | ||
2002 | ; but deleted scripts stay inactive using memory. | ||
2003 | ; Significantly improving script loading times. | ||
2004 | ; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted. | ||
2005 | ; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region. | ||
2006 | ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited. | ||
2007 | ; At this time some mono versions seem to have problems with the true option, | ||
2008 | ; so default is now false until a fix is found, to simply life of less technical skilled users. | ||
2009 | ; WARNING this makes OpenSim use four times as much memory! | ||
2010 | AppDomainLoading = false | ||
2011 | |||
2012 | ; Controls whether previously compiled scripts DLLs are deleted on sim restart. | ||
2013 | ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled. | ||
2014 | ; It should be true on first run after updating opensim binary version | ||
2015 | ; after first run you can change to false. | ||
2016 | ; You can also set it to false and delete the script DLLs by hand | ||
2017 | ; This does not delete cached scripts state. | ||
2018 | DeleteScriptsOnStartup = false | ||
2019 | |||
2020 | ; CompactMemOnLoad | ||
2021 | ; forces calls to memory garbage collector before loading each script DLL during region startup. | ||
2022 | ; Peak memory usage is reduced and region starts with a more compacted memory allocation. | ||
2023 | ; But this costs a lot of time, so region load will take a lot longer. | ||
2024 | ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true) | ||
2025 | ; CompactMemOnLoad = false | ||
2026 | |||
2027 | ; Controls whether scripts are stopped by aborting their threads externally (abort) | ||
2028 | ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op). | ||
2029 | ; co-op will be more stable as aborting threads can cause instability. | ||
2030 | ; abort was the default option in OpenSimulator 0.8 and before. | ||
2031 | ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary. | ||
2032 | ; However, the setting change will not take affect until the next time you restart the simulator. | ||
2033 | ; Setting changes will not affect state information stored for scripts. | ||
2034 | ScriptStopStrategy = co-op | ||
2035 | |||
2036 | ; Rate to poll for asynchronous command replies (ms) | ||
2037 | ; currently unused | ||
2038 | ;AsyncLLCommandLoopms = 50 | ||
2039 | |||
2040 | ; Save the source of all compiled scripts | ||
2041 | WriteScriptSourceToDebugFile = false | ||
2042 | |||
2043 | ; Compile debug info (line numbers) into the script assemblies | ||
2044 | CompileWithDebugInformation = true | ||
2045 | |||
2046 | ; Don't include stack traces in silly threat level errors? | ||
2047 | DebuggerSafe = true | ||
2048 | |||
2049 | ; Allow the user of mod* functions. This allows a script to pass messages | ||
2050 | ; to a region module via the modSendCommand() function | ||
2051 | ; Default is false | ||
2052 | AllowMODFunctions = true | ||
2053 | |||
2054 | ; Allow the use of os* functions (some are dangerous) | ||
2055 | AllowOSFunctions = true | ||
2056 | |||
2057 | ; Allow the user of LightShare functions | ||
2058 | AllowLightShareFunctions = true | ||
2059 | |||
2060 | ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe | ||
2061 | OSFunctionThreatLevel = Moderate | ||
2062 | |||
2063 | ; OS Functions enable/disable | ||
2064 | ; For each function, you can add one line, as shown | ||
2065 | ; The default for all functions allows them if below threat level | ||
2066 | |||
2067 | ; true allows the use of the function unconditionally | ||
2068 | ; Allow_osSetRegionWaterHeight = true | ||
2069 | |||
2070 | ; false disables the function completely | ||
2071 | ; Allow_osSetRegionWaterHeight = false | ||
2072 | |||
2073 | ; Comma separated list of UUIDS allows the function for that list of UUIDS | ||
2074 | ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb | ||
2075 | |||
2076 | ; Comma separated list of owner classes that allow the function for a particular class of owners. Choices are | ||
2077 | ; - PARCEL_GROUP_MEMBER: allow if objectgroup is the same group as the parcel | ||
2078 | ; - PARCEL_OWNER: allow if the objectowner is parcelowner | ||
2079 | ; - ESTATE_MANAGER: allow if the object owner is a estate manager | ||
2080 | ; - ESTATE_OWNER: allow if objectowner is estateowner | ||
2081 | ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb, PARCEL_OWNER, ESTATE_OWNER>, ... | ||
2082 | |||
2083 | ; You can also use script creators as the uuid | ||
2084 | ; Creators_osSetRegionWaterHeight = <uuid>, ... | ||
2085 | |||
2086 | ; If both Allow_ and Creators_ are given, effective permissions | ||
2087 | ; are the union of the two. | ||
2088 | |||
2089 | ; Interval (s) between background save of script states | ||
2090 | SaveInterval = 120 | ||
2091 | |||
2092 | ; Interval (s) between maintenance runs (0 = disable) | ||
2093 | MaintenanceInterval = 10 | ||
2094 | |||
2095 | ; Time a script can spend in an event handler before it is interrupted | ||
2096 | EventLimit = 60 | ||
2097 | |||
2098 | ; If a script overruns it's event limit, kill the script? | ||
2099 | KillTimedOutScripts = true | ||
2100 | |||
2101 | ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested | ||
2102 | ; before aborting the thread (such as when an object containing scripts is taken into inventory). | ||
2103 | WaitForEventCompletionOnScriptStop = 1000 | ||
2104 | |||
2105 | ; Maximum length of notecard line read | ||
2106 | ; Increasing this to large values potentially opens | ||
2107 | ; up the system to malicious scripters. Pfffft. | ||
2108 | NotecardLineReadCharsMax = 1024 | ||
2109 | |||
2110 | ; Minimum settable timer interval. Any timer setting less than this is | ||
2111 | ; rounded up to this minimum interval. | ||
2112 | MinTimerInterval = 0.1 | ||
2113 | |||
2114 | ; Sensor settings | ||
2115 | SensorMaxRange = 1024.0 | ||
2116 | SensorMaxResults = 64 | ||
2117 | |||
2118 | ; Allow for llCreateLink and llBreakLink to work without asking for permission | ||
2119 | ; only enable this in a trusted environment otherwise you may be subject to hijacking | ||
2120 | AutomaticLinkPermission = true | ||
2121 | |||
2122 | ; Disable underground movement of prims (default true); set to | ||
2123 | ; false to allow script controlled underground positioning of | ||
2124 | ; prims | ||
2125 | DisableUndergroundMovement = false | ||
2126 | |||
2127 | ;; Path to script assemblies | ||
2128 | ScriptEnginesPath = "${Paths|CachePath}/ScriptEngines" | ||
2129 | |||
2130 | ; ==== Settings for MOD and OSSL functions have been moved to the [OSSL] section | ||
2131 | |||
2132 | |||
2133 | [OSSL] | ||
2134 | ;# {Include-osslEnable} {} {Include file for enabling and permissions for OSSL functions} {} | ||
2135 | ;; Optionally include file to enable OSSL functions and set permissions on who can use which. | ||
2136 | ;; If this INI file is not included, the OSSL functions are disabled. | ||
2137 | Include-osslEnable = "config-include/osslEnable.ini" | ||
2138 | |||
2139 | |||
2140 | [Concierge] | ||
2141 | ; Enable concierge module | ||
2142 | ; Default is false | ||
2143 | enabled = false | ||
2144 | |||
2145 | ; name of the concierge | ||
2146 | whoami = "jeeves" | ||
2147 | |||
2148 | ; password for updating the welcome message templates via XmlRpc | ||
2149 | password = SECRET | ||
2150 | |||
2151 | ; regex specifying for which regions concierge service is desired; if | ||
2152 | ; empty, then for all | ||
2153 | ;regions = "^MeetingSpace-" | ||
2154 | regions = "" | ||
2155 | |||
2156 | ; for each region that matches the regions regexp you can provide | ||
2157 | ; (optionally) a welcome template using format substitution: | ||
2158 | ; {0} is replaced with the name of the avatar entering the region | ||
2159 | ; {1} is replaced with the name of the region | ||
2160 | ; {2} is replaced with the name of the concierge (whoami variable above) | ||
2161 | |||
2162 | ;welcomes = /path/to/welcome/template/directory | ||
2163 | |||
2164 | ; Concierge can send attendee lists to an event broker whenever an | ||
2165 | ; avatar enters or leaves a concierged region. the URL is subject | ||
2166 | ; to format substitution: | ||
2167 | ; {0} is replaced with the region's name | ||
2168 | ; {1} is replaced with the region's UUID | ||
2169 | ;broker = "http://broker.place.com/{1}" | ||
2170 | |||
2171 | |||
2172 | [MRM] | ||
2173 | ; Enables the Mini Region Modules Script Engine. | ||
2174 | ; default is false | ||
2175 | Enabled = false | ||
2176 | |||
2177 | ; Runs MRM in a Security Sandbox | ||
2178 | ; WARNING: DISABLING IS A SECURITY RISK. | ||
2179 | Sandboxed = true | ||
2180 | |||
2181 | ; The level sandbox to use, adjust at your OWN RISK. | ||
2182 | ; Valid values are: | ||
2183 | ; * FullTrust | ||
2184 | ; * SkipVerification | ||
2185 | ; * Execution | ||
2186 | ; * Nothing | ||
2187 | ; * LocalIntranet | ||
2188 | ; * Internet | ||
2189 | ; * Everything | ||
2190 | SandboxLevel = "Internet" | ||
2191 | |||
2192 | ; Only allow Region Owners to run MRMs | ||
2193 | ; May represent a security risk if you disable this. | ||
2194 | OwnerOnly = true | ||
2195 | |||
2196 | |||
2197 | [Hypergrid] | ||
2198 | ; Keep it false for now. Making it true requires the use of a special client in order to access inventory | ||
2199 | safemode = false | ||
2200 | |||
2201 | |||
2202 | [FreeSwitchVoice] | ||
2203 | ;; In order for this to work you need a functioning FreeSWITCH PBX set up. | ||
2204 | ;; Configuration details at http://opensimulator.org/wiki/Freeswitch_Module | ||
2205 | ; Enabled = false | ||
2206 | |||
2207 | ;; You need to load a local service for a standalone, and a remote service | ||
2208 | ;; for a grid region. Use one of the lines below, as appropriate | ||
2209 | ;; If you're using Freeswitch on a standalone then you will also need to configure the [FreeswitchService] section in config-include/StandaloneCommon.ini | ||
2210 | ; LocalServiceModule = OpenSim.Services.FreeswitchService.dll:FreeswitchService | ||
2211 | ; LocalServiceModule = OpenSim.Services.Connectors.dll:RemoteFreeswitchConnector | ||
2212 | |||
2213 | ;; If using a remote connector, specify the server URL | ||
2214 | ; FreeswitchServiceURL = http://my.grid.server:8004/fsapi | ||
2215 | |||
2216 | |||
2217 | [VivoxVoice] | ||
2218 | ; The VivoxVoice module will allow you to provide voice on your | ||
2219 | ; region(s). It uses the same voice technology as the LL grid and | ||
2220 | ; works with recent LL clients (we have tested 1.22.9.110075, so | ||
2221 | ; anything later ought to be fine as well). | ||
2222 | ; | ||
2223 | ; For this to work you need to obtain an admin account from Vivox | ||
2224 | ; that allows you to create voice accounts and region channels. | ||
2225 | |||
2226 | enabled = false | ||
2227 | |||
2228 | ; vivox voice server | ||
2229 | vivox_server = www.foobar.vivox.com | ||
2230 | |||
2231 | ; vivox SIP URI | ||
2232 | vivox_sip_uri = foobar.vivox.com | ||
2233 | |||
2234 | ; vivox admin user name | ||
2235 | vivox_admin_user = DeepThroat | ||
2236 | |||
2237 | ; vivox admin password | ||
2238 | vivox_admin_password = VoiceG4te | ||
2239 | |||
2240 | ; channel type: "channel" or "positional" | ||
2241 | ; - positional: spatial sound (default) | ||
2242 | ; - channel: normal "conference call", no spatial sound | ||
2243 | ;vivox_channel_type = positional | ||
2244 | |||
2245 | ; channel characteristics (unless you know what you are doing, i'd | ||
2246 | ; leave them as they are --- now you WILL muck around with them, | ||
2247 | ; huh? sigh) | ||
2248 | |||
2249 | ; channel distance model: | ||
2250 | ; 0 - no attenuation | ||
2251 | ; 1 - inverse distance attenuation | ||
2252 | ; 2 - linear attenuation (default) | ||
2253 | ; 3 - exponential attenuation | ||
2254 | ;vivox_channel_distance_model = 2 | ||
2255 | |||
2256 | ; channel mode: | ||
2257 | ; - "open" (default) | ||
2258 | ; - "lecture" | ||
2259 | ; - "presentation" | ||
2260 | ; - "auditorium" | ||
2261 | ;vivox_channel_mode = "open" | ||
2262 | |||
2263 | ; channel roll off: rate of attenuation | ||
2264 | ; - a value between 1.0 and 4.0, default is 2.0 | ||
2265 | ;vivox_channel_roll_off = 2.0 | ||
2266 | |||
2267 | ; channel max range: distance at which channel is silent | ||
2268 | ; - a value between 0 and 160, default is 80 | ||
2269 | ;vivox_channel_max_range = 80 | ||
2270 | |||
2271 | ; channel clamping distance: distance before attenuation applies | ||
2272 | ; - a value between 0 and 160, default is 10 | ||
2273 | ;vivox_channel_clamping_distance = 10 | ||
2274 | |||
2275 | |||
2276 | [Groups] | ||
2277 | Enabled = true | ||
2278 | ;# {Module} {Enabled:true} {Groups module to use? (Use GroupsModule to use Flotsam/Simian)} {Default "Groups Module V2"} Default | ||
2279 | ;; The default module can use a PHP XmlRpc server from the Flotsam project at | ||
2280 | ;; http://code.google.com/p/flotsam/ | ||
2281 | ;; or from the SimianGrid project at http://code.google.com/p/openmetaverse | ||
2282 | ; This is the current groups stub in Region.CoreModules.Avatar.Groups. All the other settings below only really | ||
2283 | ; apply to the Flotsam/SimianGrid GroupsModule | ||
2284 | ; Module = Default | ||
2285 | ; This module can use a PHP XmlRpc server from the Flotsam project at http://code.google.com/p/flotsam/ | ||
2286 | ; or from the SimianGrid project at http://code.google.com/p/openmetaverse | ||
2287 | ;Module = GroupsModule | ||
2288 | ;; or... use Groups Module V2, which works for standalones and robust grids | ||
2289 | Module = "Groups Module V2" | ||
2290 | |||
2291 | ;# {StorageProvider} {Module:Groups Module V2} {The DLL that provides the storage for V2} {OpenSim.Data.MySQL.dll} | ||
2292 | StorageProvider = "${Const|DataProvider}" | ||
2293 | |||
2294 | ;# {ServicesConnectorModule} {Module:GroupsModule Module:Groups Module V2} {Service connector to use for groups} {XmlRpcGroupsServicesConnector SimianGroupsServicesConnector "Groups Local Service Connector" "Groups Remote Service Connector" "Groups HG Service Connector"} XmlRpcGroupsServicesConnector | ||
2295 | ;; Service connectors to the Groups Service as used in the GroupsModule. Select one as follows: | ||
2296 | ;; -- for Flotsam Groups use XmlRpcGroupsServicesConnector | ||
2297 | ;; -- for Simian Groups use SimianGroupsServicesConnector | ||
2298 | ;; -- for V2 Groups, standalone, non-HG use "Groups Local Service Connector" | ||
2299 | ;; -- for V2 Groups, grided sim, non-HG use "Groups Remote Service Connector" | ||
2300 | ;; -- for V2 Groups, HG, both standalone and grided sim, use "Groups HG Service Connector" | ||
2301 | ;; Note that the quotes "" around the words are important! | ||
2302 | ServicesConnectorModule = "Groups HG Service Connector" | ||
2303 | |||
2304 | ;# {LocalService} {ServicesConnectorModule:Groups HG Service Connector} {Is the group service in this process or elsewhere?} {local remote} local | ||
2305 | ;; Used for V2 in HG only. If standalone, set this to local; if grided sim, set this to remote | ||
2306 | LocalService = remote | ||
2307 | |||
2308 | ;# {SecretKey} {ServicesConnectorModule:Groups Remote Service Connector} {Secret key between sim and remote group service} {} "" | ||
2309 | ;; Used for V2 in Remote only. | ||
2310 | ; SecretKey = "sEcReTkEy" | ||
2311 | |||
2312 | ;# {GroupsServerURI} {Module:GroupsModule (ServicesConnectorModule:Groups Remote Service Connector or (ServicesConnectorModule:Groups HG Service Connector and LocalService:remote))} {Groups Server URI} {} | ||
2313 | ;; URI for the groups services of this grid | ||
2314 | ;; e.g. http://yourxmlrpcserver.com/xmlrpc.php for Flotsam XmlRpc | ||
2315 | ;; or http://mygridserver.com:82/Grid/ for SimianGrid | ||
2316 | ;; or ${Const|BaseURL}:${Const|PrivatePort} for robust, V2 | ||
2317 | ;; Leave it commented for standalones, V2 | ||
2318 | GroupsServerURI = "${Const|BaseURL}:${Const|PrivatePort}" | ||
2319 | |||
2320 | ;# {HomeURI} {ServicesConnectorModule:Groups HG Service Connector} {What's the home address of this world?} {} | ||
2321 | ;; Used for V2 in HG only. For example | ||
2322 | ;; http://mygridserver.com:9000 or http://mygridserver.com:8002 | ||
2323 | ;; If you have this set under [Startup], no need to set it here, leave it commented | ||
2324 | HomeURI = ${Const|BaseURL}:${Const|PublicPort} | ||
2325 | |||
2326 | ; Enable Group Notices | ||
2327 | NoticesEnabled = true | ||
2328 | |||
2329 | ; This makes the Group module very chatty on the console. | ||
2330 | DebugEnabled = false | ||
2331 | |||
2332 | ; This makes the Groups Messaging module very chatty on the console. | ||
2333 | DebugMessagingEnabled = false | ||
2334 | |||
2335 | ; Groups data is cached for this number of seconds before another request is made to the groups service | ||
2336 | ; Set to 0 to disable the cache. | ||
2337 | ; Default is 30 seconds | ||
2338 | GroupsCacheTimeout = 30 | ||
2339 | |||
2340 | ; Specify which messaging module to use for groups messaging and if it's enabled | ||
2341 | ;MessagingModule = GroupsMessagingModule | ||
2342 | MessagingEnabled = true | ||
2343 | |||
2344 | ;# {MessagingModule} {MessagingEnabled:true} {Module to use for groups messaging} {GroupsMessagingModule "Groups Messaging Module V2"} GroupsMessagingModule | ||
2345 | ; MessagingModule = GroupsMessagingModule | ||
2346 | ; or use "Groups Messaging Module V2" for Groups V2 | ||
2347 | MessagingModule = "Groups Messaging Module V2" | ||
2348 | |||
2349 | ; Experimental option to only message cached online users rather than all users | ||
2350 | ; Should make large group with few online members messaging faster, at the expense of more calls to ROBUST presence service | ||
2351 | ; (Flotsam groups only; in V2 this is always on) | ||
2352 | MessageOnlineUsersOnly = true | ||
2353 | |||
2354 | ; Service connectors to the Groups Service. Select one depending on whether you're using a Flotsam XmlRpc backend or a SimianGrid backend | ||
2355 | |||
2356 | ; SimianGrid Service for Groups | ||
2357 | ;ServicesConnectorModule = SimianGroupsServicesConnector | ||
2358 | ;GroupsServerURI = http://mygridserver.com:82/Grid/ | ||
2359 | |||
2360 | ; Flotsam XmlRpc Service for Groups | ||
2361 | ;ServicesConnectorModule = XmlRpcGroupsServicesConnector | ||
2362 | ;GroupsServerURI = http://yourxmlrpcserver.com/xmlrpc.php | ||
2363 | |||
2364 | ; XmlRpc Security settings. These must match those set on your backend groups service if the service is using these keys | ||
2365 | ;XmlRpcServiceReadKey = 1234 | ||
2366 | ;XmlRpcServiceWriteKey = 1234 | ||
2367 | |||
2368 | ; Disables HTTP Keep-Alive for XmlRpcGroupsServicesConnector HTTP Requests, | ||
2369 | ; only set to false it if you absolute sure regions and groups server support it. | ||
2370 | ; XmlRpcDisableKeepAlive = true | ||
2371 | |||
2372 | ; Minimum user level required to create groups | ||
2373 | LevelGroupCreate = 0 | ||
2374 | |||
2375 | |||
2376 | [PacketPool] | ||
2377 | ;RecyclePackets = true | ||
2378 | ;RecycleDataBlocks = true | ||
2379 | |||
2380 | ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets. | ||
2381 | ; This reduces data churn | ||
2382 | RecycleBaseUDPPackets = true | ||
2383 | |||
2384 | |||
2385 | [InterestManagement] | ||
2386 | ; This section controls how state updates are prioritized for each client | ||
2387 | ; Valid values are BestAvatarResponsiveness, Time, Distance, | ||
2388 | ; SimpleAngularDistance, and FrontBack | ||
2389 | UpdatePrioritizationScheme = BestAvatarResponsiveness | ||
2390 | ReprioritizationEnabled = true | ||
2391 | ReprioritizationInterval = 2000.0 | ||
2392 | RootReprioritizationDistance = 10.0 | ||
2393 | ChildReprioritizationDistance = 20.0 | ||
2394 | |||
2395 | ; TEST OPTION KEEP AS FALSE | ||
2396 | ; if true, don't send object updates if outside view range | ||
2397 | ObjectsCullingByDistance = false | ||
2398 | |||
2399 | ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region | ||
2400 | ; 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). | ||
2401 | ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars. | ||
2402 | RootTerseUpdatePeriod = 0 | ||
2403 | |||
2404 | ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region | ||
2405 | ; 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. | ||
2406 | ChildTerseUpdatePeriod = 0 | ||
2407 | |||
2408 | ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance | ||
2409 | RootPositionUpdateTolerance = 0.05 | ||
2410 | |||
2411 | ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance | ||
2412 | RootRotationUpdateTolerance = 0.1 | ||
2413 | |||
2414 | ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance | ||
2415 | RootVelocityUpdateTolerance = 0.001 | ||
2416 | |||
2417 | |||
2418 | [Monitoring] | ||
2419 | ; Enable region monitoring | ||
2420 | ; If true, this will print out an error if more than a minute has passed since the last simulator frame | ||
2421 | ; Also is another source of region statistics provided via the regionstats URL | ||
2422 | Enabled = true | ||
2423 | ; next option may still use framework performance monitors designed for debug only, so avoid it | ||
2424 | ;ServerStatsEnabled = false | ||
2425 | |||
2426 | |||
2427 | [WebStats] | ||
2428 | ; View region statistics via a web page | ||
2429 | ; See http://opensimulator.org/wiki/FAQ#Region_Statistics_on_a_Web_Page | ||
2430 | ; Use a web browser and type in the "Login URI" + "/SStats/" | ||
2431 | ; For example- http://127.0.0.1:9000/SStats/ | ||
2432 | enabled=true | ||
2433 | |||
2434 | |||
2435 | [Statistics] | ||
2436 | ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames | ||
2437 | ; to include in the averaging calculations | ||
2438 | NumberOfFrames=10 | ||
2439 | |||
2440 | |||
2441 | [MediaOnAPrim] | ||
2442 | ; Enable media on a prim facilities | ||
2443 | Enabled = true | ||
2444 | |||
2445 | |||
2446 | [NPC] | ||
2447 | ;; Enable Non Player Character (NPC) facilities | ||
2448 | Enabled = true | ||
2449 | ;; several options to control NPCs creation | ||
2450 | |||
2451 | ;; allow NPCs to be created not Owned {true false} default: true | ||
2452 | AllowNotOwned = true | ||
2453 | |||
2454 | ;; allow NPCs to set to be sensed as Avatars {true false} default: true | ||
2455 | AllowSenseAsAvatar = true | ||
2456 | |||
2457 | ;; allow NPCs to created cloning any avatar in region {true false} default: true | ||
2458 | AllowCloneOtherAvatars = true | ||
2459 | |||
2460 | ;; if true NPCs will have no group title, if false display "- NPC -" for easy identification {true false} default: true | ||
2461 | NoNPCGroup = false | ||
2462 | |||
2463 | [Terrain] | ||
2464 | ; Values can be "pinhead-island" or "flat" | ||
2465 | InitialTerrain = "pinhead-island" | ||
2466 | ; If 'true' each avatar is only sent terrain patches within their view distance | ||
2467 | ; This also changes the region terrain loading from 'lawn mower' to ordered around | ||
2468 | ; the avatar outward. | ||
2469 | SendTerrainUpdatesByViewDistance = True | ||
2470 | |||
2471 | [LandManagement] | ||
2472 | ; When editing terrain or objects, parcel layer info is updated in the viewer. | ||
2473 | ; This can be expensive for large regions. If this variable is 'true', only the | ||
2474 | ; parcel layer data around the area of interest is sent. The parcel layer info | ||
2475 | ; is sent for 'ParcelLayerViewDistance' around the interest point. | ||
2476 | ; If 'ParcelLayerViewDistance' is >= 128, the operation for legacy sized regions | ||
2477 | ; will be what it has always been (send the whole region's parcel layer info). | ||
2478 | ; Other parcel updates (login, changing parcel ownership, ...) will still send | ||
2479 | ; whole region. | ||
2480 | LimitParcelLayerUpdateDistance = false | ||
2481 | ParcelLayerViewDistance = 1024 | ||
2482 | |||
2483 | ; set this to false to not display parcel ban lines | ||
2484 | ShowParcelBansLines = true | ||
2485 | |||
2486 | |||
2487 | ;; If you are using a simian grid frontend you can enable | ||
2488 | ;; this module to upload tile images for the mapping fn | ||
2489 | ;; | ||
2490 | [SimianGridMaptiles] | ||
2491 | Enabled = False | ||
2492 | MaptileURL = "http://www.mygrid.com/Grid/" | ||
2493 | RefreshTime = 3600 | ||
2494 | |||
2495 | |||
2496 | ;; | ||
2497 | ;; JsonStore module provides structured store for scripts | ||
2498 | ;; | ||
2499 | [JsonStore] | ||
2500 | Enabled = true | ||
2501 | |||
2502 | ;; Enable direct access to the SOP dynamic attributes | ||
2503 | EnableObjectStore = true | ||
2504 | MaxStringSpace = 0 | ||
2505 | |||
2506 | |||
2507 | ;; | ||
2508 | ;; These are defaults that are overwritten below in [Architecture]. | ||
2509 | ;; These defaults allow OpenSim to work out of the box with | ||
2510 | ;; zero configuration | ||
2511 | ;; | ||
2512 | [AssetService] | ||
2513 | DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" | ||
2514 | AssetLoaderArgs = "assets/AssetSets.xml" | ||
2515 | |||
2516 | ; Disable this to prevent the default asset set from being inserted into the | ||
2517 | ; asset store each time the region starts | ||
2518 | AssetLoaderEnabled = true | ||
2519 | |||
2520 | |||
2521 | [GridService] | ||
2522 | ;; default standalone, overridable in StandaloneCommon.ini | ||
2523 | StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" | ||
2524 | |||
2525 | |||
2526 | [AutoBackupModule] | ||
2527 | ;; default is module is disabled at the top level | ||
2528 | AutoBackupModuleEnabled = false | ||
2529 | |||
2530 | |||
2531 | [Sounds] | ||
2532 | ;; {Module} {} {Implementation of ISoundModule to use.} {OpenSim.Region.CoreModules.dll:SoundModule} | ||
2533 | Module = OpenSim.Region.CoreModules.dll:SoundModule | ||
2534 | |||
2535 | ;; {MaxDistance} {} {Cut-off distance at which sounds will not be sent to users} {100.0} | ||
2536 | MaxDistance = 100.0 | ||
2537 | |||
2538 | |||
2539 | [ServiceThrottle] | ||
2540 | ;; Default time interval (in ms) for the throttle service thread to wake up | ||
2541 | Interval = 5000 | ||
2542 | |||
2543 | |||
2544 | [Dwell] | ||
2545 | ;; This enables the built in basic dwell module | ||
2546 | DwellModule = DefaultDwellModule | ||
2547 | |||
2548 | |||
2549 | [Modules] | ||
2550 | Include-modules = "addon-modules/*/config/*.ini" | ||
2551 | |||
2552 | |||
2553 | [Materials] | ||
2554 | ;; This enables the use of Materials. | ||
2555 | enable_materials = true | ||
2556 | MaxMaterialsPerTransaction = 50 | ||
2557 | |||
2558 | |||
2559 | [XBakes] | ||
2560 | ;; Sets the URL for the baked texture ROBUST service. | ||
2561 | ;; Disabled when unset. | ||
2562 | URL = ${Const|BaseURL}:${Const|PrivatePort} | ||
2563 | |||
2564 | |||
2565 | ;; Optional module to highlight God names in the viewer. | ||
2566 | ;; Uncomment and customize appropriately if you want this behavior. | ||
2567 | ;; | ||
2568 | ;[GodNames] | ||
2569 | ; Enabled = false | ||
2570 | ; FullNames = "Test User, Foo Bar" | ||
2571 | ; Surnames = "Kryztlsk" | ||
diff --git a/bin/Robust.Tests.ini b/bin/Robust.Tests.ini new file mode 100644 index 0000000..bf72633 --- /dev/null +++ b/bin/Robust.Tests.ini | |||
@@ -0,0 +1,468 @@ | |||
1 | ; * FOR TESTS ONLY -- DO NOT USE THIS FILE | ||
2 | [Const] | ||
3 | |||
4 | ; The URL of the Robust server | ||
5 | BaseURL = "http://127.0.0.1" | ||
6 | |||
7 | ; The public port of the Robust server | ||
8 | PublicPort = "8888" | ||
9 | |||
10 | ; The private port of the Robust server, same for testing | ||
11 | PrivatePort = "8888" | ||
12 | |||
13 | |||
14 | ; * The startup section lists all the connectors to start up in this server | ||
15 | ; * instance. This may be only one, or it may be the entire server suite. | ||
16 | ; * Multiple connectors should be separated by commas. | ||
17 | ; * | ||
18 | ; * These are the IN connectors the server uses, the in connectors | ||
19 | ; * read this config file and load the needed service and database connectors | ||
20 | ; * | ||
21 | ; * The full syntax of a connector string is: | ||
22 | ; * [[<ConfigName>@]<port>/]<dll name>[:<class name>] | ||
23 | ; * | ||
24 | [Startup] | ||
25 | ; Place to create a PID file | ||
26 | ; If no path if specified then a PID file is not created. | ||
27 | ; PIDFile = "/tmp/Robust.exe.pid" | ||
28 | |||
29 | ; Plugin Registry Location | ||
30 | ; Set path to directory for plugin registry. Information | ||
31 | ; about the registered repositories and installed plugins | ||
32 | ; will be stored here | ||
33 | ; The Robust.exe process must have R/W access to the location | ||
34 | RegistryLocation = "." | ||
35 | |||
36 | ; Modular configurations | ||
37 | ; Set path to directory for modular ini files... | ||
38 | ; The Robust.exe process must have R/W access to the location | ||
39 | ConfigDirectory = "." | ||
40 | |||
41 | console = "rest" | ||
42 | |||
43 | ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) | ||
44 | ConsoleHistoryFileEnabled = false | ||
45 | |||
46 | ; The history file can be just a filename (relative to OpenSim's bin/ directory | ||
47 | ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/) | ||
48 | ConsoleHistoryFile = "RobustConsoleHistory.txt" | ||
49 | |||
50 | ; How many lines of command history should we keep? (default is 100) | ||
51 | ConsoleHistoryFileLines = 100 | ||
52 | |||
53 | [ServiceList] | ||
54 | GridServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridServiceConnector" | ||
55 | PresenceServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:PresenceServiceConnector" | ||
56 | InstantMessageServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:InstantMessageServerConnector" | ||
57 | UserAccountServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:UserAccountServiceConnector" | ||
58 | InventoryInConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XInventoryInConnector" | ||
59 | |||
60 | ;; Uncomment as more tests are added | ||
61 | ;AssetServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AssetServiceConnector" | ||
62 | ;GridInfoServerInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" | ||
63 | ;AuthenticationServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" | ||
64 | ;OpenIdServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:OpenIdServerConnector" | ||
65 | ;AvatarServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AvatarServiceConnector" | ||
66 | ;LLLoginServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector" | ||
67 | ;GridUserServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridUserServiceConnector" | ||
68 | ;FriendsServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:FriendsServiceConnector" | ||
69 | ;MapAddServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MapAddServiceConnector" | ||
70 | ;MapGetServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:MapGetServiceConnector" | ||
71 | ;OfflineIMServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" | ||
72 | ;GroupsServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" | ||
73 | ;BakedTextureService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XBakesConnector" | ||
74 | ;UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector" | ||
75 | ;EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector" | ||
76 | |||
77 | ; * This is common for all services, it's the network setup for the entire | ||
78 | ; * server instance, if none is specified above | ||
79 | ; * | ||
80 | [Network] | ||
81 | port = ${Const|PrivatePort} | ||
82 | |||
83 | ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services. | ||
84 | ;; Use this if your central services in port ${Const|PrivatePort} need to be accessible on the Internet | ||
85 | ;; but you want to protect them from unauthorized access. | ||
86 | ; AuthType = "BasicHttpAuthentication" | ||
87 | ; HttpAuthUsername = "some_username" | ||
88 | ; HttpAuthPassword = "some_password" | ||
89 | ;; | ||
90 | ;; AuthType above can be overriden in any of the service sections below by | ||
91 | ; AuthType = "None" | ||
92 | ;; This is useful in cases where you want to protect most of the services, | ||
93 | ;; but unprotect individual services. Username and Password can also be | ||
94 | ;; overriden if you want to use different credentials for the different services. | ||
95 | |||
96 | ;; By default, scripts are not allowed to call private services via llHttpRequest() | ||
97 | ;; Such calls are detected by the X-SecondLife-Shared HTTP header | ||
98 | ;; If you allow such calls you must be sure that they are restricted to very trusted scripters | ||
99 | ;; (remember scripts can also be in visiting avatar attachments). | ||
100 | ;; This can be overriden in individual private service sections if necessary | ||
101 | AllowllHTTPRequestIn = false | ||
102 | |||
103 | ; * The following are for the remote console | ||
104 | ; * They have no effect for the local or basic console types | ||
105 | ; * Leave commented to diable logins to the console | ||
106 | ;ConsoleUser = Test | ||
107 | ;ConsolePass = secret | ||
108 | ;ConsolePort = 0 | ||
109 | |||
110 | |||
111 | [DatabaseService] | ||
112 | ; PGSQL | ||
113 | ; Uncomment these lines if you want to use PGSQL storage | ||
114 | ; Change the connection string to your db details | ||
115 | ;StorageProvider = "OpenSim.Data.PGSQL.dll" | ||
116 | ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" | ||
117 | |||
118 | ; Null | ||
119 | ; Uncomment these lines if you want to use MySQL storage | ||
120 | ; Change the connection string to your db details | ||
121 | StorageProvider = "OpenSim.Data.Null.dll" | ||
122 | ConnectionString = "" | ||
123 | |||
124 | |||
125 | ; * As an example, the below configuration precisely mimicks the legacy | ||
126 | ; * asset server. It is read by the asset IN connector (defined above) | ||
127 | ; * and it then loads the OUT connector (a local database module). That, | ||
128 | ; * in turn, reads the asset loader and database connection information | ||
129 | ; * | ||
130 | [AssetService] | ||
131 | LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService" | ||
132 | DefaultAssetLoader = "" | ||
133 | |||
134 | ; Allow maptile assets to remotely deleted by remote calls to the asset service. | ||
135 | ; There is no harm in having this as false - it just means that historical maptile assets are not deleted. | ||
136 | ; This only applies to maptiles served via the version 1 viewer mechanisms | ||
137 | ; Default is false | ||
138 | AllowRemoteDelete = false | ||
139 | |||
140 | ; Allow all assets to be remotely deleted. | ||
141 | ; Only set this to true if you are operating a grid where you control all calls to the asset service | ||
142 | ; (where a necessary condition is that you control all simulators) and you need this for admin purposes. | ||
143 | ; If set to true, AllowRemoteDelete = true is required as well. | ||
144 | ; Default is false. | ||
145 | AllowRemoteDeleteAllTypes = false | ||
146 | |||
147 | |||
148 | ; * This configuration loads the inventory server modules. It duplicates | ||
149 | ; * the function of the legacy inventory server | ||
150 | ; * | ||
151 | [InventoryService] | ||
152 | LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService" | ||
153 | |||
154 | StorageProvider = "OpenSim.Tests.Common.dll:TestXInventoryDataPlugin" | ||
155 | ConnectionString = "" | ||
156 | |||
157 | ; Will calls to purge folders (empty trash) and immediately delete/update items or folders (not move to trash first) succeed? | ||
158 | ; If this is set to false then some other arrangement must be made to perform these operations if necessary. | ||
159 | AllowDelete = true | ||
160 | |||
161 | |||
162 | ; * This is the new style grid service. | ||
163 | ; * "Realm" is the table that is used for user lookup. | ||
164 | ; * It defaults to "regions", which uses the legacy tables | ||
165 | ; * | ||
166 | [GridService] | ||
167 | LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" | ||
168 | ; Realm = "regions" | ||
169 | ; AllowDuplicateNames = "True" | ||
170 | |||
171 | ;; Next, we can specify properties of regions, including default and fallback regions | ||
172 | ;; The syntax is: Region_<RegionName> = "<flags>" | ||
173 | ;; or: Region_<RegionID> = "<flags>" | ||
174 | ;; where <flags> can be DefaultRegion, DefaultHGRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut, Reservation, NoMove, Authenticate | ||
175 | ;; | ||
176 | ;; 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.) | ||
177 | ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion | ||
178 | ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified | ||
179 | ;; an explicit region. | ||
180 | ;; | ||
181 | ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online | ||
182 | ;; region will be used. | ||
183 | ;; | ||
184 | ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the | ||
185 | ;; order specified. This only applies to local logins at this time, not Hypergrid connections. | ||
186 | ;; | ||
187 | ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins. | ||
188 | ;; | ||
189 | ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid. | ||
190 | ;; | ||
191 | ;; Example specification: | ||
192 | ; Region_Welcome_Area = "DefaultRegion, FallbackRegion" | ||
193 | ; (replace spaces with underscore) | ||
194 | |||
195 | ;; Allow supporting viewers to export content | ||
196 | ;; Set to false to prevent export | ||
197 | ExportSupported = true | ||
198 | |||
199 | |||
200 | |||
201 | |||
202 | ; * This is the new style authentication service. Currently, only MySQL | ||
203 | ; * is implemented. | ||
204 | ; * | ||
205 | [AuthenticationService] | ||
206 | ; for the server connector | ||
207 | LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" | ||
208 | |||
209 | ;; Allow the service to process HTTP getauthinfo calls. | ||
210 | ;; Default is false. | ||
211 | ; AllowGetAuthInfo = false | ||
212 | |||
213 | ;; Allow the service to process HTTP setauthinfo calls. | ||
214 | ;; Default is false. | ||
215 | ; AllowSetAuthInfo = false | ||
216 | |||
217 | ;; Allow the service to process HTTP setpassword calls. | ||
218 | ;; Default is false. | ||
219 | ; AllowSetPassword = false | ||
220 | |||
221 | |||
222 | ; * This is the new style authentication service. Currently, only MySQL | ||
223 | ; * is implemented. "Realm" is the table that is used for user lookup. | ||
224 | ; * It defaults to "useraccounts", which uses the new style. | ||
225 | ; * Realm = "users" will use the legacy tables as an authentication source | ||
226 | ; * | ||
227 | [UserAccountService] | ||
228 | StorageProvider = "OpenSim.Data.Null.dll" | ||
229 | ConnectionString = "" | ||
230 | |||
231 | ; for the server connector | ||
232 | LocalServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService" | ||
233 | ; Realm = "useraccounts" | ||
234 | |||
235 | ; These are for creating new accounts by the service | ||
236 | ;AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" | ||
237 | PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" | ||
238 | GridService = "OpenSim.Services.GridService.dll:GridService" | ||
239 | InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" | ||
240 | ;AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" | ||
241 | ;GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" | ||
242 | |||
243 | ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 | ||
244 | ;; to show a default "Ruth" avatar rather than a cloud for a newly created user. | ||
245 | ;; Default is false | ||
246 | CreateDefaultAvatarEntries = true | ||
247 | |||
248 | ;; Allow the service to process HTTP createuser calls. | ||
249 | ;; Default is false. | ||
250 | AllowCreateUser = true | ||
251 | |||
252 | ;; Allow the service to process HTTP setaccount calls. | ||
253 | ;; Default is false. | ||
254 | AllowSetAccount = true | ||
255 | |||
256 | |||
257 | [GridUserService] | ||
258 | ; for the server connector | ||
259 | LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService" | ||
260 | |||
261 | |||
262 | [PresenceService] | ||
263 | ; for the server connector | ||
264 | LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService" | ||
265 | ; Set this to true to allow the use of advanced web services and multiple | ||
266 | ; bots using one account | ||
267 | AllowDuplicatePresences = false; | ||
268 | |||
269 | |||
270 | [AvatarService] | ||
271 | ; for the server connector | ||
272 | LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService" | ||
273 | |||
274 | |||
275 | [FriendsService] | ||
276 | ; for the server connector | ||
277 | LocalServiceModule = "OpenSim.Services.FriendsService.dll:FriendsService" | ||
278 | |||
279 | [EstateService] | ||
280 | LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" | ||
281 | |||
282 | [LibraryService] | ||
283 | LibraryName = "OpenSim Library" | ||
284 | DefaultLibrary = "./inventory/Libraries.xml" | ||
285 | |||
286 | |||
287 | [LoginService] | ||
288 | ; for the server connector | ||
289 | LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService" | ||
290 | ; for the service | ||
291 | UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" | ||
292 | GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" | ||
293 | AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" | ||
294 | InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" | ||
295 | AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" | ||
296 | PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" | ||
297 | GridService = "OpenSim.Services.GridService.dll:GridService" | ||
298 | SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector" | ||
299 | LibraryService = "OpenSim.Services.InventoryService.dll:LibraryService" | ||
300 | FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" | ||
301 | |||
302 | ; The minimum user level required for a user to be able to login. 0 by default | ||
303 | ; If you disable a particular user's account then you can set their login level below this number. | ||
304 | ; You can also change this level from the console though these changes will not be persisted. | ||
305 | ; MinLoginLevel = 0 | ||
306 | |||
307 | ; Ask co-operative viewers to use a different currency name | ||
308 | ;Currency = "" | ||
309 | |||
310 | ;; Set minimum fee to publish classified | ||
311 | ; ClassifiedFee = 0 | ||
312 | |||
313 | WelcomeMessage = "Welcome, Avatar!" | ||
314 | AllowRemoteSetLoginLevel = "false" | ||
315 | |||
316 | ; For V2 map | ||
317 | MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/"; | ||
318 | |||
319 | ; Url to search service | ||
320 | ; SearchURL = "${Const|BaseURL}:${Const|PublicPort}/"; | ||
321 | |||
322 | ; For V3 destination guide | ||
323 | ; DestinationGuide = "${Const|BaseURL}/guide" | ||
324 | |||
325 | ; For V3 avatar picker (( work in progress )) | ||
326 | ; AvatarPicker = "${Const|BaseURL}/avatars" | ||
327 | |||
328 | ; If you run this login server behind a proxy, set this to true | ||
329 | ; HasProxy = false | ||
330 | |||
331 | ;; Regular expressions for controlling which client versions are accepted/denied. | ||
332 | ;; An empty string means nothing is checked. | ||
333 | ;; | ||
334 | ;; Example 1: allow only these 3 types of clients (any version of them) | ||
335 | ;; AllowedClients = "Imprudence|Hippo|Second Life" | ||
336 | ;; | ||
337 | ;; Example 2: allow all clients except these | ||
338 | ;; DeniedClients = "Twisted|Crawler|Cryolife|FuckLife|StreetLife|GreenLife|AntiLife|KORE-Phaze|Synlyfe|Purple Second Life|SecondLi |Emerald" | ||
339 | ;; | ||
340 | ;; Note that these are regular expressions, so every character counts. | ||
341 | ;; Also note that this is very weak security and should not be trusted as a reliable means | ||
342 | ;; for keeping bad clients out; modified clients can fake their identifiers. | ||
343 | ;; | ||
344 | ;; | ||
345 | ;AllowedClients = "" | ||
346 | ;DeniedClients = "" | ||
347 | |||
348 | ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time" | ||
349 | ;; Viewers do not listen to timezone sent by the server. They use Pacific Standard Time instead, | ||
350 | ;; but rely on the server to calculate Daylight Saving Time. Sending another DST than US Pacific | ||
351 | ;; would result in time inconsistencies between grids (during summer and around DST transition period) | ||
352 | ;; default let OpenSim calculate US Pacific DST | ||
353 | ;; "none" disable DST (equivallent to "local" with system set to GMT) | ||
354 | ;; "local" force legacy behaviour (using local system time to calculate DST) | ||
355 | ; DSTZone = "America/Los_Angeles;Pacific Standard Time" | ||
356 | |||
357 | ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time" | ||
358 | ;; Viewers do not receive timezone information from the server - almost all (?) default to Pacific Standard Time | ||
359 | ;; However, they do rely on the server to tell them whether it's Daylight Saving Time or not. | ||
360 | ;; Hence, calculating DST based on a different timezone can result in a misleading viewer display and inconsistencies between grids. | ||
361 | ;; By default, this setting uses various timezone names to calculate DST with regards to the viewer's standard PST. | ||
362 | ;; Options are | ||
363 | ;; "none" no DST | ||
364 | ;; "local" use the server's only timezone to calculate DST. This is previous OpenSimulator behaviour. | ||
365 | ;; "America/Los_Angeles;Pacific Standard Time" use these timezone names to look up Daylight savings. | ||
366 | ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows | ||
367 | DSTZone = "America/Los_Angeles;Pacific Standard Time" | ||
368 | |||
369 | ;Basic Login Service Dos Protection Tweaks | ||
370 | ;; | ||
371 | ;; Some Grids/Users use a transparent proxy that makes use of the X-Forwarded-For HTTP Header, If you do, set this to true | ||
372 | ;; 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 | ||
373 | ;; get around this basic DOS protection. | ||
374 | ;DOSAllowXForwardedForHeader = false | ||
375 | ;; | ||
376 | ;; The protector adds up requests during this rolling period of time, default 10 seconds | ||
377 | ;DOSRequestTimeFrameMS = 10000 | ||
378 | ;; | ||
379 | ;; The amount of requests in the above timeframe from the same endpoint that triggers protection | ||
380 | ;DOSMaxRequestsInTimeFrame = 5 | ||
381 | ;; | ||
382 | ;; The amount of time that a specific endpoint is blocked. Default 2 minutes. | ||
383 | ;DOSForgiveClientAfterMS = 120000 | ||
384 | ;; | ||
385 | ;; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0. | ||
386 | |||
387 | |||
388 | [MapImageService] | ||
389 | LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" | ||
390 | |||
391 | ; Set this if you want to change the default | ||
392 | ; TilesStoragePath = "maptiles" | ||
393 | ; | ||
394 | ; If for some reason you have the AddMapTile service outside the firewall (e.g. ${Const|PublicPort}), | ||
395 | ; you may want to set this. Otherwise, don't set it, because it's already protected. | ||
396 | ; GridService = "OpenSim.Services.GridService.dll:GridService" | ||
397 | ; | ||
398 | ; Additionally, if you run this server behind a proxy, set this to true | ||
399 | ; HasProxy = false | ||
400 | |||
401 | |||
402 | [Messaging] | ||
403 | ; OfflineIM | ||
404 | OfflineIMService = "" | ||
405 | |||
406 | |||
407 | [GridInfoService] | ||
408 | ; These settings are used to return information on a get_grid_info call. | ||
409 | ; Client launcher scripts and third-party clients make use of this to | ||
410 | ; autoconfigure the client and to provide a nice user experience. If you | ||
411 | ; want to facilitate that, you should configure the settings here according | ||
412 | ; to your grid or standalone setup. | ||
413 | ; | ||
414 | ; See http://opensimulator.org/wiki/GridInfo | ||
415 | |||
416 | ; login uri: for grid this is the login server URI | ||
417 | login = ${Const|BaseURL}:${Const|PublicPort}/ | ||
418 | |||
419 | ; long grid name: the long name of your grid | ||
420 | gridname = "the lost continent of hippo" | ||
421 | |||
422 | ; short grid name: the short name of your grid | ||
423 | gridnick = "hippogrid" | ||
424 | |||
425 | ; login page: optional: if it exists it will be used to tell the client to use | ||
426 | ; this as splash page | ||
427 | ;welcome = ${Const|BaseURL}/welcome | ||
428 | |||
429 | ; helper uri: optional: if it exists if will be used to tell the client to use | ||
430 | ; this for all economy related things | ||
431 | ;economy = ${Const|BaseURL}:${Const|PublicPort}/ | ||
432 | |||
433 | ; web page of grid: optional: page providing further information about your grid | ||
434 | ;about = ${Const|BaseURL}/about/ | ||
435 | |||
436 | ; account creation: optional: page providing further information about obtaining | ||
437 | ; a user account on your grid | ||
438 | ;register = ${Const|BaseURL}/register | ||
439 | |||
440 | ; help: optional: page providing further assistance for users of your grid | ||
441 | ;help = ${Const|BaseURL}/help | ||
442 | |||
443 | ; password help: optional: page providing password assistance for users of your grid | ||
444 | ;password = ${Const|BaseURL}/password | ||
445 | |||
446 | |||
447 | [UserProfilesService] | ||
448 | LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" | ||
449 | Enabled = false | ||
450 | ;; Configure this for separate profiles database | ||
451 | ;; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;" | ||
452 | ;; Realm = UserProfiles | ||
453 | UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService | ||
454 | AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" | ||
455 | |||
456 | |||
457 | [BakedTextureService] | ||
458 | LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes" | ||
459 | ;; This directory must be writable by the user ROBUST runs as. It will be created automatically. | ||
460 | BaseDirectory = "./bakes" | ||
461 | |||
462 | [HGInstantMessageService] | ||
463 | LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" | ||
464 | GridService = "OpenSim.Services.GridService.dll:GridService" | ||
465 | PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" | ||
466 | UserAgentService = "" | ||
467 | ; This should always be true in the Robust config | ||
468 | InGatekeeper = True | ||
diff --git a/bin/Robust.ini b/bin/Robust.ini new file mode 100644 index 0000000..6e49fb6 --- /dev/null +++ b/bin/Robust.ini | |||
@@ -0,0 +1,841 @@ | |||
1 | ; * Run | ||
2 | ; * $ Robust.exe -inifile Robust.HG.ini | ||
3 | ; * | ||
4 | |||
5 | ; * Configurations for enabling HG1.5 | ||
6 | ; * | ||
7 | ; * HG1.5 handlers are: OpenSim.Server.Handlers.dll:GatekeeperService | ||
8 | ; * OpenSim.Server.Handlers.dll:UserAgentService | ||
9 | ; * Additional OpenSim.Server.Handlers.dll:AssetServiceConnector and | ||
10 | ; * OpenSim.Server.Handlers.dll:XInventoryInConnector | ||
11 | ; * are started in port 8002, outside the firewall | ||
12 | ; * | ||
13 | ; ** | ||
14 | ; * | ||
15 | ; * The Const section allows us to define some basic information that we | ||
16 | ; * will use throughout our configuration. We will provide examples for | ||
17 | ; * setting the base url of the Robust server and the public and private ports | ||
18 | ; * it uses. Changing the values of the constants will set the operating | ||
19 | ; * parameters thoughout the configuration. Other constants that may prove | ||
20 | ; * to be useful may be added to the followin section. They may be | ||
21 | ; * referenced anywhere in the configuration by using ${Const|Name}. One | ||
22 | ; * such use is providing a base path for setting locations that Robust | ||
23 | ; * uses to write data. | ||
24 | ; * | ||
25 | |||
26 | [Paths] | ||
27 | AssetsPath = "../../AssetFiles" | ||
28 | BackupPath = "../../backups" | ||
29 | CachePath = "../../caches" | ||
30 | ConfigPath = "../../config" | ||
31 | DbPath = "../../db" | ||
32 | LogPath = "../../logs" | ||
33 | |||
34 | [Const] | ||
35 | MOTD = "Welcome to this virtual world." | ||
36 | |||
37 | GridName = "My virtual world" | ||
38 | ShortGridName = "mvw" | ||
39 | ; For a grid these will usually be the externally accessible IP/DNS | ||
40 | ; name and use default public port 8002 and default private port 8003 | ||
41 | ; For a standalone this will usually be the externally accessible IP/DNS | ||
42 | ; name and use default public port 9000. The private port is not used | ||
43 | ; in the configuration for a standalone. | ||
44 | |||
45 | ;# {BaseURL} {} {BaseURL} {"http://example.com" "http://127.0.0.1"} "http://127.0.0.1" | ||
46 | HostName = "localhost" | ||
47 | BaseURL = http://127.0.0.1 | ||
48 | GridURL = http://127.0.0.1 | ||
49 | |||
50 | ;# {PublicPort} {} {PublicPort} {8002 9000} "8002" | ||
51 | PublicPort = "8002" | ||
52 | |||
53 | ; The private port of the Robust server | ||
54 | PrivatePort = "8003" | ||
55 | |||
56 | |||
57 | DataProvider = "OpenSim.Data.MySQL.dll" | ||
58 | ConnectionString = "Data Source=MYSQL_HOST;Database=MYSQL_DB;User ID=MYSQL_USER;Password=MYSQL_PASSWORD;Old Guids=true;" | ||
59 | |||
60 | ; * The startup section lists all the connectors to start up in this server | ||
61 | ; * instance. This may be only one, or it may be the entire server suite. | ||
62 | ; * Multiple connectors should be separated by commas. | ||
63 | ; * | ||
64 | ; * These are the IN connectors the server uses, the in connectors | ||
65 | ; * read this config file and load the needed service and database connectors | ||
66 | ; * | ||
67 | ; * The full syntax of a connector string is: | ||
68 | ; * [[<ConfigName>@]<port>/]<dll name>[:<class name>] | ||
69 | ; * | ||
70 | [Startup] | ||
71 | ; Place to create a PID file | ||
72 | ; If no path if specified then a PID file is not created. | ||
73 | PIDFile = ""${Paths|CachePath}"/ROBUST.pid" | ||
74 | |||
75 | ; Plugin Registry Location | ||
76 | ; Set path to directory for plugin registry. Information | ||
77 | ; about the registered repositories and installed plugins | ||
78 | ; will be stored here | ||
79 | ; The Robust.exe process must have R/W access to the location | ||
80 | RegistryLocation = "${Paths|CachePath}" | ||
81 | |||
82 | ; Modular configurations | ||
83 | ; Set path to directory for modular ini files... | ||
84 | ; The Robust.exe process must have R/W access to the location, and it must NOT be shared by the OpenSim.exe process, coz that confuses things. | ||
85 | ConfigDirectory = "${Paths|ConfigPath}/ROBUST" | ||
86 | |||
87 | ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) | ||
88 | ConsoleHistoryFileEnabled = true | ||
89 | |||
90 | ; The history file can be just a filename (relative to OpenSim's bin/ directory | ||
91 | ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/) | ||
92 | ConsoleHistoryFile = "${Paths|LogPath}/RobustConsoleHistory.txt" | ||
93 | |||
94 | ; How many lines of command history should we keep? (default is 100) | ||
95 | ConsoleHistoryFileLines = 100 | ||
96 | |||
97 | |||
98 | [ServiceList] | ||
99 | AssetServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AssetServiceConnector" | ||
100 | InventoryInConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XInventoryInConnector" | ||
101 | ;; Uncomment if you have set up Freeswitch (see [FreeswitchService] below) | ||
102 | ;VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector" | ||
103 | GridServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridServiceConnector" | ||
104 | GridInfoServerInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" | ||
105 | AuthenticationServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" | ||
106 | ; OpenIdServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:OpenIdServerConnector" | ||
107 | AvatarServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AvatarServiceConnector" | ||
108 | LLLoginServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector" | ||
109 | PresenceServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:PresenceServiceConnector" | ||
110 | UserAccountServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:UserAccountServiceConnector" | ||
111 | GridUserServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridUserServiceConnector" | ||
112 | AgentPreferencesServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AgentPreferencesServiceConnector" | ||
113 | FriendsServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:FriendsServiceConnector" | ||
114 | MapAddServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MapAddServiceConnector" | ||
115 | MapGetServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:MapGetServiceConnector" | ||
116 | ;; Uncomment this if you want offline IM to work | ||
117 | OfflineIMServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" | ||
118 | ;; Uncomment this if you want Groups V2 to work | ||
119 | GroupsServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" | ||
120 | ;; Uncomment to provide bakes caching | ||
121 | BakedTextureService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XBakesConnector" | ||
122 | |||
123 | ;; Uncomment for UserProfiles see [UserProfilesService] to configure... | ||
124 | UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector" | ||
125 | |||
126 | ;; Uncomment if you want to have centralized estate data | ||
127 | ; EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector" | ||
128 | |||
129 | MuteListConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MuteListServiceConnector" | ||
130 | |||
131 | ;; Additions for Hypergrid | ||
132 | |||
133 | GatekeeperServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GatekeeperServiceInConnector" | ||
134 | UserAgentServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserAgentServerConnector" | ||
135 | HeloServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:HeloServiceInConnector" | ||
136 | HGFriendsServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:HGFriendsServerConnector" | ||
137 | InstantMessageServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:InstantMessageServerConnector" | ||
138 | HGInventoryServiceConnector = "HGInventoryService@${Const|PublicPort}/OpenSim.Server.Handlers.dll:XInventoryInConnector" | ||
139 | HGAssetServiceConnector = "HGAssetService@${Const|PublicPort}/OpenSim.Server.Handlers.dll:AssetServiceConnector" | ||
140 | ;; Uncomment this if you want Groups V2, HG to work | ||
141 | HGGroupsServiceConnector = "${Const|PublicPort}/OpenSim.Addons.Groups.dll:HGGroupsServiceRobustConnector" | ||
142 | |||
143 | ; * This is common for all services, it's the network setup for the entire | ||
144 | ; * server instance, if none is specified above | ||
145 | ; * | ||
146 | [Network] | ||
147 | port = ${Const|PrivatePort} | ||
148 | |||
149 | ; HTTPS for "Out of band" management applications such as the remote admin | ||
150 | ; module. May specify https_main = True to make the main http server | ||
151 | ; use https or "False" to make the main server HTTP | ||
152 | ; https_main = False | ||
153 | ; | ||
154 | ; Create https_listener = "True" will create a listener on the port | ||
155 | ; specified. Provide the path to your server certificate along with it's | ||
156 | ; password | ||
157 | ; https_listener = False | ||
158 | ; | ||
159 | ; Set our listener to this port | ||
160 | ; https_port = 0 | ||
161 | ; | ||
162 | ; Path to X509 certificate | ||
163 | ; cert_path = "path/to/cert.p12" | ||
164 | ; | ||
165 | ; Password for cert | ||
166 | ; cert_pass = "password" | ||
167 | |||
168 | ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services. | ||
169 | ;; Use this if your central services in port ${Const|PrivatePort} need to be accessible on the Internet | ||
170 | ;; but you want to protect them from unauthorized access. | ||
171 | ; AuthType = "BasicHttpAuthentication" | ||
172 | ; HttpAuthUsername = "some_username" | ||
173 | ; HttpAuthPassword = "some_password" | ||
174 | ;; | ||
175 | ;; AuthType above can be overriden in any of the service sections below by | ||
176 | ; AuthType = "None" | ||
177 | ;; This is useful in cases where you want to protect most of the services, | ||
178 | ;; but unprotect individual services. Username and Password can also be | ||
179 | ;; overriden if you want to use different credentials for the different services. | ||
180 | ;; Hypergrid services are not affected by this; they are publicly available | ||
181 | ;; by design. | ||
182 | |||
183 | ;; By default, scripts are not allowed to call private services via llHttpRequest() | ||
184 | ;; Such calls are detected by the X-SecondLife-Shared HTTP header | ||
185 | ;; If you allow such calls you must be sure that they are restricted to very trusted scripters | ||
186 | ;; (remember scripts can also be in visiting avatar attachments). | ||
187 | ;; This can be overriden in individual private service sections if necessary | ||
188 | AllowllHTTPRequestIn = false | ||
189 | |||
190 | ; * The following are for the remote console | ||
191 | ; * They have no effect for the local or basic console types | ||
192 | ; * Leave commented to diable logins to the console | ||
193 | ;ConsoleUser = Test | ||
194 | ;ConsolePass = secret | ||
195 | ;ConsolePort = 0 | ||
196 | |||
197 | |||
198 | [Hypergrid] | ||
199 | ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} | ||
200 | ;; This is the address of the external robust server that | ||
201 | ;; runs the UserAgentsService, possibly this server. | ||
202 | ;; For example http://myworld.com:8002 | ||
203 | ;; This is a default that can be overwritten in some sections. | ||
204 | HomeURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
205 | |||
206 | ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} | ||
207 | ;; This is the address of the external robust server | ||
208 | ;; that runs the Gatekeeper service, possibly this server. | ||
209 | ;; For example http://myworld.com:8002 | ||
210 | ;; This is a default that can be overwritten in some sections. | ||
211 | GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
212 | |||
213 | [AccessControl] | ||
214 | ;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {} | ||
215 | ;; Bar (|) separated list of viewers which may gain access to the regions. | ||
216 | ;; One can use a substring of the viewer name to enable only certain | ||
217 | ;; versions | ||
218 | ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" | ||
219 | ;; - "Imprudence" has access | ||
220 | ;; - "Imprudence 1.3" has access | ||
221 | ;; - "Imprudence 1.3.1" has no access | ||
222 | ; AllowedClients = "" | ||
223 | |||
224 | ;# {DeniedClients} {} {Bar (|) separated list of denied clients} {} | ||
225 | ;; Bar (|) separated list of viewers which may not gain access to the regions. | ||
226 | ;; One can use a Substring of the viewer name to disable only certain | ||
227 | ;; versions | ||
228 | ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" | ||
229 | ;; - "Imprudence" has no access | ||
230 | ;; - "Imprudence 1.3" has no access | ||
231 | ;; - "Imprudence 1.3.1" has access | ||
232 | ; DeniedClients = "" | ||
233 | |||
234 | [DatabaseService] | ||
235 | ; PGSQL | ||
236 | ; Uncomment these lines if you want to use PGSQL storage | ||
237 | ; Change the connection string to your db details | ||
238 | ;StorageProvider = "OpenSim.Data.PGSQL.dll" | ||
239 | ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" | ||
240 | |||
241 | ; MySQL | ||
242 | ; Uncomment these lines if you want to use MySQL storage | ||
243 | ; Change the connection string to your db details | ||
244 | StorageProvider = "${Const|DataProvider}" | ||
245 | ConnectionString = "${Const|ConnectionString}" | ||
246 | |||
247 | |||
248 | ; * As an example, the below configuration precisely mimicks the legacy | ||
249 | ; * asset server. It is read by the asset IN connector (defined above) | ||
250 | ; * and it then loads the OUT connector (a local database module). That, | ||
251 | ; * in turn, reads the asset loader and database connection information | ||
252 | ; * | ||
253 | [AssetService] | ||
254 | |||
255 | ;; Choose an asset service (Only one option should be enabled) | ||
256 | ;LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService" | ||
257 | LocalServiceModule = "OpenSim.Services.FSAssetService.dll:FSAssetConnector" | ||
258 | |||
259 | ;; FSAsset Directories. Base directory, where final asset files are stored and Spool directory for temp files | ||
260 | ;; These directories must be on the same physical filesystem | ||
261 | BaseDirectory = "${Paths|AssetsPath}/data" | ||
262 | SpoolDirectory = "${Paths|AssetsPath}/tmp" | ||
263 | |||
264 | ;; Original service can be checked if FSAssets can not find an asset | ||
265 | FallbackService = "OpenSim.Services.AssetService.dll:AssetService"; | ||
266 | |||
267 | ;; How many days since last updating the access time before its updated again by FSAssets when accessing an asset | ||
268 | ;; Reduces DB calls if asset is requested often. Default value 0 will always update access time | ||
269 | ;DaysBetweenAccessTimeUpdates = 1 | ||
270 | |||
271 | ;; Should FSAssets print read/write stats to the robust console, default is true | ||
272 | ShowConsoleStats = false | ||
273 | |||
274 | ;; FSAssets Custom Database Config (Leave blank to use grids default database configuration) | ||
275 | ;StorageProvider = "" | ||
276 | ;ConnectionString = "" | ||
277 | ;Realm = "fsassets" | ||
278 | |||
279 | ;; The following are common to both the default asset service and FSAsset service | ||
280 | |||
281 | ;; Common asset service options | ||
282 | DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" | ||
283 | AssetLoaderArgs = "./assets/AssetSets.xml" | ||
284 | |||
285 | ; Allow maptile assets to remotely deleted by remote calls to the asset service. | ||
286 | ; There is no harm in having this as false - it just means that historical maptile assets are not deleted. | ||
287 | ; This only applies to maptiles served via the version 1 viewer mechanisms | ||
288 | ; Default is false | ||
289 | AllowRemoteDelete = false | ||
290 | |||
291 | ; Allow all assets to be remotely deleted. | ||
292 | ; Only set this to true if you are operating a grid where you control all calls to the asset service | ||
293 | ; (where a necessary condition is that you control all simulators) and you need this for admin purposes. | ||
294 | ; If set to true, AllowRemoteDelete = true is required as well. | ||
295 | ; Default is false. | ||
296 | AllowRemoteDeleteAllTypes = false | ||
297 | |||
298 | ; * This configuration loads the inventory server modules. It duplicates | ||
299 | ; * the function of the legacy inventory server | ||
300 | ; * | ||
301 | [InventoryService] | ||
302 | LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService" | ||
303 | |||
304 | ; Will calls to purge folders (empty trash) and immediately delete/update items or folders (not move to trash first) succeed? | ||
305 | ; If this is set to false then some other arrangement must be made to perform these operations if necessary. | ||
306 | AllowDelete = true | ||
307 | |||
308 | |||
309 | ; * This is the new style grid service. | ||
310 | ; * "Realm" is the table that is used for user lookup. | ||
311 | ; * It defaults to "regions", which uses the legacy tables | ||
312 | ; * | ||
313 | [GridService] | ||
314 | LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" | ||
315 | |||
316 | ; Realm = "regions" | ||
317 | ; AllowDuplicateNames = "" | ||
318 | |||
319 | ;; Perform distance check for the creation of a linked region | ||
320 | ; Check4096 = "True" | ||
321 | |||
322 | ;; Needed to display non-default map tile images for linked regions | ||
323 | AssetService = "OpenSim.Services.AssetService.dll:AssetService" | ||
324 | |||
325 | ;; Directory for map tile images of linked regions | ||
326 | MapTileDirectory = "${Paths|CachePath}/maptiles" | ||
327 | |||
328 | ;; Next, we can specify properties of regions, including default and fallback regions | ||
329 | ;; The syntax is: Region_<RegionName> = "<flags>" | ||
330 | ;; or: Region_<RegionID> = "<flags>" | ||
331 | ;; where <flags> can be DefaultRegion, DefaultHGRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut, Reservation, NoMove, Authenticate | ||
332 | ;; | ||
333 | ;; 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.) | ||
334 | ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion | ||
335 | ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified | ||
336 | ;; an explicit region. | ||
337 | ;; | ||
338 | ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online | ||
339 | ;; region will be used. | ||
340 | ;; | ||
341 | ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the | ||
342 | ;; order specified. This only applies to local logins at this time, not Hypergrid connections. | ||
343 | ;; | ||
344 | ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins. | ||
345 | ;; | ||
346 | ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid. | ||
347 | ;; | ||
348 | ;; Example specification: | ||
349 | ; Region_Welcome_Area = "DefaultRegion, FallbackRegion" | ||
350 | ; (replace spaces with underscore) | ||
351 | Region_Welcome = "DefaultRegion, FallbackRegion, Persistent" | ||
352 | Region_Sandbox = "DefaultRegion, FallbackRegion, Persistent" | ||
353 | Region_Kellietown = "DefaultRegion, FallbackRegion, Persistent" | ||
354 | |||
355 | ;; Allow Hyperlinks to be created at the console | ||
356 | HypergridLinker = true | ||
357 | |||
358 | ;; Allow supporting viewers to export content | ||
359 | ;; Set to false to prevent export | ||
360 | ExportSupported = true | ||
361 | |||
362 | ;; If you have this set under [Hypergrid], no need to set it here, leave it commented | ||
363 | ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
364 | |||
365 | |||
366 | ; * This is the configuration for the freeswitch server in grid mode | ||
367 | [FreeswitchService] | ||
368 | ; LocalServiceModule = "OpenSim.Services.FreeswitchService.dll:FreeswitchService" | ||
369 | |||
370 | ;; The IP address of your FreeSWITCH server. | ||
371 | ;; This address must be reachable by viewers. | ||
372 | ; ServerAddress = 127.0.0.1 | ||
373 | |||
374 | ;; The following configuration parameters are optional | ||
375 | |||
376 | ;; By default, this is the same as the ServerAddress | ||
377 | ; Realm = 127.0.0.1 | ||
378 | |||
379 | ;; By default, this is the same as the ServerAddress on port 5060 | ||
380 | ; SIPProxy = 127.0.0.1:5060 | ||
381 | |||
382 | ;; Default is 5000ms | ||
383 | ; DefaultTimeout = 5000 | ||
384 | |||
385 | ;; The dial plan context. Default is "default" | ||
386 | ; Context = default | ||
387 | |||
388 | ;; Currently unused | ||
389 | ; UserName = freeswitch | ||
390 | |||
391 | ;; Currently unused | ||
392 | ; Password = password | ||
393 | |||
394 | ;; The following parameters are for STUN = Simple Traversal of UDP through NATs | ||
395 | ;; See http://wiki.freeswitch.org/wiki/NAT_Traversal | ||
396 | ;; stun.freeswitch.org is not guaranteed to be running so use it in | ||
397 | ;; production at your own risk | ||
398 | ; EchoServer = 127.0.0.1 | ||
399 | ; EchoPort = 50505 | ||
400 | ; AttemptSTUN = false | ||
401 | |||
402 | |||
403 | ; * This is the new style authentication service. Currently, only MySQL | ||
404 | ; * is implemented. | ||
405 | ; * | ||
406 | [AuthenticationService] | ||
407 | ; for the server connector | ||
408 | LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" | ||
409 | ; Realm = "auth" | ||
410 | |||
411 | ;; Allow the service to process HTTP getauthinfo calls. | ||
412 | ;; Default is false. | ||
413 | ; AllowGetAuthInfo = false | ||
414 | |||
415 | ;; Allow the service to process HTTP setauthinfo calls. | ||
416 | ;; Default is false. | ||
417 | ; AllowSetAuthInfo = false | ||
418 | |||
419 | ;; Allow the service to process HTTP setpassword calls. | ||
420 | ;; Default is false. | ||
421 | ; AllowSetPassword = false | ||
422 | |||
423 | |||
424 | [OpenIdService] | ||
425 | ; for the server connector | ||
426 | ; AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" | ||
427 | ; UserAccountServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService" | ||
428 | |||
429 | |||
430 | ; * This is the new style user service. | ||
431 | ; * "Realm" is the table that is used for user lookup. | ||
432 | ; * It defaults to "UserAccounts", which uses the new style. | ||
433 | ; * Realm = "users" will use the legacy tables as an authentication source | ||
434 | ; * | ||
435 | [UserAccountService] | ||
436 | ; for the server connector | ||
437 | LocalServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService" | ||
438 | ; Realm = "UserAccounts" | ||
439 | |||
440 | ; These are for creating new accounts by the service | ||
441 | AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" | ||
442 | PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" | ||
443 | GridService = "OpenSim.Services.GridService.dll:GridService" | ||
444 | InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" | ||
445 | AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" | ||
446 | GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" | ||
447 | |||
448 | ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 | ||
449 | ;; to show a default "Ruth" avatar rather than a cloud for a newly created user. | ||
450 | ;; Default is false | ||
451 | CreateDefaultAvatarEntries = true | ||
452 | |||
453 | ;; Allow the service to process HTTP createuser calls. | ||
454 | ;; Default is false. | ||
455 | ; AllowCreateUser = false | ||
456 | |||
457 | ;; Allow the service to process HTTP setaccount calls. | ||
458 | ;; Default is false. | ||
459 | ; AllowSetAccount = false | ||
460 | |||
461 | |||
462 | [GridUserService] | ||
463 | ; for the server connector | ||
464 | LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService" | ||
465 | |||
466 | |||
467 | [AgentPreferencesService] | ||
468 | ; for the server connector | ||
469 | LocalServiceModule = "OpenSim.Services.UserAccountService.dll:AgentPreferencesService" | ||
470 | |||
471 | |||
472 | [PresenceService] | ||
473 | ; for the server connector | ||
474 | LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService" | ||
475 | |||
476 | [AvatarService] | ||
477 | ; for the server connector | ||
478 | LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService" | ||
479 | |||
480 | |||
481 | [FriendsService] | ||
482 | ; for the server connector | ||
483 | LocalServiceModule = "OpenSim.Services.FriendsService.dll:FriendsService" | ||
484 | |||
485 | [EstateService] | ||
486 | LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" | ||
487 | |||
488 | [LibraryService] | ||
489 | LibraryName = "OpenSim Library" | ||
490 | DefaultLibrary = "./inventory/Libraries.xml" | ||
491 | |||
492 | |||
493 | [LoginService] | ||
494 | ; for the server connector | ||
495 | LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService" | ||
496 | ; for the service | ||
497 | UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" | ||
498 | GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" | ||
499 | AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" | ||
500 | InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" | ||
501 | AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" | ||
502 | PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" | ||
503 | GridService = "OpenSim.Services.GridService.dll:GridService" | ||
504 | SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector" | ||
505 | LibraryService = "OpenSim.Services.InventoryService.dll:LibraryService" | ||
506 | FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" | ||
507 | ; The minimum user level required for a user to be able to login. 0 by default | ||
508 | ; If you disable a particular user's account then you can set their login level below this number. | ||
509 | ; You can also change this level from the console though these changes will not be persisted. | ||
510 | ; MinLoginLevel = 0 | ||
511 | |||
512 | ;; for hypergrid | ||
513 | UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" | ||
514 | |||
515 | ; This inventory service will be used to initialize the user's inventory | ||
516 | HGInventoryServicePlugin = "HGInventoryService@OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" | ||
517 | ; NOTE: HGInventoryServiceConstructorArg is deprecated. For now it will work, but see above | ||
518 | ; for the correct method if passing additional arguments. | ||
519 | ;; end hypergrid | ||
520 | |||
521 | ; Ask co-operative viewers to use a different currency name | ||
522 | Currency = "v " | ||
523 | |||
524 | ;; Set minimum fee to publish classified | ||
525 | ; ClassifiedFee = 0 | ||
526 | |||
527 | WelcomeMessage = "${Const|MOTD}" | ||
528 | AllowRemoteSetLoginLevel = "false" | ||
529 | |||
530 | ; For V2 map | ||
531 | MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/"; | ||
532 | |||
533 | ; Url to search service | ||
534 | ; SearchURL = "${Const|BaseURL}:${Const|PublicPort}/"; | ||
535 | |||
536 | ; For V3 destination guide | ||
537 | ; DestinationGuide = "${Const|BaseURL}/guide" | ||
538 | |||
539 | ; For V3 avatar picker (( work in progress )) | ||
540 | ; AvatarPicker = "${Const|BaseURL}/avatars" | ||
541 | |||
542 | ; If you run this login server behind a proxy, set this to true | ||
543 | ; HasProxy = false | ||
544 | |||
545 | ; Defaults for the users, if none is specified in the useraccounts table entry (ServiceURLs) | ||
546 | ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented | ||
547 | ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
548 | |||
549 | SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
550 | SRV_InventoryServerURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
551 | SRV_AssetServerURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
552 | SRV_ProfileServerURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
553 | SRV_FriendsServerURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
554 | SRV_IMServerURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
555 | SRV_GroupsServerURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
556 | |||
557 | ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time" | ||
558 | ;; Viewers do not receive timezone information from the server - almost all (?) default to Pacific Standard Time | ||
559 | ;; However, they do rely on the server to tell them whether it's Daylight Saving Time or not. | ||
560 | ;; Hence, calculating DST based on a different timezone can result in a misleading viewer display and inconsistencies between grids. | ||
561 | ;; By default, this setting uses various timezone names to calculate DST with regards to the viewer's standard PST. | ||
562 | ;; Options are | ||
563 | ;; "none" no DST | ||
564 | ;; "local" use the server's only timezone to calculate DST. This is previous OpenSimulator behaviour. | ||
565 | ;; "America/Los_Angeles;Pacific Standard Time" use these timezone names to look up Daylight savings. | ||
566 | ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows | ||
567 | DSTZone = "local" | ||
568 | |||
569 | ;Basic Login Service Dos Protection Tweaks | ||
570 | ;; | ||
571 | ;; Some Grids/Users use a transparent proxy that makes use of the X-Forwarded-For HTTP Header, If you do, set this to true | ||
572 | ;; 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 | ||
573 | ;; get around this basic DOS protection. | ||
574 | ;DOSAllowXForwardedForHeader = false | ||
575 | ;; | ||
576 | ;; The protector adds up requests during this rolling period of time, default 10 seconds | ||
577 | ;DOSRequestTimeFrameMS = 10000 | ||
578 | ;; | ||
579 | ;; The amount of requests in the above timeframe from the same endpoint that triggers protection | ||
580 | ;DOSMaxRequestsInTimeFrame = 5 | ||
581 | ;; | ||
582 | ;; The amount of time that a specific endpoint is blocked. Default 2 minutes. | ||
583 | ;DOSForgiveClientAfterMS = 120000 | ||
584 | ;; | ||
585 | ;; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0. | ||
586 | |||
587 | |||
588 | [MapImageService] | ||
589 | LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService" | ||
590 | |||
591 | ; Set this if you want to change the default | ||
592 | TilesStoragePath = "${Paths|CachePath}/maptiles" | ||
593 | ; | ||
594 | ; If for some reason you have the AddMapTile service outside the firewall (e.g. ${Const|PublicPort}), | ||
595 | ; you may want to set this. Otherwise, don't set it, because it's already protected. | ||
596 | ; GridService = "OpenSim.Services.GridService.dll:GridService" | ||
597 | ; | ||
598 | ; Additionally, if you run this server behind a proxy, set this to true | ||
599 | ; HasProxy = false | ||
600 | |||
601 | |||
602 | [GridInfoService] | ||
603 | ; These settings are used to return information on a get_grid_info call. | ||
604 | ; Client launcher scripts and third-party clients make use of this to | ||
605 | ; autoconfigure the client and to provide a nice user experience. If you | ||
606 | ; want to facilitate that, you should configure the settings here according | ||
607 | ; to your grid or standalone setup. | ||
608 | ; | ||
609 | ; See http://opensimulator.org/wiki/GridInfo | ||
610 | |||
611 | ; login uri: for grid this is the login server URI | ||
612 | login = ${Const|BaseURL}:${Const|PublicPort}/ | ||
613 | |||
614 | ; long grid name: the long name of your grid | ||
615 | gridname = "${Const|GridName}" | ||
616 | |||
617 | ; short grid name: the short name of your grid | ||
618 | gridnick = "${Const|ShortGridName}" | ||
619 | |||
620 | ; login page: optional: if it exists it will be used to tell the client to use | ||
621 | ; this as splash page | ||
622 | welcome = ${Const|BaseURL}/drupal/loginpage | ||
623 | |||
624 | ; helper uri: optional: if it exists it will be used to tell the client to use | ||
625 | ; this for all economy related things | ||
626 | ;economy = ${Const|BaseURL}/economy | ||
627 | |||
628 | ; web page of grid: optional: page providing further information about your grid | ||
629 | about = ${Const|BaseURL}/drupal/ | ||
630 | |||
631 | ; account creation: optional: page providing further information about obtaining | ||
632 | ; a user account on your grid | ||
633 | register = ${Const|BaseURL}/drupal/content/How_to_join | ||
634 | |||
635 | ; help: optional: page providing further assistance for users of your grid | ||
636 | help = ${Const|BaseURL}/drupal/Tags/help | ||
637 | |||
638 | ; password help: optional: page providing password assistance for users of your grid | ||
639 | password = ${Const|BaseURL}/drupal | ||
640 | |||
641 | ; HG address of the gatekeeper, if you have one | ||
642 | ; this is the entry point for all the regions of the world | ||
643 | ; gatekeeper = ${Const|BaseURL}:${Const|PublicPort}/ | ||
644 | |||
645 | ; HG user domain, if you have one | ||
646 | ; this is the entry point for all user-related HG services | ||
647 | ; uas = ${Const|BaseURL}:${Const|PublicPort}/ | ||
648 | |||
649 | |||
650 | [GatekeeperService] | ||
651 | LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService" | ||
652 | ;; for the service | ||
653 | UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" | ||
654 | UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" | ||
655 | PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" | ||
656 | GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" | ||
657 | GridService = "OpenSim.Services.GridService.dll:GridService" | ||
658 | AuthenticationService = "OpenSim.Services.Connectors.dll:AuthenticationServicesConnector" | ||
659 | SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector" | ||
660 | ; how does the outside world reach me? This acts as public key too. | ||
661 | ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented | ||
662 | ; ExternalName = "${Const|BaseURL}:${Const|PublicPort}" | ||
663 | |||
664 | ; Does this grid allow incoming links to any region in it? | ||
665 | ; If false, HG TPs happen only to the Default regions specified in [GridService] section | ||
666 | AllowTeleportsToAnyRegion = true | ||
667 | |||
668 | ; If you run this gatekeeper server behind a proxy, set this to true | ||
669 | ; HasProxy = false | ||
670 | |||
671 | ;; Are foreign visitors allowed? | ||
672 | ForeignAgentsAllowed = true | ||
673 | ;; | ||
674 | ;; If ForeignAgentsAllowed is true, make exceptions using AllowExcept. | ||
675 | ;; Leave blank or commented for no exceptions. | ||
676 | ; AllowExcept = "http://griefer.com:8002, http://enemy.com:8002" | ||
677 | ;; | ||
678 | ;; If ForeignAgentsAllowed is false, make exceptions using DisallowExcept | ||
679 | ;; Leave blank or commented for no exceptions. | ||
680 | ; DisallowExcept = "http://myfriendgrid.com:8002, http://myboss.com:8002" | ||
681 | |||
682 | |||
683 | [UserAgentService] | ||
684 | LocalServiceModule = "OpenSim.Services.HypergridService.dll:UserAgentService" | ||
685 | ;; for the service | ||
686 | GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" | ||
687 | GridService = "OpenSim.Services.GridService.dll:GridService" | ||
688 | GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService" | ||
689 | PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" | ||
690 | FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" | ||
691 | UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" | ||
692 | |||
693 | ; If you run this user agent server behind a proxy, set this to true | ||
694 | ; HasProxy = false | ||
695 | |||
696 | ;; If you separate the UserAgentService from the LoginService, set this to | ||
697 | ;; the IP address of the machine where your LoginService is | ||
698 | ;LoginServerIP = "127.0.0.1" | ||
699 | |||
700 | ; User level required to be contacted from other grids | ||
701 | LevelOutsideContacts = 0 | ||
702 | |||
703 | ;; Restrictions on destinations of local users. | ||
704 | ;; Are local users allowed to visit other grids? | ||
705 | ;; What user level? Use variables of this forrm: | ||
706 | ;; ForeignTripsAllowed_Level_<UserLevel> = true | false | ||
707 | ;; (the default is true) | ||
708 | ;; For example: | ||
709 | ; ForeignTripsAllowed_Level_0 = false | ||
710 | ; ForeignTripsAllowed_Level_200 = true ; true is default, no need to say it | ||
711 | ;; | ||
712 | ;; If ForeignTripsAllowed is false, make exceptions using DisallowExcept | ||
713 | ;; Leave blank or commented for no exceptions. | ||
714 | ; DisallowExcept_Level_0 = "http://myothergrid.com:8002, http://boss.com:8002" | ||
715 | ;; | ||
716 | ;; If ForeignTripsAllowed is true, make exceptions using AllowExcept. | ||
717 | ;; Leave blank or commented for no exceptions. | ||
718 | ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002" | ||
719 | |||
720 | ;; This variable controls what is exposed to profiles of local users | ||
721 | ;; as seen from outside of this grid. Leave it uncommented for exposing | ||
722 | ;; UserTitle, UserFlags and the creation date. Uncomment and change to False | ||
723 | ;; to block this info from being exposed. | ||
724 | ; ShowUserDetailsInHGProfile = True | ||
725 | |||
726 | |||
727 | ; * The interface that local users get when they are in other grids. | ||
728 | ; * This restricts the inventory operations while in other grids. | ||
729 | ; * Still not completely safe, especially if users perform inventory operations | ||
730 | ; * while in those grids. The more the user accesses his/her inventory, the more | ||
731 | ; * those simulators will know about the user's inventory. | ||
732 | ; * | ||
733 | [HGInventoryService] | ||
734 | ; For the InventoryServiceInConnector | ||
735 | LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" | ||
736 | ;; alternatives: | ||
737 | ;; HG1.5, more permissive, not recommended, but still supported | ||
738 | ;LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInventoryService" | ||
739 | ;; HG1.0, totally permissive, not recommended, but OK for grids with 100% trust | ||
740 | ;LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService" | ||
741 | |||
742 | UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" | ||
743 | AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" | ||
744 | |||
745 | ; HGInventoryService is a public-facing inventory service that allows users to | ||
746 | ; interact with their suitcase folder when on a foreign grid. This reuses the general inventory service connector. | ||
747 | ; Hence, if the user has set up authentication in [Network] to protect their private services | ||
748 | ; make sure it is not set here. | ||
749 | AuthType = None | ||
750 | |||
751 | ;; Can overwrite the default in [Hypergrid], but probably shouldn't | ||
752 | ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
753 | |||
754 | |||
755 | ; * The interface that local users get when they are in other grids. | ||
756 | ; * This restricts the access that the rest of the world has to | ||
757 | ; * the assets of this world. | ||
758 | ; * | ||
759 | [HGAssetService] | ||
760 | ;; Use the second option if you have FSAsset service enabled | ||
761 | ; LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGAssetService" | ||
762 | LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFSAssetService" | ||
763 | |||
764 | UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" | ||
765 | |||
766 | ; HGAssetService is a public-facing service that allows users to | ||
767 | ; read and create assets when on another grid. This reuses the general asset service connector. | ||
768 | ; Hence, if the user has set up authentication in [Network] to protect their private services | ||
769 | ; make sure it is overriden for this public service. | ||
770 | AuthType = None | ||
771 | |||
772 | ;; Can overwrite the default in [Hypergrid], but probably shouldn't | ||
773 | ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
774 | |||
775 | ;; The asset types that this grid can export to / import from other grids. | ||
776 | ;; Comma separated. | ||
777 | ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: | ||
778 | ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, | ||
779 | ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh | ||
780 | ;; | ||
781 | ;; Leave blank or commented if you don't want to apply any restrictions. | ||
782 | ;; A more strict, but still reasonable, policy may be to disallow the exchange | ||
783 | ;; of scripts, like so: | ||
784 | ; DisallowExport ="LSLText" | ||
785 | ; DisallowImport ="LSLBytecode" | ||
786 | |||
787 | |||
788 | [HGFriendsService] | ||
789 | LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFriendsService" | ||
790 | UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" | ||
791 | FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" | ||
792 | UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" | ||
793 | GridService = "OpenSim.Services.GridService.dll:GridService" | ||
794 | PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" | ||
795 | |||
796 | |||
797 | [HGInstantMessageService] | ||
798 | LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" | ||
799 | GridService = "OpenSim.Services.GridService.dll:GridService" | ||
800 | PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" | ||
801 | UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" | ||
802 | ; This should always be true in the Robust config | ||
803 | InGatekeeper = True | ||
804 | |||
805 | |||
806 | [Messaging] | ||
807 | ; OfflineIM | ||
808 | OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" | ||
809 | |||
810 | |||
811 | [Groups] | ||
812 | ;; for the HG Groups service | ||
813 | OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" | ||
814 | UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" | ||
815 | |||
816 | ;; What is the HomeURI of users associated with this grid? | ||
817 | ;; Can overwrite the default in [Hypergrid], but probably shouldn't | ||
818 | ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" | ||
819 | ;; end hypergrid | ||
820 | |||
821 | ;; Sets the maximum number of groups an agent may join | ||
822 | MaxAgentGroups = 420 | ||
823 | |||
824 | |||
825 | [UserProfilesService] | ||
826 | LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" | ||
827 | Enabled = true | ||
828 | ;; Configure this for separate profiles database | ||
829 | ;; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;" | ||
830 | ;; Realm = UserProfiles | ||
831 | UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService | ||
832 | AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" | ||
833 | |||
834 | |||
835 | [BakedTextureService] | ||
836 | LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes" | ||
837 | ;; This directory must be writable by the user ROBUST runs as. It will be created automatically. | ||
838 | BaseDirectory = "${Paths|CachePath}/bakes" | ||
839 | |||
840 | [MuteListService] | ||
841 | LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService" | ||
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/GridCommon.ini b/bin/config-include/GridCommon.ini new file mode 100644 index 0000000..8621651 --- /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 Infinite Grid. | ||
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 | Gatekeeper="${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 | Gatekeeper = "${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 | Gatekeeper = "${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 index e93ce3c..5406295 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example | |||
@@ -6,7 +6,7 @@ | |||
6 | ; | 6 | ; |
7 | 7 | ||
8 | ; SQLite | 8 | ; SQLite |
9 | Include-Storage = "config-include/storage/SQLiteStandalone.ini"; | 9 | ; Include-Storage = "config-include/storage/SQLiteStandalone.ini"; |
10 | 10 | ||
11 | ; MySql | 11 | ; MySql |
12 | ; Uncomment these lines if you want to use mysql storage | 12 | ; Uncomment these lines if you want to use mysql storage |
@@ -32,6 +32,9 @@ | |||
32 | ;StorageProvider = "OpenSim.Data.PGSQL.dll" | 32 | ;StorageProvider = "OpenSim.Data.PGSQL.dll" |
33 | ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" | 33 | ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" |
34 | 34 | ||
35 | StorageProvider = "${Const|DataProvider}" | ||
36 | ConnectionString = "${Const|ConnectionString}" | ||
37 | |||
35 | [Hypergrid] | 38 | [Hypergrid] |
36 | ; Uncomment the variables in this section only if you are in | 39 | ; Uncomment the variables in this section only if you are in |
37 | ; Hypergrid configuration. Otherwise, ignore. | 40 | ; Hypergrid configuration. Otherwise, ignore. |
diff --git a/bin/config-include/StandaloneCommon.ini b/bin/config-include/StandaloneCommon.ini new file mode 100644 index 0000000..1db62c8 --- /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 Gatekeeper 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 index 8931557..53f0da2 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example | |||
@@ -6,7 +6,7 @@ | |||
6 | ; | 6 | ; |
7 | 7 | ||
8 | ; SQLite | 8 | ; SQLite |
9 | Include-Storage = "config-include/storage/SQLiteStandalone.ini"; | 9 | ;Include-Storage = "config-include/storage/SQLiteStandalone.ini"; |
10 | 10 | ||
11 | ; MySql | 11 | ; MySql |
12 | ; Uncomment these lines if you want to use mysql storage | 12 | ; Uncomment these lines if you want to use mysql storage |
@@ -33,6 +33,9 @@ | |||
33 | ;StorageProvider = "OpenSim.Data.PGSQL.dll" | 33 | ;StorageProvider = "OpenSim.Data.PGSQL.dll" |
34 | ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" | 34 | ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" |
35 | 35 | ||
36 | StorageProvider = "${Const|DataProvider}" | ||
37 | ConnectionString = "${Const|ConnectionString}" | ||
38 | |||
36 | [Hypergrid] | 39 | [Hypergrid] |
37 | ; Uncomment the variables in this section only if you are in | 40 | ; Uncomment the variables in this section only if you are in |
38 | ; Hypergrid configuration. Otherwise, ignore. | 41 | ; Hypergrid configuration. Otherwise, ignore. |