From f11b527463735085ed3063a0fd1627c8f479107a Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Mon, 7 Nov 2016 17:14:53 +1000 Subject: Adjust basic .ini files. See below for details. Move more into defaults. Arrange them into the same sort order. Make some things more sane. Space cleanups. Misc cleanups. --- config/OpenSim.ini | 753 +++++-------------------------------- config/OpenSimDefaults.ini | 606 ++++++++++++++++------------- config/Regions/Regions.ini.example | 98 ----- config/Robust.ini | 395 +++++++++++++++---- 4 files changed, 762 insertions(+), 1090 deletions(-) delete mode 100644 config/Regions/Regions.ini.example (limited to 'config') diff --git a/config/OpenSim.ini b/config/OpenSim.ini index 02aca2c..be98354 100644 --- a/config/OpenSim.ini +++ b/config/OpenSim.ini @@ -1,15 +1,7 @@ ;; This is the main configuration file for OpenSimulator. -;; If it's named OpenSim.ini then it will be loaded by OpenSimulator. -;; If it's named OpenSim.ini.example then you will need to copy it to -;; OpenSim.ini first (if that file does not already exist) -;; -;; Once you have copied OpenSim.ini.example to OpenSim.ini you will at least -;; need to set the constants in the [Const] section and pick an architecture -;; in the [Architecture] section at the end of this file. The architecture -;; will require a suitable .ini file in the config-include directory, either -;; StandaloneCommon.ini or GridCommon.ini which you can copy and modify from the -;; available .example files. -;; + +;; See OpenSimDefaults.ini for the defaults, and more options. + ;; The settings in this file are in the form " = ". For example, ;; save_crashes = false in the [Startup] section below. ;; @@ -17,12 +9,12 @@ ;; found in OpenSimDefaults.ini. To change a setting, first uncomment it by ;; deleting the initial semicolon (;) and then change the value. This will ;; override the value in OpenSimDefaults.ini -;; +;; ;; If you want to find out what configuration OpenSimulator has finished with ;; once all the configuration files are loaded then type "config show" on the ;; region console command line. ;; -;; +;; ;; NOTES FOR DEVELOPERS REGARDING THE FORMAT OF THIS FILE ;; ;; All leading white space is ignored, but preserved. @@ -45,21 +37,9 @@ ;; out. -[Const] - ; For a grid these will usually be the externally accessible IP/DNS - ; name and use default public port 8002 and default private port 8003 - ; For a standalone this will usually be the externally accessible IP/DNS - ; name and use default public port 9000. The private port is not used - ; in the configuration for a standalone. - - ;# {BaseURL} {} {BaseURL} {"http://example.com" "http://127.0.0.1"} "http://127.0.0.1" - BaseURL = http://127.0.0.1 - - ;# {PublicPort} {} {PublicPort} {8002 9000} "8002" - PublicPort = "8002" - - ;# {PrivatePort} {} {PrivatePort} {8003} "8003" - PrivatePort = "8003" +[Includes] + ; Define your server specific constants in this file. + Include-Common = config.ini [Startup] @@ -84,110 +64,22 @@ ;; How many lines of command history should we keep? (default is 100) ; ConsoleHistoryFileLines = 100 - ;# {save_crashes} {} {Save crashes to disk?} {true false} false - ;; Set this to true if you want to log crashes to disk - ;; this can be useful when submitting bug reports. - ;; However, this will only log crashes within OpenSimulator that cause the - ;; entire program to exit - ;; It will not log crashes caused by virtual machine failures, which - ;; includes mono and ODE failures. - ;; You will need to capture these native stack traces by recording the - ;; session log itself. - ; save_crashes = false - - ;# {crash_dir} {save_crashes:true} {Directory to save crashes to?} {} crashes - ;; Directory to save crashes to if above is enabled - ;; (default is /opensimdir/crashes/*.txt or C:\opensim\crashes\*.txt) - ; crash_dir = "crashes" - - ;# {PIDFile} {} {Path to PID file?} {} - ;; Place to create a PID file - ; PIDFile = "/tmp/OpenSim.exe.pid" - - ;# {RegistryLocation} {} {Addins Registry Location} {} - ; Set path to directory for addin registry if you want addins outside of bin. - ; Information about the registered repositories and installed plugins will - ; be stored here. The OpenSim.exe process must have R/W access to the location. - ; RegistryLocation = "." - - ;# {ConfigDirectory} {} {Set path to directory for modular ini files} {} - ; Used by region module addins. You can set this to outside bin, so that addin - ; configurations will survive updates. The OpenSim.exe process must have R/W access - ; to the location. - ; ConfigDirectory = "." - - ;# {region_info_source} {} {Where to load region from?} {filesystem web} filesystem - ;; Determine where OpenSimulator looks for the files which tell it - ;; which regions to server - ;; Default is "filesystem" - ; region_info_source = "filesystem" - ; region_info_source = "web" - - ;# {regionload_regionsdir} {region_info_source} {Location of file?} {} Regions - ;; 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\" - - ;# {regionload_webserver_url} {region_info_source} {URL to load region from?} {} - ;; 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"; - - ;# {allow_regionless} {} {Allow simulator to start up with no regions configured.} {true false} false - ;; Allow the simulator to start up if there are no region configuration available - ;; from the selected region_info_source. - ; allow_regionless = false + ; Console commands run at startup + startup_console_commands_file = "startup_commands.txt" + + ; Console commands run on shutdown + shutdown_console_commands_file = "shutdown_commands.txt" + + ; Console commands run every 20 minutes + ; timer_Script = "filename" + + ; timer_Script time interval (default 20 min) + ; The time is 60 per minute + ; timer_Interval = 1200 ;# {MaxPrimUndos} {} {Maximum number of undos avialable for position, rotation and scale changes of each prim} {} 20 ;; Increasing the number of undos available number will increase memory usage. - MaxPrimUndos = 20 - - ;# {NonPhysicalPrimMin} {} {Minimum size of nonphysical prims?} {} 0.001 - ;; Minimum size for non-physical prims. Affects resizing of existing - ;; prims. This can be overridden in the region config file (as - ;; NonPhysicalPrimMin!). - ; NonPhysicalPrimMin = 0.001 - - ;# {NonPhysicalPrimMax} {} {Maximum size of nonphysical prims?} {} 256 - ;; Maximum size for non-physical prims. Affects resizing of existing - ;; prims. This can be overridden in the region config file (as - ;; NonPhysicalPrimMax!). - ; NonPhysicalPrimMax = 256 - - ;# {PhysicalPrimMin} {} {Minimum size of physical prims?} {} 0.01 - ;; Minimum size where a prim can be physical. Affects resizing of - ;; existing prims. This can be overridden in the region config file. - ; PhysicalPrimMin = 0.01 - - ;# {PhysicalPrimMax} {} {Maximum size of physical prims?} {} 64 - ;; Maximum size where a prim can be physical. Affects resizing of - ;; existing prims. This can be overridden in the region config file. - ; PhysicalPrimMax = 64 - - ;# {ClampPrimSize} {} {Clamp viewer rezzed prims to max sizes?} {true false} false - ;; If a viewer attempts to rez a prim larger than the non-physical or - ;; physical prim max, clamp the dimensions to the appropriate maximum - ;; This can be overridden in the region config file. - ; ClampPrimSize = false - - ;# {LinksetPrims} {} {Max prims an object will hold?} {} 0 - ;; Maximum number of prims allowable in a linkset. Affects creating new - ;; linksets. Ignored if less than or equal to zero. - ;; This can be overridden in the region config file. - ; LinksetPrims = 0 - - ;# {AllowScriptCrossing} {} {Allow scripts to cross into this region} {true false} true - ;; Allow scripts to keep running when they cross region boundaries, rather - ;; than being restarted. State is reloaded on the destination region. - ;; This only applies when crossing to a region running in a different - ;; simulator. - ;; For crossings where the regions are on the same simulator the script is - ;; always kept running. - ; AllowScriptCrossing = true + ; MaxPrimUndos = 20 ;# {TrustBinaries} {AllowScriptCrossing:true} {Accept compiled binary script code? (DANGEROUS!)} {true false} false ;; Allow compiled script binary code to cross region boundaries. @@ -196,24 +88,6 @@ ;; YOU HAVE BEEN WARNED!!! ; TrustBinaries = false - ;# {CombineContiguousRegions} {} {Create megaregions where possible? (Do not use with existing content or varregions!)} {true false} false - ;; Combine all contiguous regions into one large megaregion - ;; 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 - ;; Also, this setting should be set to false for varregions as they are proper larger single regions rather than combined smaller regions. - ; CombineContiguousRegions = false - - ;# {InworldRestartShutsDown} {} {Shutdown instance on region restart?} {true false} false - ;; If you have only one region in an instance, or to avoid the many bugs - ;; that you can trigger in modules by restarting a region, set this to - ;; true to make the entire instance exit instead of restarting the region. - ;; This is meant to be used on systems where some external system like - ;; Monit will restart any instance that exits, thereby making the shutdown - ;; into a restart. - ; InworldRestartShutsDown = false - ;; 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. @@ -284,6 +158,10 @@ ;; server to send mail through. ; emailmodule = DefaultEmailModule + ; Simulator statistics are output to the console periodically at debug level INFO. + ; Setting this to zero disables this output. + ; LogShowStatsSeconds = 0 + ;# {SpawnPointRouting} {} {Set routing method for Telehub Spawnpoints} {closest random sequence} closest ;; SpawnPointRouting adjusts the landing for incoming avatars. ;; "closest" will place the avatar at the SpawnPoint located in the closest @@ -299,29 +177,6 @@ ; TelehubAllowLandmark = false -[AccessControl] - ;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {} - ;; Bar (|) separated list of viewers which may gain access to the regions. - ;; One can use a substring of the viewer name to enable only certain - ;; versions - ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" - ;; - "Imprudence" has access - ;; - "Imprudence 1.3" has access - ;; - "Imprudence 1.3.1" has no access - ; AllowedClients = "" - - ;# {DeniedClients} {} {Bar (|) separated list of denied clients} {} - ;; Bar (|) separated list of viewers which may not gain access to the regions. - ;; One can use a Substring of the viewer name to disable only certain - ;; versions - ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" - ;; - "Imprudence" has no access - ;; - "Imprudence 1.3" has no access - ;; - "Imprudence 1.3.1" has access - ;; - ; DeniedClients = "" - - [Map] ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true ;; Map tile options. @@ -334,13 +189,15 @@ ;# {MapImageModule} {} {The map image module to use} {MapImageModule Warp3DImageModule} MapImageModule ;; The module to use in order to generate map images. ;; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can - ;; generate better images. + ;; generate better images, but leaks memory. ;MapImageModule = "MapImageModule" + MapImageModule = "Warp3DImageModule" ;# {MaptileRefresh} {GenerateMaptiles} {Maptile refresh period?} {} 0 ;; If desired, a running region can update the map tiles periodically ;; to reflect building activity. This names no sense of you don't have ;; prims on maptiles. Value is in seconds. + ;; NOTE - the management scripts run a map generation after every sim backup. ; MaptileRefresh = 0 ;# {MaptileStaticUUID} {} {Asset ID for static map texture} {} 00000000-0000-0000-0000-000000000000 @@ -348,47 +205,12 @@ ;; This may be overridden on a per region basis in Regions.ini ; MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" - ;# {TextureOnMapTile} {} {Use terrain textures for map tiles?} {true false} true - ;; Use terrain texture for maptiles if true, use shaded green if false - ; TextureOnMapTile = true - - ;# {DrawPrimOnMapTile} {} {Draw prim shapes on map tiles?} {true false} false - ;; 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 - - ;# {TexturePrims} {} {Texture prims on map tiles?} {true false} true - ;; Texture the faces of the prims that are rendered on the map tiles. - ; TexturePrims = true - - ;# {TexturePrimSize} {} {Size of prims to texture faces?} {} 48 - ;; Only texture prims that have a diagonal size greater than this number - ; TexturePrimSize = 48 - - ;# {RenderMeshes} {} {Render meshes and sculpties on map tiles?} {true false} false - ;; Attempt to render meshes and sculpties on the map - ; RenderMeshes = false; - [Permissions] - ;# {permissionmodules} {} {Permission modules to use (may specify multiple modules, separated by comma} {} DefaultPermissionsModule - ;; Permission modules to use, separated by comma. - ;; Possible modules are DefaultPermissionsModule, PrimLimitsModule - ; permissionmodules = DefaultPermissionsModule - - ;# {serverside_object_permissions} {permissionmodules:DefaultPermissionsModule} {Activate permission handling by the sim?} {true false} true - ;; These are the parameters for the default permissions module - ;; - ;; 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 - ; serverside_object_permissions = true - ;# {allow_grid_gods} {} {Allow grid gods?} {true false} false ;; This allows users with a UserLevel of 200 or more to assume god ;; powers in the regions in this simulator. - ; allow_grid_gods = false + ; allow_grid_gods = true ;; This allows some control over permissions ;; please note that this still doesn't duplicate SL, and is not intended to @@ -398,11 +220,11 @@ ;# {region_manager_is_god} {} {Allow region manager gods} {true false} false ;; Allow region managers to assume god powers in regions they manage - ; region_manager_is_god = false + ; region_manager_is_god = true ;# {parcel_owner_is_god} {} {Allow parcel owner gods} {true false} true ;; Allow parcel owners to assume god powers in their parcels - ; parcel_owner_is_god = true + ; parcel_owner_is_god = false ;# {simple_build_permissions} {} {Allow building in parcel by access list (no groups)} {true false} false ;; More control over permissions @@ -415,36 +237,9 @@ ; simple_build_permissions = false -[Estates] - ; If these values are commented out then the user will be asked for estate details when required (this is the normal case). - ; If these values are uncommented then they will be used to create a default estate as necessary. - ; New regions will be automatically assigned to that default estate. - - ;# {DefaultEstateName} {} {Default name for estate?} {} My Estate - ;; Name for the default estate - ; DefaultEstateName = My Estate - - ;# {DefaultEstateOwnerName} {} {Default estate owner name?} {} FirstName LastName - ;; Name for default estate owner - ; DefaultEstateOwnerName = FirstName LastName - - - ; ** Standalone Estate Settings ** - ; The following parameters will only be used on a standalone system to - ; create an estate owner that does not already exist - - ;# {DefaultEstateOwnerUUID} {} {Default estate owner UUID?} {} 00000000-0000-0000-0000-000000000000 - ;; If DefaultEstateOwnerUUID is left at UUID.Zero (as below) then a random - ;; UUID will be assigned. This is normally what you want - ; DefaultEstateOwnerUUID = 00000000-0000-0000-0000-000000000000 - - ;# {DefaultEstateOwnerEMail} {} {Default estate owner email?} {} - ;; Email address for the default estate owner - ; DefaultEstateOwnerEMail = owner@domain.com - - ;# {DefaultEstateOwnerPassword} {} {Default estate owner password} {} - ;; Password for the default estate owner - ; DefaultEstateOwnerPassword = password +[RegionReady] + ; - send an alert as json to a service + ; alert_uri = "http://myappserver.net/my_handler/" [SMTP] @@ -490,12 +285,6 @@ ;# {console_port} {} {Port for console connections} {} 0 ; console_port = 0 - ;# {http_listener_port} {} {TCP Port for this simulator to listen on? (This must be unique to the simulator!)} {} 9000 - ;; Simulator HTTP port. This is not the region port, but the port the - ;; entire simulator listens on. This port uses the TCP protocol, while - ;; the region ports use UDP. - ; http_listener_port = 9000 - ; By default, OpenSimulator does not allow scripts to make HTTP calls to addresses on the simulator's LAN. ; See the OutboundDisallowForUserScripts parameter in OpenSimDefaults.ini for more information on this filter. ; If you need to allow scripts to make some LAN calls use the OutboundDisallowForUserScriptsExcept parameter below. @@ -526,14 +315,7 @@ ;; 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" - - ;# {shard} {} {Name to use for X-Secondlife-Shard header? (press enter if unsure)} {} OpenSim - ;; What is reported as the "X-Secondlife-Shard" - ;; Defaults to the user server url if not set - ;; The old default is "OpenSim", set here for compatibility - ;; The below is not commented for compatibility. - shard = "OpenSim" +; ExternalHostNameForLSL = "${Const|HostName}" ;# {user_agent} {} {User agent to report to web servers?} {} OpenSim LSL (Mozilla Compatible) ;; What is reported as the "User-Agent" when using llHTTPRequest @@ -589,7 +371,7 @@ ;; This is especially important in artistic builds that depend on lights ;; on the build for their appearance, since facelights will cause the ;; building's lights to possibly not be rendered. - ; DisableFacelights = "false" + ; DisableFacelights = true [ClientStack.LindenCaps] @@ -607,21 +389,6 @@ Cap_GetDisplayNames = "localhost" -[SimulatorFeatures] - - ;# {SearchServerURI} {} {URL of the search server} {} - ;; Optional. If given this serves the same purpose as the grid wide - ;; [LoginServices] SearchURL setting and will override that where - ;; supported by viewers. - ;SearchServerURI = "http://127.0.0.1:9000/" - - ;# {DestinationGuideURI} {} {URL of the destination guide} {} - ;; Optional. If given this serves the same purpose as the grid wide - ;; [LoginServices] DestinationGuide setting and will override that where - ;; supported by viewers. - ;DestinationGuideURI = "http://127.0.0.1:9000/guide" - - [Chat] ;# {whisper_distance} {} {Distance at which a whisper is heard, in meters?} {} 10 ;; Distance in meters that whispers should travel. @@ -636,131 +403,44 @@ ; shout_distance = 100 -[EntityTransfer] - ;# {DisableInterRegionTeleportCancellation} {} {Determine whether the cancel button is shown at all during teleports.} {false true} false - ;; This option exists because cancelling at certain points can result in an unuseable session (frozen avatar, etc.) - ;; Disabling cancellation can be okay in small closed grids where all teleports are highly likely to suceed. - ;DisableInterRegionTeleportCancellation = false - - -[Messaging] - ;# {OfflineMessageModule} {} {Module to use for offline message storage} {OfflineMessageModule "Offline Message Module V2" *} - ;; Module to handle offline messaging. The core module requires an external - ;; web service to do this. See OpenSim wiki. - ; OfflineMessageModule = OfflineMessageModule - ;; Or, alternatively, use this one, which works for both standalones and grids - ; OfflineMessageModule = "Offline Message Module V2" - - ;# {OfflineMessageURL} {OfflineMessageModule:OfflineMessageModule Offline Message Module V2:Offline Message Module V2} {URL of offline messaging service} {} - ;; URL of web service for offline message storage. Leave it commented if your service is local to the sim. - ; OfflineMessageURL = ${Const|BaseURL}/Offline.php - ; OfflineMessageURL = ${Const|BaseURL}:${Const|PrivatePort} - - ;# {StorageProvider} {Offline Message Module V2:Offline Message Module V2} {DLL that provides the storage interface} {OpenSim.Data.MySQL.dll} - ;; For standalones, this is the storage dll. - ; StorageProvider = OpenSim.Data.MySQL.dll - - ;# {MuteListModule} {OfflineMessageModule:OfflineMessageModule} {} {} MuteListModule - ;; Mute list handler (not yet implemented). MUST BE SET to allow offline - ;; messages to work - ; MuteListModule = MuteListModule - - ;# {MuteListURL} {OfflineMessageModule:OfflineMessageModule} {} {} http://yourserver/Mute.php - ;; URL of the web service that serves mute lists. Not currently used, but - ;; must be set to allow offline messaging to work. - ; MuteListURL = http://yourserver/Mute.php - - ;; Control whether group invites and notices are stored for offline users. - ;; Default is true. - ;; This applies to both core groups module. - ; ForwardOfflineGroupMessages = true +[Textures] + ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible + ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components + ; (e.g. images pulled from an external HTTP address). + ; Reusing previously generated textures results in a much faster update on the viewer but may cause issues if the viewer didn't receive all resolutions of the texture. + ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted. + ; Hence, currently considered experimental. + ; Default is false. + ReuseDynamicTextures = false [BulletSim] ;# {AvatarToAvatarCollisionsByDefault} {[Startup]physics:BulletSim} {Should avatars collide with each other?} {true false} true - AvatarToAvatarCollisionsByDefault = true - + ; AvatarToAvatarCollisionsByDefault = true -[ODEPhysicsSettings] - ;# {mesh_sculpted_prim} {[Startup]physics:OpenDynamicsEngine} {Mesh sculpties so they collide as they look?} {true false} true - ;; Do we want to mesh sculpted prim to collide like they look? - ;; If you are seeing sculpt texture decode problems - ;; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception") - ;; then you might want to try setting this to false. - ; mesh_sculpted_prim = true + ; Terrain implementation can use either Bullet's heightField or BulletSim can build + ; a mesh. 0=heightField, 1=mesh + ; TerrainImplementation = 1 - ;# {use_NINJA_physics_joints} {[Startup]physics:OpenDynamicsEngine} {Use jointed (NINJA) physics?} {true false} false - ;; If you would like physics joints to be enabled through a special naming - ;; convention in the client, set this to true. - ;; (see NINJA Physics, http://opensimulator.org/wiki/NINJA_Physics) - ; use_NINJA_physics_joints = false - -[RemoteAdmin] - ;; This is the remote admin module, which uses XMLRPC requests to - ;; manage regions from a web interface. - - ;# {enabled} {} {Enable the remote admin interface?} {true false} false - ; enabled = false - - ;# {port} {enabled:true} {Port to use for the remote admin interface? (0 = default)} {} 0 - ;; Set this to a nonzero value to have remote admin use a different port - ; port = 0 - - ;# {access_password} {enabled:true} {Password for the remote admin interface} {} - ;; This password is required to make any XMLRPC call (should be set as - ;; the "password" parameter) - ; access_password = "" - - ;# {access_ip_addresses} {enabled:true} {List the IP addresses allowed to call RemoteAdmin?} {} - ;; List the IP addresses allowed to call RemoteAdmin - ;; If access_ip_addresses isn't set, then all IP addresses can access RemoteAdmin. - ;; access_ip_addresses = 0.0.0.0, 0.0.0.0 ... - ; access_ip_addresses = - - ;# {create_region_enable_voice} {enabled:true} {Enable voice for newly created regions?} {true false} false - ;; 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 - ; create_region_enable_voice = false - - ;# {create_region_public} {enabled:true} {Make newly created regions public?} {true false} 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) - ; create_region_public = false - - ;# {enabled_methods} {enabled:true} {List of methods to allow, separated by |} {} all - ;; enable only those methods you deem to be appropriate using a | delimited - ;; whitelist. - ;; For example: - ;; enabled_methods = admin_broadcast|admin_save_oar|admin_save_xml - ;; if this parameter is not specified but enabled = true, all methods - ;; will be available - ; enabled_methods = all - - ;; specify the default appearance for an avatar created through the remote - ;; admin interface - ;; This will only take effect is the file specified by the - ;; default_appearance setting below exists - ; default_male = Default Male - ; default_female = Default Female - - ;; Update appearance copies inventory items and wearables of default - ;; avatars. if this value is false, just worn assets are copied to the - ;; Clothes folder; if true, all Clothes and Bodyparts subfolders are copied. - ;; The receiver will wear the same items the default avatar did wear. - ; copy_folders = false - - ;; Path to default appearance XML file that specifies the look of the - ;; default avatars - ; default_appearance = default_appearance.xml +; The following settings control the progression of daytime +; in the Sim. The defaults are the same as the commented out settings +[Sun] + ; number of wall clock hours for an opensim day. 24.0 would mean realtime + ;day_length = 24 + ; Year length in days + ;year_length = 365 + ; Day to Night Ratio + ;day_night_offset = 1.0 + ; 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] ;# {enabled} {} {Enable wind module?} {true false} true ;; Enables the wind module. - ; enabled = true + ;enabled = true ;# {wind_update_rate} {enabled:true} {Wind update rate in frames?} {} 150 ;; How often should wind be updated, as a function of world frames. @@ -768,7 +448,7 @@ ; wind_update_rate = 150 ;; The Default Wind Plugin to load - ; wind_plugin = SimpleRandomWind + ;wind_plugin = SimpleRandomWind ;; These settings are specific to the ConfigurableWind plugin ;; To use ConfigurableWind as the default, simply change wind_plugin @@ -785,20 +465,41 @@ ; strength = 1.0 +[Cloud] + ; Enable this to generate classic particle clouds above the sim. + ; default is disabled - turn it on here + ;enabled = true + + ; 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 + + [LightShare] ;# {enable_windlight} {} {Enable LightShare technology?} {true false} false ;; This enables the transmission of Windlight scenes to supporting clients, ;; such as the Meta7 viewer. ;; It has no ill effect on viewers which do not support server-side ;; windlight settings. - ; enable_windlight = false + ;enable_windlight = true + + +[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" -[Materials] - ;# {enable_materials} {} {Enable Materials support?} {true false} true - ;; This enables the use of Materials. - ; enable_materials = true - ; MaxMaterialsPerTransaction = 50 [DataSnapshot] ;# {index_sims} {} {Enable data snapshotting (search)?} {true false} false @@ -807,7 +508,7 @@ ;; searchable data. ;; If false, no data will be exposed, DataSnapshot module will be off, ;; and you can ignore the rest of these search-related configs. - ; index_sims = false + ;index_sims = false ;# {data_exposure} {index_sims:true} {How much data should be exposed?} {minimum all} minimum ;; The variable data_exposure controls what the regions expose: @@ -815,78 +516,13 @@ ;; all: exposes everything ; data_exposure = minimum - ;# {gridname} {index_sims:true} {Enter the name fo your grid} {} OSGrid - ;; If search is on, change this to your grid name; will be ignored for - ;; standalones - ; gridname = "OSGrid" - - ;# {default_snapshot_period} {index_sims:true} {Period between data snapshots?} {} 1200 - ;; 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" - - ;; [Supported, but obsolete] - ;# {data_services} {index_sims:true} {Data service URLs to register with?} {} http://metaverseink.com/cgi-bin/register.py - ; 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" - ;; New way of specifying data services, one per service ;DATA_SRV_MISearch = "http://metaverseink.com/cgi-bin/register.py" -[Economy] - ;# {SellEnabled} {} {Enable selling for 0?} {true false} true - ; The default economy module only implements just enough to allow free actions (transfer of objects, etc). - ; There is no intention to implement anything further in core OpenSimulator. - ; This functionality has to be provided by third party modules. - - ;; Enables selling things for $0. Default is true. - ; SellEnabled = true - - ;# {PriceUpload} {} {Price for uploading?} {} 0 - ;; Money Unit fee to upload textures, animations etc. Default is 0. - ; PriceUpload = 0 - - ;# {PriceGroupCreate} {} {Fee for group creation} {} 0 - ;; Money Unit fee to create groups. Default is 0. - ; PriceGroupCreate = 0 - [XEngine] - ;# {Enabled} {} {Enable the XEngine scripting engine?} {true false} true - ;; 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 - - ;# {Priority} {Enabled:true} {Priority for script engine threads?} {Lowest BelowNormal Normal AboveNormal Highest} BelowNormal - ;; 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 script engine thread in bytes. - ;; If you are experiencing StackOverflowExceptions you may want to increase this (e.g. double it). - ;; The trade-off may be increased memory usage by the script engine. - ; ThreadStackSize = 262144 - ;; Set this to true (the default) to load each script into a separate - ;; AppDomain. + ;; AppDomain. ;; ;; Setting this to false will load all script assemblies into the ;; current AppDomain, which will significantly improve script loading times. @@ -897,26 +533,12 @@ ;; Some Windows users have also reported script loading problems when AppDomainLoading = false ; AppDomainLoading = true - ;; Controls whether scripts are stopped by aborting their threads externally (abort) or by co-operative checks from the compiled script (co-op) - ;; co-op will be more stable but this option is currently experimental. - ;; If moving from co-op to abort, existing script DLLs will need to be recompiled. - ;; This currently can only be done manually, either by setting DeleteScriptsOnStartup = true for one run - ;; or by deleting the script DLL* files in caches/ScriptEngines// - ;; One can move from co-op back to abort without recompilation, but reverting back to co-op again will need script recompile - ;; Current valid values are "abort" and "co-op" - ; ScriptStopStrategy = abort - - ;# {DeleteScriptsOnStartup} {} {Delete previously compiled script DLLs on startup?} {true false} true ;; Controls whether previously compiled scripts DLLs are deleted on sim restart. If you set this to false ;; then startup will be considerably faster since scripts won't need to be recompiled. However, then it becomes your responsibility to delete the ;; compiled scripts if you're recompiling OpenSim from source code and internal interfaces used ;; by scripts have changed. - DeleteScriptsOnStartup = false - - ;# {DefaultCompileLanguage} {Enabled:true} {Default script language?} {lsl vb cs} lsl - ;; Default language for scripts - ; DefaultCompileLanguage = "lsl" + ; DeleteScriptsOnStartup = false ;# {AllowedCompilers} {Enabled:true} {Languages to allow (comma separated)?} {} lsl ;; List of allowed languages (lsl,vb,cs) @@ -928,49 +550,6 @@ ;; Compile debug info (line numbers) into the script assemblies ; CompileWithDebugInformation = true - ; ==== Settings for MOD and OSSL functions have been moved to the [OSSL] section - - ;# {EventLimit} {} {Amount of time a script can spend in an event handler} {} 30 - ;; Time a script can spend in an event handler before it is interrupted - ; EventLimit = 30 - - ;# {KillTimedOutScripts} {} {Kill script in case of event time overruns?} {true false} false - ;; If a script overruns it's event limit, kill the script? - ; KillTimedOutScripts = false - - ;# {ScriptDistanceLimitFactor} {} {Multiplier for 10.0m distance limits?} {} - ;; The factor the 10 m distances limits are multiplied by - ; ScriptDistanceLimitFactor = 1.0 - - ;# {NotecardLineReadCharsMax} {} {Maximum length of notecard line?} {} 255 - ;; Maximum length of notecard line read - ;; Increasing this to large values potentially opens - ;; up the system to malicious scripters - ; NotecardLineReadCharsMax = 255 - - ;# {SensorMaxRange} {} {Sensor range} {} 96.0 - ;; Sensor settings - ; SensorMaxRange = 96.0 - ;# {SensorMaxResults} {} {Max sensor results returned?} {} - ; SensorMaxResults = 16 - - ;# {DisableUndergroundMovement} {} {Disable underground movement of prims} {true false} true - ;; Disable underground movement of prims (default true); set to - ;; false to allow script controlled underground positioning of - ;; prims - ; DisableUndergroundMovement = true - - ;# {ScriptEnginesPath} {} {Path to script assemblies} {} ScriptEngines - ;; Path to script engine assemblies - ;; Default is ../caches/ScriptEngines - ; ScriptEnginesPath = "ScriptEngines" - -[OSSL] - ;# {Include-osslEnable} {} {Include file for enabling and permissions for OSSL functions} {} - ;; Optionally include file to enable OSSL functions and set permissions on who can use which. - ;; If this INI file is not included, the OSSL functions are disabled. - Include-osslEnable = "config-include/osslEnable.ini" - [MRM] ;; Enables the Mini Region Modules Script Engine. @@ -996,148 +575,6 @@ ; OwnerOnly = true -[FreeSwitchVoice] - ;; In order for this to work you need a functioning FreeSWITCH PBX set up. - ;; Configuration details at http://opensimulator.org/wiki/Freeswitch_Module - ; Enabled = false - - ;; You need to load a local service for a standalone, and a remote service - ;; for a grid region. Use one of the lines below, as appropriate - ;; If you're using Freeswitch on a standalone then you will also need to configure the [FreeswitchService] section in config-include/StandaloneCommon.ini - ; LocalServiceModule = OpenSim.Services.FreeswitchService.dll:FreeswitchService - ; LocalServiceModule = OpenSim.Services.Connectors.dll:RemoteFreeswitchConnector - - ;; If using a remote connector, specify the server URL - ; FreeswitchServiceURL = http://my.grid.server:8004/fsapi - - -[Groups] - ;# {Enabled} {} {Enable groups?} {true false} false - ;; Enables the groups module - ; Enabled = false - - ;# {LevelGroupCreate} {Enabled:true} {User level for creating groups} {} 0 - ;; Minimum user level required to create groups - ; LevelGroupCreate = 0 - - ;# {Module} {Enabled:true} {Groups module to use? (Use GroupsModule to use Flotsam/Simian)} {Default "Groups Module V2"} Default - ;; The default module can use a PHP XmlRpc server from the Flotsam project at - ;; http://code.google.com/p/flotsam/ - ;; or from the SimianGrid project at http://code.google.com/p/openmetaverse - ; Module = Default - ;; or... use Groups Module V2, which works for standalones and robust grids - ; Module = "Groups Module V2" - - ;# {StorageProvider} {Module:Groups Module V2} {The DLL that provides the storage for V2} {OpenSim.Data.MySQL.dll} - ; StorageProvider = OpenSim.Data.MySQL.dll - - ;# {ServicesConnectorModule} {Module:GroupsModule Module:Groups Module V2} {Service connector to use for groups} {XmlRpcGroupsServicesConnector SimianGroupsServicesConnector "Groups Local Service Connector" "Groups Remote Service Connector" "Groups HG Service Connector"} XmlRpcGroupsServicesConnector - ;; Service connectors to the Groups Service as used in the GroupsModule. Select one as follows: - ;; -- for Flotsam Groups use XmlRpcGroupsServicesConnector - ;; -- for Simian Groups use SimianGroupsServicesConnector - ;; -- for V2 Groups, standalone, non-HG use "Groups Local Service Connector" - ;; -- for V2 Groups, grided sim, non-HG use "Groups Remote Service Connector" - ;; -- for V2 Groups, HG, both standalone and grided sim, use "Groups HG Service Connector" - ;; Note that the quotes "" around the words are important! - ; ServicesConnectorModule = XmlRpcGroupsServicesConnector - - ;# {LocalService} {ServicesConnectorModule:Groups HG Service Connector} {Is the group service in this process or elsewhere?} {local remote} local - ;; Used for V2 in HG only. If standalone, set this to local; if grided sim, set this to remote - ; LocalService = local - - ;# {SecretKey} {ServicesConnectorModule:Groups Remote Service Connector} {Secret key between sim and remote group service} {} "" - ;; Used for V2 in Remote only. - ; SecretKey = "" - - ;# {GroupsServerURI} {Module:GroupsModule (ServicesConnectorModule:Groups Remote Service Connector or (ServicesConnectorModule:Groups HG Service Connector and LocalService:remote))} {Groups Server URI} {} - ;; URI for the groups services of this grid - ;; e.g. http://yourxmlrpcserver.com/xmlrpc.php for Flotsam XmlRpc - ;; or http://mygridserver.com:82/Grid/ for SimianGrid - ;; or ${Const|BaseURL}:${Const|PrivatePort} for robust, V2 - ;; Leave it commented for standalones, V2 - ; GroupsServerURI = "" - - ;# {HomeURI} {ServicesConnectorModule:Groups HG Service Connector} {What's the home address of this world?} {} - ;; Used for V2 in HG only. For example - ;; http://mygridserver.com:9000 or http://mygridserver.com:8002 - ;; If you have this set under [Startup], no need to set it here, leave it commented - ; HomeURI = "" - - ;# {MessagingEnabled} {Module:GroupsModule Module:Groups Module V2} {Is groups messaging enabled?} {true false} true - ; MessagingEnabled = true - - ;# {MessagingModule} {MessagingEnabled:true} {Module to use for groups messaging} {GroupsMessagingModule "Groups Messaging Module V2"} GroupsMessagingModule - ; MessagingModule = GroupsMessagingModule - ; or use "Groups Messaging Module V2" for Groups V2 - ; MessagingModule = "Groups Messaging Module V2" - - ;# {NoticesEnabled} {Module:GroupsModule Module:Groups Module V2} {Enable group notices?} {true false} true - ;; Enable Group Notices - ; NoticesEnabled = true - - ;# {MessageOnlineUsersOnly} {Module:GroupsModule Module} {Message online users only?} {true false} false - ; Experimental option to only message online users rather than all users - ; Should make large groups with few online members messaging faster, as the expense of more calls to presence service - ; Applies Flotsam Group only. V2 has this always on, no other option - ; MessageOnlineUsersOnly = false - - ;; This makes the Group module very chatty on the console. - ; DebugEnabled = false - - ; This makes the Group Messaging module very chatty on the console. - ; DebugMessagingEnabled = false - - ;; XmlRpc Security settings. These must match those set on your backend - ;; groups service if the service is using these keys - ; XmlRpcServiceReadKey = 1234 - ; XmlRpcServiceWriteKey = 1234 - - -[InterestManagement] - ;# {UpdatePrioritizationScheme} {} {Update prioritization scheme?} {BestAvatarResponsiveness Time Distance SimpleAngularDistance FrontBack} BestAvatarResponsiveness - ;; This section controls how state updates are prioritized for each client - ;; Valid values are BestAvatarResponsiveness, Time, Distance, - ;; SimpleAngularDistance, FrontBack - ; UpdatePrioritizationScheme = BestAvatarResponsiveness - - -[MediaOnAPrim] - ;# {Enabled} {} {Enable Media-on-a-Prim (MOAP)} {true false} true - ;; Enable media on a prim facilities - ; Enabled = true; - - -[NPC] - ;# {Enabled} {} {Enable Non Player Character (NPC) facilities} {true false} false - ; Enabled = false - - -[Terrain] - ;# {InitialTerrain} {} {Initial terrain type} {pinhead-island flat} pinhead-island - ; InitialTerrain = "pinhead-island" - - -[UserProfiles] - ;# {ProfileServiceURL} {} {Set url to UserProfilesService} {} - ;; Set the value of the url to your UserProfilesService - ;; If un-set / "" the module is disabled - ;; ProfileServiceURL = ${Const|BaseURL}:${Const|PublicPort} - -[XBakes] - ;# {URL} {} {Set URL for Baked texture service} {} - ;; Sets the URL for the baked texture ROBUST service. - ;; Disabled when unset. - ;; URL = ${Const|BaseURL}:${Const|PrivatePort} - -;; -;; Optional module to highlight God names in the viewer. -;; Uncomment and customize appropriately if you want this behavior. -;; -;[GodNames] -; Enabled = false -; FullNames = "Test User, Foo Bar" -; Surnames = "Kryztlsk" - [Architecture] ;# {Include-Architecture} {} {Choose one of the following architectures} {config-include/Standalone.ini config-include/StandaloneHypergrid.ini config-include/Grid.ini config-include/GridHypergrid.ini config-include/SimianGrid.ini config-include/HyperSimianGrid.ini} config-include/Standalone.ini ;; Uncomment one of the following includes as required. For instance, to create a standalone OpenSim, @@ -1150,9 +587,9 @@ ;; "config-include/StandaloneCommon.ini.example" to "config-include/StandaloneCommon.ini" before ;; editing it to set the database and backend services that OpenSim will use. ;; - Include-Architecture = "config-include/Standalone.ini" + ; Include-Architecture = "config-include/Standalone.ini" ; Include-Architecture = "config-include/StandaloneHypergrid.ini" ; Include-Architecture = "config-include/Grid.ini" - ; Include-Architecture = "config-include/GridHypergrid.ini" + Include-Architecture = "config-include/GridHypergrid.ini" ; Include-Architecture = "config-include/SimianGrid.ini" ; Include-Architecture = "config-include/HyperSimianGrid.ini" diff --git a/config/OpenSimDefaults.ini b/config/OpenSimDefaults.ini index 9923c82..42f45c8 100644 --- a/config/OpenSimDefaults.ini +++ b/config/OpenSimDefaults.ini @@ -1,6 +1,12 @@ ; This file contains defaults for various settings in OpenSimulator. These can be overriden ; by changing the same setting in OpenSim.ini (once OpenSim.ini.example has been copied to OpenSim.ini). + +[Includes] + ; Define your server specific constants in this file. + Include-Common = config.ini + + [Startup] ; Console prompt ; Certain special characters can be used to customize the prompt @@ -115,17 +121,28 @@ allow_regionless = false ;; Allow child agents to see into the region even if their root counterpart isn't allowed in here - see_into_region = true + see_into_region = false ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos ; Increasing this number will increase memory usage. MaxPrimUndos = 20 + ;# {NonPhysicalPrimMin} {} {Minimum size of nonphysical prims?} {} 0.001 + ;; Minimum size for non-physical prims. Affects resizing of existing + ;; prims. This can be overridden in the region config file (as + ;; NonPhysicalPrimMin!). + ; NonPhysicalPrimMin = 0.001 + ; Maximum size of non physical prims. Affects resizing of existing prims. This can be overridden in the region config file (as NonPhysicalPrimMax!). - NonPhysicalPrimMax = 256 + NonPhysicalPrimMax = 2560 + + ;# {PhysicalPrimMin} {} {Minimum size of physical prims?} {} 0.01 + ;; Minimum size where a prim can be physical. Affects resizing of + ;; existing prims. This can be overridden in the region config file. + ; PhysicalPrimMin = 0.01 ; Maximum size of physical prims. Affects resizing of existing prims. This can be overridden in the region config file. - PhysicalPrimMax = 64 + PhysicalPrimMax = 640 ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum ; This can be overridden in the region config file. @@ -156,7 +173,7 @@ ; neighbors on each side for a total of 49 regions in view. Warning, unless ; all the regions have the same drawdistance, you will end up with strange ; effects because the agents that get closed may be inconsistent. - DefaultDrawDistance = 255.0 + DefaultDrawDistance = 767.0 ; If you have only one region in an instance, or to avoid the many bugs ; that you can trigger in modules by restarting a region, set this to @@ -164,18 +181,18 @@ ; This is meant to be used on systems where some external system like ; Monit will restart any instance that exits, thereby making the shutdown ; into a restart. - InworldRestartShutsDown = false + InworldRestartShutsDown = true ; Use of normalized 55FPS statistics - ; Opensim does not have a frame rate control like other simulators. - ; Most parameters that control timing can be configurable region by region. - ; To achieve closer compatibility with values expected by viewers, scripts and users - ; some parameters are converted to a equivalent per frame value. - ; Additionally, they are scaled to values they would have on a system running at a nominal 55 frames per second rate. - ; The scale factor it 55 * FrameTime, corresponding to 5 with default configuration - ; You can choose to show the true physics FPS to viewers by setting Normalized55FPS to false. - ; Normalized55FPS = true - + ; Opensim does not have a frame rate control like other simulators. + ; Most parameters that control timing can be configurable region by region. + ; To achieve closer compatibility with values expected by viewers, scripts and users + ; some parameters are converted to a equivalent per frame value. + ; Additionally, they are scaled to values they would have on a system running at a nominal 55 frames per second rate. + ; The scale factor it 55 * FrameTime, corresponding to 5 with default configuration + ; You can choose to show the true physics FPS to viewers by setting Normalized55FPS to false. + ; Normalized55FPS = true + ; The minimum proportion of a second that any particular frame can take to execute. ; Only change this if you really know what you're doing, and be prepared to change UpdatePhysicsEveryNFrames ; (and other Frames params) to match! For instance, halving MinFrameTime to 0.0445 require @@ -189,7 +206,7 @@ ; encouraged that they do. ; FrameTimeWarnPercent = 60; ; FrameTimeCritPercent = 40; - + ; Send scheduled updates to objects in the scene ; This must be a whole number UpdateObjectsEveryNFrames = 1; @@ -262,18 +279,18 @@ meshing = Meshmerizer ;meshing = ZeroMesher - + ; Path to decoded sculpty maps ; Defaults to "j2kDecodeCache ;DecodedSculptMapPath = "j2kDecodeCache" - + ; if you use Meshmerizer and want sculpt map collisions, setting this to ; to true will store decoded sculpt maps in a special folder in your bin ; folder, which can reduce startup times by reducing asset requests. Some ; versions of mono dont work well when reading the cache files, so set this ; to false if you have compatibility problems. - ;CacheSculptMaps = true - + CacheSculptMaps = true + ;; BulletSim is the default physics engine. It provides the best performance and most functionality. ;; BulletSim supports varregions. ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before. @@ -309,10 +326,10 @@ ; 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) - + ; Simulator statistics are output to the console periodically at debug level INFO. ; Setting this to zero disables this output. - ; LogShowStatsSeconds = 3600 + LogShowStatsSeconds = 0 ; Simulator Stats URI ; Enable JSON simulator data by setting a URI name (case sensitive) @@ -327,7 +344,7 @@ ; Make OpenSim start all regions woth logins disabled. They will need ; to be enabled from the console if this is set - ; StartDisabled = false + StartDisabled = false ; Image decoding. Use CSJ2K for layer boundary decoding if true, ; OpenJPEG if false @@ -350,7 +367,7 @@ [Map] ;WorldMapModule = "WorldMap" - ;MapImageModule = "MapImageModule" + MapImageModule = "Warp3DImageModule" ; World map blacklist timeout in seconds ;BlacklistTimeout = 600 @@ -359,7 +376,7 @@ ;GenerateMaptiles = true ; Refresh (in seconds) the map tile periodically - ;MaptileRefresh = 0 + MaptileRefresh = 0 ; If not generating maptiles, use this static texture asset ID ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" @@ -375,10 +392,10 @@ TexturePrims = true ; Only texture prims that have a diagonal size greater than this number - TexturePrimSize = 48 + TexturePrimSize = 24 ; Attempt to render meshes and sculpties on the map - RenderMeshes = false; + RenderMeshes = true; [Permissions] ; ## @@ -393,13 +410,13 @@ ; Default is true serverside_object_permissions = true - allow_grid_gods = false + allow_grid_gods = true ; 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 - ;region_manager_is_god = false - ;parcel_owner_is_god = true + region_owner_is_god = true + region_manager_is_god = true + parcel_owner_is_god = false ; Control user types that are allowed to create new scripts ; Only enforced if serviceside_object_permissions is true @@ -440,11 +457,11 @@ ; - 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 + channel_notify = 0 ; - disallow logins while scripts are loading ; Instability can occur on regions with 100+ scripts if users enter before they have finished loading - login_disable = true + login_disable = false ; - send an alert as json to a service ; alert_uri = "http://myappserver.net/my_handler/" @@ -456,18 +473,6 @@ AllowRegionRestartFromClient = true -[UserProfiles] - ;# {ProfileURL} {} {Set url to UserProfilesService} {} - ;; Set the value of the url to your UserProfilesService - ;; If un-set / "" the module is disabled - ;; If the ProfileURL is not set, then very BASIC - ;; profile support will be configured. If the ProfileURL is set to a - ;; valid URL, then full profile support will be configured. The URL - ;; points to your grid's Robust user profiles service - ;; - ; ProfileURL = http://127.0.0.1:9000 - - [SMTP] enabled = false @@ -481,10 +486,10 @@ [Network] - ConsoleUser = "Test" - ConsolePass = "secret" - http_listener_port = 9000 - console_port = 0 + ;ConsoleUser = "Test" + ;ConsolePass = "secret" + ;http_listener_port = 9000 + ;console_port = 0 ; 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 @@ -511,7 +516,7 @@ ; 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 + ExternalHostNameForLSL = "${Const|HostName}" ; Disallow the following address ranges for user scripting calls (e.g. llHttpRequest()) ; This is based on http://en.wikipedia.org/wiki/Reserved_IP_addresses @@ -532,7 +537,7 @@ ; You can also disable the blacklist entirely with an empty entry ; ; OutboundDisallowForUserScripts = "" - + ; What is reported as the "X-Secondlife-Shard" ; Defaults to the user server url if not set ; The old default is "OpenSim", set here for compatibility @@ -550,11 +555,11 @@ ;MaxRequestConcurrency = 30 [AccessControl] - ; Viewer-based access control. |-separated list of allowed viewers. + ; Viewer-based access control. |-separated list of allowed viewers. ; AllowedClients = "" - ; Viewer-based access control. |-separated list of denied viewers. - ; No restrictions by default. + ; Viewer-based access control. |-separated list of denied viewers. + ; No restrictions by default. ; DeniedClients = "" @@ -659,7 +664,7 @@ ; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps ; will also be affected. ; - ;DisableFacelights = false + DisableFacelights = true ; The time to wait before disconecting an unresponsive client. ; The time is in seconds. The default is one minute @@ -750,7 +755,7 @@ ; Capability for searching for people Cap_AvatarPickerSearch = "localhost" - + [Chat] ; Controls whether the chat module is enabled. Default is true. enabled = true; @@ -764,13 +769,14 @@ ; Distance in meters that shouts should travel. Default is 100m shout_distance = 100 + [EntityTransfer] ; The maximum distance in regions that an agent is allowed to teleport ; along the x or y axis. This is set to 65535 because current viewers ; can't handle teleports that are greater than this distance ; Setting to 0 will allow teleports of any distance ; - max_distance = 65535 + max_distance = 0 ; Allow avatars to cross into and out of the region. AllowAvatarCrossing = true @@ -789,13 +795,39 @@ ; 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 - ; Control whether group messages are forwarded to offline users. Default is true. - ; ForwardOfflineGroupMessages = true + ;# {OfflineMessageModule} {} {Module to use for offline message storage} {OfflineMessageModule "Offline Message Module V2" *} + ;; Module to handle offline messaging. The core module requires an external + ;; web service to do this. See OpenSim wiki. + ; OfflineMessageModule = OfflineMessageModule + ;; Or, alternatively, use this one, which works for both standalones and grids + OfflineMessageModule = "Offline Message Module V2" + + ;# {OfflineMessageURL} {OfflineMessageModule:OfflineMessageModule Offline Message Module V2:Offline Message Module V2} {URL of offline messaging service} {} + ;; URL of web service for offline message storage. Leave it commented if your service is local to the sim. + ; OfflineMessageURL = ${Const|BaseURL}/Offline.php + OfflineMessageURL = ${Const|BaseURL}:${Const|PrivatePort} + + ;# {StorageProvider} {Offline Message Module V2:Offline Message Module V2} {DLL that provides the storage interface} {OpenSim.Data.MySQL.dll} + ;; For standalones, this is the storage dll. + StorageProvider = OpenSim.Data.MySQL.dll + + ;# {MuteListModule} {OfflineMessageModule:OfflineMessageModule} {} {} MuteListModule + ;; Mute list handler (not yet implemented). MUST BE SET to allow offline + ;; messages to work + MuteListModule = MuteListModule + + ;# {MuteListURL} {OfflineMessageModule:OfflineMessageModule} {} {} http://yourserver/Mute.php + ;; URL of the web service that serves mute lists. Not currently used, but + ;; must be set to allow offline messaging to work. + MuteListURL = "${Const|BaseURL}/opensim/mute.php" + + ;; Control whether group invites and notices are stored for offline users. + ;; Default is true. + ;; This applies to both core groups module. + ForwardOfflineGroupMessages = true [Inventory] @@ -811,7 +843,7 @@ ; crossings especially with large numbers of users, though it ; will store potentially large numbers of textures in your asset ; database - PersistBakedTextures = false + PersistBakedTextures = true ; Control the delay before appearance is sent to other avatars and ; saved in the avatar service. Attempts to limit the impact caused @@ -874,6 +906,89 @@ ReuseDynamicLowDataTextures = false +[BulletSim] + ; All the BulletSim parameters can be displayed with the console command + ; "physics get all" and all are defined in the source file + ; OpenSim/Regions/Physics/BulletSPlugin/BSParam.cs. + + ; There are two bullet physics libraries, bulletunmanaged is the default and is a + ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality + ; but the c++ one is much faster. + BulletEngine = "bulletunmanaged" + ; BulletEngine = "bulletxna" + + ; BulletSim can run on its own thread independent of the simulator's heartbeat + ; thread. Enabling this will not let the physics engine slow down avatar movement, etc. + UseSeparatePhysicsThread = true + + ; Terrain implementation can use either Bullet's heightField or BulletSim can build + ; a mesh. 0=heightField, 1=mesh + TerrainImplementation = 1 + ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield + ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher + ; magnifications use lots of memory. + TerrainMeshMagnification = 2 + + ; Should avatars collide with each other? + AvatarToAvatarCollisionsByDefault = true + + ; Avatar physics height adjustments. + ; http://opensimulator.org/wiki/BulletSim#Adjusting_Avatar_Height + AvatarHeightLowFudge = 0 ; Adjustment at low end of height range + AvatarHeightMidFudge = 0 ; Adjustment at mid point of avatar height range + AvatarHeightHighFudge = 0 ; Adjustment at high end of height range + + ; Avatar walk-up-stairs parameters + ; If an avatar collides with an object 'close to its feet', the avatar will be + ; moved/pushed up do simulate stepping up. + ;AvatarStepHeight = 0.6f ; The height, below which is considered a step collision. + ;AvatarStepAngle = 0.3f ; The angle from vertical (in radians) to consider a surface a step + ;AvatarStepApproachFactor = 2f ; Approach angle factor. O=straight on, .6=~45 degrees. + ;AvatarStepGroundFudge = 0.1f ; Fudge added to bottom of avatar below which step collisions happen + ;AvatarStepForceFactor = 0f ; Avatar is pushed up by its mass times this factor + ;AvatarStepUpCorrectionFactor = 0.8f ; Avatar is displaced up the collision height times this factor + ;AvatarStepSmoothingSteps = 1 ; Number of frames after a step collision that up correction is applied + + ; Terminal velocity of a falling avatar + ; This is the same http://en.wikipedia.org/wiki/Terminal_velocity#Examples + ; negative for a downward speed. + AvatarTerminalVelocity = -54 + + ; Default linkset implmentation + ; 'Constraint' uses physics constraints to hold linkset together. 'Compound' + ; builds a compound shape from the children shapes to create a single physical + ; shape. 'Compound' uses a lot less CPU time. + LinkImplementation = 1 ; 0=constraint, 1=compound + + ; If 'true', offset a linkset's origin based on mass of linkset parts. + LinksetOffsetCenterOfMass = false + + ; If 'true', turn scuplties into meshes + MeshSculptedPrim = true + + ; If 'true', force simple prims (box and sphere) to be meshed + ; If 'false', the Bullet native special case shape is used for square rectangles + ; and even dimensioned spheres. + ForceSimplePrimMeshing = false + + ; If 'true', when creating meshes, remove all triangles that have two equal vertexes. + ; Happens often in sculpties. If turned off, there will be some doorways + ; that cannot be walked through. + ShouldRemoveZeroWidthTriangles = true + + ; If 'true', use convex hull definition in mesh asset if present. + ShouldUseAssetHulls = true + + ; If there are thousands of physical objects, these maximums should be increased. + MaxCollisionsPerFrame = 2048 + MaxUpdatesPerFrame = 8192 + + ; Detailed physics debug logging. Very verbose. + PhysicsLoggingEnabled = False + PhysicsLoggingDir = "." + VehicleLoggingEnabled = False + + [ODEPhysicsSettings] ; ## ; ## Physics stats settings @@ -1059,7 +1174,7 @@ ; 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 + use_NINJA_physics_joints = true ; ## ; ## additional meshing options @@ -1070,91 +1185,8 @@ ; 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 - - -[BulletSim] - ; All the BulletSim parameters can be displayed with the console command - ; "physics get all" and all are defined in the source file - ; OpenSim/Regions/Physics/BulletSPlugin/BSParam.cs. - - ; There are two bullet physics libraries, bulletunmanaged is the default and is a - ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality - ; but the c++ one is much faster. - BulletEngine = "bulletunmanaged" - ; BulletEngine = "bulletxna" - - ; BulletSim can run on its own thread independent of the simulator's heartbeat - ; thread. Enabling this will not let the physics engine slow down avatar movement, etc. - UseSeparatePhysicsThread = false - - ; Terrain implementation can use either Bullet's heightField or BulletSim can build - ; a mesh. 0=heightField, 1=mesh - TerrainImplementation = 0 - ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield - ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher - ; magnifications use lots of memory. - TerrainMeshMagnification = 2 - - ; Should avatars collide with each other? - AvatarToAvatarCollisionsByDefault = true - - ; Avatar physics height adjustments. - ; http://opensimulator.org/wiki/BulletSim#Adjusting_Avatar_Height - AvatarHeightLowFudge = 0 ; Adjustment at low end of height range - AvatarHeightMidFudge = 0 ; Adjustment at mid point of avatar height range - AvatarHeightHighFudge = 0 ; Adjustment at high end of height range - - ; Avatar walk-up-stairs parameters - ; If an avatar collides with an object 'close to its feet', the avatar will be - ; moved/pushed up do simulate stepping up. - ;AvatarStepHeight = 0.6f ; The height, below which is considered a step collision. - ;AvatarStepAngle = 0.3f ; The angle from vertical (in radians) to consider a surface a step - ;AvatarStepApproachFactor = 2f ; Approach angle factor. O=straight on, .6=~45 degrees. - ;AvatarStepGroundFudge = 0.1f ; Fudge added to bottom of avatar below which step collisions happen - ;AvatarStepForceFactor = 0f ; Avatar is pushed up by its mass times this factor - ;AvatarStepUpCorrectionFactor = 0.8f ; Avatar is displaced up the collision height times this factor - ;AvatarStepSmoothingSteps = 1 ; Number of frames after a step collision that up correction is applied - - ; Terminal velocity of a falling avatar - ; This is the same http://en.wikipedia.org/wiki/Terminal_velocity#Examples - ; negative for a downward speed. - AvatarTerminalVelocity = -54 - - ; Default linkset implmentation - ; 'Constraint' uses physics constraints to hold linkset together. 'Compound' - ; builds a compound shape from the children shapes to create a single physical - ; shape. 'Compound' uses a lot less CPU time. - LinkImplementation = 1 ; 0=constraint, 1=compound - - ; If 'true', offset a linkset's origin based on mass of linkset parts. - LinksetOffsetCenterOfMass = false - - ; If 'true', turn scuplties into meshes - MeshSculptedPrim = true - - ; If 'true', force simple prims (box and sphere) to be meshed - ; If 'false', the Bullet native special case shape is used for square rectangles - ; and even dimensioned spheres. - ForceSimplePrimMeshing = false - - ; If 'true', when creating meshes, remove all triangles that have two equal vertexes. - ; Happens often in sculpties. If turned off, there will be some doorways - ; that cannot be walked through. - ShouldRemoveZeroWidthTriangles = true - - ; If 'true', use convex hull definition in mesh asset if present. - ShouldUseAssetHulls = true + ;force_simple_prim_meshing = false - ; If there are thousands of physical objects, these maximums should be increased. - MaxCollisionsPerFrame = 2048 - MaxUpdatesPerFrame = 8192 - - ; Detailed physics debug logging. Very verbose. - PhysicsLoggingEnabled = False - PhysicsLoggingDir = "." - VehicleLoggingEnabled = False - [RemoteAdmin] enabled = false @@ -1213,7 +1245,7 @@ ; update appearance copies inventory items and wearables of default avatars. if this value is false ; (default), just worn assets are copied to the Clothes folder; if true, all Clothes and Bodyparts ; subfolders are copied. the receiver will wear the same items the default avatar did wear. - ;copy_folders = false + copy_folders = true ; path to default appearance XML file that specifies the look of the default avatars ;default_appearance = default_appearance.xml @@ -1321,11 +1353,11 @@ ; in the Sim. The defaults are the same as the commented out settings [Sun] ; number of wall clock hours for an opensim day. 24.0 would mean realtime - ;day_length = 4 + day_length = 24 ; Year length in days - ;year_length = 60 + year_length = 365 ; Day to Night Ratio - ;day_night_offset = 0.45 + day_night_offset = 1.0 ; 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 @@ -1357,7 +1389,7 @@ [Cloud] ; Enable this to generate classic particle clouds above the sim. ; default is disabled - turn it on here - enabled = false + enabled = true ; Density of cloud cover 0.0 to 1.0 Defult 0.5 density = 0.5 @@ -1367,12 +1399,6 @@ cloud_update_rate = 1000 -[LightShare] - ; This enables the transmission of Windlight scenes to supporting clients, such as the Meta7 viewer. - ; It has no ill effect on viewers which do not support server-side windlight settings. - enable_windlight = false - - [Trees] ; Enable this to allow the tree module to manage your sim trees, including growing, reproducing and dying ; default is false @@ -1394,7 +1420,7 @@ ; Are god functions such as llSetObjectPermMask() allowed? If true then gods and only gods have access to these functions. ; If false then gods cannot execute these functions either. - AllowGodFunctions = false + AllowGodFunctions = true ; Restrict the email address used by llEmail to the address associated with the avatars user account? ; If true then llEmail will only send email to the address in the user account of the avatar who owns the object containing the script. @@ -1403,12 +1429,12 @@ ; Maximum number of llListen events we allow over the entire region. ; Set this to 0 to have no limit imposed - max_listens_per_region = 1000 + max_listens_per_region = 0 ; Maximum number of llListen events we allow per script ; Set this to 0 to have no limit imposed. - max_listens_per_script = 64 - + max_listens_per_script = 0 + ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL()) max_external_urls_per_simulator = 100 @@ -1520,7 +1546,7 @@ ; compared to previous version of llCastRay in OpenSimulator. ; Is in most cases considerably slower than llCastRay in Second Life. ; Generates geometry meshes and can therefore use much system resources. - UseLlCastRayV3 = false + UseLlCastRayV3 = true ; Accepted calculation precision error in calculations in llCastRay V3 FloatToleranceInLlCastRay = 0.00001 @@ -1596,7 +1622,7 @@ data_exposure = minimum ; If search is on, change this to your grid name; will be ignored for standalones - gridname = "OSGrid" + gridname = "${Const|GridName}" ; 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 @@ -1677,7 +1703,7 @@ ; then startup will be considerably faster since scripts won't need to be recompiled. However, then it becomes your responsibility to delete the ; compiled scripts if you're recompiling OpenSim from source code and internal interfaces used ; by scripts have changed. - ; DeleteScriptsOnStartup = false + DeleteScriptsOnStartup = false ; Controls whether scripts are stopped by aborting their threads externally (abort) ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op). @@ -1709,42 +1735,10 @@ ; Allow the user of mod* functions. This allows a script to pass messages ; to a region module via the modSendCommand() function ; Default is false - AllowMODFunctions = false + AllowMODFunctions = true - ; Allow the use of os* functions (some are dangerous) - AllowOSFunctions = false - ; Allow the user of LightShare functions - AllowLightShareFunctions = false - - ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe - OSFunctionThreatLevel = VeryLow - - ; 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 - - ; Comma separated list of owner classes that allow the function for a particular class of owners. Choices are - ; - PARCEL_GROUP_MEMBER: allow if objectgroup is the same group as the parcel - ; - PARCEL_OWNER: allow if the objectowner is parcelowner - ; - ESTATE_MANAGER: allow if the object owner is a estate manager - ; - ESTATE_OWNER: allow if objectowner is estateowner - ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb, PARCEL_OWNER, ESTATE_OWNER>, ... - - ; You can also use script creators as the uuid - ; Creators_osSetRegionWaterHeight = , ... - - ; If both Allow_ and Creators_ are given, effective permissions - ; are the union of the two. + AllowLightShareFunctions = true ; Interval (s) between background save of script states SaveInterval = 120 @@ -1753,10 +1747,10 @@ MaintenanceInterval = 10 ; Time a script can spend in an event handler before it is interrupted - EventLimit = 30 + EventLimit = 60 ; If a script overruns it's event limit, kill the script? - KillTimedOutScripts = false + KillTimedOutScripts = true ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested ; before aborting the thread (such as when an object containing scripts is taken into inventory). @@ -1764,30 +1758,37 @@ ; Maximum length of notecard line read ; Increasing this to large values potentially opens - ; up the system to malicious scripters - ; NotecardLineReadCharsMax = 255 + ; up the system to malicious scripters. Pfffft. + NotecardLineReadCharsMax = 1024 ; Minimum settable timer interval. Any timer setting less than this is ; rounded up to this minimum interval. - ; MinTimerInterval = 0.5 + MinTimerInterval = 0.1 ; Sensor settings - SensorMaxRange = 96.0 - SensorMaxResults = 16 + SensorMaxRange = 1024.0 + SensorMaxResults = 64 ; 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 + AutomaticLinkPermission = true ; Disable underground movement of prims (default true); set to ; false to allow script controlled underground positioning of ; prims - ; DisableUndergroundMovement = true + DisableUndergroundMovement = false ;; Path to script assemblies ; ScriptEnginesPath = "ScriptEngines" +[OSSL] + ;# {Include-osslEnable} {} {Include file for enabling and permissions for OSSL functions} {} + ;; Optionally include file to enable OSSL functions and set permissions on who can use which. + ;; If this INI file is not included, the OSSL functions are disabled. + Include-osslEnable = "config-include/osslEnable.ini" + + [Concierge] ; Enable concierge module ; Default is false @@ -1849,6 +1850,21 @@ safemode = false +[FreeSwitchVoice] + ;; In order for this to work you need a functioning FreeSWITCH PBX set up. + ;; Configuration details at http://opensimulator.org/wiki/Freeswitch_Module + ; Enabled = false + + ;; You need to load a local service for a standalone, and a remote service + ;; for a grid region. Use one of the lines below, as appropriate + ;; If you're using Freeswitch on a standalone then you will also need to configure the [FreeswitchService] section in config-include/StandaloneCommon.ini + ; LocalServiceModule = OpenSim.Services.FreeswitchService.dll:FreeswitchService + ; LocalServiceModule = OpenSim.Services.Connectors.dll:RemoteFreeswitchConnector + + ;; If using a remote connector, specify the server URL + ; FreeswitchServiceURL = http://my.grid.server:8004/fsapi + + [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 @@ -1909,61 +1925,93 @@ [Groups] - Enabled = false - - ; This is the current groups stub in Region.CoreModules.Avatar.Groups. All the other settings below only really - ; apply to the Flotsam/SimianGrid GroupsModule - Module = Default - - ; This module can use a PHP XmlRpc server from the Flotsam project at http://code.google.com/p/flotsam/ - ; or from the SimianGrid project at http://code.google.com/p/openmetaverse - ;Module = GroupsModule - - ; Enable Group Notices - ;NoticesEnabled = true - - ; This makes the Group module very chatty on the console. - DebugEnabled = false + Enabled = true - ; This makes the Groups Messaging module very chatty on the console. - DebugMessagingEnabled = false + ;# {Module} {Enabled:true} {Groups module to use? (Use GroupsModule to use Flotsam/Simian)} {Default "Groups Module V2"} Default + ;; The default module can use a PHP XmlRpc server from the Flotsam project at + ;; http://code.google.com/p/flotsam/ + ;; or from the SimianGrid project at http://code.google.com/p/openmetaverse + ; Module = Default + ;; or... use Groups Module V2, which works for standalones and robust grids + Module = "Groups Module V2" + + ;# {StorageProvider} {Module:Groups Module V2} {The DLL that provides the storage for V2} {OpenSim.Data.MySQL.dll} + StorageProvider = OpenSim.Data.MySQL.dll + + ;# {ServicesConnectorModule} {Module:GroupsModule Module:Groups Module V2} {Service connector to use for groups} {XmlRpcGroupsServicesConnector SimianGroupsServicesConnector "Groups Local Service Connector" "Groups Remote Service Connector" "Groups HG Service Connector"} XmlRpcGroupsServicesConnector + ;; Service connectors to the Groups Service as used in the GroupsModule. Select one as follows: + ;; -- for Flotsam Groups use XmlRpcGroupsServicesConnector + ;; -- for Simian Groups use SimianGroupsServicesConnector + ;; -- for V2 Groups, standalone, non-HG use "Groups Local Service Connector" + ;; -- for V2 Groups, grided sim, non-HG use "Groups Remote Service Connector" + ;; -- for V2 Groups, HG, both standalone and grided sim, use "Groups HG Service Connector" + ;; Note that the quotes "" around the words are important! + ServicesConnectorModule = "Groups HG Service Connector" + + ;# {LocalService} {ServicesConnectorModule:Groups HG Service Connector} {Is the group service in this process or elsewhere?} {local remote} local + ;; Used for V2 in HG only. If standalone, set this to local; if grided sim, set this to remote + LocalService = remote + + ;# {SecretKey} {ServicesConnectorModule:Groups Remote Service Connector} {Secret key between sim and remote group service} {} "" + ;; Used for V2 in Remote only. + ; SecretKey = "" + + ;# {GroupsServerURI} {Module:GroupsModule (ServicesConnectorModule:Groups Remote Service Connector or (ServicesConnectorModule:Groups HG Service Connector and LocalService:remote))} {Groups Server URI} {} + ;; URI for the groups services of this grid + ;; e.g. http://yourxmlrpcserver.com/xmlrpc.php for Flotsam XmlRpc + ;; or http://mygridserver.com:82/Grid/ for SimianGrid + ;; or ${Const|BaseURL}:${Const|PrivatePort} for robust, V2 + ;; Leave it commented for standalones, V2 + GroupsServerURI = "${Const|BaseURL}:${Const|PrivatePort}" + + ;# {HomeURI} {ServicesConnectorModule:Groups HG Service Connector} {What's the home address of this world?} {} + ;; Used for V2 in HG only. For example + ;; http://mygridserver.com:9000 or http://mygridserver.com:8002 + ;; If you have this set under [Startup], no need to set it here, leave it commented + ; HomeURI = "" + + ;# {MessagingEnabled} {Module:GroupsModule Module:Groups Module V2} {Is groups messaging enabled?} {true false} true + MessagingEnabled = true + + ;# {MessagingModule} {MessagingEnabled:true} {Module to use for groups messaging} {GroupsMessagingModule "Groups Messaging Module V2"} GroupsMessagingModule + ; MessagingModule = GroupsMessagingModule + ; or use "Groups Messaging Module V2" for Groups V2 + MessagingModule = "Groups Messaging Module V2" + + ;# {NoticesEnabled} {Module:GroupsModule Module:Groups Module V2} {Enable group notices?} {true false} true + ;; Enable Group Notices + NoticesEnabled = true + + ;# {MessageOnlineUsersOnly} {Module:GroupsModule Module} {Message online users only?} {true false} false + ; Experimental option to only message online users rather than all users + ; Should make large groups with few online members messaging faster, as the expense of more calls to presence service + ; Applies Flotsam Group only. V2 has this always on, no other option + MessageOnlineUsersOnly = true + + ;; This makes the Group module very chatty on the console. + ; DebugEnabled = false + + ; This makes the Group Messaging module very chatty on the console. + ; DebugMessagingEnabled = false + + ;; XmlRpc Security settings. These must match those set on your backend + ;; groups service if the service is using these keys + ; XmlRpcServiceReadKey = 1234 + ; XmlRpcServiceWriteKey = 1234 ; Groups data is cached for this number of seconds before another request is made to the groups service ; Set to 0 to disable the cache. ; Default is 30 seconds GroupsCacheTimeout = 30 - ; Specify which messaging module to use for groups messaging and if it's enabled - MessagingModule = GroupsMessagingModule - ;MessagingEnabled = true - - ; Experimental option to only message cached online users rather than all users - ; Should make large group with few online members messaging faster, as the expense of more calls to ROBUST presence service - ; (Flotsam groups only; in V2 this is always on) - MessageOnlineUsersOnly = false - - ; Service connectors to the Groups Service. Select one depending on whether you're using a Flotsam XmlRpc backend or a SimianGrid backend - - ; SimianGrid Service for Groups - ;ServicesConnectorModule = SimianGroupsServicesConnector - ;GroupsServerURI = http://mygridserver.com:82/Grid/ - - ; Flotsam XmlRpc Service for Groups - ;ServicesConnectorModule = XmlRpcGroupsServicesConnector - ;GroupsServerURI = http://yourxmlrpcserver.com/xmlrpc.php - - ; XmlRpc Security settings. These must match those set on your backend groups service if the service is using these keys - ;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. + ; this is a work around for a 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 ; Minimum user level required to create groups - ;LevelGroupCreate = 0 + LevelGroupCreate = 0 [PacketPool] @@ -1993,7 +2041,7 @@ ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region ; n > 1 will reduce UDP traffic but may lead to laggier movement observed in other avatars, though values up to 4 may not generate a noticeable effect. ChildTerseUpdatePeriod = 0 - + ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance RootPositionUpdateTolerance = 0.05 @@ -2003,6 +2051,7 @@ ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance RootVelocityUpdateTolerance = 0.001 + [Monitoring] ; Enable region monitoring ; If true, this will print out an error if more than a minute has passed since the last simulator frame @@ -2015,21 +2064,49 @@ ; See http://opensimulator.org/wiki/FAQ#Region_Statistics_on_a_Web_Page ; Use a web browser and type in the "Login URI" + "/SStats/" ; For example- http://127.0.0.1:9000/SStats/ - ; enabled=false + enabled=true + [Statistics] - ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames - ; to include in the averaging calculations - NumberOfFrames=10 + ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames + ; to include in the averaging calculations + NumberOfFrames=10 + [MediaOnAPrim] ; Enable media on a prim facilities Enabled = true; -[NPC] - ;; Enable Non Player Character (NPC) facilities - Enabled = false +[UserProfiles] + ;# {ProfileURL} {} {Set url to UserProfilesService} {} + ;; Set the value of the url to your UserProfilesService + ;; If un-set / "" the module is disabled + ;; If the ProfileURL is not set, then very BASIC + ;; profile support will be configured. If the ProfileURL is set to a + ;; valid URL, then full profile support will be configured. The URL + ;; points to your grid's Robust user profiles service + ;; + ; ProfileURL = http://127.0.0.1:9000 + ProfileServiceURL = ${Const|BaseURL}:${Const|PublicPort} + + +[XBakes] + ;# {URL} {} {Set URL for Baked texture service} {} + ;; Sets the URL for the baked texture ROBUST service. + ;; Disabled when unset. + URL = ${Const|BaseURL}:${Const|PrivatePort} + + +;; +;; Optional module to highlight God names in the viewer. +;; Uncomment and customize appropriately if you want this behavior. +;; Alas IG uses first names for gods, not sure if that will work. +;; +;[GodNames] +; Enabled = false +; FullNames = "Test User, Foo Bar" +; Surnames = "Kryztlsk" [Terrain] @@ -2040,6 +2117,7 @@ ; the avatar outward. SendTerrainUpdatesByViewDistance = True + [LandManagement] ; When editing terrain or objects, parcel layer info is updated in the viewer. ; This can be expensive for large regions. If this variable is 'true', only the @@ -2049,10 +2127,11 @@ ; will be what it has always been (send the whole region's parcel layer info). ; Other parcel updates (login, changing parcel ownership, ...) will still send ; whole region. - LimitParcelLayerUpdateDistance = true - ParcelLayerViewDistance = 128 + LimitParcelLayerUpdateDistance = false + ParcelLayerViewDistance = 1024 -;; + +;; ;; If you are using a simian grid frontend you can enable ;; this module to upload tile images for the mapping fn ;; @@ -2066,10 +2145,10 @@ ;; JsonStore module provides structured store for scripts ;; [JsonStore] - Enabled = False + Enabled = true ;; Enable direct access to the SOP dynamic attributes - EnableObjectStore = False + EnableObjectStore = true MaxStringSpace = 0 @@ -2109,10 +2188,11 @@ ;; Default time interval (in ms) for the throttle service thread to wake up Interval = 5000 + [Dwell] ;; This enables the built in basic dwell module DwellModule = DefaultDwellModule + [Modules] Include-modules = "addon-modules/*/config/*.ini" - diff --git a/config/Regions/Regions.ini.example b/config/Regions/Regions.ini.example deleted file mode 100644 index e20fee6..0000000 --- a/config/Regions/Regions.ini.example +++ /dev/null @@ -1,98 +0,0 @@ -; * This is an example region config file. -; * -; * If OpenSimulator is started up without any regions, it will ask you configuration questions to generate a Regions.ini file for you. -; * So there is no need to change this file directly, it is only for reference. -; * However, if you prefer you can also copy this file to Regions.ini and appropriately change the parameters below. -; * Only files ending with .ini and .xml in this directly will be loaded by OpenSimulator. -; * -; * You can multiple regions into one file or make one file per region -; * The section name is the region name -; * - -[Default Region] - -; * -; * You MUST change this! It will NOT be done for you! -; * - -RegionUUID = 11111111-2222-3333-4444-555555555555 - -Location = 1000,1000 -InternalAddress = 0.0.0.0 -InternalPort = 9000 -AllowAlternatePorts = False -ExternalHostName = SYSTEMIP - -; * -; * Variable-sized regions allows the creation of large, borderless spaces. -; * The default is 256 meters. For larger spaces, set these to multiples of 256. -; * For the time being, X and Y need to be the same. -; * -; SizeX = 512 -; SizeY = 512 - -; * -; * Prim data -; * This allows limiting the sizes of prims and the region prim count -; * - -; NonPhysicalPrimMax = 256 -; PhysicalPrimMax = 64 -; ClampPrimSize = False -; MaxPrims = 15000 -; MaxAgents = 100 - -; * Max prims per user (per parcel). -; * Negative values will disable the check. -; MaxPrimsPerUser = -1 - -; * -; * Multi-Tenancy. Only set if needed -; * - -; ScopeID = "00000000-0000-0000-0000-000000000000" - -; * -; * Product name (used in search from viewer 1.23 -; * - -; RegionType = "Mainland" - -; * Region Specific Static Maptiles: -; * Important: To use any kind of texture *assets* as a static maptile, the following -; * things must be set in the [Map] section of OpenSim.ini : -; * -; * MapImageModule = "MapImageModule" -; * GenerateMaptiles = false -; * -; * Now, there is a setting in [Map] in OpenSim.ini called -; * -; * MaptileStaticUUID = 00000000-0000-0000-0000-000000000000 -; * -; * where, given the criteria above, lets you specify the UUID of a texture asset to use -; * as a maptile *Simulator Wide*. Here, you can override that on a per region basis for -; * Simulators that run multiple regions: - -; MaptileStaticUUID = 00000000-0000-0000-0000-000000000000 - - -; * Region Specific Static Maptiles from file: -; * It is also possible to create maptiles using external image files of the right size -; * and supported formats (bmp,png,jpg in RGB 24bpp format) -; * -; * Important: To use any kind of texture *files* as a static maptile, the following -; * things must be set in the [Map] section of OpenSim.ini : -; * -; * MapImageModule = "MapImageModule" -; * GenerateMaptiles = true -; * -; * The image must be the same size in pixels as the region or varregion is in meters. -; * i.e. 256x256 pixels for single region of 256x256m, or 1280x1280 pixels for a varregion -; * of size 1280x1280m. The image can be loaded from anywhere by setting the path -; * ie: MaptileStaticFile = "maptiles/SomeFile.png" -; * -; * If this setting is used, then the base map is generated from this file instead of being -; * built using MapImageModule's terrain and prim renderer. Parcel 'for sale' overlays are -; * still drawn on top of the static map by the World Map module. - -; MaptileStaticFile = "SomeFile.png" diff --git a/config/Robust.ini b/config/Robust.ini index 099d4da..9926ed7 100644 --- a/config/Robust.ini +++ b/config/Robust.ini @@ -1,5 +1,14 @@ ; * Run -; * $ Robust.exe -inifile Robust.ini +; * $ Robust.exe -inifile Robust.HG.ini +; * + +; * Configurations for enabling HG1.5 +; * +; * HG1.5 handlers are: OpenSim.Server.Handlers.dll:GatekeeperService +; * OpenSim.Server.Handlers.dll:UserAgentService +; * Additional OpenSim.Server.Handlers.dll:AssetServiceConnector and +; * OpenSim.Server.Handlers.dll:XInventoryInConnector +; * are started in port 8002, outside the firewall ; * ; ** ; * @@ -12,19 +21,44 @@ ; * referenced anywhere in the configuration by using ${Const|Name}. One ; * such use is providing a base path for setting locations that Robust ; * uses to write data. -; * +; * + +[Includes] + ; Define your server specific constants in this file. +; Include-Common = /opt/opensim/config/constants.ini + + [Const] + MOTD = "Welcome to virtual 'Gabba." - ; The URL of the Robust server - BaseURL = "http://127.0.0.1" - - ; The public port of the Robust server + Base = "../.." + AssetsPath = "../../AssetFiles" + CachePath = "../../caches" + ConfigPath = "../../config" + IncludePath = "../../config-include" + + GridName = "onefangWorld" + + ; For a grid these will usually be the externally accessible IP/DNS + ; name and use default public port 8002 and default private port 8003 + ; For a standalone this will usually be the externally accessible IP/DNS + ; name and use default public port 9000. The private port is not used + ; in the configuration for a standalone. + + ;# {BaseURL} {} {BaseURL} {"http://example.com" "http://127.0.0.1"} "http://127.0.0.1" + HostName = "localhost" + BaseURL = http://127.0.0.1 + + ;# {PublicPort} {} {PublicPort} {8002 9000} "8002" PublicPort = "8002" - ; The private port of the Robust server + ;# {PrivatePort} {} {PrivatePort} {8003} "8003" PrivatePort = "8003" + DataProvider = "OpenSim.Data.MySQL.dll" + ConnectionString = "Data Source=localhost;Database=$MYSQL_DB;User ID=$MYSQL_USER;Password=$MYSQL_PASSWORD;Old Guids=true;" + ; * The startup section lists all the connectors to start up in this server ; * instance. This may be only one, or it may be the entire server suite. ; * Multiple connectors should be separated by commas. @@ -32,26 +66,26 @@ ; * These are the IN connectors the server uses, the in connectors ; * read this config file and load the needed service and database connectors ; * -; * The full syntax of a connector string is: +; * The full syntax of a connector string is: ; * [[@]/][:] ; * [Startup] ; Place to create a PID file ; If no path if specified then a PID file is not created. - ; PIDFile = "/tmp/Robust.exe.pid" + PIDFile = "/var/run/opensim/ROBUST.pid" ; Plugin Registry Location ; Set path to directory for plugin registry. Information ; about the registered repositories and installed plugins ; will be stored here ; The Robust.exe process must have R/W access to the location - RegistryLocation = "." + RegistryLocation = "${Const|CachePath}" ; Modular configurations ; Set path to directory for modular ini files... - ; The Robust.exe process must have R/W access to the location - ConfigDirectory = "." - + ; The Robust.exe process must have R/W access to the location, and it must NOT be shared by the OpenSim.exe process, coz that confuses things. + ConfigDirectory = "${Const|ConfigPath}/ROBUST" + ; Console commands can be saved to a file, so the command history persists after a restart. (default is true) ConsoleHistoryFileEnabled = true @@ -61,7 +95,8 @@ ; How many lines of command history should we keep? (default is 100) ConsoleHistoryFileLines = 100 - + + [ServiceList] AssetServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AssetServiceConnector" InventoryInConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XInventoryInConnector" @@ -70,7 +105,7 @@ GridServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridServiceConnector" GridInfoServerInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" AuthenticationServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" - OpenIdServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:OpenIdServerConnector" +; OpenIdServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:OpenIdServerConnector" AvatarServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AvatarServiceConnector" LLLoginServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector" PresenceServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:PresenceServiceConnector" @@ -81,14 +116,26 @@ MapAddServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MapAddServiceConnector" MapGetServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:MapGetServiceConnector" ;; Uncomment this if you want offline IM to work - ;OfflineIMServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" + OfflineIMServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" ;; Uncomment this if you want Groups V2 to work - ;GroupsServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" + GroupsServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" ;; Uncomment to provide bakes caching - ;BakedTextureService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XBakesConnector" + BakedTextureService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XBakesConnector" + + ;; Additions for Hypergrid + + GatekeeperServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GatekeeperServiceInConnector" + UserAgentServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserAgentServerConnector" + HeloServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:HeloServiceInConnector" + HGFriendsServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:HGFriendsServerConnector" + InstantMessageServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:InstantMessageServerConnector" + HGInventoryServiceConnector = "HGInventoryService@${Const|PublicPort}/OpenSim.Server.Handlers.dll:XInventoryInConnector" + HGAssetServiceConnector = "HGAssetService@${Const|PublicPort}/OpenSim.Server.Handlers.dll:AssetServiceConnector" + ;; Uncomment this if you want Groups V2, HG to work + HGGroupsServiceConnector = "${Const|PublicPort}/OpenSim.Addons.Groups.dll:HGGroupsServiceRobustConnector" ;; Uncomment for UserProfiles see [UserProfilesService] to configure... - ; UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector" + UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector" ;; Uncomment if you want to have centralized estate data ; EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector" @@ -130,7 +177,9 @@ ;; This is useful in cases where you want to protect most of the services, ;; but unprotect individual services. Username and Password can also be ;; overriden if you want to use different credentials for the different services. - + ;; Hypergrid services are not affected by this; they are publicly available + ;; by design. + ;; By default, scripts are not allowed to call private services via llHttpRequest() ;; Such calls are detected by the X-SecondLife-Shared HTTP header ;; If you allow such calls you must be sure that they are restricted to very trusted scripters @@ -145,6 +194,22 @@ ;ConsolePass = secret ;ConsolePort = 0 + +[Hypergrid] + ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} + ;; This is the address of the external robust server that + ;; runs the UserAgentsService, possibly this server. + ;; For example http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + + ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} + ;; This is the address of the external robust server + ;; that runs the Gatekeeper service, possibly this server. + ;; For example http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" + [AccessControl] ;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {} ;; Bar (|) separated list of viewers which may gain access to the regions. @@ -166,7 +231,6 @@ ;; - "Imprudence 1.3.1" has access ; DeniedClients = "" - [DatabaseService] ; PGSQL ; Uncomment these lines if you want to use PGSQL storage @@ -177,8 +241,8 @@ ; MySQL ; Uncomment these lines if you want to use MySQL storage ; Change the connection string to your db details - StorageProvider = "OpenSim.Data.MySQL.dll" - ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;" + StorageProvider = "${Const|DataProvider}" + ConnectionString = "${Const|ConnectionString}" ; * As an example, the below configuration precisely mimicks the legacy @@ -189,29 +253,30 @@ [AssetService] ;; Choose an asset service (Only one option should be enabled) - LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService" - ;LocalServiceModule = "OpenSim.Services.FSAssetService.dll:FSAssetConnector" - + ; When changing this, change [HGAssetService] below to match. + ;LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService" + LocalServiceModule = "OpenSim.Services.FSAssetService.dll:FSAssetConnector" + ;; FSAsset Directories. Base directory, where final asset files are stored and Spool directory for temp files ;; These directories must be on the same physical filesystem - ;BaseDirectory = "./fsassets/data" - ;SpoolDirectory = "./fsassets/tmp" - + BaseDirectory = "${Const|AssetsPath}/data" + SpoolDirectory = "${Const|AssetsPath}/tmp" + ;; Original service can be checked if FSAssets can not find an asset - ;FallbackService = "OpenSim.Services.AssetService.dll:AssetService"; - + FallbackService = "OpenSim.Services.AssetService.dll:AssetService"; + ;; How many days since last updating the access time before its updated again by FSAssets when accessing an asset ;; Reduces DB calls if asset is requested often. Default value 0 will always update access time - ;DaysBetweenAccessTimeUpdates = 30 - + DaysBetweenAccessTimeUpdates = 1 + ;; FSAssets Custom Database Config (Leave blank to use grids default database configuration) ;StorageProvider = "" ;ConnectionString = "" ;Realm = "fsassets" - + ;; The following are common to both the default asset service and FSAsset service - - ;; Default loader for loading default assets from XML on first run + + ;; Common asset service options DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" AssetLoaderArgs = "./assets/AssetSets.xml" @@ -246,9 +311,13 @@ ; * [GridService] LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" + ; Realm = "regions" ; AllowDuplicateNames = "True" + ;; Needed to display non-default map tile images for linked regions + AssetService = "OpenSim.Services.AssetService.dll:AssetService" + ;; Next, we can specify properties of regions, including default and fallback regions ;; The syntax is: Region_ = "" ;; or: Region_ = "" @@ -272,15 +341,25 @@ ;; Example specification: ; Region_Welcome_Area = "DefaultRegion, FallbackRegion" ; (replace spaces with underscore) + Region_residential = "DefaultRegion, FallbackRegion, Persistent" + Region_Gabba_Ward = "DefaultRegion, FallbackRegion, Persistent" + Region_Mater_Hospital = "DefaultRegion, FallbackRegion, Persistent" + Region_Mater_Private_Hospital = "DefaultRegion, FallbackRegion, Persistent" + + ;; Allow Hyperlinks to be created at the console + HypergridLinker = true ;; Allow supporting viewers to export content ;; Set to false to prevent export ExportSupported = true + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" + ; * This is the configuration for the freeswitch server in grid mode [FreeswitchService] - LocalServiceModule = "OpenSim.Services.FreeswitchService.dll:FreeswitchService" +; LocalServiceModule = "OpenSim.Services.FreeswitchService.dll:FreeswitchService" ;; The IP address of your FreeSWITCH server. ;; This address must be reachable by viewers. @@ -321,6 +400,7 @@ [AuthenticationService] ; for the server connector LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" + ; Realm = "useraccounts" ;; Allow the service to process HTTP getauthinfo calls. ;; Default is false. @@ -337,12 +417,12 @@ [OpenIdService] ; for the server connector - AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" - UserAccountServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService" +; AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService" +; UserAccountServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService" -; * This is the new style authentication service. Currently, only MySQL -; * is implemented. "Realm" is the table that is used for user lookup. +; * This is the new style user service. +; * "Realm" is the table that is used for user lookup. ; * It defaults to "useraccounts", which uses the new style. ; * Realm = "users" will use the legacy tables as an authentication source ; * @@ -421,20 +501,20 @@ GridService = "OpenSim.Services.GridService.dll:GridService" SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector" LibraryService = "OpenSim.Services.InventoryService.dll:LibraryService" + UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" - ; The minimum user level required for a user to be able to login. 0 by default - ; If you disable a particular user's account then you can set their login level below this number. - ; You can also change this level from the console though these changes will not be persisted. - ; MinLoginLevel = 0 + ; This inventory service will be used to initialize the user's inventory + HGInventoryServicePlugin = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" + HGInventoryServiceConstructorArg = "HGInventoryService" - ; Ask co-operative viewers to use a different currency name - ;Currency = "" + ;; Ask co-operative viewers to use a different currency name + Currency = "v " ;; Set minimum fee to publish classified ; ClassifiedFee = 0 - WelcomeMessage = "Welcome, Avatar!" + WelcomeMessage = "${Const|MOTD}" AllowRemoteSetLoginLevel = "false" ; For V2 map @@ -452,14 +532,17 @@ ; If you run this login server behind a proxy, set this to true ; HasProxy = false - ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time" - ;; Viewers do not listen to timezone sent by the server. They use Pacific Standard Time instead, - ;; but rely on the server to calculate Daylight Saving Time. Sending another DST than US Pacific - ;; would result in time inconsistencies between grids (during summer and around DST transition period) - ;; default let OpenSim calculate US Pacific DST - ;; "none" disable DST (equivallent to "local" with system set to GMT) - ;; "local" force legacy behaviour (using local system time to calculate DST) - ; DSTZone = "America/Los_Angeles;Pacific Standard Time" + ; Defaults for the users, if none is specified in the useraccounts table entry (ServiceURLs) + ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" + + SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_InventoryServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_AssetServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_ProfileServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_FriendsServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_IMServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_GroupsServerURI = "${Const|BaseURL}:${Const|PublicPort}" ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time" ;; Viewers do not receive timezone information from the server - almost all (?) default to Pacific Standard Time @@ -471,7 +554,7 @@ ;; "local" use the server's only timezone to calculate DST. This is previous OpenSimulator behaviour. ;; "America/Los_Angeles;Pacific Standard Time" use these timezone names to look up Daylight savings. ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows - DSTZone = "America/Los_Angeles;Pacific Standard Time" + DSTZone = "local" ;Basic Login Service Dos Protection Tweaks ;; @@ -506,16 +589,6 @@ ; HasProxy = false -[Messaging] - ; OfflineIM - OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" - - -[Groups] - ;; Sets the maximum number of groups an agent may join - ; MaxAgentGroups = 42 - - [GridInfoService] ; 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 @@ -529,10 +602,10 @@ login = ${Const|BaseURL}:${Const|PublicPort}/ ; long grid name: the long name of your grid - gridname = "the lost continent of hippo" + gridname = "${Const|GridName}" ; short grid name: the short name of your grid - gridnick = "hippogrid" + gridnick = "${Const|GridName}" ; login page: optional: if it exists it will be used to tell the client to use ; this as splash page @@ -555,10 +628,190 @@ ; password help: optional: page providing password assistance for users of your grid ;password = ${Const|BaseURL}/password + ; HG address of the gatekeeper, if you have one + ; this is the entry point for all the regions of the world + ; gatekeeper = ${Const|BaseURL}:${Const|PublicPort}/ + + ; HG user domain, if you have one + ; this is the entry point for all user-related HG services + ; uas = ${Const|BaseURL}:${Const|PublicPort}/ + + +[GatekeeperService] + LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService" + ;; for the service + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" + GridService = "OpenSim.Services.GridService.dll:GridService" + AuthenticationService = "OpenSim.Services.Connectors.dll:AuthenticationServicesConnector" + SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector" + ; how does the outside world reach me? This acts as public key too. + ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented + ; ExternalName = "${Const|BaseURL}:${Const|PublicPort}" + + ; Does this grid allow incoming links to any region in it? + ; If false, HG TPs happen only to the Default regions specified in [GridService] section + AllowTeleportsToAnyRegion = true + + ; If you run this gatekeeper server behind a proxy, set this to true + ; HasProxy = false + + ;; Are foreign visitors allowed? + ForeignAgentsAllowed = true + ;; + ;; If ForeignAgentsAllowed is true, make exceptions using AllowExcept. + ;; Leave blank or commented for no exceptions. + ; AllowExcept = "http://griefer.com:8002, http://enemy.com:8002" + ;; + ;; If ForeignAgentsAllowed is false, make exceptions using DisallowExcept + ;; Leave blank or commented for no exceptions. + ; DisallowExcept = "http://myfriendgrid.com:8002, http://myboss.com:8002" + + +[UserAgentService] + LocalServiceModule = "OpenSim.Services.HypergridService.dll:UserAgentService" + ;; for the service + GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" + GridService = "OpenSim.Services.GridService.dll:GridService" + GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + + ; If you run this user agent server behind a proxy, set this to true + ; HasProxy = false + + ;; If you separate the UserAgentService from the LoginService, set this to + ;; the IP address of the machine where your LoginService is + ;LoginServerIP = "127.0.0.1" + + ; User level required to be contacted from other grids + LevelOutsideContacts = 0 + + ;; Restrictions on destinations of local users. + ;; Are local users allowed to visit other grids? + ;; What user level? Use variables of this forrm: + ;; ForeignTripsAllowed_Level_ = true | false + ;; (the default is true) + ;; For example: + ; ForeignTripsAllowed_Level_0 = false + ; ForeignTripsAllowed_Level_200 = true ; true is default, no need to say it + ;; + ;; If ForeignTripsAllowed is false, make exceptions using DisallowExcept + ;; Leave blank or commented for no exceptions. + ; DisallowExcept_Level_0 = "http://myothergrid.com:8002, http://boss.com:8002" + ;; + ;; If ForeignTripsAllowed is true, make exceptions using AllowExcept. + ;; Leave blank or commented for no exceptions. + ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002" + + ;; This variable controls what is exposed to profiles of local users + ;; as seen from outside of this grid. Leave it uncommented for exposing + ;; UserTitle, UserFlags and the creation date. Uncomment and change to False + ;; to block this info from being exposed. + ; ShowUserDetailsInHGProfile = True + + +; * The interface that local users get when they are in other grids. +; * This restricts the inventory operations while in other grids. +; * Still not completely safe, especially if users perform inventory operations +; * while in those grids. The more the user accesses his/her inventory, the more +; * those simulators will know about the user's inventory. +; * +[HGInventoryService] + ; For the InventoryServiceInConnector + LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService" + ;; alternatives: + ;; HG1.5, more permissive, not recommended, but still supported + ;LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInventoryService" + ;; HG1.0, totally permissive, not recommended, but OK for grids with 100% trust + ;LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService" + + UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" + + ; HGInventoryService is a public-facing inventory service that allows users to + ; interact with their suitcase folder when on a foreign grid. This reuses the general inventory service connector. + ; Hence, if the user has set up authentication in [Network] to protect their private services + ; make sure it is not set here. + AuthType = None + + ;; Can overwrite the default in [Hypergrid], but probably shouldn't + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + + +; * The interface that local users get when they are in other grids. +; * This restricts the access that the rest of the world has to +; * the assets of this world. +; * +[HGAssetService] +; LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGAssetService" + LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFSAssetService" + UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + + ; HGAssetService is a public-facing service that allows users to + ; read and create assets when on another grid. This reuses the general asset service connector. + ; Hence, if the user has set up authentication in [Network] to protect their private services + ; make sure it is overriden for this public service. + AuthType = None + + ;; Can overwrite the default in [Hypergrid], but probably shouldn't + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + + ;; The asset types that this grid can export to / import from other grids. + ;; Comma separated. + ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: + ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, + ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh + ;; + ;; Leave blank or commented if you don't want to apply any restrictions. + ;; A more strict, but still reasonable, policy may be to disallow the exchange + ;; of scripts, like so: + ; DisallowExport ="LSLText" + ; DisallowImport ="LSLBytecode" + + +[HGFriendsService] + LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFriendsService" + UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" + FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + GridService = "OpenSim.Services.GridService.dll:GridService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + + +[HGInstantMessageService] + LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" + GridService = "OpenSim.Services.GridService.dll:GridService" + PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" + ; This should always be true in the Robust config + InGatekeeper = True + + +[Messaging] + ; OfflineIM + OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" + + +[Groups] + ;; for the HG Groups service + OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + + ;; What is the HomeURI of users associated with this grid? + ;; Can overwrite the default in [Hypergrid], but probably shouldn't + ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + + ;; Sets the maximum number of groups an agent may join + MaxAgentGroups = 420 + [UserProfilesService] LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" - Enabled = false + Enabled = true ;; Configure this for separate profiles database ;; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;" ;; Realm = UserProfiles @@ -569,4 +822,4 @@ [BakedTextureService] LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes" ;; This directory must be writable by the user ROBUST runs as. It will be created automatically. - BaseDirectory = "./bakes" + BaseDirectory = "bakes" -- cgit v1.1