OpenSimMirror/bin/OpenSim.ini.example

635 lines
22 KiB
Plaintext

[Startup]
; Set this to true if you are connecting your OpenSimulator regions to a grid
; Set this to false if you are running OpenSimulator in standalone mode
gridmode = false
; ##
; ## REGIONS
; ##
; Determine where OpenSimulator looks for the files which tell it which regions to server
; Defaults to "filesystem" if this setting isn't present
region_info_source = "filesystem"
; region_info_source = "web"
; Determines where the region XML files are stored if you are loading these from the filesystem.
; Defaults to bin/Regions in your OpenSimulator installation directory
; regionload_regionsdir="C:\somewhere\xmlfiles\"
; Determines the page from which regions xml is retrieved if you are loading these from the web
; The XML here has the same format as it does on the filesystem (including the <Root> tag),
; except that everything is also enclosed in a <Regions> tag.
; regionload_webserver_url = "http://example.com/regions.xml";
; Draw objects on maptile. This step might take a long time if you've got a huge amount of
; objects, so you can turn it off here if you'd like.
DrawPrimOnMapTile = true
; Maximum total size, and maximum size where a prim can be physical
NonPhysicalPrimMax = 65536
PhysicalPrimMax = 10
; ##
; ## 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=*****;";
; If you want to use a different database/server for estate data, then
; uncomment and change this connect string. Defaults to the above if not set
; estate_connection_string="Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;";
; 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"
; This is the new XEngine (experimental)
;script_engine = "OpenSim.Region.ScriptEngine.XEngine.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
; desired velocity
; See http://en.wikipedia.org/wiki/PID_controller
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
; ##
; ## Physics logging settings - logfiles are saved to *.DIF files
; ##
;physics_logging = true
;; every n simulation iterations, the physics snapshot file is updated
;physics_logging_interval = 50
;; append to existing physics logfile, or overwrite existing logfiles?
;physics_logging_append_existing_logfile = true
[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]
;enabled = true ; you need to set this otherwise it won't connect
;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
AllowGodFunctions = 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
[XEngine]
; Use the newer LSL to CS compiler (experimental)
UseNewCompiler = false
; How many threads to keep alive even if nothing is happening
MinThreads = 2
; How many threads to start at maximum load
MaxThreads = 100
; Time a thread must be idle (in seconds) before it dies
IdleTimeout = 60
; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest")
Priority = "BelowNormal"
; Maximum number of events to queue for a script (excluding timers)
MaxScriptEventQueue = 300
; Stack size per thread created
ThreadStackSize = 262144
; Rate to poll for asynchronous command replies (ms)
AsyncLLCommandLoopms = 50
; Save the source of all compiled scripts
WriteScriptSourceToDebugFile = false
; Default language for scripts
DefaultCompileLanguage = lsl
; List of allowed languages (lsl,vb,js,cs)
AllowedCompilers = lsl
; Compile debug info (line numbers) into the script assemblies
CompileWithDebugInformation = true
; Allow the use of os* functions (some are dangerous)
AllowOSFunctions = false
; Interval (s) between background save of script states
SaveInterval = 120
; Interval (s) between maintenance runs (0 = disable)
MaintenanceInterval = 10
; Time a script can spend in an event handler before it is interrupted
EventLimit = 30
; If a script overruns it's event limit, kill the script?
KillTimedOutScripts = false
; Allow OS console command functionality (VERY DANGEROUS!!)
AllowosConsoleCommand = false