OSSL Enabling Functions

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(See Also)
 
(17 intermediate revisions by 7 users not shown)
Line 1: Line 1:
Here is a '''modified [XEngine]''' section for your OpenSim.ini
+
{{#if:{{{1|}}}|{{Languages|{{{1|}}}}}|{{Languages}}}}
  
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.
+
Several OSSL functions can only be execute by some users.<br>
 +
This is controled in file bin/config-include/OsslEnable.ini<br>
 +
Please consult [[OsslEnable.ini]] file for more information<br>
  
Please remember the following:
+
<div style="background-color:#FFA0A0; padding:10px; padding-bottom:5px; border: 1px #FF544F solid">
* Not all functions may be available in previous versions / revisions of OpenSim.  
+
'''Following is now Outdated.'''
 +
</div>
 +
 
 +
This is <u>effective FROM OpenSimulator DEV 08 OpenSim-r25920</u> and is subject to change.<br>
 +
Please remember the following:<br>
 +
* Not all functions may be available in previous versions / revisions of OpenSimulator.  
 
* 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. '''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.
 +
 
 +
<source lang="ini">
 +
[XEngine]
 +
    ;# {Enabled} {} {Enable the XEngine scripting engine?} {true false} true
 +
    ;; Enable this engine in this OpenSimulator 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 OpenSimulator from source code and internal interfaces used
 +
    ;; by scripts have changed.
 +
    ; DeleteScriptsOnStartup = true
  
Simply replace the [XEngine] section in your OpenSim.ini and adjust according to your needs.
+
    ;; 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
  
'''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.
+
    ;# {DefaultCompileLanguage} {Enabled:true} {Default script language?} {lsl vb cs} lsl
 +
    ;; Default language for scripts
 +
    ; DefaultCompileLanguage = "lsl"
  
<source lang="ini">[XEngine]
+
    ;# {AllowedCompilers} {Enabled:true} {Languages to allow (comma separated)?} {} lsl
;# {Enabled} {} {Enable the XEngine scripting engine?} {true false} true
+
    ;; List of allowed languages (lsl,vb,cs)
;; Enable this engine in this OpenSim instance
+
    ;; AllowedCompilers=lsl,cs,js,vb.
  Enabled = true
+
    ;; *warning*, non lsl languages have access to static methods such as
 +
    ;; System.IO.File. Enable at your own risk.
 +
    ; AllowedCompilers = "lsl"
  
;; How many threads to keep alive even if nothing is happening
+
    ;; Compile debug info (line numbers) into the script assemblies
; MinThreads = 2
+
    ; CompileWithDebugInformation = true
  
  ;; How many threads to start at maximum load
+
    ;; Allow the user of mod* functions. This allows a script to pass messages
; MaxThreads = 100
+
    ;; to a region module via the modSendCommand() function
 +
    ;; Default is false
 +
    ; AllowMODFunctions = false
  
;; Time a thread must be idle (in seconds) before it dies
+
    ;# {AllowOSFunctions} {Enabled:true} {Allow OSFunctions? (DANGEROUS!)} {true false} false
; IdleTimeout = 60
+
    ;; Allow the use of os* functions (some are dangerous)
 +
    AllowOSFunctions = true
  
;# {Priority} {Enabled:true} {Priority for script engine threads?} {Lowest BelowNormal Normal AboveNormal Highest} BelowNormal
+
    ;# {AllowLightShareFunctions} {Enabled:true [LightShare]enable_windlight:true} {Allow LightShare functions?} {true false} true
;; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal",
+
    ; Allow the user of LightShare functions
;; "Highest")
+
    AllowLightShareFunctions = true
; Priority = "BelowNormal"
+
  
;; Maximum number of events to queue for a script (excluding timers)
+
    ;# {OSFunctionThreatLevel} {Enabled:true AllowOSFunctions:true} {OSFunction threat level? (DANGEROUS!)} {None VeryLow Low Moderate High VeryHigh Severe} VeryLow
; MaxScriptEventQueue = 300
+
    ;; Threat level to allow, one of None, VeryLow, Low, Moderate, High,
 +
    ;; VeryHigh, Severe
 +
    OSFunctionThreatLevel = VeryLow
  
;; Stack size per thread created
+
    ;; OS Functions enable/disable
; ThreadStackSize = 262144
+
    ;; For each function, you can add one line, as shown
 +
    ;; The default for all functions allows them if below threat level
  
;; Set this to true (the default) to load each script into a separate
+
    ;; true allows the use of the function unconditionally
;; AppDomain. Setting this to false will load all script assemblies into the
+
    ; Allow_osSetRegionWaterHeight = true
;; current AppDomain, which will reduce the per-script overhead at the
+
   
;; expense of reduced security and the inability to garbage collect the
+
    ;; false disables the function completely
;; script assemblies
+
    ; Allow_osSetRegionWaterHeight = false
; AppDomainLoading = false ;; OSG Set this to false
+
   
AppDomainLoading = true
+
    ;; 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>, ...
  
;# {DefaultCompileLanguage} {Enabled:true} {Default script language?} {lsl vb cs} lsl
+
    ;; You can also use script creators as the uuid
;; Default language for scripts
+
    ; Creators_osSetRegionWaterHeight = <uuid>, ...
; DefaultCompileLanguage = "lsl"
+
  
;# {AllowedCompilers} {Enabled:true} {Languages to allow (comma separated)?} {} lsl
+
    ;; If both Allow_ and Creators_ are given, effective permissions
;; List of allowed languages (lsl,vb,cs)
+
    ;; are the union of the two.
;; 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
+
    ;; Time a script can spend in an event handler before it is interrupted
; CompileWithDebugInformation = true
+
    ; EventLimit = 30
  
;; Allow the user of mod* functions. This allows a script to pass messages
+
    ;; If a script overruns it's event limit, kill the script?
;; to a region module via the modSendCommand() function
+
    ; KillTimedOutScripts = false
;; Default is false
+
; AllowMODFunctions = false
+
  
;# {AllowLightShareFunctions} {Enabled:true [LightShare]enable_windlight:true} {Allow LightShare functions?} {true false} true
+
    ;; Sets the multiplier for the scripting delays
; Allow the user of LightShare functions
+
    ; ScriptDelayFactor = 1.0
AllowLightShareFunctions = true
+
  
;; Time a script can spend in an event handler before it is interrupted
+
    ;; The factor the 10 m distances llimits are multiplied by
; EventLimit = 30
+
    ; ScriptDistanceLimitFactor = 1.0
  
;; If a script overruns it's event limit, kill the script?
+
    ;; Maximum length of notecard line read
; KillTimedOutScripts = false
+
    ;; Increasing this to large values potentially opens
 +
    ;; up the system to malicious scripters
 +
    ; NotecardLineReadCharsMax = 255
  
;; Sets the multiplier for the scripting delays
+
    ;; Sensor settings
; ScriptDelayFactor = 1.0
+
    ; SensorMaxRange = 96.0
 +
    ; SensorMaxResults = 16
  
;; The factor the 10 m distances llimits are multiplied by
+
    ;; Disable underground movement of prims (default true); set to
; ScriptDistanceLimitFactor = 1.0
+
    ;; false to allow script controlled underground positioning of
;;
+
    ;; prims
;; ==== OSSL FUNCTION BLOCK ====
+
    ; DisableUndergroundMovement = true
;; 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_osSetPenColour = true
+
Allow_osSetPenSize = true
+
Allow_osSunGetParam = true
+
Allow_osSunSetParam = true
+
Allow_osTerrainGetHeight = 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_osWindParamGet = true ;; Not Available at this time
+
;; Allow_osWindParamSet = 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_osTerrainSetHeight = 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
+
    ;; Path to script engine assemblies
; SensorMaxRange = 96.0
+
    ;; Default is ./bin/ScriptEngines
  ; SensorMaxResults = 16
+
    ; ScriptEnginesPath = "ScriptEngines"
 +
   
 +
    ;; ========== OSSL FUNCTION BLOCK ==========
 +
    ;; OS FUNCTIONS as of 8:23 AM February-01-12  
 +
    ;; Extracted from OpenSimulator DEV 0.7.3 OpenSim-003bd9f-r/17959
 +
    ;;
 +
    ;; 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_osGetHealth = true
 +
    ;Allow_osGetInventoryDesc = true
 +
    ;Allow_osGetMapTexture = true
 +
    ;Allow_osGetRezzingObject = true
 +
    ;Allow_osGetSunParam = true
 +
    ;Allow_osGetTerrainHeight = true
 +
    ;Allow_osIsNpc = true
 +
    ;Allow_osList2Double = true
 +
    ;Allow_osMax = true
 +
    ;Allow_osMin = 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_osReplaceString = true
 +
    ;Allow_osSetDynamicTextureData = true
 +
    ;Allow_osSetDynamicTextureDataBlend = true
 +
    ;Allow_osSetDynamicTextureDataBlendFace = true
 +
    ;Allow_osSetDynamicTextureURL = true
 +
    ;Allow_osSetDynamicTextureURLBlend = true
 +
    ;Allow_osSetDynamicTextureURLBlendFace = true
 +
    ;Allow_osSetParcelMediaURL = true
 +
    ;Allow_osSetParcelSIPAddress = true
 +
    ;Allow_osSetPrimFloatOnWater = true
 +
    ;Allow_osSetWindParam = true
 +
    ;Allow_osTerrainFlush = true
 +
    ;Allow_osUnixTimeToTimestamp = true
 +
    ;;   
 +
    ;; *** Threat-Level=Low
 +
    ;Allow_osAvatarName2Key = true
 +
    ;Allow_osFormatString = true
 +
    ;Allow_osKey2Name = true
 +
    ;Allow_osListenRegex = true
 +
    ;Allow_osLoadedCreationDate = true
 +
    ;Allow_osLoadedCreationID = true
 +
    ;Allow_osLoadedCreationTime = true
 +
    ;Allow_osMessageObject = true
 +
    ;Allow_osRegexIsMatch = true
 +
    ;;   
 +
    ;; *** Threat-Level=Moderate
 +
    ;Allow_osDropAttachment = true
 +
    ;Allow_osDropAttachmentAt = true
 +
    ;Allow_osGetGridCustom = true
 +
    ;Allow_osGetGridCustom = true
 +
    ;Allow_osGetGridGatekeeperURI = true
 +
    ;Allow_osGetGridHomeURI = true
 +
    ;Allow_osGetGridLoginURI = true
 +
    ;Allow_osGetGridName = true
 +
    ;Allow_osGetGridNick = true
 +
    ;Allow_osGetRegionStats = true
 +
    ;Allow_osGetSimulatorMemory = true
 +
    ;Allow_osSetSpeed = true
 +
    ;;   
 +
    ;; *** Threat-Level=High
 +
   
 +
    ;Allow_osCauseDamage = false
 +
    ;Allow_osCauseHealing = false
 +
    ;Allow_osForceDropAttachment = false
 +
    ;Allow_osForceDropAttachmentAt = false
 +
    ;Allow_osGetAgentIP = false
 +
    ;Allow_osGetLinkPrimitiveParams = false
 +
    ;Allow_osGetPhysicsEngineType = 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_osNpcShout = false
 +
    ;Allow_osNpcSit = false
 +
    ;Allow_osNpcStand = false
 +
    ;Allow_osNpcStopAnimation = false
 +
    ;Allow_osNpcTouch = false
 +
    ;Allow_osNpcWhisper = false
 +
    ;Allow_osOwnerSaveAppearance = false
 +
    ;Allow_osParcelJoin = false
 +
    ;Allow_osParcelSubdivide = false
 +
    ;Allow_osRegionRestart = false
 +
    ;Allow_osSetContentType = false
 +
    ;Allow_osSetParcelDetails = false
 +
    ;Allow_osSetPrimitiveParams = false
 +
    ;Allow_osSetProjectionParams = false
 +
    ;Allow_osSetRegionWaterHeight = false
 +
    ;Allow_osSetStateEvents = false
 +
    ;Allow_osSetTerrainHeight = false
 +
    ;;   
 +
    ;; *** Threat-Level=VeryHigh
 +
    ;Allow_osAgentSaveAppearance = false 
 +
    ;Allow_osAvatarPlayAnimation = false
 +
    ;Allow_osAvatarStopAnimation = false
 +
    ;Allow_osGetNotecard = false
 +
    ;Allow_osGetNotecardLine = false
 +
    ;Allow_osGetNumberOfNotecardLines = false
 +
    ;Allow_osRegionNotice = false
 +
    ;Allow_osSetRot = false   
 +
    ;Allow_osSetParcelDetails = false
 +
    ;;   
 +
    ;; *** Threat-Level=Severe
 +
    ;Allow_osConsoleCommand = false
 +
    ;Allow_osKickAvatar = false
 +
    ;Allow_osTeleportAgent = false
  
;; Disable underground movement of prims (default true); set to
+
</source>  
;; false to allow script controlled underground positioning of
+
;; prims
+
; DisableUndergroundMovement = true</source>
+
  
--[[User:WhiteStar|WhiteStar]] 17:07, 21 October 2010 (UTC)  
+
--[[User:WhiteStar|WhiteStar]] 07:50, 1 February 2012 (PST)
  
= See Also =
+
= See Also =
  
*[[LSL Status|LSL/OSSL Status Page]]
+
* [[LSL Status|LSL/OSSL Status Page]]  
*LSL
+
* OSSL  
**[[LSL Status/Types|LSL Types Status Page]]
+
** [[OSSL Status/Types|OSSL Types Status Page]]  
**[[LSL Status/Events|LSL Events Status Page]]
+
** [[OSSL Status/Events|OSSL Events Status Page]]  
**[[LSL Status/Functions|LSL Functions Status Page]]
+
** [[OSSL Proposals|OSSL Proposed Functions]]  
**[[LSL Status/functions/summary|LSL Functions Status Summary]]
+
** [[OSSL Implemented|OSSL Implemented Functions]]  
**[[LSL Known Issues|LSL Known Issues]]
+
** [[OSSL Standards]]
**[[Kan-Ed Tests|Kan-Ed Tests]]
+
*OSSL  
+
**[[OSSL Status/Types|OSSL Types Status Page]]  
+
**[[OSSL Status/Events|OSSL Events Status Page]]  
+
**[[OSSL Proposals|OSSL Proposed Functions]]  
+
**[[OSSL Implemented|OSSL Implemented Functions]]  
+
**[[OSSL Standards|OSSL Standards]]
+
*[[Technical Reference|Technical Reference Page]]
+
  
 
[[Category:Configuration]]
 
[[Category:Configuration]]
 
[[Category:OSSL]]
 
[[Category:OSSL]]
 +
[[Category:Scripting]]

Latest revision as of 14:02, 15 October 2019

Several OSSL functions can only be execute by some users.
This is controled in file bin/config-include/OsslEnable.ini
Please consult OsslEnable.ini file for more information

Following is now Outdated.

This is effective FROM OpenSimulator DEV 08 OpenSim-r25920 and is subject to change.
Please remember the following:

  • Not all functions may be available in previous versions / revisions of OpenSimulator.
  • 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 OpenSimulator 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 OpenSimulator 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 OpenSimulator DEV 0.7.3 OpenSim-003bd9f-r/17959
    ;; 
    ;; 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_osGetHealth = true
    ;Allow_osGetInventoryDesc = true 
    ;Allow_osGetMapTexture = true
    ;Allow_osGetRezzingObject = true
    ;Allow_osGetSunParam = true
    ;Allow_osGetTerrainHeight = true
    ;Allow_osIsNpc = true
    ;Allow_osList2Double = true
    ;Allow_osMax = true
    ;Allow_osMin = 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_osReplaceString = true
    ;Allow_osSetDynamicTextureData = true
    ;Allow_osSetDynamicTextureDataBlend = true
    ;Allow_osSetDynamicTextureDataBlendFace = true
    ;Allow_osSetDynamicTextureURL = true
    ;Allow_osSetDynamicTextureURLBlend = true
    ;Allow_osSetDynamicTextureURLBlendFace = true
    ;Allow_osSetParcelMediaURL = true
    ;Allow_osSetParcelSIPAddress = true
    ;Allow_osSetPrimFloatOnWater = true
    ;Allow_osSetWindParam = true
    ;Allow_osTerrainFlush = true
    ;Allow_osUnixTimeToTimestamp = true
    ;;    
    ;; *** Threat-Level=Low
    ;Allow_osAvatarName2Key = true
    ;Allow_osFormatString = true
    ;Allow_osKey2Name = true
    ;Allow_osListenRegex = true
    ;Allow_osLoadedCreationDate = true
    ;Allow_osLoadedCreationID = true
    ;Allow_osLoadedCreationTime = true
    ;Allow_osMessageObject = true
    ;Allow_osRegexIsMatch = true
    ;;    
    ;; *** Threat-Level=Moderate
    ;Allow_osDropAttachment = true
    ;Allow_osDropAttachmentAt = true
    ;Allow_osGetGridCustom = true
    ;Allow_osGetGridCustom = true
    ;Allow_osGetGridGatekeeperURI = true
    ;Allow_osGetGridHomeURI = true
    ;Allow_osGetGridLoginURI = true
    ;Allow_osGetGridName = true
    ;Allow_osGetGridNick = true
    ;Allow_osGetRegionStats = true
    ;Allow_osGetSimulatorMemory = true
    ;Allow_osSetSpeed = true
    ;;    
    ;; *** Threat-Level=High
 
    ;Allow_osCauseDamage = false
    ;Allow_osCauseHealing = false
    ;Allow_osForceDropAttachment = false
    ;Allow_osForceDropAttachmentAt = false
    ;Allow_osGetAgentIP = false
    ;Allow_osGetLinkPrimitiveParams = false
    ;Allow_osGetPhysicsEngineType = 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_osNpcShout = false
    ;Allow_osNpcSit = false
    ;Allow_osNpcStand = false
    ;Allow_osNpcStopAnimation = false
    ;Allow_osNpcTouch = false
    ;Allow_osNpcWhisper = false
    ;Allow_osOwnerSaveAppearance = false
    ;Allow_osParcelJoin = false
    ;Allow_osParcelSubdivide = false
    ;Allow_osRegionRestart = false
    ;Allow_osSetContentType = false
    ;Allow_osSetParcelDetails = false
    ;Allow_osSetPrimitiveParams = false
    ;Allow_osSetProjectionParams = false
    ;Allow_osSetRegionWaterHeight = false
    ;Allow_osSetStateEvents = false
    ;Allow_osSetTerrainHeight = false
    ;;    
    ;; *** Threat-Level=VeryHigh
    ;Allow_osAgentSaveAppearance = false   
    ;Allow_osAvatarPlayAnimation = false
    ;Allow_osAvatarStopAnimation = false
    ;Allow_osGetNotecard = false
    ;Allow_osGetNotecardLine = false
    ;Allow_osGetNumberOfNotecardLines = false
    ;Allow_osRegionNotice = false
    ;Allow_osSetRot = false    
    ;Allow_osSetParcelDetails = false
    ;;    
    ;; *** Threat-Level=Severe
    ;Allow_osConsoleCommand = false
    ;Allow_osKickAvatar = false
    ;Allow_osTeleportAgent = false

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

[edit] See Also

Personal tools
General
About This Wiki