aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rw-r--r--bin/OpenSim.ini57
-rw-r--r--bin/OpenSimDefaults.ini2571
-rw-r--r--bin/Robust.Tests.ini468
-rw-r--r--bin/Robust.ini841
-rw-r--r--bin/config-include/FlotsamCache.ini97
-rw-r--r--bin/config-include/GridCommon.ini255
-rw-r--r--bin/config-include/GridCommon.ini.example5
-rw-r--r--bin/config-include/StandaloneCommon.ini401
-rw-r--r--bin/config-include/StandaloneCommon.ini.example5
9 files changed, 4698 insertions, 2 deletions
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.