; Enable OSSL functions. ; Including this file in a region's set of INI files, causes the OpenSimulator ; specific functions to be enabled. ; See http://opensimulator.org/wiki/OSSL for a description of OSSL functions and ; refer to http://opensimulator.org/wiki/OSSL_Implemented for a list of functions. ; The below file lists all the functions and specifies who has permission to ; execute the function. Some of the functions are for maintainance or can be ; mis-used so the permission to execute a function can be limited. Ability to ; execute a function is based on the owner of the prim holding the script. [XEngine] ; Allow the use of os* functions (some are dangerous) AllowOSFunctions = true ; Allow the user of mod* functions. This allows a script to pass messages ; to a region module via the modSendCommand() function and is used by some ; modules to extend the scripting language. AllowMODFunctions = true ; Allow the use of LightShare functions. ; The setting enable_windlight = true must also be enabled in the [LightShare] section. AllowLightShareFunctions = true ; Threat level to allow. One of None, VeryLow, Low, Moderate, High, VeryHigh, Severe. ; See http://opensimulator.org/wiki/Threat_level for more information on these levels. ; This is the default level and can be overridden with the Allow_ specifications. ; Blanket enabling the ossl functions is dangerous and we do not recommend setting higher ; than 'Low' unless you have a high level of trust in all the users that can run scripts ; in your simulator. It is safer to explicitly allow certain types of user to run ; higher threat level OSSL functions, as detailed later on. OSFunctionThreatLevel = Moderate ; Some of the OSSL functions can be enabled or disabled individually. ; To disable, set the value to 'false'. ; To enable for everyone, set the value to 'true'. ; To enable for individuals or groups, set it to a comma separated list. This checks ; against the owner of the object containing the script. ; The comma separated entries in the list may be one of: ; "GRID_GOD" -- enable for users with UserLevel >= 200 ; "GOD" -- enable for users with rights to be god (local or grid) ; "ACTIVE_GOD" -- enable for users that are present and with active god power ; "ESTATE_MANAGER" -- enable for estate manager ; "ESTATE_OWNER" -- enable for estate owner ; "PARCEL_OWNER" -- enable for parcel owner ; "PARCEL_GROUP_MEMBER" -- enable for any member of the parcel group ; uuid -- enable for specified ID (may be avatar or group ID) ; from this we can also create macros that can be include in the list as ; ${XEngine|macroname} see examples below ; parcel macros ; Allowing ossl functions for anyone owning a parcel can be dangerous especially if ; a region is selling or otherwise giving away parcel ownership. By default, parcel ; ownership or group membership does not enable OSSL functions. Uncomment the ; appropriate line below to allow parcel ownership and groups to do restricted ; OSSL functions. It might be better to check the list below and edit the ones ; to enable individually. osslParcelO = "PARCEL_OWNER," osslParcelOG = "PARCEL_GROUP_MEMBER,PARCEL_OWNER," ; NPC macros ; These can be mis-used so limit use to those you can trust. osslNPC = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER ; The OSSL function name is prepended with "Allow_" and it checks against ; the owners of the containing prim. There can also be entries beginning with ; 'Creators_". The 'Creators_" parameters can only be a list of UUIDs and it is ; checked against the creator of the script itself. ; ************************************************* ; ThreatLevel None ; Commented functions are out of Threat level control (for reference only) ; Allow_osCheckODE = true ; Allow_osClearInertia = true ; Allow_osCollisionSound = true Allow_osDie = true ; Allow_osDrawEllipse = true ; Allow_osDrawFilledEllipse = true ; Allow_osDrawFilledPolygon = true ; Allow_osDrawFilledRectangle = true ; Allow_osDrawImage = true ; Allow_osDrawLine = true ; Allow_osDrawPolygon = true ; Allow_osDrawRectangle = true ; Allow_osDrawResetTransform = true ; Allow_osDrawRotationTransform = true ; Allow_osDrawScaleTransform = true ; Allow_osDrawText = true ; Allow_osDrawTranslationTransform = true Allow_osFormatString = true ; Allow_osGetCurrentSunHour = true Allow_osGetAgents = true Allow_osGetAvatarList = true ; Allow_osGetDrawStringSize = true Allow_osGetGender = true Allow_osGetGridCustom = true Allow_osGetGridHomeURI = true Allow_osGetGridLoginURI = true Allow_osGetGridName = true Allow_osGetGridNick = true Allow_osGetHealth = true Allow_osGetHealRate = true ; Allow_osGetInertiaData = true ; Allow_osGetInventoryDesc = true ; Allow_osGetLinkNumber = true ; Allow_osGetMapTexture = true ; The notecard functions can cause a lot of load on the region if over used. ; So can any LSL loop. Pffft Allow_osGetNotecard = true Allow_osGetNotecardLine = true Allow_osGetNumberOfNotecardLines = true Allow_osMakeNotecard = true Allow_osGetNPCList = true ; Allow_osGetPhysicsEngineName = true Allow_osGetPhysicsEngineType = true Allow_osGetRegionMapTexture = true ; Allow_osGetRegionSize = true Allow_osGetRezzingObject = true Allow_osGetScriptEngineName = true Allow_osGetSimulatorVersion = true ; Allow_osGetSunParam = true ; Allow_osGetTerrainHeight = true Allow_osGetWindParam = true ; Allow_osIsNpc = true ; Allow_osIsUUID = true Allow_osKey2Name = true ; Allow_osList2Double = true Allow_osListenRegex = true Allow_osLoadedCreationDate = true Allow_osLoadedCreationID = true Allow_osLoadedCreationTime = true Allow_osMatchString = true ; Allow_osMax = true ; Allow_osMin = true Allow_osMessageObject = true ; Allow_osMovePen = true Allow_osNpcCreate = true Allow_osNpcGetOwner = true Allow_osNpcGetPos = true Allow_osNpcGetRot = nlue Allow_osNpcLoadAppearance = true Allow_osNpcMoveTo = true Allow_osNpcMoveToTarget = true Allow_osNpcPlayAnimation = true Allow_osNpcRemove = true Allow_osNpcSaveAppearance = true Allow_osNpcSay = true Allow_osNpcSetProfileAbout = true Allow_osNpcSetProfileImage = true Allow_osNpcSetRot = true Allow_osNpcShout = true Allow_osNpcSit = true Allow_osNpcStand = true Allow_osNpcStopAnimation = true Allow_osNpcStopMoveToTarget = true Allow_osNpcTouch = true Allow_osNpcWhisper = true Allow_osOwnerSaveAppearance = true Allow_osParseJSON = true Allow_osParseJSONNew = true Allow_osRegexIsMatch = true Allow_osReplaceString = true Allow_osSetDynamicTextureData = true Allow_osSetDynamicTextureDataFace = true Allow_osSetDynamicTextureDataBlend = true Allow_osSetDynamicTextureDataBlendFace = true Allow_osSetDynamicTextureURL = true Allow_osSetDynamicTextureURLBlend = true Allow_osSetDynamicTextureURLBlendFace = true ; Allow_osSetFontName = true ; Allow_osSetFontSize = true ; Allow_osSetInertia = true ; Allow_osSetInertiaAsBox = true ; Allow_osSetInertiaAsSphere = true ; Allow_osSetInertiaAsCylinder = true ; Allow_osSetPenCap = true ; Allow_osSetPenColor = true ; Allow_osSetPenSize = true Allow_osSetPrimitiveParams = true ; Allow_osVolumeDetect = true Allow_osTeleportOwner = true Allow_osWindActiveModelPluginName = true Allow_osUnixTimeToTimestamp = true ; ThreatLevel Nuisance Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetWindParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel VeryLow Allow_osEjectFromGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceBreakAllLinks = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceBreakLink = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceCreateLink = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetLinkPrimitiveParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetPrimitiveParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osInviteToGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetParcelMediaURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetParcelSIPAddress = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetPrimFloatOnWater = true Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel Low Allow_osAvatarName2Key = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetAvatarHomeURI = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel Moderate Allow_osDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetGridGatekeeperURI = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetNumberOfAttachments = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetRegionStats = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetSimulatorMemory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetSimulatorMemoryKB = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osMessageAttachments = true Allow_osRequestURL = true Allow_osRequestSecureURL = true Allow_osSetSpeed = true ; ThreatLevel High Allow_osCauseDamage = ESTATE_MANAGER,ESTATE_OWNER Allow_osCauseHealing = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetHealth = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetHealRate = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceAttachToAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceAttachToAvatarFromInventory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER Allow_osParcelSetDetails = ESTATE_MANAGER,ESTATE_OWNER Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetContentType = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetParcelDetails = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetProjectionParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetStateEvents = false ; deprecated Allow_osSetTerrainHeight = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetTerrainTexture = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetTerrainTextureHeight = ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel VeryHigh Allow_osAgentSaveAppearance = ESTATE_MANAGER,ESTATE_OWNER ; Warning: The next function allows scripts to force animations on avatars without the user giving permission. ; Enabling this can allow forced animations which can trigger traumatic episodes in vulnerable populations. ; Similar things can be said for several of the 'force' functions. Enable with care and control. ; Some of these were added as early functionality for NPCs. This has been replaced with the NPC functions. Allow_osAvatarPlayAnimation = true Allow_osAvatarStopAnimation = true Allow_osForceAttachToOtherAvatarFromInventory = false Allow_osForceDetachFromAvatar = false Allow_osForceOtherSit = false Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRot = ESTATE_OWNER, ESTATE_MANAGER ; ThreatLevel Severe Allow_osConsoleCommand = false Allow_osGrantScriptPermissions = false Allow_osKickAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osRevokeScriptPermissions = false Allow_osTeleportAgent = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osTeleportObject = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER ; ThreatLevel Severe with additional internal restrictions Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable)