diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 51e737eb1c..ef72dc4dce 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -293,6 +293,49 @@ InterregionComms = "RESTComms" 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 @@ -311,13 +354,472 @@ InterregionComms = "RESTComms" ; ; 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; + 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 +[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 + + +[ScriptEngine.DotNetEngine] + Enabled = true + + ScriptDelayFactor = 1.0 + ScriptDistanceLimitFactor = 1.0 + + ; + ; 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. @@ -346,6 +848,203 @@ InterregionComms = "RESTComms" ;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 + + ; 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 @@ -354,3 +1053,62 @@ InterregionComms = "RESTComms" ;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}" + + +[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 + + +[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: "{0|1},n,[oar error]" + ; - the first number indicating whether the OAR file loaded ok (1 == ok, 0 == error) + ; - the second number indicates how many scrips 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 diff --git a/bin/OpenSim.ini.example.preview b/bin/OpenSim.ini.example.preview new file mode 100644 index 0000000000..51e737eb1c --- /dev/null +++ b/bin/OpenSim.ini.example.preview @@ -0,0 +1,356 @@ +[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" + + ; 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 + + +[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; + + + + + + + +[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" + + +[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"