Open Source Platform
for interconnected virtual worlds

Example OpenSim ini

From Rex community wiki

   [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
       ; (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 regions to a grid
       ; Set this to false if you are running in standalone mode
       gridmode = true
       ; Set this to true if you want Hypergrid functionality
       hypergrid = 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"
       
       ; ##
       ; ## SYSTEM
       ; ##
       
       ; Sets the method that OpenSim will use to fire asynchronous
       ; events. Valid values are UnsafeQueueUserWorkItem,
       ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread.
       ; SmartThreadPool is reported to work well on Mono/Linux, but 
       ; UnsafeQueueUserWorkItem has been benchmarked with better
       ; performance on .NET/Windows
       async_call_method = SmartThreadPool
       
       ; There are several operations on large collections (such as
       ; the current avatar list) that can be run synchronously or
       ; in parallel. Running in parallel should increase performance
       ; on a multi-core system, but will make debugging more
       ; difficult if something deadlocks or times out
       use_async_when_possible = false
       
       ; Max threads to allocate on the FireAndForget thread pool
       ; when running with the SmartThreadPool option above
       MaxPoolThreads = 15
       ; ##
       ; ## CLIENTS
       ; ##
       ; Enables EventQueueGet Service.
       EventQueue = true
       ; Set this to the DLL containing the client stack to use.
       ; clientstack_plugin="OpenSim.Region.ClientStack.LindenUDP.dll"
       clientstack_plugin="ModularRex.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 <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 large number 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
       ; How many prims to send to each avatar in the scene on each Update()
       ; MaxPrimsPerFrame = 200
       
       ; Combine all contiguous regions into one large region
       ; Order your regions from South to North, West to East in your regions.ini and then set this to true
       ; Warning!  Don't use this with regions that have existing content!, This will likely break them
        CombineContiguousRegions=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.
       ; 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.
       ;
       ; Meshmerizer properly handles complex prims by using triangle meshes.
       ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way
       ;
       ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports
       ; Usually this is only a box
       meshing = Meshmerizer
       ;meshing = ZeroMesher
       ; Choose one of the physics engines below
       ; OpenDynamicsEngine is by some distance the most developed physics engine
       ; basicphysics effectively does not model physics at all, making all objects phantom
       physics = basicphysics
       ;physics = OpenDynamicsEngine
       ;physics = BulletDotNETPlugin
       ;physics = POS
       ;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 = "XEngine"
       ; ##
       ; ## WORLD MAP
       ; ##
       ;WorldMapModule = "WorldMap"
       ;MapImageModule = "MapImageModule"
       ; ##
       ; ## EMAIL MODULE
       ; ##
       ;emailmodule = DefaultEmailModule
       ; ##
       ; ## ANIMATIONS
       ; ##
       ; If enabled, enableFlySlow will change the primary fly state to
       ; FLYSLOW, and the "always run" state will be the regular fly.
       enableflyslow = false
       ; PreJump is an additional animation state, but it probably
       ; won't look right until the physics engine supports it
       ; (i.e delays takeoff for a moment)
       ; This is commented so it will come on automatically once it's
       ; supported.
       ; enableprejump = true
       ; Simulator Stats URI
       ; Enable JSON simulator data by setting a URI name (case sensitive)
       ; Stats_URI = "jsonSimStats"


   [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"
       ; Inventory database provider
       inventory_plugin = "OpenSim.Data.SQLite.dll"
       ; inventory_plugin = "OpenSim.Data.MySQL.dll"
       ; Inventory source SQLite example
       inventory_source = "URI=file:inventoryStore.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"
       ; User source SQLite example
       user_source = "URI=file:userprofiles.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"
   [Network]
       ConsoleUser = "Test"
       ConsolePass = "secret"
       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
       ; Hostname to use in llRequestURL/llRequestSecureURL
       ; if not defined - default machine name is being used 
       ; (on Windows this mean NETBIOS name - useably only inside local network)
       ; ExternalHostNameForLSL=127.0.0.1
       ; Uncomment below to enable llRemoteData/remote channels
       ; remoteDataPort = 20800
       grid_server_url = "http://127.0.0.1:8003"
       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:8003"
       
       messaging_server_url = "http://127.0.0.1:8006/"
       ; 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]
       ; Set this to true to process incoming packets asynchronously. Networking is
       ; already separated from packet handling with a queue, so this will only
       ; affect whether networking internals such as packet decoding and 
       ; acknowledgement accounting are done synchronously or asynchronously
       ;
       ;async_packet_handling = false
       
       ; The client socket receive buffer size determines how many
       ; incoming requests we can process; the default on .NET is 8192
       ; which is about 2 4k-sized UDP datagrams. On mono this is
       ; whatever the underlying operating system has as default; for
       ; example, ubuntu 8.04 or SLES11 have about 111k, which is about
       ; 27 4k-sized UDP datagrams (on linux platforms you can [as root]
       ; do "sysctl net.core.rmem_default" to find out what your system
       ; uses a default socket receive buffer size.
       ;
       ; client_socket_rcvbuf_size allows you to specify the receive
       ; buffer size LLUDPServer should use. NOTE: this will be limited
       ; by the system's settings for the maximum client receive buffer
       ; size (on linux systems you can set that with "sysctl -w
       ; net.core.rmem_max=X")
       ;
       ;client_socket_rcvbuf_size = 8388608
       
       ; Maximum outbound bytes per second for a single scene. This can be used to
       ; throttle total outbound UDP traffic for a simulator. The default value is
       ; 0, meaning no throttling at the scene level. The example given here is
       ; 20 megabits
       ;
       ;scene_throttle_max_bps = 2621440
       ; Maximum bits per second to send to any single client. This will override 
       ; the user's viewer preference settings. The default value is 0, meaning no
       ; aggregate throttling on clients (only per-category throttling). The
       ; example given here is 1.5 megabits
       ;
       ;client_throttle_max_bps = 196608
       
       ; Per-client bytes per second rates for the various throttle categories.
       ; These are default values that will be overriden by clients
       ;
       ;resend_default = 12500
       ;land_default = 1000
       ;wind_default = 1000
       ;cloud_default = 1000
       ;task_default = 1000
       ;texture_default = 1000
       ;asset_default = 1000
       ;state_default = 1000
       
       ; Per-client maximum burst rates in bytes per second for the various
       ; throttle categories. These are default values that will be overriden by
       ; clients
       ;
       ;resend_limit = 18750
       ;land_limit = 29750
       ;wind_limit = 18750
       ;cloud_limit = 18750
       ;task_limit = 18750
       ;texture_limit = 55750
       ;asset_limit = 27500
       ;state_limit = 37000
       
       ; Configures how ObjectUpdates are aggregated. These numbers
       ; do not literally mean how many updates will be put in each
       ; packet that goes over the wire, as packets are 
       ; automatically split on a 1400 byte boundary. These control
       ; the balance between responsiveness of interest list updates
       ; and total throughput. Higher numbers will ensure more full-
       ; sized packets and faster sending of data, but more delay in
       ; updating interest lists
       ;
       ;PrimTerseUpdatesPerPacket = 25
       ;AvatarTerseUpdatesPerPacket = 10
       ;PrimFullUpdatesPerPacket = 100
       ; TextureSendLimit determines how many packets will be put on
       ; the outgoing queue each cycle. Like the settings above, this
       ; is a balance between responsiveness to priority updates and
       ; total throughput. Higher numbers will give a better
       ; throughput at the cost of reduced responsiveness to client
       ; priority changes or transfer aborts
       ;
       ;TextureSendLimit = 20
   [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
       ; OfflineMessageURL = http://yourserver/Offline.php
       ; MuteListModule = MuteListModule
       ; MuteListURL = http://yourserver/Mute.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 overzealous.  If you notice bouncing, chances are it's 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
       ; specifies if the capsule should be tilted (=true; old compatibility mode)
       ; or straight up-and-down (=false; better and more consistent physics behavior)
       av_capsule_tilted = false
       ; 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
       
       ; maximum number of contact points to generate per collision
       contacts_per_collision = 80
       ; 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
       ; ##
       ; ## additional meshing options
       ; ##
       ; physical collision mesh proxies are normally created for complex prim shapes, and collisions for simple boxes and
       ; spheres are computed algorithmically. If you would rather have mesh proxies for simple prims, you can set this to
       ; true. Note that this will increase memory usage and region startup time. Default is false.
       ;force_simple_prim_meshing = true


   [RemoteAdmin]
       enabled = false
       access_password = unknown
       ; set this variable to true if you want the create_region XmlRpc
       ; call to unconditionally enable voice on all parcels for a newly
       ; created region [default: false]
       create_region_enable_voice = false
       ; set this variable to false if you want the create_region XmlRpc
       ; call to create all regions as private per default (can be
       ; overridden in the XmlRpc call) [default: true]
       create_region_public = false


       ; 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
       ;user    = "USER OpenSimBot 8 * :I'm an OpenSim to IRC bot"
       ;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 <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}"
       ;; exclude_list allows you to stop the IRC connector from announcing the
       ;;arrival and departure of certain users. For example: admins, bots.
       ;exclude_list=User 1,User 2,User 3
       
   ;[CMS]
       ;enabled = true
       ;channel = 345


   ; 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
       ; How often should wind be updated, as a function of world frames.  Approximately 50 frames a second
       wind_update_rate = 150
       ; The Default Wind Plugin to load
       wind_plugin = SimpleRandomWind
       ; These settings are specific to the ConfigurableWind plugin
       ; To use ConfigurableWind as the default, simply change wind_plugin to ConfigurableWind and uncomment the following.
       ; avg_strength  = 5.0
       ; avg_direction = 0.0
       ; var_strength  = 0.0
       ; var_direction = 0.0
       ; rate_change   = 1.0
       ; This setting is specific to the SimpleRandomWind plugin
       ; Adjusts wind strength. 0.0 = no wind, 1.0 = normal wind.  Default is 1.0
       strength = 1.0


   [Cloud]
       ; Enable this to generate classic particle clouds above the sim.
       ; default is disabled - turn it on here
       enabled = false
       ; Density of cloud cover 0.0 to 1.0 Defult 0.5
       density = 0.5
       ; update interval for the cloud cover data returned by llCloud().
       ; default is 1000
       cloud_update_rate = 1000


   [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


   [VectorRender]
       ; the font to use for rendering text (default: Arial)
       ; font_name = "Arial"


   [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 -
       ; Enables selling things for $0
       SellEnabled = "false"
       ; 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
       ; 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
       
       ; Set this to true (the default) to load each script into a separate
       ; AppDomain. Setting this to false will load all script assemblies into the
       ; current AppDomain, which will reduce the per-script overhead at the
       ; expense of reduced security and the inability to garbage collect the
       ; script assemblies
       AppDomainLoading = true
       ; 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
       ; Sensor settings
       SensorMaxRange = 96.0
       SensorMaxResults = 16
       ; 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
       ; Disable underground movement of prims (default true); set to
       ; false to allow script controlled underground positioning of
       ; prims
       ; DisableUndergroundMovement = true


   [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:8002/
       ; 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.
       ; default is false
       Enabled = false
       
       ; Runs MRM in a Security Sandbox
       ; WARNING: DISABLING IS A SECURITY RISK.
       Sandboxed = true
       
       ; The level sandbox to use, adjust at your OWN RISK.
       ; Valid values are: 
       ; *  FullTrust
       ; *  SkipVerification
       ; *  Execution
       ; *  Nothing
       ; *  LocalIntranet
       ; *  Internet
       ; *  Everything
       SandboxLevel = "Internet"
       ; Only allow Region Owners to run MRMs
       ; May represent a security risk if you disable this.
       OwnerOnly = true
   [Hypergrid]
       ; Keep it false for now. Making it true requires the use of a special client in order to access inventory
       safemode = false
   [VivoxVoice]
       ; The VivoxVoice module will allow you to provide voice on your
       ; region(s). It uses the same voice technology as the LL grid and
       ; works with recent LL clients (we have tested 1.22.9.110075, so
       ; anything later ought to be fine as well).
       ;
       ; For this to work you need to obtain an admin account from Vivox
       ; that allows you to create voice accounts and region channels.
       enabled = false
       ; vivox voice server
       vivox_server = www.foobar.vivox.com
       ; vivox SIP URI
       vivox_sip_uri = foobar.vivox.com
       ; vivox admin user name
       vivox_admin_user = DeepThroat
       ; vivox admin password
       vivox_admin_password = VoiceG4te
       ; channel type: "channel" or "positional"
       ; - positional: spatial sound (default)
       ; - channel: normal "conference call", no spatial sound
       ;vivox_channel_type = positional
       ; channel characteristics (unless you know what you are doing, i'd
       ; leave them as they are --- now you WILL muck around with them,
       ; huh? sigh)
       ; channel distance model:
       ; 0 - no attenuation
       ; 1 - inverse distance attenuation
       ; 2 - linear attenuation (default)
       ; 3 - exponential attenuation
       ;vivox_channel_distance_model = 2
       ; channel mode:
       ; - "open" (default)
       ; - "lecture"
       ; - "presentation"
       ; - "auditorium"
       ;vivox_channel_mode = "open"
       ; channel roll off: rate of attenuation
       ; - a value between 1.0 and 4.0, default is 2.0
       ;vivox_channel_roll_off = 2.0
       ; channel max range: distance at which channel is silent
       ; - a value between 0 and 160, default is 80
       ;vivox_channel_max_range = 80
       ; channel clamping distance: distance before attenuation applies
       ; - a value between 0 and 160, default is 10
       ;vivox_channel_clamping_distance = 10
   [FreeSwitchVoice]
       ; In order for this to work you need a functioning freeswitch pbx set
       ; up.  Configuration for that will be posted in the wiki soon.
       enabled = false
       ;FreeSwitch server is going to contact us and ask us all
       ;sorts of things.
       freeswitch_server_user = freeswitch
       freeswitch_server_pass = password
       freeswitch_api_prefix = /api
       ; this is the IP of your sim
       freeswitch_service_server = ip.address.of.your.sim
       ;freeswitch_service_port = 80
       ; this should be the same port the region listens on
       freeswitch_service_port = 9000
       freeswitch_realm = ip.address.of.freeswitch.server
       freeswitch_sip_proxy = ip.address.of.freeswitch.server:5060
       freeswitch_attempt_stun = false
       freeswitch_stun_server = ip.address.of.freeswitch.server
       freeswitch_echo_server = ip.address.of.freeswitch.server
       freeswitch_echo_port = 50505
       freeswitch_well_known_ip = ip.address.of.freeswitch.server
       ;Type the address of your http server here, hostname is allowed.  This is provided so you can specify a hostname
       ;This is used by client for account verification.  By default, it's the same as the freeswitch service server.
       ;opensim_well_known_http_address = Address_Of_your_SIM_HTTP_Server_Hostname_Allowed
       freeswitch_default_timeout = 5000
       freeswitch_subscribe_retry = 120
       ; freeswitch_password_reset_url =


   [Groups]
       Enabled = false
       ; This is the current groups stub in Region.CoreModules.Avatar.Groups
       Module  = Default
       ; The PHP code for the server is available from the Flotsam project for you to deploy
       ; to your own server.  The Flotsam project is located at http://code.google.com/p/flotsam/
       ;
       ;Module  = GroupsModule
       ; Enable Group Notices
       ;NoticesEnabled   = true
       ; This makes the Groups modules very chatty on the console.
       DebugEnabled     = false
       ; Specify which messaging module to use for groups messaging and if it's enabled
       ;MessagingModule = GroupsMessagingModule
       ;MessagingEnabled = true
       ; Service connector to Groups Service [Select One]
       ; XmlRpc Service Connector to the Flotsam XmlRpc Groups Service Implementation
       ;ServicesConnectorModule = XmlRpcGroupsServicesConnector
       ;XmlRpcServiceURL        = http://yourxmlrpcserver.com/xmlrpc.php
       ;XmlRpcServiceReadKey    = 1234
       ;XmlRpcServiceWriteKey   = 1234
       ; Disables HTTP Keep-Alive for XmlRpcGroupsServicesConnector HTTP Requests,
       ; this is a work around fora problem discovered on some Windows based region servers.
       ; Only disable keep alive if you see a large number (dozens) of the following Exceptions:
       ; System.Net.WebException: The request was aborted: The request was canceled.
       ;
       ; XmlRpcDisableKeepAlive = false


   [PacketPool]
       ; Enables the experimental packet pool. Yes, we've been here before.
       ;RecyclePackets = true;
       ;RecycleDataBlocks = true;


   [InterestManagement]
        ; This section controls how state updates are prioritized for each client
        ; Valid values are Time, Distance, SimpleAngularDistance, and FrontBack
        UpdatePrioritizationScheme = FrontBack
        ReprioritizationEnabled = true
        ReprioritizationInterval = 2000.0
        RootReprioritizationDistance = 10.0
        ChildReprioritizationDistance = 20.0
   ;;
   ;; These are defaults that are overwritten below in [Architecture].
   ;; These defaults allow OpenSim to work out of the box with
   ;; zero configuration
   ;;
   [DatabaseService]
       ;; default standalone, overridable in StandaloneCommon.ini
       StorageProvider = "OpenSim.Data.SQLite.dll"


   [AssetService]
   AssetServerURI = "http://127.0.0.1:8003"
       DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
       AssetLoaderArgs = "assets/AssetSets.xml"
       
       ; Disable this to prevent the default asset set from being inserted into the
       ; asset store each time the region starts
       AssetLoaderEnabled = true
   [InventoryService]
   InventoryServerURI = "http://127.0.0.1:8003"
       
   [GridService]
   LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
   GridServerURI = "http://127.0.0.1:8003"
       ;; default standalone, overridable in StandaloneCommon.ini
       StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"
   [AuthorizationService]
   AuthorizationServerURI = "http://127.0.0.1:8002"
       ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
       ;; The following is the configuration section for the new style services
       ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   [Architecture]
       ; Choose exactly one and only one of the architectures below.
       ;Include-Standalone    = "config-include/Standalone.ini"
       ;Include-HGStandalone = "config-include/StandaloneHypergrid.ini"
       ;Include-Grid         = "config-include/Grid.ini"
       ;Include-HGGrid       = "config-include/GridHypergrid.ini"
       ; Then choose
       ; config-include/StandaloneCommon.ini.example (if you're in standlone) OR
       ; config-include/GridCommon.ini.example (if you're connected to a grid)
       ; Copy to your own .ini there (without .example extension) and edit it
       ; to customize your data


       ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
       ;; The below pulls in optional module config files
       ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   [Modules]
   NeighbourServices = "RemoteNeighbourServicesConnector"
   NeighbourServiceInConnector = true
   LandServiceInConnector = true
   AssetServices = "ModCableBeach.dll:AssetServiceConnector"
   InventoryServices = "ModCableBeach.dll:InventoryServiceConnector"
   GridServices = "RemoteGridServicesConnector"
   LLProxyLoginModule = true
   Include-modules = "addon-modules/*/config/*.ini"
   [XMLRPC]
       ; ##
       ; ## Scripting XMLRPC mapper
       ; ##
       ; If enabled, this will post an event, "xmlrpc_uri(string)" to the
       ; script concurrently with the first remote_data event.
       ; This will contain the fully qualified URI an external site needs
       ; to use to send XMLRPC requests to that script
       ;XmlRpcRouterModule = "XmlRpcRouterModule"
       ;XmlRpcPort = 20800