OSSL Enabling Functions

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
 
(21 intermediate revisions by 8 users not shown)
Line 1: Line 1:
Here is a '''Modified [XEngine]''' Section for your OpenSim.ini<br>This is <u>effective up to OpenSim Version: OpenSim 0.6.9 (Dev) GIT# 4c1365f - r12125(interface version 6)</u>&nbsp; FEB.01.2010 and is Subject to Change
+
{{#if:{{{1|}}}|{{Languages|{{{1|}}}}}|{{Languages}}}}
  
! Not all Functions may be available in previous versions / revisions of OpenSim.  
+
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>
  
! New Functions may become available and some functions may be deprecated in the future.  
+
<div style="background-color:#FFA0A0; padding:10px; padding-bottom:5px; border: 1px #FF544F solid">
 +
'''Following is now Outdated.'''
 +
</div>
  
! Look at OWNERUUID for certain functions to prevent Potential Harmfull uses!
+
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.
 +
* 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.'''
  
<br><source lang="ini">[XEngine]
+
'''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.
; Enable this engine in this OpenSim instance
+
Enabled = true
+
  
; How many threads to keep alive even if nothing is happening
+
<source lang="ini">
MinThreads = 2
+
[XEngine]
 +
    ;# {Enabled} {} {Enable the XEngine scripting engine?} {true false} true
 +
    ;; Enable this engine in this OpenSimulator instance
 +
    Enabled = true
  
; How many threads to start at maximum load
+
    ;; How many threads to keep alive even if nothing is happening
MaxThreads = 100
+
    ;MinThreads = 2
  
; Time a thread must be idle (in seconds) before it dies
+
    ;; How many threads to start at maximum load
IdleTimeout = 60
+
    ;MaxThreads = 100
  
; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest")
+
    ;; Time a thread must be idle (in seconds) before it dies
Priority = "BelowNormal"
+
    ;IdleTimeout = 60
  
; Maximum number of events to queue for a script (excluding timers)
+
    ;# {Priority} {Enabled:true} {Priority for script engine threads?} {Lowest BelowNormal Normal AboveNormal Highest} BelowNormal
MaxScriptEventQueue = 300
+
    ;; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal",
 +
    ;; "Highest")
 +
    ;Priority = "BelowNormal"
  
; Stack size per thread created
+
    ;; Maximum number of events to queue for a script (excluding timers)
ThreadStackSize = 262144
+
    ;MaxScriptEventQueue = 300
+
; 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
+
  
 +
    ;; Stack size per thread created
 +
    ;ThreadStackSize = 262144
  
; Rate to poll for asynchronous command replies (ms)
+
    ;# {DeleteScriptsOnStartup} {} {Delete previously compiled script DLLs on startup?} (true false) true
; currently unused
+
    ;; Controls whether previously compiled scripts DLLs are deleted on sim restart. If you set this to false
;AsyncLLCommandLoopms = 50
+
    ;; 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
  
; Save the source of all compiled scripts
+
    ;; Set this to true (the default) to load each script into a separate
WriteScriptSourceToDebugFile = false
+
    ;; 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
  
; Default language for scripts
+
    ;# {DefaultCompileLanguage} {Enabled:true} {Default script language?} {lsl vb cs} lsl
DefaultCompileLanguage = lsl
+
    ;; Default language for scripts
 +
    ; DefaultCompileLanguage = "lsl"
  
; List of allowed languages (lsl,vb,js,cs)
+
    ;# {AllowedCompilers} {Enabled:true} {Languages to allow (comma separated)?} {} lsl
; AllowedCompilers=lsl,cs,js,vb.  
+
    ;; List of allowed languages (lsl,vb,cs)
; *warning*, non lsl languages have access to static methods such as System.IO.File. Enable at your own risk.
+
    ;; AllowedCompilers=lsl,cs,js,vb.
AllowedCompilers=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
+
    ;; Compile debug info (line numbers) into the script assemblies
CompileWithDebugInformation = true
+
    ; 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
+
  
 +
    ;; 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
  
; Interval (s) between background save of script states
+
    ;# {AllowOSFunctions} {Enabled:true} {Allow OSFunctions? (DANGEROUS!)} {true false} false
SaveInterval = 120
+
    ;; Allow the use of os* functions (some are dangerous)
 +
    AllowOSFunctions = true
  
; Interval (s) between maintenance runs (0 = disable)
+
    ;# {AllowLightShareFunctions} {Enabled:true [LightShare]enable_windlight:true} {Allow LightShare functions?} {true false} true
MaintenanceInterval = 10
+
    ; Allow the user of LightShare functions
 +
    AllowLightShareFunctions = true
  
; Time a script can spend in an event handler before it is interrupted
+
    ;# {OSFunctionThreatLevel} {Enabled:true AllowOSFunctions:true} {OSFunction threat level? (DANGEROUS!)} {None VeryLow Low Moderate High VeryHigh Severe} VeryLow
EventLimit = 30
+
    ;; Threat level to allow, one of None, VeryLow, Low, Moderate, High,
 +
    ;; VeryHigh, Severe
 +
    OSFunctionThreatLevel = VeryLow
  
; If a script overruns it's event limit, kill the script?
+
    ;; OS Functions enable/disable
KillTimedOutScripts = false
+
    ;; For each function, you can add one line, as shown
 +
    ;; The default for all functions allows them if below threat level
  
; Sets the multiplier for the scripting delays
+
    ;; true allows the use of the function unconditionally
ScriptDelayFactor = 1.0
+
    ; 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>, ...
  
; The factor the 10 m distances llimits are multiplied by
+
    ;; You can also use script creators as the uuid
ScriptDistanceLimitFactor = 1.0
+
    ; Creators_osSetRegionWaterHeight = <uuid>, ...
  
; Maximum length of notecard line read
+
    ;; If both Allow_ and Creators_ are given, effective permissions
; Increasing this to large values potentially opens
+
    ;; are the union of the two.
; up the system to malicious scripters
+
; NotecardLineReadCharsMax = 255
+
  
; Sensor settings
+
    ;; Time a script can spend in an event handler before it is interrupted
SensorMaxRange = 96.0
+
    ; EventLimit = 30
SensorMaxResults = 16
+
;
+
; ==== OSSL FUNCTION BLOCK ====
+
; More Info @ http://opensimulator.org/wiki/OSSL_Implemented
+
;
+
; Allow the use of os* functions (some are dangerous)
+
AllowOSFunctions = true
+
;
+
; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe
+
OSFunctionThreatLevel = Low
+
;
+
; 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 Functions ****
+
Allow_osGetCurrentSunHour = true
+
Allow_osSunGetParam = true
+
Allow_osSunSetParam = true
+
Allow_osWindActiveModelPluginName = true
+
Allow_osMovePen = true
+
Allow_osDrawLine = true
+
Allow_osDrawText = true
+
Allow_osDrawEllipse = true
+
Allow_osDrawRectangle = true
+
Allow_osDrawFilledRectangle = true
+
Allow_osSetFontSize = true
+
Allow_osSetPenSize = true
+
Allow_osSetPenColour = true
+
Allow_osDrawImage = true
+
Allow_osGetAgents = true
+
Allow_osTerrainGetHeight = true
+
Allow_osParseJSON = true
+
Allow_osDrawFilledPolygon = true
+
Allow_osSetPenCap = true
+
Allow_osSetFontName = true
+
Allow_osGetMapTexture = true
+
;
+
; **** THREAT LEVEL Nuisance Block ****
+
Allow_osSetRegionSunSettings = false
+
Allow_osSetEstateSunSettings = false
+
;
+
; **** THREAT LEVEL VeryLow Block ****
+
Allow_osTerrainFlush = false
+
Allow_osSetPrimFloatOnWater = true
+
Allow_osSetDynamicTextureURL = true
+
Allow_osSetDynamicTextureURLBlend = true
+
Allow_osSetDynamicTextureURLBlendFace = true
+
Allow_osSetDynamicTextureData = true
+
Allow_osSetDynamicTextureDataBlend = true
+
Allow_osSetDynamicTextureDataBlendFace = true
+
Allow_osGetDrawStringSize = true
+
Allow_osWindParamSet = true
+
Allow_osWindParamGet = true
+
Allow_osSetParcelMediaURL = true
+
;
+
; **** THREAT LEVEL Low Block ****
+
Allow_osMessageObject = true
+
Allow_osAvatarName2Key = true
+
Allow_osKey2Name = true
+
Allow_osFormatString = true
+
Allow_osLoadedCreationDate = false
+
Allow_osLoadedCreationTime = false
+
Allow_osLoadedCreationID = false
+
;
+
; **** THREAT LEVEL Moderate ****
+
Allow_osGetGridNick = true
+
Allow_osGetGridName = true
+
Allow_osGetGridLoginURI = true
+
Allow_osGetRegionStats = true
+
Allow_osGetSimulatorMemory = true
+
Allow_osSetSpeed = true ; osSetSpeed(string UUID, float SpeedModifier)
+
;
+
; **** THREAT LEVEL HIGH Block ****
+
Allow_osTeleportAgent = true
+
Allow_osMakeNotecard = true
+
Allow_osMatchString = false
+
Allow_osTerrainSetHeight = false
+
Allow_osRegionRestart = false
+
Allow_osGetAgentIP = false
+
Allow_osSetRegionWaterHeight = false
+
Allow_osGetScriptEngineName = false
+
Allow_osGetRegionMapTexture = false ; osGetRegionMapTexture(string regionName)
+
Allow_osCauseDamage = false ; osCauseDamage(string avatar, double damage)
+
Allow_osCauseHealing = false ; osCauseHealing(string avatar, double healing)
+
;
+
; **** THREAT LEVEL VeryHigh Block ****
+
Allow_osRegionNotice = false
+
Allow_osSetRot = false
+
Allow_osAvatarPlayAnimation = false
+
Allow_osAvatarStopAnimation = false
+
Allow_osGetNotecardLine = false
+
Allow_osGetNotecard = false
+
Allow_osGetNumberOfNotecardLines = false
+
;
+
; **** THREAT LEVEL Severe Block****
+
Allow_osGetSimulatorVersion = true
+
Allow_osConsoleCommand = false ; ! USE ONLY WITH REGION OPERATORS UUID !
+
Allow_osKickAvatar = false ; ! AS Above ! osKickAvatar(string FirstName,string LastName,string alert)
+
;
+
; ==== END OF OSSL FUNCTION BLOCK ====
+
;
+
; Allow for llCreateLink and llBreakLink to work without asking for permission
+
; only enable this in a trusted environment otherwise you may be subject to hijacking
+
; AutomaticLinkPermission = false
+
  
; Disable underground movement of prims (default true); set to
+
    ;; If a script overruns it's event limit, kill the script?
; false to allow script controlled underground positioning of
+
    ; KillTimedOutScripts = false
; prims
+
; DisableUndergroundMovement = true</source><br>
+
  
<br>
+
    ;; Sets the multiplier for the scripting delays
 +
    ; ScriptDelayFactor = 1.0
  
--[[User:WhiteStar|WhiteStar]] 20:53, 1 February 2010 (UTC)
+
    ;; The factor the 10 m distances llimits are multiplied by
 +
    ; ScriptDistanceLimitFactor = 1.0
  
= See Also  =
+
    ;; Maximum length of notecard line read
 +
    ;; Increasing this to large values potentially opens
 +
    ;; up the system to malicious scripters
 +
    ; NotecardLineReadCharsMax = 255
  
*[[LSL Status|LSL/OSSL Status Page]]
+
    ;; Sensor settings
*LSL
+
    ; SensorMaxRange = 96.0
**[[LSL Status/Types|LSL Types Status Page]]
+
    ; SensorMaxResults = 16
**[[LSL Status/Events|LSL Events Status Page]]
+
 
**[[LSL Status/Functions|LSL Functions Status Page]]
+
    ;; Disable underground movement of prims (default true); set to
**[[LSL Status/functions/summary|LSL Functions Status Summary]]
+
    ;; false to allow script controlled underground positioning of
**[[LSL Known Issues|LSL Known Issues]]  
+
    ;; prims
**[[Kan-Ed Tests|Kan-Ed Tests]]
+
    ; DisableUndergroundMovement = true
*OSSL  
+
 
**[[OSSL Status/Types|OSSL Types Status Page]]  
+
    ;; Path to script engine assemblies
**[[OSSL Status/Events|OSSL Events Status Page]]  
+
    ;; Default is ./bin/ScriptEngines
**[[OSSL Proposals|OSSL Proposed Functions]]  
+
    ; ScriptEnginesPath = "ScriptEngines"
**[[OSSL Implemented|OSSL Implemented Functions]]  
+
   
**[[OSSL Standards|OSSL Standards]]
+
    ;; ========== OSSL FUNCTION BLOCK ==========
*[[Technical Reference|Technical Reference Page]]
+
    ;; 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
 +
 
 +
</source>
 +
 
 +
--[[User:WhiteStar|WhiteStar]] 07:50, 1 February 2012 (PST)
 +
 
 +
= See Also =
 +
 
 +
* [[LSL Status|LSL/OSSL Status Page]]  
 +
* 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]]
  
 
[[Category:Configuration]]
 
[[Category:Configuration]]
 +
[[Category:OSSL]]
 +
[[Category:Scripting]]

Latest revision as of 13: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