OpenSim 0.8/OpenSimIniOSSL

Aus Hyperweb & OpenSim
Wechseln zu: Suche

Konfiguration der Berechtigungen für OSSL Funktionen

OSSL erweitert in OpenSim die Funktionsbibliothek für Scripte, zusätzlich zu den LSL Funktionen. Teilweise sind sehr mächtige Funktonen mit hohem Angriffspotential vorhanden, die in öffentlich erreichbaren Grids nicht für jeden benutzbar sein sollten. Eine mögliche Strategie ist, zwar OSSL zu erlauben, aber allen Funktionen mit einem "Threat-Level" größer "VeryLow" explizit Zugriffsrechte nur bestimmten Personenkreisen zuzuweisen.

Die Konfiguration geschieht bis OpenSim 0.8.1 in der Sektion [XEngine] der OpenSim.ini Datei. Ab OpenSim 0.8.2 werden die OSSL Konfigurationen in eine separate Datei ausgelagert. Sofern in der OpenSim.ini nicht anders konfiguriert, findet ihr die Datei im Verzeichnis "config-include" mit dem Namen "osslEnable.ini".

AllowOSFunctions = true
AllowMODFunctions = true
OSFunctionThreatLevel = VeryLow

(Aus irgendwelchen seltsamen Gründen wird in den osslEnable.ini Beispieldateien auch "AllowLightShareFunctions" gesetzt. In diesem Tutorial findet ihr diese Einstellung weiterhin in OpenSim.ini, weil auch LightShare selber dort aktiviert werden muss und nicht hier.)

Es folgt nun eine Funktionsliste. Die hier empfohlenen Berechtigungen entsprechen den Defaults der Beispieldatei in der Metro-Edition von OpenSim, können aber selbstverständlich auch in anderen Grids so gesetzt werden.

In der folgenden Liste werden zwei selbst definierte Variablen "osslParcelO" und "osslParcelOG" gesetzt, damit die Erlaubnisse von Landbesitzern und deren Gruppen einfacher geändert werden können. Es können Avatar- oder Gruppen-IDs angegeben werden, oder pauschal die Funktionskürzel. Hinweis: Das Komma am Ende ist wichtig, denn sonst gibt es Syntaxfehler an den Stellen, wo der Text der Variablen eingesetzt wird!

; Beispiel: osslParcelO = "PARCEL_OWNER,"
osslParcelO = ""
; Beispiel: osslParcelOG = "PARCEL_GROUP_MEMBER,PARCEL_OWNER,"
osslParcelOG = ""
;; ========== OSSL FUNCTION BLOCK ========== 
;; 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 = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetAvatarList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetCurrentSunHour = true
Allow_osGetGender = true
Allow_osGetHealth = true
Allow_osGetInventoryDesc = true
Allow_osGetMapTexture = true
Allow_osGetRegionSize = true
Allow_osGetRezzingObject = true
Allow_osGetSunParam = true
Allow_osGetTerrainHeight = true
Allow_osIsNpc = true
Allow_osIsUUID = true
Allow_osList2Double = true
Allow_osMax = true
Allow_osMin = true
Allow_osMovePen = true
Allow_osNpcGetOwner = ${XEngine|osslNPC}
Allow_osParseJSON = true
Allow_osParseJSONNew = true
Allow_osSetFontName = true
Allow_osSetFontSize = true
Allow_osSetPenCap = true
Allow_osSetPenColor = true
Allow_osSetPenSize = true
Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osTeleportOwner = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osWindActiveModelPluginName = true
Allow_osCheckODE = true    ; Here for completeness. This function cannot be turned off
;;
;; *** Threat-Level=Nuisance
Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER
;;
;; *** Threat-Level=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_osGetDrawStringSize = true
Allow_osGetWindParam = true
Allow_osInviteToGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osReplaceString = true
Allow_osSetDynamicTextureData = true
Allow_osSetDynamicTextureDataBlend = true
Allow_osSetDynamicTextureDataBlendFace = true
Allow_osSetDynamicTextureURL = true
Allow_osSetDynamicTextureURLBlend = true
Allow_osSetDynamicTextureURLBlendFace = true
Allow_osSetParcelMediaURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetParcelSIPAddress = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetPrimFloatOnWater = true
Allow_osSetWindParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER
Allow_osUnixTimeToTimestamp = true
;;    
;; *** Threat-Level=Low
Allow_osAvatarName2Key = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osFormatString = true
Allow_osKey2Name = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osListenRegex = true
Allow_osLoadedCreationDate = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osLoadedCreationID = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osLoadedCreationTime = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osMessageObject = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osRegexIsMatch = true
Allow_osGetAvatarHomeURI = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
;;    
;; *** Threat-Level=Moderate
Allow_osDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetGridCustom = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetGridGatekeeperURI = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetGridHomeURI = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetGridLoginURI = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetGridName = true
Allow_osGetGridNick = true
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_osMessageAttachments = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetSpeed = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
;;    
;; *** Threat-Level=High
Allow_osCauseDamage = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osCauseHealing = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osForceAttachToAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osForceAttachToAvatarFromInventory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osForceCreateLink = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osForceDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osForceDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetAgentIP = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetLinkPrimitiveParams = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetPhysicsEngineType = true
Allow_osGetPrimitiveParams = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetRegionMapTexture = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetScriptEngineName = true
Allow_osGetSimulatorVersion = true
Allow_osMakeNotecard = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osMatchString = true
Allow_osNpcCreate = ${XEngine|osslNPC}ESTATE_MANAGER,ESTATE_OWNER
Allow_osNpcGetPos = ${XEngine|osslNPC}ESTATE_MANAGER,ESTATE_OWNER
Allow_osNpcGetRot = ${XEngine|osslNPC}ESTATE_MANAGER,ESTATE_OWNER
Allow_osNpcLoadAppearance = ${XEngine|osslNPC}ESTATE_MANAGER,ESTATE_OWNER
Allow_osNpcMoveTo = ${XEngine|osslNPC}ESTATE_MANAGER,ESTATE_OWNER
Allow_osNpcMoveToTarget = ${XEngine|osslNPC}ESTATE_MANAGER,ESTATE_OWNER
Allow_osNpcPlayAnimation = ${XEngine|osslNPC}ESTATE_MANAGER,ESTATE_OWNER
Allow_osNpcRemove = ${XEngine|osslNPC}ESTATE_MANAGER,ESTATE_OWNER
Allow_osNpcSaveAppearance = ${XEngine|osslNPC}ESTATE_MANAGER,ESTATE_OWNER
Allow_osNpcSay = ${XEngine|osslNPC}ESTATE_MANAGER,ESTATE_OWNER
Allow_osNpcSetRot = ${XEngine|osslNPC}ESTATE_MANAGER,ESTATE_OWNER
Allow_osNpcShout = ${XEngine|osslNPC}ESTATE_MANAGER,ESTATE_OWNER
Allow_osNpcSit = ${XEngine|osslNPC}ESTATE_MANAGER,ESTATE_OWNER
Allow_osNpcStand = ${XEngine|osslNPC}ESTATE_MANAGER,ESTATE_OWNER
Allow_osNpcStopAnimation = ${XEngine|osslNPC}ESTATE_MANAGER,ESTATE_OWNER
Allow_osNpcStopMoveToTarget = ${XEngine|osslNPC}ESTATE_MANAGER,ESTATE_OWNER
Allow_osNpcTouch = ${XEngine|osslNPC}ESTATE_MANAGER,ESTATE_OWNER
Allow_osNpcWhisper = ${XEngine|osslNPC}ESTATE_MANAGER,ESTATE_OWNER
Allow_osOwnerSaveAppearance = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osParcelJoin = 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_osSetPrimitiveParams = false
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
;;    
;; *** Threat-Level=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 = ESTATE_MANAGER,ESTATE_OWNER
Allow_osAvatarStopAnimation = ESTATE_MANAGER,ESTATE_OWNER
Allow_osForceDetachFromAvatar = ESTATE_MANAGER,ESTATE_OWNER
Allow_osForceOtherSit = ESTATE_MANAGER,ESTATE_OWNER
; The notecard functions can cause a lot of load on the region if over used
Allow_osGetNotecard = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetNotecardLine = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetNumberOfNotecardLines = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetRot  = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetParcelDetails = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
;;    
;; *** Threat-Level=Severe
Allow_osConsoleCommand = false
Allow_osForceAttachToOtherAvatarFromInventory = false
Allow_osGrantScriptPermissions = false
Allow_osKickAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osRevokeScriptPermissions = false
Allow_osTeleportAgent = true



Weiter: Datenbank-Backup und Restore mit SQL