; 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/Category:OSSL_Functions for a description of OSSL functions [OSSL] ; Allow the use of os* functions (some are always available) 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 ; Send function permission error to owner if true, to all if false PermissionErrorToOwner = false ; Function Threat level ; Several functions have a predefined threat level, one of: None, VeryLow, Low, Moderate, High, VeryHigh, Severe. ; See http://opensimulator.org/wiki/Threat_level for more information on these levels. ; 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. ; This setting defines the highest level allowed to execute OSFunctionThreatLevel = Moderate ; The threat level can be replaced by more detailed rules by lines of the form ; Allow_FunctionName = parameters ; To use the default threat level coment the respective line ; parameters can be: ; 'false' disables the function. ; 'true' enables for everyone ; or 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 ; ${OSSL|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 = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER osslAdmins = ACTIVE_GOD,GOD,GRID_GOD ; The threat level also can be replaced by lines of the form ; Creators__FunctionName = comma separated list of UUIDs ; this will enable the function for users that are the script creators and owners of the prim ; ************************************************* ; 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_osGetParcerlDwell = true ; Allow_osGetPhysicsEngineName = true ; Allow_osGetPhysicsEngineType = true ; Allow_osGetRegionMapTexture = true ; Allow_osGetRegionSize = true ; Allow_osGetRegionStats = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; Allow_osGetRezzingObject = true ; Allow_osGetScriptEngineName = true ; Allow_osGetSimulatorMemory = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; Allow_osGetSimulatorMemoryKB = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; Allow_osGetSimulatorVersion = true ; Allow_osGetSunParam = true ; Allow_osGetTerrainHeight = true ; Allow_osTerrainGetHeight = true ; Deprecated ; 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 = true ; Allow_osNpcLoadAppearance = true ; Allow_osNpcMoveTo = true ; Allow_osNpcMoveToTarget = true ; Allow_osNpcPlayAnimation = true ; Allow_osNpcRemove = true ; Allow_osNpcSaveAppearance = true ; Allow_osNpcSay = true ; Allow_osNpcSayTo = 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_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_osSetOwnerSpeed = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; Allow_osSetPenCap = true ; Allow_osSetPenColor = true ; Allow_osSetPenSize = true ; Allow_osSetProjectionParams = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; Allow_osSetSpeed = true ; Allow_osSunGetParam = true ; Allow_osVolumeDetect = true ; Allow_osTeleportObject = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; Allow_osTeleportOwner = true ; Allow_osWindActiveModelPluginName = true ; Allow_osUnixTimeToTimestamp = true ; ThreatLevel Nuisance Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osSetSunParam = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osSetWindParam = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osSunSetParam = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; ThreatLevel VeryLow Allow_osEjectFromGroup = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osForceBreakAllLinks = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osForceBreakLink = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osForceCreateLink = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osGetLinkPrimitiveParams = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osGetPrimitiveParams = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osInviteToGroup = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osSetParcelMediaURL = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osSetParcelSIPAddress = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osSetPrimFloatOnWater = true Allow_osSetPrimitiveParams = true Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; ThreatLevel Low Allow_osAvatarName2Key = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osGetAvatarHomeURI = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; ThreatLevel Moderate Allow_osDetectedCountry = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osDropAttachment = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osDropAttachmentAt = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osGetAgentCountry = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osGetGridGatekeeperURI = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osGetNumberOfAttachments = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osMessageAttachments = true Allow_osRequestURL = true Allow_osRequestSecureURL = true Allow_osSetContentType = true ; ThreatLevel High Allow_osCauseDamage = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osCauseHealing = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osSetHealth = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osSetHealRate = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osForceAttachToAvatar = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osForceAttachToAvatarFromInventory = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osForceDropAttachment = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osForceDropAttachmentAt = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osParcelSetDetails = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osSetParcelDetails = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osSetStateEvents = false ; deprecated Allow_osSetTerrainHeight = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osSetTerrainTexture = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osSetTerrainTextureHeight = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; ThreatLevel VeryHigh Allow_osAgentSaveAppearance = ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; 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 = ESTATE_OWNER, ESTATE_MANAGER,${OSSL|osslAdmins} Allow_osSetRot = ESTATE_OWNER, ESTATE_MANAGER,${OSSL|osslAdmins} ; ThreatLevel Severe Allow_osConsoleCommand = false Allow_osGrantScriptPermissions = false Allow_osKickAvatar = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} Allow_osRevokeScriptPermissions = false Allow_osTeleportAgent = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER,${OSSL|osslAdmins} ; ThreatLevel Severe with additional internal restrictions Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable)