OSSL Enabling Functions

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(updated to Current OpenSim revisions as of today's Master)
Line 1: Line 1:
 
Here is a '''modified [[XEngine]]''' section for your OpenSim.ini  
 
Here is a '''modified [[XEngine]]''' section for your OpenSim.ini  
  
This is <u>effective FROM OpenSim 0.7.1 Dev a7acb65-r/14142 (interface version 6)</u> October-21-2010 and is subject to change.  
+
This is <u>effective FROM 8:23 AM February-01-12 OpenSim DEV 0.7.3 OpenSim-003bd9f-r/17890</u> and is subject to change.  
  
NB:&nbsp; Slight Change Dec.10.2010 reflecting changes in Master to revised osFunction Names.
 
  
 
Please remember the following:  
 
Please remember the following:  
Line 9: Line 8:
 
*Not all functions may be available in previous versions / revisions of OpenSim.  
 
*Not all functions may be available in previous versions / revisions of OpenSim.  
 
*New functions may become available and some functions may be deprecated in the future.  
 
*New functions may become available and some functions may be deprecated in the future.  
*Consider using UUIDs for allowing certain functions to prevent potentially harmful uses.
+
*Consider using UUIDs for '''SPECIFIC USERS''' allowing certain functions to prevent potentially harmful uses.
 +
* Use '''PARCEL_GROUP_MEMBER , PARCEL_OWNER , ESTATE_MANAGER , ESTATE_OWNER''' instead of UUID's for Grouping Access.
  
Simply replace the [XEngine] section in your OpenSim.ini and adjust according to your needs.  
+
Simply replace the [XEngine] section in your OpenSim.ini and adjust according to your needs. '''NOTE ! The Allow_functions are commented out to prevent accidental use.'''
  
 
'''Special Security Note:''' The functions as shown within the example below have values set to "sane" values with moderately acceptable threat levels. Set according to your comfort level and what you determine to be an acceptable level of risk potential. See the page about [[Threat level]]s for an explanation of the various options that you have for enabling certain functions.  
 
'''Special Security Note:''' The functions as shown within the example below have values set to "sane" values with moderately acceptable threat levels. Set according to your comfort level and what you determine to be an acceptable level of risk potential. See the page about [[Threat level]]s for an explanation of the various options that you have for enabling certain functions.  
  
<source lang="ini">[XEngine]
+
<source lang="ini">
;# {Enabled} {} {Enable the XEngine scripting engine?} {true false} true
+
[XEngine]
;; Enable this engine in this OpenSim instance
+
    ;# {Enabled} {} {Enable the XEngine scripting engine?} {true false} true
Enabled = true
+
    ;; Enable this engine in this OpenSim instance
 +
    Enabled = true
  
;; How many threads to keep alive even if nothing is happening
+
    ;; How many threads to keep alive even if nothing is happening
; MinThreads = 2
+
    ;MinThreads = 2
  
;; How many threads to start at maximum load
+
    ;; How many threads to start at maximum load
; MaxThreads = 100
+
    ;MaxThreads = 100
  
;; Time a thread must be idle (in seconds) before it dies
+
    ;; Time a thread must be idle (in seconds) before it dies
; IdleTimeout = 60
+
    ;IdleTimeout = 60
  
;# {Priority} {Enabled:true} {Priority for script engine threads?} {Lowest BelowNormal Normal AboveNormal Highest} BelowNormal
+
    ;# {Priority} {Enabled:true} {Priority for script engine threads?} {Lowest BelowNormal Normal AboveNormal Highest} BelowNormal
;; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal",
+
    ;; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal",
;; "Highest")
+
    ;; "Highest")
; Priority = "BelowNormal"
+
    ;Priority = "BelowNormal"
  
;; Maximum number of events to queue for a script (excluding timers)
+
    ;; Maximum number of events to queue for a script (excluding timers)
; MaxScriptEventQueue = 300
+
    ;MaxScriptEventQueue = 300
  
;; Stack size per thread created
+
    ;; Stack size per thread created
; ThreadStackSize = 262144
+
    ;ThreadStackSize = 262144
  
;; Set this to true (the default) to load each script into a separate
+
    ;# {DeleteScriptsOnStartup} {} {Delete previously compiled script DLLs on startup?} (true false) true
;; AppDomain. Setting this to false will load all script assemblies into the
+
    ;; Controls whether previously compiled scripts DLLs are deleted on sim restart. If you set this to false
;; current AppDomain, which will reduce the per-script overhead at the
+
    ;; then startup will be considerably faster since scripts won't need to be recompiled. However, then it becomes your responsibility to delete the
;; expense of reduced security and the inability to garbage collect the
+
    ;; compiled scripts if you're recompiling OpenSim from source code and internal interfaces used
;; script assemblies
+
    ;; by scripts have changed.
; AppDomainLoading = false ;; OSG Set this to false
+
    ; DeleteScriptsOnStartup = true
AppDomainLoading = true
+
  
;# {DefaultCompileLanguage} {Enabled:true} {Default script language?} {lsl vb cs} lsl
+
    ;; Set this to true (the default) to load each script into a separate
;; Default language for scripts
+
    ;; AppDomain. Setting this to false will load all script assemblies into the
; DefaultCompileLanguage = "lsl"
+
    ;; current AppDomain, which will reduce the per-script overhead at the
 +
    ;; expense of reduced security and the inability to garbage collect the
 +
    ;; script assemblies
 +
    ; AppDomainLoading = true
  
;# {AllowedCompilers} {Enabled:true} {Languages to allow (comma separated)?} {} lsl
+
    ;# {DefaultCompileLanguage} {Enabled:true} {Default script language?} {lsl vb cs} lsl
;; List of allowed languages (lsl,vb,cs)
+
    ;; Default language for scripts
;; AllowedCompilers=lsl,cs,js,vb.
+
    ; DefaultCompileLanguage = "lsl"
;; *warning*, non lsl languages have access to static methods such as
+
;; System.IO.File. Enable at your own risk.
+
; AllowedCompilers = "lsl"
+
  
;; Compile debug info (line numbers) into the script assemblies
+
    ;# {AllowedCompilers} {Enabled:true} {Languages to allow (comma separated)?} {} lsl
  ; CompileWithDebugInformation = true
+
    ;; List of allowed languages (lsl,vb,cs)
 +
    ;; AllowedCompilers=lsl,cs,js,vb.
 +
    ;; *warning*, non lsl languages have access to static methods such as
 +
    ;; System.IO.File. Enable at your own risk.
 +
    ; AllowedCompilers = "lsl"
  
;; Allow the user of mod* functions. This allows a script to pass messages
+
    ;; Compile debug info (line numbers) into the script assemblies
;; to a region module via the modSendCommand() function
+
    ; CompileWithDebugInformation = true
;; Default is false
+
; AllowMODFunctions = false
+
  
;# {AllowLightShareFunctions} {Enabled:true [LightShare]enable_windlight:true} {Allow LightShare functions?} {true false} true
+
    ;; Allow the user of mod* functions. This allows a script to pass messages
; Allow the user of LightShare functions
+
    ;; to a region module via the modSendCommand() function
  AllowLightShareFunctions = true
+
    ;; Default is false
 +
    ; AllowMODFunctions = false
  
;; Time a script can spend in an event handler before it is interrupted
+
    ;# {AllowOSFunctions} {Enabled:true} {Allow OSFunctions? (DANGEROUS!)} {true false} false
; EventLimit = 30
+
    ;; Allow the use of os* functions (some are dangerous)
 +
    AllowOSFunctions = true
  
;; If a script overruns it's event limit, kill the script?
+
    ;# {AllowLightShareFunctions} {Enabled:true [LightShare]enable_windlight:true} {Allow LightShare functions?} {true false} true
; KillTimedOutScripts = false
+
    ; Allow the user of LightShare functions
 +
    AllowLightShareFunctions = true
  
;; Sets the multiplier for the scripting delays
+
    ;# {OSFunctionThreatLevel} {Enabled:true AllowOSFunctions:true} {OSFunction threat level? (DANGEROUS!)} {None VeryLow Low Moderate High VeryHigh Severe} VeryLow
; ScriptDelayFactor = 1.0
+
    ;; Threat level to allow, one of None, VeryLow, Low, Moderate, High,
 +
    ;; VeryHigh, Severe
 +
    OSFunctionThreatLevel = VeryLow
  
;; The factor the 10 m distances llimits are multiplied by
+
    ;; OS Functions enable/disable
; ScriptDistanceLimitFactor = 1.0
+
    ;; For each function, you can add one line, as shown
;;
+
    ;; The default for all functions allows them if below threat level
;; ==== OSSL FUNCTION BLOCK ====
+
;; More Info @ http://opensimulator.org/wiki/OSSL_Implemented
+
;; OSSL Functions as defined on October-21-2010 OpenSim 0.7.1 Dev a7acb65-r/14142 (interface version 6)
+
;;
+
;# {OSFunctionThreatLevel} {Enabled:true AllowOSFunctions:true} {OSFunction threat level? (DANGEROUS!)} {None VeryLow Low Moderate High VeryHigh Severe} VeryLow
+
;; *** Threat level to allow, one of None, VeryLow, Low, Moderate, High,
+
;; VeryHigh, Severe
+
OSFunctionThreatLevel = Low
+
;# {AllowOSFunctions} {Enabled:true} {Allow OSFunctions? (DANGEROUS!)} {true false} false
+
;; Allow the use of os* functions (some are dangerous)
+
AllowOSFunctions = true
+
;;
+
;; The default for all functions allows them if below the threat level as defined above
+
;; If a Higher Threat Level Function is set to TRUE This will operate OVER the above define default level
+
;;
+
;; = true allows the use of the function unconditionally
+
;; = false completely disallows regardless
+
;; = UUID allows that Individual Avatar Access to osFunction
+
;; UUID,UUID,UUID would allow the 3 different avatars to access function
+
;;
+
;; *** Threat-Level=None
+
Allow_osDrawEllipse = true
+
Allow_osDrawFilledPolygon = true
+
Allow_osDrawPolygon = true
+
Allow_osDrawFilledRectangle = true
+
Allow_osDrawImage = true
+
Allow_osDrawLine = true
+
Allow_osDrawLine = true
+
Allow_osDrawRectangle = true
+
Allow_osDrawText = true
+
Allow_osGetAgents = true
+
Allow_osGetAvatarList = true
+
Allow_osGetCurrentSunHour = true
+
Allow_osGetMapTexture = true
+
Allow_osList2Double = true
+
Allow_osMovePen = true
+
Allow_osParseJSON = true
+
Allow_osSetFontName = true
+
Allow_osSetFontSize = true
+
Allow_osSetPenCap = true
+
Allow_osSetPenColor = true
+
Allow_osSetPenSize = true
+
Allow_osGetSunParam = true
+
Allow_osSetSunParam = true
+
Allow_osGetTerrainHeight = true
+
Allow_osWindActiveModelPluginName = true
+
;; *** Threat-Level=Nuisance
+
Allow_osSetEstateSunSettings = false
+
Allow_osSetRegionSunSettings = false
+
;; *** Threat-Level=VeryLow
+
Allow_osGetDrawStringSize = true
+
Allow_osSetDynamicTextureData = true
+
Allow_osSetDynamicTextureDataBlend = true
+
Allow_osSetDynamicTextureDataBlendFace = true
+
Allow_osSetDynamicTextureURL = true
+
Allow_osSetDynamicTextureURLBlend = true
+
Allow_osSetDynamicTextureURLBlendFace = true
+
Allow_osSetParcelMediaURL = false
+
Allow_osSetParcelSIPAddress = false
+
Allow_osSetPrimFloatOnWater = true
+
Allow_osTerrainFlush = false
+
;; Allow_osGetWindParam = true ;; Not Available at this time
+
;; Allow_osSetWindParam = true ;; Not Available at this time
+
;; *** Threat-Level=Low
+
Allow_osAvatarName2Key = true
+
Allow_osFormatString = true
+
Allow_osKey2Name = true
+
Allow_osLoadedCreationDate = false
+
Allow_osLoadedCreationID = false
+
Allow_osLoadedCreationTime = false
+
Allow_osMessageObject = true
+
;; *** Threat-Level=Moderate
+
Allow_osGetGridLoginURI = true
+
Allow_osGetGridName = true
+
Allow_osGetGridNick = true
+
Allow_osGetRegionStats = true
+
Allow_osGetSimulatorMemory = true
+
Allow_osSetSpeed = true
+
;; *** Threat-Level=High Recomended to use UUID for those set as false
+
Allow_osCauseDamage = false
+
Allow_osCauseHealing = false
+
Allow_osGetAgentIP = false
+
Allow_osGetLinkPrimitiveParams = true
+
Allow_osGetPrimitiveParams = true
+
Allow_osSetPrimitiveParams = true
+
Allow_osGetRegionMapTexture = true
+
Allow_osGetScriptEngineName = false
+
Allow_osMakeNotecard = false
+
Allow_osMatchString = true
+
Allow_osNpcCreate = false
+
Allow_osNpcMoveTo = false
+
Allow_osNpcRemove = false
+
Allow_osNpcSay = false
+
Allow_osParcelJoin = false
+
Allow_osParcelSetDetails = false
+
Allow_osParcelSubdivide = false
+
Allow_osRegionRestart = false
+
Allow_osSetProjectionParams = false
+
Allow_osSetRegionWaterHeight = false
+
Allow_osSetStateEvents = false
+
Allow_osTeleportAgent = false
+
Allow_osSetTerrainHeight = false
+
Allow_osGetSimulatorVersion = true
+
;; *** Threat-Level=VeryHigh Recomended to use UUID for those set as false
+
Allow_osAvatarPlayAnimation = false
+
Allow_osAvatarStopAnimation = false
+
Allow_osGetNotecard = false
+
Allow_osGetNotecardLine = false
+
Allow_osGetNumberOfNotecardLines = false
+
Allow_osRegionNotice = false
+
Allow_osSetRot = false
+
;; *** Threat-Level=Severe Recomended to use UUID for those set as false
+
Allow_osConsoleCommand = false
+
Allow_osKickAvatar = false
+
;;
+
;; ==== END OF OSSL FUNCTION BLOCK ====
+
;; Maximum length of notecard line read
+
;; Increasing this to large values potentially opens
+
;; up the system to malicious scripters
+
;; NotecardLineReadCharsMax = 255
+
  
;; Sensor settings
+
    ;; true allows the use of the function unconditionally
; SensorMaxRange = 96.0
+
    ; Allow_osSetRegionWaterHeight = true
; SensorMaxResults = 16
+
   
 +
    ;; 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>, ...
  
;; Disable underground movement of prims (default true); set to
+
    ;; You can also use script creators as the uuid
;; false to allow script controlled underground positioning of
+
    ; Creators_osSetRegionWaterHeight = <uuid>, ...
;; prims
+
; DisableUndergroundMovement = true</source>  
+
  
--[[User:WhiteStar|WhiteStar]] 00:21, 11 December 2010 (UTC)  
+
    ;; If both Allow_ and Creators_ are given, effective permissions
 +
    ;; are the union of the two.
 +
 
 +
    ;; Time a script can spend in an event handler before it is interrupted
 +
    ; EventLimit = 30
 +
 
 +
    ;; If a script overruns it's event limit, kill the script?
 +
    ; KillTimedOutScripts = false
 +
 
 +
    ;; Sets the multiplier for the scripting delays
 +
    ; ScriptDelayFactor = 1.0
 +
 
 +
    ;; The factor the 10 m distances llimits are multiplied by
 +
    ; ScriptDistanceLimitFactor = 1.0
 +
 
 +
    ;; Maximum length of notecard line read
 +
    ;; Increasing this to large values potentially opens
 +
    ;; up the system to malicious scripters
 +
    ; NotecardLineReadCharsMax = 255
 +
 
 +
    ;; Sensor settings
 +
    ; SensorMaxRange = 96.0
 +
    ; SensorMaxResults = 16
 +
 
 +
    ;; Disable underground movement of prims (default true); set to
 +
    ;; false to allow script controlled underground positioning of
 +
    ;; prims
 +
    ; DisableUndergroundMovement = true
 +
 
 +
    ;; Path to script engine assemblies
 +
    ;; Default is ./bin/ScriptEngines
 +
    ; ScriptEnginesPath = "ScriptEngines"
 +
   
 +
    ;; ========== OSSL FUNCTION BLOCK ==========
 +
    ;; OS FUNCTIONS as of 8:23 AM February-01-12 
 +
    ;; Extracted from OpenSim DEV 0.7.3 OpenSim-003bd9f-r/17890
 +
    ;;
 +
    ;; ADJUST as needed or desired
 +
    ;; ========================================
 +
    ;;
 +
    ;; *** Threat-Level=None
 +
    ;Allow_osDrawEllipse = true
 +
    ;Allow_osDrawFilledPolygon = true
 +
    ;Allow_osDrawFilledRectangle = true
 +
    ;Allow_osDrawImage = true
 +
    ;Allow_osDrawLine = true
 +
    ;Allow_osDrawPolygon = true
 +
    ;Allow_osDrawRectangle = true
 +
    ;Allow_osDrawText = true
 +
    ;Allow_osGetAgents = true
 +
    ;Allow_osGetAvatarList = true
 +
    ;Allow_osGetCurrentSunHour = true
 +
    ;Allow_osGetMapTexture = true
 +
    ;Allow_osGetSunParam = true
 +
    ;Allow_osGetTerrainHeight = true
 +
    ;Allow_osIsNpc = true
 +
    ;Allow_osList2Double = true
 +
    ;Allow_osMovePen = true
 +
    ;Allow_osNpcGetOwner = true
 +
    ;Allow_osParseJSON = true
 +
    ;Allow_osParseJSONNew = true
 +
    ;Allow_osSetFontName = true
 +
    ;Allow_osSetFontSize = true
 +
    ;Allow_osSetPenCap = true
 +
    ;Allow_osSetPenColor = true
 +
    ;Allow_osSetPenColour = true
 +
    ;Allow_osSetPenSize = true
 +
    ;Allow_osSetSunParam = true
 +
    ;Allow_osTeleportOwner = true
 +
    ;Allow_osWindActiveModelPluginName = true
 +
    ;;
 +
    ;; *** Threat-Level=Nuisance
 +
    ;Allow_osSetEstateSunSettings = false
 +
    ;Allow_osSetRegionSunSettings = false
 +
    ;;
 +
    ;; *** Threat-Level=VeryLow
 +
    ;Allow_osGetDrawStringSize = true
 +
    ;Allow_osGetWindParam = true
 +
    ;Allow_osNpcStopMoveToTarget = true
 +
    ;Allow_osSetDynamicTextureData = true
 +
    ;Allow_osSetDynamicTextureDataBlend = true
 +
    ;Allow_osSetDynamicTextureDataBlendFace = true
 +
    ;Allow_osSetDynamicTextureURL = true
 +
    ;Allow_osSetDynamicTextureURLBlend = true
 +
    ;Allow_osSetDynamicTextureURLBlendFace = true
 +
    ;Allow_osSetParcelMediaURL = false
 +
    ;Allow_osSetParcelSIPAddress = false
 +
    ;Allow_osSetPrimFloatOnWater = true
 +
    ;Allow_osSetWindParam = false
 +
    ;Allow_osTerrainFlush = false
 +
    ;Allow_osUnixTimeToTimestamp = true
 +
    ;;   
 +
    ;; *** Threat-Level=Low
 +
    ;Allow_osAvatarName2Key = true
 +
    ;Allow_osFormatString = true
 +
    ;Allow_osKey2Name = true
 +
    ;Allow_osLoadedCreationDate = false
 +
    ;Allow_osLoadedCreationID = false
 +
    ;Allow_osLoadedCreationTime = false
 +
    ;Allow_osMessageObject = true
 +
    ;;   
 +
    ;; *** Threat-Level=Moderate
 +
    ;Allow_osGetGridCustom = false
 +
    ;Allow_osGetGridHomeURI = false
 +
    ;Allow_osGetGridLoginURI = false
 +
    ;Allow_osGetGridName = false
 +
    ;Allow_osGetGridNick = false
 +
    ;Allow_osGetRegionStats = false
 +
    ;Allow_osGetSimulatorMemory = false
 +
    ;Allow_osSetSpeed = false
 +
    ;;   
 +
    ;; *** Threat-Level=High
 +
    ;Allow_osOwnerSaveAppearance = false
 +
    ;Allow_osCauseDamage = false
 +
    ;Allow_osCauseHealing = false
 +
    ;Allow_osGetAgentIP = false
 +
    ;Allow_osGetLinkPrimitiveParams = false
 +
    ;Allow_osGetPrimitiveParams = false
 +
    ;Allow_osGetRegionMapTexture = false
 +
    ;Allow_osGetScriptEngineName = false
 +
    ;Allow_osGetSimulatorVersion = false
 +
    ;Allow_osMakeNotecard = false
 +
    ;Allow_osMatchString = false
 +
    ;Allow_osNpcCreate = false
 +
    ;Allow_osNpcGetPos = false
 +
    ;Allow_osNpcGetRot = false
 +
    ;Allow_osNpcLoadAppearance = false
 +
    ;Allow_osNpcMoveTo = false
 +
    ;Allow_osNpcMoveToTarget = false
 +
    ;Allow_osNpcPlayAnimation = false
 +
    ;Allow_osNpcRemove = false
 +
    ;Allow_osNpcSaveAppearance = false
 +
    ;Allow_osNpcSay = false
 +
    ;Allow_osNpcSetRot = false
 +
    ;Allow_osNpcSit = false
 +
    ;Allow_osNpcStand = false
 +
    ;Allow_osNpcStopAnimation = false
 +
    ;Allow_osParcelJoin = false
 +
    ;Allow_osParcelSubdivide = false
 +
    ;Allow_osRegionRestart = false
 +
    ;Allow_osSetParcelDetails = false
 +
    ;Allow_osSetPrimitiveParams = false
 +
    ;Allow_osSetProjectionParams = false
 +
    ;Allow_osSetRegionWaterHeight = false
 +
    ;Allow_osSetStateEvents = false
 +
    ;Allow_osSetTerrainHeight = false
 +
    ;;   
 +
    ;; *** Threat-Level=VeryHigh
 +
    ;Allow_osAvatarPlayAnimation = false
 +
    ;Allow_osAvatarStopAnimation = false
 +
    ;Allow_osGetNotecard = false
 +
    ;Allow_osGetNotecardLine = false
 +
    ;Allow_osGetNumberOfNotecardLines = false
 +
    ;Allow_osRegionNotice = false
 +
    ;Allow_osAgentSaveAppearance = false    ;(missing from IOSSL_API.cs)
 +
    ;Allow_osSetRot = false    ;(missing from IOSSL_API.cs)
 +
    ;;   
 +
    ;; *** Threat-Level=Severe
 +
    ;Allow_osConsoleCommand = false
 +
    ;Allow_osKickAvatar = false
 +
    ;Allow_osTeleportAgent = false
 +
 
 +
</source>
 +
 
 +
--[[User:WhiteStar|WhiteStar]] 07:50, 1 February 2012 (PST)
  
 
= See Also  =
 
= See Also  =

Revision as of 08:50, 1 February 2012

Here is a modified XEngine section for your OpenSim.ini

This is effective FROM 8:23 AM February-01-12 OpenSim DEV 0.7.3 OpenSim-003bd9f-r/17890 and is subject to change.


Please remember the following:

  • Not all functions may be available in previous versions / revisions of OpenSim.
  • New functions may become available and some functions may be deprecated in the future.
  • Consider using UUIDs for SPECIFIC USERS allowing certain functions to prevent potentially harmful uses.
  • Use PARCEL_GROUP_MEMBER , PARCEL_OWNER , ESTATE_MANAGER , ESTATE_OWNER instead of UUID's for Grouping Access.

Simply replace the [XEngine] section in your OpenSim.ini and adjust according to your needs. NOTE ! The Allow_functions are commented out to prevent accidental use.

Special Security Note: The functions as shown within the example below have values set to "sane" values with moderately acceptable threat levels. Set according to your comfort level and what you determine to be an acceptable level of risk potential. See the page about Threat levels for an explanation of the various options that you have for enabling certain functions.

[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 thread created
    ;ThreadStackSize = 262144
 
    ;# {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 = true
 
    ;; Set this to true (the default) to load each script into a separate
    ;; AppDomain. Setting this to false will load all script assemblies into the
    ;; current AppDomain, which will reduce the per-script overhead at the
    ;; expense of reduced security and the inability to garbage collect the
    ;; script assemblies
    ; AppDomainLoading = true
 
    ;# {DefaultCompileLanguage} {Enabled:true} {Default script language?} {lsl vb cs} lsl
    ;; Default language for scripts
    ; DefaultCompileLanguage = "lsl"
 
    ;# {AllowedCompilers} {Enabled:true} {Languages to allow (comma separated)?} {} lsl
    ;; List of allowed languages (lsl,vb,cs)
    ;; AllowedCompilers=lsl,cs,js,vb.
    ;; *warning*, non lsl languages have access to static methods such as
    ;; System.IO.File.  Enable at your own risk.
    ; AllowedCompilers = "lsl"
 
    ;; Compile debug info (line numbers) into the script assemblies
    ; CompileWithDebugInformation = true
 
    ;; Allow the user of mod* functions.  This allows a script to pass messages
    ;; to a region module via the modSendCommand() function
    ;; Default is false
    ; AllowMODFunctions = false
 
    ;# {AllowOSFunctions} {Enabled:true} {Allow OSFunctions? (DANGEROUS!)} {true false} false
    ;; Allow the use of os* functions (some are dangerous)
    AllowOSFunctions = true
 
    ;# {AllowLightShareFunctions} {Enabled:true [LightShare]enable_windlight:true} {Allow LightShare functions?} {true false} true
    ; Allow the user of LightShare functions
    AllowLightShareFunctions = true
 
    ;# {OSFunctionThreatLevel} {Enabled:true AllowOSFunctions:true} {OSFunction threat level? (DANGEROUS!)} {None VeryLow Low Moderate High VeryHigh Severe} VeryLow
    ;; 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 = <uuid>, ...
 
    ;; If both Allow_ and Creators_ are given, effective permissions
    ;; are the union of the two.
 
    ;; Time a script can spend in an event handler before it is interrupted
    ; EventLimit = 30
 
    ;; If a script overruns it's event limit, kill the script?
    ; KillTimedOutScripts = false
 
    ;; Sets the multiplier for the scripting delays
    ; ScriptDelayFactor = 1.0
 
    ;; The factor the 10 m distances llimits are multiplied by
    ; ScriptDistanceLimitFactor = 1.0
 
    ;; Maximum length of notecard line read
    ;; Increasing this to large values potentially opens
    ;; up the system to malicious scripters
    ; NotecardLineReadCharsMax = 255
 
    ;; Sensor settings
    ; SensorMaxRange = 96.0
    ; SensorMaxResults = 16
 
    ;; Disable underground movement of prims (default true); set to
    ;; false to allow script controlled underground positioning of
    ;; prims
    ; DisableUndergroundMovement = true
 
    ;; Path to script engine assemblies
    ;; Default is ./bin/ScriptEngines
    ; ScriptEnginesPath = "ScriptEngines"
 
    ;; ========== OSSL FUNCTION BLOCK ==========
    ;; OS FUNCTIONS as of 8:23 AM February-01-12  
    ;; Extracted from OpenSim DEV 0.7.3 OpenSim-003bd9f-r/17890
    ;; 
    ;; ADJUST as needed or desired 
    ;; ========================================
    ;;
    ;; *** Threat-Level=None 
    ;Allow_osDrawEllipse = true
    ;Allow_osDrawFilledPolygon = true
    ;Allow_osDrawFilledRectangle = true
    ;Allow_osDrawImage = true
    ;Allow_osDrawLine = true
    ;Allow_osDrawPolygon = true
    ;Allow_osDrawRectangle = true
    ;Allow_osDrawText = true
    ;Allow_osGetAgents = true
    ;Allow_osGetAvatarList = true
    ;Allow_osGetCurrentSunHour = true
    ;Allow_osGetMapTexture = true
    ;Allow_osGetSunParam = true
    ;Allow_osGetTerrainHeight = true
    ;Allow_osIsNpc = true
    ;Allow_osList2Double = true
    ;Allow_osMovePen = true
    ;Allow_osNpcGetOwner = true
    ;Allow_osParseJSON = true
    ;Allow_osParseJSONNew = true
    ;Allow_osSetFontName = true
    ;Allow_osSetFontSize = true
    ;Allow_osSetPenCap = true
    ;Allow_osSetPenColor = true
    ;Allow_osSetPenColour = true
    ;Allow_osSetPenSize = true
    ;Allow_osSetSunParam = true
    ;Allow_osTeleportOwner = true
    ;Allow_osWindActiveModelPluginName = true
    ;;
    ;; *** Threat-Level=Nuisance
    ;Allow_osSetEstateSunSettings = false
    ;Allow_osSetRegionSunSettings = false
    ;;
    ;; *** Threat-Level=VeryLow
    ;Allow_osGetDrawStringSize = true
    ;Allow_osGetWindParam = true
    ;Allow_osNpcStopMoveToTarget = true
    ;Allow_osSetDynamicTextureData = true
    ;Allow_osSetDynamicTextureDataBlend = true
    ;Allow_osSetDynamicTextureDataBlendFace = true
    ;Allow_osSetDynamicTextureURL = true
    ;Allow_osSetDynamicTextureURLBlend = true
    ;Allow_osSetDynamicTextureURLBlendFace = true
    ;Allow_osSetParcelMediaURL = false
    ;Allow_osSetParcelSIPAddress = false
    ;Allow_osSetPrimFloatOnWater = true
    ;Allow_osSetWindParam = false
    ;Allow_osTerrainFlush = false
    ;Allow_osUnixTimeToTimestamp = true
    ;;    
    ;; *** Threat-Level=Low
    ;Allow_osAvatarName2Key = true
    ;Allow_osFormatString = true
    ;Allow_osKey2Name = true
    ;Allow_osLoadedCreationDate = false
    ;Allow_osLoadedCreationID = false
    ;Allow_osLoadedCreationTime = false
    ;Allow_osMessageObject = true
    ;;    
    ;; *** Threat-Level=Moderate
    ;Allow_osGetGridCustom = false
    ;Allow_osGetGridHomeURI = false
    ;Allow_osGetGridLoginURI = false
    ;Allow_osGetGridName = false
    ;Allow_osGetGridNick = false
    ;Allow_osGetRegionStats = false
    ;Allow_osGetSimulatorMemory = false
    ;Allow_osSetSpeed = false
    ;;    
    ;; *** Threat-Level=High
    ;Allow_osOwnerSaveAppearance = false
    ;Allow_osCauseDamage = false
    ;Allow_osCauseHealing = false
    ;Allow_osGetAgentIP = false
    ;Allow_osGetLinkPrimitiveParams = false
    ;Allow_osGetPrimitiveParams = false
    ;Allow_osGetRegionMapTexture = false
    ;Allow_osGetScriptEngineName = false
    ;Allow_osGetSimulatorVersion = false
    ;Allow_osMakeNotecard = false
    ;Allow_osMatchString = false
    ;Allow_osNpcCreate = false
    ;Allow_osNpcGetPos = false
    ;Allow_osNpcGetRot = false
    ;Allow_osNpcLoadAppearance = false
    ;Allow_osNpcMoveTo = false
    ;Allow_osNpcMoveToTarget = false
    ;Allow_osNpcPlayAnimation = false
    ;Allow_osNpcRemove = false
    ;Allow_osNpcSaveAppearance = false
    ;Allow_osNpcSay = false
    ;Allow_osNpcSetRot = false
    ;Allow_osNpcSit = false
    ;Allow_osNpcStand = false
    ;Allow_osNpcStopAnimation = false
    ;Allow_osParcelJoin = false
    ;Allow_osParcelSubdivide = false
    ;Allow_osRegionRestart = false
    ;Allow_osSetParcelDetails = false
    ;Allow_osSetPrimitiveParams = false
    ;Allow_osSetProjectionParams = false
    ;Allow_osSetRegionWaterHeight = false
    ;Allow_osSetStateEvents = false
    ;Allow_osSetTerrainHeight = false
    ;;    
    ;; *** Threat-Level=VeryHigh
    ;Allow_osAvatarPlayAnimation = false
    ;Allow_osAvatarStopAnimation = false
    ;Allow_osGetNotecard = false
    ;Allow_osGetNotecardLine = false
    ;Allow_osGetNumberOfNotecardLines = false
    ;Allow_osRegionNotice = false
    ;Allow_osAgentSaveAppearance = false    ;(missing from IOSSL_API.cs)
    ;Allow_osSetRot = false    ;(missing from IOSSL_API.cs)
    ;;    
    ;; *** Threat-Level=Severe
    ;Allow_osConsoleCommand = false
    ;Allow_osKickAvatar = false
    ;Allow_osTeleportAgent = false

--WhiteStar 07:50, 1 February 2012 (PST)

See Also

Personal tools
General
About This Wiki