[Startup] ; Set this to true if you want to log crashes to disk ; this can be useful when submitting bug reports. save_crashes = false ; Directory to save crashes to if above is enabled ; (eg default is /opensimdir/crashes/*.txt or C:\opensim\crashes\*.txt) crash_dir = "crashes" ; Place to create a PID file ; PIDFile = "/tmp/my.pid" ; Http proxy support for llHTTPRequest and dynamic texture loading ; Set HttpProxy to the URL for your proxy server if you would like ; to proxy llHTTPRequests through a firewall ; HttpProxy = "http://proxy.com" ; Set HttpProxyExceptions to a list of regular expressions for ; URLs that you don't want going through the proxy such as servers ; inside your firewall, separate patterns with a ';' ; HttpProxyExceptions = ".mydomain.com;localhost" ; 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 startup_console_commands_file = "startup_commands.txt" shutdown_console_commands_file = "shutdown_commands.txt" ; To run a script every few minutes, set the script filename here ; timer_Script = "filename" ; ## ; ## CLIENTS ; ## ; Enables EventQueueGet Service. EventQueue = true ; Set this to the DLL containig the client stack to use. clientstack_plugin="OpenSim.Region.ClientStack.LindenUDP.dll" ; ## ; ## 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 tag), ; except that everything is also enclosed in a 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 ; Use terrain texture for maptiles if true, use shaded green if false TextureOnMapTile = false ; Maximum total size, and maximum size where a prim can be physical NonPhysicalPrimMax = 256 PhysicalPrimMax = 10 ClampPrimSize = false ; Region crossing AllowScriptCrossing = false ; If you set this to "true", any region that can teleport to you can ; inject ARBITRARY BINARY CODE into your system. Use at your own risk. ; YOU HAVE BEEN WARNED!!! TrustBinaries = false ; ## ; ## 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 can be default, local or grid. This controls where assets (textures, scripts, etc.) are stored for your region ; ; If set to default, then ; In standalone mode the local database based asset service will be used ; In grid mode the grid asset service will be used for asset storage ; This is probably the setting that you want. ; ; If set to local then the local database based asset service will be used in standalone and grid modes ; If set to grid then the grid based asset service will be used in standalone and grid modes ; All other values will cause a search for a matching assembly that contains an asset server client. ; See also: AssetCache asset_database = "default" ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to ; prevent frequently changing objects from heavily loading the region data store. ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep. ; ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds MinimumTimeBeforePersistenceConsidered = 60 ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago MaximumTimeBeforePersistenceConsidered = 600 ; Should avatars in neighbor sims see objects in this sim? see_into_this_sim_from_neighbor = True ; ## ; ## PHYSICS ; ## ; 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 ; 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 ; ## ; ## PERMISSIONS ; ## ;permissionmodules = "DefaultPermissionsModule" ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy ; any item, etc. This may not yet be implemented uniformally. ; If set to true, then all permissions checks are carried out ; Default is false serverside_object_permissions = false allow_grid_gods = false ; This allows somne control over permissions ; please note that this still doesn't duplicate SL, and is not intended to ;region_owner_is_god = true ;parcel_owner_is_god = true ; Control user types that are allowed to create new scripts ; Only enforced if serviceside_object_permissions is true ; ; Current possible values are ; all - anyone can create scripts (subject to normal permissions) ; gods - only administrators can create scripts (as long as allow_grid_gods is true) ; Default value is all ; allowed_script_creators = all ; Control user types that are allowed to edit (save) scripts ; Only enforced if serviceside_object_permissions is true ; ; Current possible values are ; all - anyone can edit scripts (subject to normal permissions) ; gods - only administrators can edit scripts (as long as allow_grid_gods is true) ; Default value is all ; allowed_script_editors = all ; ## ; ## SCRIPT ENGINE ; ## ;DefaultScriptEngine = "ScriptEngine.DotNetEngine" DefaultScriptEngine = "XEngine" ; ## ; ## WORLD MAP ; ## ;WorldMapModule = "WorldMap" ;MapImageModule = "MapImageModule" ; ## ; ## Customized Cache Implementation ; ## ; ; The AssetCache value allows the name of an alternative caching ; implementation to be specified. This can normally be omitted. ; This value corresponds to the provider value associated with the ; intended cache implementation plugin. ; See also: asset_database ; AssetCache = "OpenSim.Framework.Communications.Cache.AssetCache" ; ## ; ## EMAIL MODULE ; ## ;emailmodule = DefaultEmailModule [SMTP] enabled=false ;enabled=true ;internal_object_host=lsl.opensim.local ;host_domain_header_from=127.0.0.1 ;SMTP_SERVER_HOSTNAME=127.0.0.1 ;SMTP_SERVER_PORT=25 ;SMTP_SERVER_LOGIN=foo ;SMTP_SERVER_PASSWORD=bar [Communications] ;InterregionComms = "LocalComms" InterregionComms = "RESTComms" [StandAlone] accounts_authenticate = true welcome_message = "Welcome to OpenSimulator" ; 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, mysql, and nhibernate for now ; Asset source SQLite example 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" ; Asset Source MySQL example ;asset_source = "Data Source=localhost;Database=opensim;User ID=opensim;Password=****;" ; 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 SQLite example inventory_source = "URI=file:inventoryStore.db,version=3" ; Inventory Source NHibernate example (DIALECT;DRIVER;CONNECTSTRING) ; inventory_source = "SQLiteDialect;SqliteClientDriver;URI=file:Inventory.db,version=3" ; Inventory Source MySQL example ;inventory_source = "Data Source=localhost;Database=opensim;User ID=opensim;Password=****;" ; User Data Database provider ; ; Multiple providers can be specified by separating them with commas (whitespace is unimportant) ; If multiple providers are specified then if a profile is requested, each is queried until one ; provides a valid profile, or until all providers have been queried. ; Unfortunately the order of querying is currently undefined (it may not be the order in which ; providers are specified here). This needs to be fixed ; userDatabase_plugin = "OpenSim.Data.SQLite.dll" ; userDatabase_plugin = "OpenSim.Data.MySQL.dll" ; userDatabase_plugin = "OpenSim.Data.NHibernate.dll" ; for nhibernate ; User source SQLite example user_source = "URI=file:userprofiles.db,version=3" ; User Source NHibernate Example (DIALECT;DRIVER;CONNECTSTRING) ; user_source = "SQLiteDialect;SqliteClientDriver;URI=file:User.db,version=3" ; User Source MySQL example ;user_source = "Data Source=localhost;Database=opensim;User ID=opensim;Password=****;" ; Specifies the location and filename of the default inventory library control file. The path can be relative or absolute ; Default is ./inventory/Libraries.xml LibrariesXMLFile="./inventory/Libraries.xml" ; Specifies the location and filename of the inventory library assets control file. The path can be relative or absolute ; Setting is optional. Default is ./assets/AssetSets.xml AssetSetsXMLFile="./assets/AssetSets.xml" dump_assets_to_file = false [Network] http_listener_port = 9000 default_location_x = 1000 default_location_y = 1000 ; ssl config: Experimental! The auto https config only really works definately on windows XP now ; you need a Cert Request/Signed pair installed in the MY store with the CN specified below ; you can use https on other platforms, but you'll need to configure the httpapi yourself for now http_listener_ssl = false ; Also create a SSL server http_listener_cn = "localhost" ; Use the cert with the common name http_listener_sslport = 9001 ; Use this port for SSL connections http_listener_ssl_cert = "" ; Currently unused, but will be used for OSHttpServer ; 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" ; The MessagingServer is a companion of the UserServer. It uses ; user_send_key and user_recv_key, too messaging_server_url = "http://127.0.0.1:8006" ; What is reported as the "X-Secondlife-Shard" ; Defaults to the user server url if not set ; The old default is "OpenSim", set here fro compatibility shard = "OpenSim" ; What is reported as the "User-Agent" when using llHTTPRequest ; Defaults to not sent if not set here. See the notes section in the wiki at ; http://wiki.secondlife.com/wiki/LlHTTPRequest for comments on adding ; " (Mozilla Compatible)" to the text where there are problems with a web server ;user_agent = "OpenSim LSL (Mozilla Compatible)" [ClientStack.LindenUDP] ; This is the multiplier applied to all client throttles for outgoing UDP network data ; If it is set to 1, then we obey the throttle settings as given to us by the client. If it is set to 3, for example, then we ; multiply that setting by 3 (e.g. if the client gives us a setting of 250 kilobits per second then we ; will actually push down data at a maximum rate of 750 kilobits per second). ; ; In principle, setting a multiplier greater than 1 will allow data to be pushed down to a client much faster ; than its UI allows the setting to go. This may be okay in some situations, such as standalone OpenSim ; applications on a LAN. However, the greater the multipler, the higher the risk of packet drop, resulting ; in symptoms such as missing terrain or objects. A much better solution is to change the client UI to allow ; higher network bandwidth settings directly, though this isn't always possible. ; ; Currently this setting is 2 by default because we currently send much more texture data than is strictly ; necessary. A setting of 1 could result in slow texture transfer. This will be fixed when the transfer ; of textures at different levels of quality is improved. ; ; Pre r7113, this setting was not exposed but was effectively 8. You may want to try this if you encounter ; unexpected difficulties client_throttle_multiplier = 2; [Chat] ; Controls whether the chat module is enabled. Default is true. enabled = true; ; Distance in meters that whispers should travel. Default is 10m whisper_distance = 10 ; Distance in meters that ordinary chat should travel. Default is 30m say_distance = 30 ; Distance in meters that shouts should travel. Default is 100m shout_distance = 100 [Messaging] ; Control which region module is used for instant messaging. ; Default is InstantMessageModule (this is the name of the core IM module as well as the setting) InstantMessageModule = InstantMessageModule ; MessageTransferModule = MessageTransferModule ; OfflineMessageModule = OfflineMessageModule ; OfflineMessagesURL = http://yourserver/offlines.php ; MuteListModule = MuteListModule ; MuteListsURL = http://yourserver/mutes.php [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 ; Filtering Collisions helps keep things stable physics wise, but sometimes ; it can be over zealous. If you notice bouncing, chances are it's being just ; that filter_collisions = false ; 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 = 2200.0 av_pid_proportional_linux = 900.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 = 550000 ; 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 ; When the avatar flies, it will be moved up by this amount off the ground (in meters) minimum_ground_flight_offset = 3.0 ; ## ; ## 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_failures_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 = 5 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 ; ## ; default is false ;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 ; ## ; ## Joint support ; ## ; if you would like physics joints to be enabled through a special naming convention in the client, set this to true. ; (see NINJA Physics documentation, http://opensimulator.org/wiki/NINJA_Physics) ; default is false ;use_NINJA_physics_joints = true [RemoteAdmin] enabled = false access_password = unknown ; the create_region XmlRpc call uses region_file_template to generate ; the file name of newly create regions (if they are created ; persistent). the parameter available are: ; {0} - X location ; {1} - Y location ; {2} - region UUID ; {3} - region port ; {4} - region name with " ", ":", "/" mapped to "_" region_file_template = "{0}x{1}-{2}.xml" ; we can limit the number of regions that XmlRpcCreateRegion will ; allow by setting this to a positive, non-0 number: as long as the ; number of regions is below region_limits, XmlRpcCreateRegion will ; succeed. setting region_limit to 0 disables the check. ; default is 0 ;region_limit = 0 ; enable only those methods you deem to be appropriate using a | delimited whitelist ; for example, enabled_methods = admin_broadcast|admin_region_query|admin_save_oar|admin_save_xml ; if this parameter is not specified but enabled = true, all methods will be available enabled_methods = all [RestPlugins] ; Change this to true to enable REST Plugins. This must be true if you wish to use ; REST Region or REST Asset and Inventory Plugins enabled = false god_key = SECRET prefix = /admin [RestRegionPlugin] ; Change this to true to enable the REST Region Plugin enabled = false [RestHandler] ; Change this to true to enable the REST Asset and Inventory Plugin enabled = false authenticate = true secured = true extended-escape = true realm = OpenSim REST dump-asset = false path-fill = true dump-line-size = 32 flush-on-error = true ; 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 ;; user password - only use this if the server requires one ;password = mypass ;nick = OpenSimBotNameProbablyMakeThisShorter ;channel = #the_irc_channel_you_want_to_connect_to ;port = 6667 ;; channel to listen for configuration commands ;commands_enabled = false ;command_channel = 2777 ;report_clients = true ;; relay private chat connections ;; relay_private_channels = true: will relay IRC chat from/to private in-world channels ;; relay_private_channel_out -- channel to send messages out to the IRC bridge ;; relay_private_channel_in -- channel to receive message from the IRC bridge ;; relay_chat = false: IRC bridge will not relay normal chat ;; access_password -- simple security device ;; ;; so, to just relay chat from an IRC channel to in-world region and vice versa: ;; ;; relay_private_channels = false ;; relay_chat = true ;; ;; to relay chat only to/from private in-world channels: ;; ;; relay_chat = false ;; relay_private_channels = true ;; relay_private_channel_in = 2226 ;; relay_private_channel_out = 2225 ;; ;; in this example, all chat coming in from IRC will be send out via ;; in-world channel 2226, and all chat from in-world channel 2225 will ;; be relayed to the IRC channel. ;; ;relay_private_channels = false ;relay_private_channel_in = 2226 ;relay_private_channel_out = 2225 ;relay_chat = true ;access_password = foobar ;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 : : ;msgformat = "PRIVMSG {0} :<{1} in {2}>: {3}" ;for : - : msgformat = "PRIVMSG {0} : {3} - {1} of {2}" ;for : - from : ;msgformat = "PRIVMSG {0} : {3} - from {1}" ;[CMS] ;enabled = true ;channel = 345 [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 = 4 ; Year length in days ;year_length = 60 ; Day to Night Ratio ;day_night_offset = 0.45 ; send a Sun update every update_interval # of frames. A lower number will ; make for smoother sun transition at the cost of network ;update_interval = 100 [Wind] ; Enables the wind module. Default is true enabled = true ; Adjusts wind strength. 0.0 = no wind, 1.0 = normal wind. Default is 1.0 strength = 1.0 [Trees] ; Enable this to allow the tree module to manage your sim trees, including growing, reproducing and dying ; default is false active_trees = false ; Density of tree population tree_density = 1000.0 [ScriptEngine.DotNetEngine] Enabled = true ScriptDelayFactor = 1.0 ScriptDistanceLimitFactor = 1.0 ; Maximum length of notecard line read ; Increasing this to large values potentially opens ; up the system to malicious scripters ; NotecardLineReadCharsMax = 255 ; ; 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 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 ; Allow the use of os* functions (some are dangerous) ; Default is false AllowOSFunctions = false ; Threat level to allow if os functions are enabled ; One of None, VeryLow, Low, Moderate, High, VeryHigh, Severe ; Default is VeryLow OSFunctionThreatLevel = VeryLow ; 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 ; currently unused ; 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=false ; 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. *warning*, non lsl languages have access to static methods such as System.IO.File. Enable at your own risk. AllowedCompilers=lsl ; 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 ; currently unused ;CleanUpOldScriptsOnStartup=true [LL-Functions] ; Set the following to true to allow administrator owned scripts to execute console commands ; currently unused ; 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 ; default is false index_sims = false ; The variable data_exposure controls what the regions expose: ; minimum: exposes only things explicitly marked for search ; all: exposes everything data_exposure = minimum ; 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. Uncomment if you want to index your data with this and/or other search providers. ;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] ; Enable this engine in this OpenSim instance Enabled = true ; 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) ; currently unused ;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,cs,js,vb. ; *warning*, non lsl languages have access to static methods such as System.IO.File. Enable at your own risk. AllowedCompilers=lsl ; Compile debug info (line numbers) into the script assemblies CompileWithDebugInformation = true ; Allow the use of os* functions (some are dangerous) AllowOSFunctions = false ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe OSFunctionThreatLevel = VeryLow ; 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 ; Sets the multiplier for the scripting delays ScriptDelayFactor = 1.0 ; The factor the 10 m distances llimits are multiplied by ScriptDistanceLimitFactor = 1.0 ; Maximum length of notecard line read ; Increasing this to large values potentially opens ; up the system to malicious scripters ; NotecardLineReadCharsMax = 255 ; OS Functions enable/disable ; For each function, you can add one line, as shown ; The default for all functions allows them if below threat level ; true allows the use of the function unconditionally ; Allow_osSetRegionWaterHeight = true ; false disables the function completely ; Allow_osSetRegionWaterHeight = false ; Comma separated list of UUIDS allows the function for that list of UUIDS ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb ; Allow for llCreateLink and llBreakLink to work without asking for permission ; only enable this in a trusted environment otherwise you may be subject to hijacking ; AutomaticLinkPermission = false [GridInfo] ; These settings are used to return information on a get_grid_info call. ; Client launcher scripts and third-party clients make use of this to ; autoconfigure the client and to provide a nice user experience. If you ; want to facilitate that, you should configure the settings here according ; to your grid or standalone setup. ; ; See http://opensimulator.org/wiki/GridInfo ; login uri: for grid this is the user server URI login = http://127.0.0.1:9000/ ; long grid name: the long name of your grid gridname = "the lost continent of hippo" ; short grid name: the short name of your grid gridnick = "hippogrid" ; login page: optional: if it exists it will be used to tell the client to use ; this as splash page ; currently unused ;welcome = http://127.0.0.1/welcome ; helper uri: optional: if it exists if will be used to tell the client to use ; this for all economy related things ; currently unused ;economy = http://127.0.0.1:9000/ ; web page of grid: optional: page providing further information about your grid ; currently unused ;about = http://127.0.0.1/about/ ; account creation: optional: page providing further information about obtaining ; a user account on your grid ; currently unused ;register = http://127.0.0.1/register ; help: optional: page providing further assistance for users of your grid ; currently unused ;help = http://127.0.0.1/help ; password help: optional: page providing password assistance for users of your grid ; currently unused ;password = http://127.0.0.1/password [OpenGridProtocol] ;These are the settings for the Open Grid Protocol.. the Agent Domain, Region Domain, you know.. ;On/true or Off/false ogp_enabled=false ;Name Prefix/suffix when using OGP ogp_firstname_prefix="" ogp_lastname_suffix="_EXTERNAL" [Concierge] ; Enable concierge module ; Default is false enabled = false ; name of the concierge whoami = "jeeves" ; password for updating the welcome message templates via XmlRpc password = SECRET ; regex specifying for which regions concierge service is desired; if ; empty, then for all regions = "^MeetingSpace-" ; for each region that matches the regions regexp you can provide ; (optionally) a welcome template using format substitution: ; {0} is replaced with the name of the avatar entering the region ; {1} is replaced with the name of the region ; {2} is replaced with the name of the concierge (whoami variable above) welcomes = /path/to/welcome/template/directory ; Concierge can send attendee lists to an event broker whenever an ; avatar enters or leaves a concierged region. the URL is subject ; to format substitution: ; {0} is replaced with the region's name ; {1} is replaced with the region's UUID broker = "http://broker.place.com/{1}" [RegionReady] ; Enable this module to get notified once all items and scripts in the region have been completely loaded and compiled ; default is false enabled = false ; Channel on which to signal region readiness through a message ; formatted as follows: "{server_startup|oar_file_load},{0|1},n,[oar error]" ; - the first field indicating whether this is an initial server startup ; - the second field is a number indicating whether the OAR file loaded ok (1 == ok, 0 == error) ; - the third field is a number indicating how many scripts failed to compile ; - "oar error" if supplied, provides the error message from the OAR load channel_notify = -800 [MRM] ; Enables the Mini Region Modules Script Engine. WARNING: SECURITY RISK. ; default is false Enabled = false