OSSL Enabling Functions

From OpenSimulator

Jump to: navigation, search

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)

See Also

Personal tools
General
About This Wiki