aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/bin/OpenSim.ini.example
blob: 817441d3425df0e5a9d8637a60e6aed976e90c2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
[Startup]
gridmode = false

; Determines where the region XML files are stored.
; regionload_regionsdir="C:\somewhere\xmlfiles\"

; ##
; ## STORAGE
; ##

; *** Prim Storage - only leave one storage_plugin uncommented ***
; --- Null stores nothing - effectively disabling persistence:
storage_plugin = "OpenSim.Data.Null.dll"

; --- To use sqlite as region storage:
;storage_plugin = "OpenSim.Data.SQLite.dll"
storage_connection_string="URI=file:OpenSim.db,version=3";

; --- To use MySQL storage, supply your own connectionstring (this is only an example):
;     note that the supplied account needs create privilegies if you want it to auto-create needed tables.
; storage_plugin="OpenSim.Data.MySQL.dll"
; storage_connection_string="Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;";

; turn on experimental storage of prim inventories in the region database

; Prim inventory storage is now turned on by default
; However, this option remains in case it needs to be disabled
; More details of the current state of this can be found at
;
; http://opensimulator.org/wiki/OpenSim:Prim_Inventory_Persistence
;
storage_prim_inventories = true

; Select whether you want to use local or grid asset storage.
;
; If you're running in standalone, you definitely want local, since there is no grid (hence this is redundant, and should
; really be eliminated).  The database itself is defined in asset_plugin below
;
; If you're running a region server connecting to a grid, you probably want grid mode, since this will use the 
; grid asset server.  If you select local in grid mode, then you will use a database as specified in asset_plugin to store assets
; locally.  This will mean you won't be able to take items using your assets to other people's regions.
asset_database = "local"
;asset_database = "grid"

; Should avatars in neighbor sims see objects in this sim?
see_into_this_sim_from_neighbor = True

; ##
; ## PHYSICS
; ##

; Select a mesher here. ZeroMesher is save and fast.
; ZeroMesher also means that the physics engine models the physics of prims
; sticking to the basic shapes the engine does support. Usually this is only a box.
; Meshmerizer gives a better handling of complex prims by using triangle meshes.
; Note, that only ODE physics currently deals with meshed prims in a satisfactoring way
; 
meshing = ZeroMesher
;meshing = Meshmerizer

; Choose one of the physics engines below
physics = basicphysics
;physics = POS
;physics = OpenDynamicsEngine
;physics = modified_BulletX


startup_console_commands_file = "startup_commands.txt"
shutdown_console_commands_file = "shutdown_commands.txt"

;permissionmodules = "DefaultPermissionsModule"
serverside_object_permissions = false

; if you would like to allow prims to be physical and move by physics with the physical checkbox in the client set this to true.
physical_prim = true

; To run a script every few minutes, set the script filename here
; timer_Script = "filename"

; ##
; ## ScriptEngine
; ##
; These are region modules loaded into each region to provide script support
; Scripts may be everything from LSL or C# scripts put in prims to whole game systems that controls the whole grid.
; You can load multiple modules by separating them with a coma.
;
; Example:
;script_engine = OpenSim.Region.ScriptEngine.DotNetEngine.dll,OpenSim.Region.ScriptEngine.RemoteServer.dll
;
; This is the current and most stable ScriptEngine:
script_engine = OpenSim.Region.ScriptEngine.DotNetEngine.dll

;Experimental remote ScriptServer plugin (does not currently work):
;script_engine = OpenSim.Region.ScriptEngine.RemoteServer.dll


[StandAlone]
accounts_authenticate = true
welcome_message = "Welcome to OpenSim"

; Asset database provider
asset_plugin = "OpenSim.Data.SQLite.dll"
; asset_plugin = "OpenSim.Data.MySQL.dll" ; for mysql
; asset_plugin = "OpenSim.Data.NHibernate.dll" ; for nhibernate

; the Asset DB source.  This only works for sqlite and nhibernate for now
; Asset Source SQLite Exampe
; asset_source = "URI=file:Asset.db,version=3"
; Asset Source NHibernate Example (DIALECT;DRIVER;CONNECTSTRING)
; asset_source = "SQLiteDialect;SqliteClientDriver;URI=file:Asset.db,version=3"

; Inventory database provider
inventory_plugin = "OpenSim.Data.SQLite.dll"
; inventory_plugin = "OpenSim.Data.MySQL.dll"
; inventory_plugin = "OpenSim.Data.NHibernate.dll" ; for nhibernate
; Inventory Source NHibernate Example (DIALECT;DRIVER;CONNECTSTRING)
; inventory_source = "SQLiteDialect;SqliteClientDriver;URI=file:Inventory.db,version=3"


; User Data Database provider
userDatabase_plugin = "OpenSim.Data.SQLite.dll"
; userDatabase_plugin = "OpenSim.Data.MySQL.dll"
; userDatabase_plugin = "OpenSim.Data.NHibernate.dll" ; for nhibernate
; User Source NHibernate Example (DIALECT;DRIVER;CONNECTSTRING)
; user_source = "SQLiteDialect;SqliteClientDriver;URI=file:User.db,version=3"


default_location_x = 1000
default_location_y = 1000
dump_assets_to_file = false

[Network]
http_listener_port = 9000
remoting_listener_port = 8895

; Uncomment below to enable llRemoteData/remote channels
; remoteDataPort = 20800

grid_server_url = "http://127.0.0.1:8001"
grid_send_key = "null"
grid_recv_key = "null"

user_server_url = "http://127.0.0.1:8002"
user_send_key = "null"
user_recv_key = "null"

asset_server_url = "http://127.0.0.1:8003"

inventory_server_url = "http://127.0.0.1:8004"

[Chat]
whisper_distance = 10
say_distance = 30
shout_distance = 100

[ODEPhysicsSettings]

;# World Settings

;Gravity.  Feel like falling up?  change world_gravityz to 9.8 instead of -9.8.  m/s
world_gravityx = 0
world_gravityy = 0
world_gravityz = -9.8

; World Step size. (warning these are dangerous.  Changing these will probably cause your scene to explode dramatically)
; reference: fps = (0.09375/ODE_STEPSIZE) * 1000;
world_stepsize = 0.020
world_internal_steps_without_collisions = 10

;World Space settings. Affects memory consumption vs Collider CPU time for avatar and physical prim
world_hashspace_size_low = -4
world_hashSpace_size_high = 128

;Dynamic space settings Affects memory consumption vs Collider CPU time for static prim
meters_in_small_space = 29.9
small_hashspace_size_low = -4
small_hashspace_size_high = 66

; # Contact properties. (the stuff that happens when things come in contact with each other)

; surface layer around geometries other geometries can sink into before generating a contact
world_contact_surface_layer = 0.001

; Non Moving Terrain Contact (avatar isn't moving)
nm_terraincontact_friction = 255.0
nm_terraincontact_bounce = 0.1
nm_terraincontact_erp = 0.1025

; Moving Terrain Contact (avatar is moving)

m_terraincontact_friction = 75.0
m_terraincontact_bounce = 0.05
m_terrainContact_erp = 0.05025

; Moving Avatar to object Contact

m_avatarobjectcontact_friction = 75.0
m_avatarobjectcontact_bounce = 0.1

; Object to Object Contact and Non-Moving Avatar to object

objectcontact_friction = 250.0
objectcontact_bounce = 0.2

; # Avatar Control

; PID Controller Settings. These affect the math that causes the avatar to reach the 

av_pid_derivative_linux = 3200.0
av_pid_proportional_linux = 1400.0

av_pid_derivative_win = 2200.0
av_pid_proportional_win = 900.0;


;girth of the avatar.  Adds radius to the height also
av_capsule_radius = 0.37

; Max force permissible to use to keep the avatar standing up straight
av_capsule_standup_tensor_win = 550000
av_capsule_standup_tensor_linux = 2000000

; used to calculate mass of avatar.  
; float AVvolume = (float) (Math.PI*Math.Pow(CAPSULE_RADIUS, 2)*CAPSULE_LENGTH);
; av_density * AVvolume;

av_density = 80

; use this value to cut 52% of the height the sim gives us
av_height_fudge_factor = 0.52

; Movement.  Smaller is faster.

; speed of movement with Always Run off
av_movement_divisor_walk = 1.3

; speed of movement with Always Run on
av_movement_divisor_run = 0.8

; # Object options
; used in the mass calculation.
geometry_default_density = 10.000006836

; amount of ODE steps where object is non moving for ODE to automatically put it to sleep
body_frames_auto_disable = 20

; used to control llMove2Target
body_pid_derivative = 35
body_pid_gain = 25

; amount of time a geom/body will try to cross a region border before it gets disabled
geom_crossing_faiures_before_outofbounds = 5

; start throttling the object updates if object comes in contact with 3 or more other objects
geom_contactpoints_start_throttling = 3

; send 1 update for every x updates below when throttled
geom_updates_before_throttled_update = 15

; Used for llSetStatus.  How rigid the object rotation is held on the axis specified
body_motor_joint_maxforce_tensor_linux = 2
body_motor_joint_maxforce_tensor_win = 5

; # Sculpted Prim settings

; Do we want to mesh sculpted prim to collide like they look?
mesh_sculpted_prim = true

; number^2 non-physical level of detail of the sculpt texture.  32x32 - 1024 verticies
mesh_lod = 32

; number^2 physical level of detail of the sculpt texture.  16x16 - 256 verticies
mesh_physical_lod = 16

[RemoteAdmin]
enabled = false
access_password = unknown

[RestPlugins]
enabled = false
password = unknown
prefix = /admin

[RestRegionPlugin]
enabled = false

; Uncomment the following for IRC bridge
; experimental, so if it breaks... keep both parts... yada yada
; also, not good error detection when it fails
;[IRC]
;server  = name.of.irc.server.on.the.net
;nick    = OpenSimBotNameProbablyMakeThisShorter
;channel = #the_irc_channel_you_want_to_connect_to
;port = 6667
;fallback_region = name of "default" region
;MSGformat fields : 0=botnick, 1=user, 2=region, 3=message
; must start with "PRIVMSG {0} : " or irc server will get upset
;for <bot>:<user in region> :<message>
;msgformat = "PRIVMSG {0} :<{1} in {2}>: {3}"
;for <bot>:<message> - <user of region> :
msgformat = "PRIVMSG {0} : {3} - {1} of {2}"
;for <bot>:<message> - from <user> :
;msgformat = "PRIVMSG {0} : {3} - from {1}"


[Voice]
; PLEASE NOTE that we don't have voice support in OpenSim quite yet - these configuration options are stubs
enabled = false
; This is not supported by the SLViewer right now and 
; hardcoded within the SL Viewer. Maybe it will be 
; changed in future. :-)
account_management_server = https://www.bhr.vivox.com/api2
; Global SIP Server for conference calls
sip_domain = testserver.com

[AsteriskVoice]
; PLEASE NOTE that we don't have voice support in OpenSim quite yet - these configuration options are stubs
enabled = false
; SIP account server domain 
sip_domain = testserver.com
; SIP conf server domain 
conf_domain = testserver.com
; URL of the asterisk opensim frontend 
asterisk_frontend = http://testserver.com:49153/
; password for the asterisk frontend XmlRpc calls
asterisk_password = bah-humbug
; timeout for XmlRpc calls to asterisk front end (in ms)
asterisk_timeout = 3000
; salt for asterisk nonces
asterisk_salt = paluempalum

; Uncomment the following to control the progression of daytime
; in the Sim.  The defaults are what is shown below
;[Sun]
; number of wall clock hours for an opensim day.  24.0 would mean realtime
;day_length = 0.5

; send a Sun update ever frame_rate # of frames.  A lower number will
; make for smoother sun transition at the cost of network
;frame_rate = 100


[ScriptEngine.DotNetEngine]
;
; These settings are specific to DotNetEngine script engine
; Other script engines based on OpenSim.Region.ScriptEngine.Common.dll will have almost identical settings, but in another section of this config file.
;

; When a script receives an event the event is queued.
; Any free thread will start executing this event. One script can only have one event executed simultaneously.
; If you have only one thread, and one script has a loop or does a lot of work, then no other scripts can run at the same time.
; Same if you have 10 threads, then only 10 scripts can be run simultaneously. 
; But because most scripts exit after their task, the threads are free to go on to the next script.

; Refresh ScriptEngine config options (these settings) every xx seconds
; 0 = Do not refresh
; Set it to number of seconds between refresh, for example 30.
; Will allow you to change ScriptEngine settings while server is running just by using "CONFIG SET" on console
; For example to increase or decrease number of threads: CONFIG SET NumberOfScriptThreads 10
; NOTE! Disabled for now. Feature does not work.
RefreshConfig=0

; Number of threads to use for script event execution
; Threads are shared across all regions
NumberOfScriptThreads=2

; Script event execution thread priority inside application.
; Valid values: Lowest, BelowNormal, Normal, AboveNormal, Highest
ScriptThreadPriority=BelowNormal

; How long MAX should a script event be allowed to run (per event execution)?
; Do not set this too low (like 50ms) as there are some time wasted in simply executing a function
; There is also a small speed penalty for every kill that is made
MaxEventExecutionTimeMs=5000

; Should we enable the max script event execution thread to look for scripts that exceed their timeslice?
EnforceMaxEventExecutionTime=true

; Should we stop the script completely when time exceeds?
; This is useful if you have a high <MaxEventExecutionTimeMs> and want to deactivate scripts that go wrong
; Note that for example physics engine can slow down the system and make scripts spend more time
DeactivateScriptOnTimeout=false

; If no scripts have executed in this pass how long should we sleep before checking again
; Impact:
; Too low and you will waste lots of CPU
; Too high and people touching object or similar will have to wait up to this amount of time before script responding
SleepTimeIfNoScriptExecutionMs=50

; AppDomains are used for two things:
; * Security: Scripts inside AppDomains are limited in permissions. 
; * Script unloading: When a script is deactivated it can not be unloaded. Only whole AppDomains can be unloaded.
;                     AppDomains are therefore only unloaded once ALL active scripts inside it has been deactivated (removed from prims).
; Each AppDomain has some memory overhead. But leaving dead scripts in memory also has memory overhead.
ScriptsPerAppDomain=1

; MaintenanceLoop
; How often to run maintenance loop
; Maintenance loop is doing: script compile/load, script unload, reload config, adjust running config and enforce max execution time
MaintenanceLoopms=50

; How many maintenanceloops between each of these.
; (if 2 then function will be executed every MaintenanceLoopms*2 ms)
; Script loading/unloading

; How long load/unload thread should sleep if there is nothing to do
; Higher value makes it respond slower when scripts are added/removed from prims
; But once active it will process all in queue before sleeping again
MaintenanceLoopTicks_ScriptLoadUnload=1

; Other tasks
; check if we need to reload config, adjust running config and enforce max execution time
MaintenanceLoopTicks_Other=10


; Maximum number of items in load/unload queue before we start rejecting loads
; Note that we will only be rejecting load. Unloads will still be able to queue.
LoadUnloadMaxQueueSize=100

; Maximum number of (LSL) events that can be queued before new events are ignored.
EventExecutionMaxQueueSize=300

; Async LL command sleep
; If no async LL commands are waiting, how long should thread sleep before checking again
; Async LL commands are LSL-commands that causes an event to be fired back with result
AsyncLLCommandLoopms=50

; When script is converted from LSL to C#, or just plain compiled, a copy of the script source will be put in the ScriptEngine folder
WriteScriptSourceToDebugFile=true

; Specify default script compiler
; If you do not specify //cs, //vb, //js or //lsl tag as the first characters of your script then the default compiler will be chosen
; Valid languages are: lsl, cs, js and vb
DefaultCompileLanguage=lsl

; Specify what compilers are allowed to be used
; Note vb only works on Windows for now (Mono lacks VB compile support)
; Valid languages are: lsl, cs, js and vb
AllowedCompilers=lsl,cs,js,vb

; Compile scripts with debugging
; Probably a thousand times slower, but gives you a line number when something goes wrong.
CompileWithDebugInformation=true

; Remove old scripts on next startup
CleanUpOldScriptsOnStartup=true

[LL-Functions]
; Set the following to true to allow administrator owned scripts to execute console commands
AllowosConsoleCommand=false

; Maximum number of llListen events we allow per script
; Set this to 0 to have no limit imposed.
max_listens_per_script = 64

[DataSnapshot]
; The following set of configs pertains to search.
; Set index_sims to true to enable search engines to index your searchable data
; If false, no data will be exposed, DataSnapshot module will be off, and you can ignore the rest of these search-related configs
index_sims = false
; If search is on, change this to your grid name; will be ignored for standalones
gridname = "OSGrid"
; Period between data snapshots, in seconds. 20 minutes, for starters, so that you see the initial changes fast.
; Later, you may want to increase this to 3600 (1 hour) or more
default_snapshot_period = 1200
; This will be created in bin, if it doesn't exist already. It will hold the data snapshots.
snapshot_cache_directory = "DataSnapshot"
; This semicolon-separated string serves to notify specific data services
; about the existence of this sim.
data_services="http://metaverseink.com/cgi-bin/register.py"

[Economy]
; These economy values get used in the BetaGridLikeMoneyModule.  - This module is for demonstration only -
; In grid mode, use this currency XMLRPC server.  Leave blank for normal functionality
CurrencyServer = ""
; "http://192.168.1.127/currency.php"

; In grid mode, this is the land XMLRPC server. Leave blank for normal functionality
LandServer = ""
;"http://192.168.1.127/landtool.php"

; 45000 is the highest value that the sim could possibly report because of protocol constraints
ObjectCapacity = 45000

; Money Unit fee to upload textures, animations etc
PriceUpload = 0

; Money Unit fee to create groups
PriceGroupCreate = 0

; This is the account Money goes to for fees.  Remember, economy requires that money circulates somewhere... even if it's an upload fee
EconomyBaseAccount = 00000000-0000-0000-0000-000000000000

; This is the type of user that will pay fees.  
; Set this to 2 for users, estate managers and Estate Owners
; Set this to 1 for Users and Estate Managers
; Set this to 0 for Users only.   
; -1 disables
UserLevelPaysFees = -1

; Amount to give to user as a stipend
UserStipend = 1000

; When a user gets low on money units and logs off, then logs back on, issue a new stipend if they have less money units then this 
; amount. Be aware that the account money isn't stored anywhere so users will get a stipend if you restart the simulator
IssueStipendWhenClientIsBelowAmount = 10

; If this is true, the simulator will remember account balances until the simulator is shutdown or restarted.
KeepMoneyAcrossLogins = true

; We don't really know what the rest of these values do.  These get sent to the client
; These taken from Agni at a Public Telehub.  Change at your own risk.
ObjectCount = 0
PriceEnergyUnit = 100
PriceObjectClaim = 10
PricePublicObjectDecay = 4
PricePublicObjectDelete = 4
PriceParcelClaim = 1
PriceParcelClaimFactor = 1

PriceRentLight = 5
TeleportMinPrice = 2
TeleportPriceExponent = 2
EnergyEfficiency = 1
PriceObjectRent = 1
PriceObjectScaleFactor = 10
PriceParcelRent = 1

[SVN]
Enabled = false
Directory = SVNmodule\repo
URL = "svn://your.repo.here/"
Username = "user"
Password = "password"
ImportOnStartup = false
Autosave = false
AutoSavePeriod = 15 ; Number of minutes between autosave backups