OPENSIM KONFIGURATION der osslEnable.ini
Kaum ein Thema kann so kontrovers geführt werden wie die Freisschaltung von OSSL Scriptbefehlen.
Es hängt stark davon ab welchen Standpunkt man vertritt:
Von alles verbieten- dann sind Opensim Scripte so dumm wie SL Scripte:
Dann gehen keine Opensim Funktionen wie NPCs, Windlight, optimierte Notecard Bearbeitung etc.
In der Folge kann man die meisten Dinge die speziell für Opensim gescriptet wurden auf dem eigenen Land vergessen.
Von den gut bekannten Scripten gehen nicht: PMAC, Tanzball, Danceliner, NPC Tools,...
Alles Erlauben, aber das hat leider ein hohes Missbrauchspotential.
Leider gibt es einen Haufen "Deppen" wie wir in Bayern sagen, die nichts anderes im Kopfe haben als Leuten zu schaden.
Erlaubt man alles, so kann das Grid komplett zerstört, und die Privatspäre untergraben werden.
Daher habe ich es mir nicht leicht gemacht.
Als Scripter und Gridbesitzer mit hohem Anspruch, versuche ich "soviel wie möglich" an Scriptfunktionalität zu erlauben.
Also soviel erlauben das alle (aus meiner Sicht) ungefährlichen Befehle gehen.
Aber auch einiges Limitieren um Angriffe oder Überwachung zu verhindern und die Privatspäre zu sichern.
Unter diesem Aspekt muss man die nun folgende Konfigurationsdatei sehen.
Ich habe für euch Komentare zu den Passagen eingefügt, damit meine Auswahl transparent wird, und nachvollziehbar.
Ausserdem habe ich bei einigen Passagen die "unterschiedlich" gesehen werden können auch (auskommentierte) Alternativen angefügt.
Die Datei entstammt einer Opensim Version 0.9.2.1.
Andere Opensim Versionen können andere Syntax aufweisen, oder andere Befehle unterstützen.
Befehle die hier nicht aufgeführt sind, werden dann mit den Standard Rechten der Simulatorversion ausgeführt.
Diese Standard Rechte befinden sich im gleichen Verzeichnis in der Datei osslDefaultEnable.ini.
Hier mein Vorschlag zu Konfiguration der osslEnable.ini :
Den obigen Inhalt speichert ihr als osslEnable.ini ab, und kopiert ihn in jeder Instanz in das Unterverzeichnis \bin\config-include hinein.
Damit er überhaupt vom Simulator ausgewertet wird muss man einen Aufruf in der Opensim.ini haben.
Dieser befindet sich in dieser Form in der Opensim.ini :
[OSSL]
Include-osslDefaultEnable = "config-include/osslDefaultEnable.ini"
Include-osslEnable = "config-include/osslEnable.ini"
Kaum ein Thema kann so kontrovers geführt werden wie die Freisschaltung von OSSL Scriptbefehlen.
Es hängt stark davon ab welchen Standpunkt man vertritt:
Von alles verbieten- dann sind Opensim Scripte so dumm wie SL Scripte:
Dann gehen keine Opensim Funktionen wie NPCs, Windlight, optimierte Notecard Bearbeitung etc.
In der Folge kann man die meisten Dinge die speziell für Opensim gescriptet wurden auf dem eigenen Land vergessen.
Von den gut bekannten Scripten gehen nicht: PMAC, Tanzball, Danceliner, NPC Tools,...
Alles Erlauben, aber das hat leider ein hohes Missbrauchspotential.
Leider gibt es einen Haufen "Deppen" wie wir in Bayern sagen, die nichts anderes im Kopfe haben als Leuten zu schaden.
Erlaubt man alles, so kann das Grid komplett zerstört, und die Privatspäre untergraben werden.
Daher habe ich es mir nicht leicht gemacht.
Als Scripter und Gridbesitzer mit hohem Anspruch, versuche ich "soviel wie möglich" an Scriptfunktionalität zu erlauben.
Also soviel erlauben das alle (aus meiner Sicht) ungefährlichen Befehle gehen.
Aber auch einiges Limitieren um Angriffe oder Überwachung zu verhindern und die Privatspäre zu sichern.
Unter diesem Aspekt muss man die nun folgende Konfigurationsdatei sehen.
Ich habe für euch Komentare zu den Passagen eingefügt, damit meine Auswahl transparent wird, und nachvollziehbar.
Ausserdem habe ich bei einigen Passagen die "unterschiedlich" gesehen werden können auch (auskommentierte) Alternativen angefügt.
Die Datei entstammt einer Opensim Version 0.9.2.1.
Andere Opensim Versionen können andere Syntax aufweisen, oder andere Befehle unterstützen.
Befehle die hier nicht aufgeführt sind, werden dann mit den Standard Rechten der Simulatorversion ausgeführt.
Diese Standard Rechte befinden sich im gleichen Verzeichnis in der Datei osslDefaultEnable.ini.
Hier mein Vorschlag zu Konfiguration der osslEnable.ini :
Code:
; Enable OSSL functions.
[OSSL]
; Allow the use of os* functions (some are always available)
AllowOSFunctions = true
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 = VeryLow
; 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,ESTATE_MANAGER,ESTATE_OWNER"
osslParcelOG = "PARCEL_GROUP_MEMBER,PARCEL_OWNER,ESTATE_MANAGER,ESTATE_OWNER"
osslNPC = true
; 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
; FUNKTION kann Privatsphäre beeinträchtigen, daher Einschränkung auf Berechtigte
Allow_osGetAgents = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER
; Ende kritisch
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
; FUNKTION kann Privatsphäre beeinträchtigen, daher Einschränkung auf Berechtigte
Allow_osGetAvatarList = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER
; Ende kritisch
Allow_osGetCurrentSunHour = true
Allow_osGetGender = true
Allow_osGetHealth = true
Allow_osGetHealRate = true
Allow_osGetNPCList = 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 = true
Allow_osParseJSON = true
Allow_osParseJSONNew = true
Allow_osSetFontName = true
Allow_osSetFontSize = true
Allow_osSetPenCap = true
Allow_osSetPenColor = true
Allow_osSetPenSize = true
; FUNKTION kann Sim Einstellungen verändern gegen Willen des Besitzers, daher Einschränkung auf Berechtigte
Allow_osSetSunParam = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER
; Ende kritisch
Allow_osTeleportOwner = true
Allow_osWindActiveModelPluginName = true
Allow_osCheckODE = true ; Here for completeness. This function cannot be turned off
; ThreatLevel Nuisance
; FUNKTION kann Sim Einstellungen verändern gegen Willen des Besitzers, daher Einschränkung auf Berechtigte
Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER
; Ende kritisch
; ThreatLevel VeryLow
; KRITISCH: Könnte von Griefern missbraucht werden um Gruppenzugang zur Sim zu zerstören
Allow_osEjectFromGroup = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER
; Ende kritisch
; BRANDGEFÄHRLICH. Könnte von Griefern missbraucht werden um Sims zu zerstörten. Sinnvolle Anwendung fraglich
Allow_osForceBreakAllLinks = false
Allow_osForceBreakLink = false
; Ende brandgefährlich
Allow_osGetWindParam = true
; SEHR KRITISCH: Kann durch Unberechtigte zur Privileg Escalation verwendet werden um sich selbst Gruppenzugang zu Sims zu gewähren.
Allow_osInviteToGroup = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER
; Ende sehr kritisch
Allow_osReplaceString = true
; Verhindern von Griefer Angriffen. Ermöglicht immer noch gewollte Nutzung wenn Scriptobjekt von Berechtigten gerezzt wurde.
Allow_osSetDynamicTextureData = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetDynamicTextureDataFace = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetDynamicTextureDataBlend = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetDynamicTextureDataBlendFace = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetParcelMediaURL = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetParcelMusicURL = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER
; ENDE Kritisch
; KRITISCH Könnte zur Übernahme der Voice Kommunikation auf der Sim missbraucht werden.
Allow_osSetParcelSIPAddress = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER
; ENDE Kritisch
Allow_osSetPrimFloatOnWater = true
Allow_osSetWindParam = true
; KRITISCH: Könnte zum Griefen missbraucht werden
Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER
; ENDE Kritisch
Allow_osUnixTimeToTimestamp = true
; ThreatLevel Low
Allow_osAvatarName2Key = true
Allow_osFormatString = true
Allow_osKey2Name = true
Allow_osListenRegex = true
; KRITISCH: Ausnutzung als Asset Spionage Funktion möglich
Allow_osLoadedCreationDate = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER
Allow_osLoadedCreationID = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER
Allow_osLoadedCreationTime = ${OSSL|osslParcelOG},ESTATE_MANAGER,ESTATE_OWNER
; ENDE Kritisch
Allow_osMessageObject = true
Allow_osRegexIsMatch = true
Allow_osGetAvatarHomeURI = true
Allow_osNpcSetProfileAbout = true
Allow_osNpcSetProfileImage = true
; SEHR KRITISCH: Funktion die von Griefern missbraucht werden könnte um AVAs sterben zu lassen
Allow_osDie = false
; Optional für Sims die Kampf enablen: Allow_osDie = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
; ENDE sehr Kritisch
; ThreatLevel Moderate
; FUNKTION kann Privatsphäre beeinträchtigen, daher Einschränkung auf Berechtigte
Allow_osDetectedCountry = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetAgentCountry = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
; ENDE Kritisch
; VARIANTEN: Erlaubt RLV ähnliches Scripting, wenn erwünscht.
Allow_osDropAttachment = true
Allow_osDropAttachmentAt = true
; wenn dies Verhalten nicht pauschal erwünscht, auf Berechtigte Einschränken:
; Allow_osDropAttachment = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
; Allow_osDropAttachmentAt = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
; ENDE Varianten
Allow_osGetGridCustom = true
Allow_osGetGridGatekeeperURI = true
Allow_osGetGridHomeURI = true
Allow_osGetGridLoginURI = true
Allow_osGetGridName = true
Allow_osGetGridNick = true
Allow_osGetNumberOfAttachments = true
Allow_osGetRegionStats = true
Allow_osMessageAttachments = true
Allow_osSetSpeed = true
Allow_osSetOwnerSpeed = true
; LEICHT KRITISCH. Könnte genutzt werden um Simulator Sicherheit zu unterlaufen
Allow_osGetSimulatorMemory = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetSimulatorMemoryKB = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
Allow_osReplaceAgentEnvironment = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
Allow_osRequestURL = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
Allow_osRequestSecureURL = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
; ende leicht Kritisch
; ThreatLevel High
; KRITISCH. Kann zum Griefen missbraucht werden. Dient aber auch Kampfsystemen
Allow_osCauseDamage = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
Allow_osCauseHealing = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetHealth = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetHealRate = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
; ENDE Kritisch
; VARIANTEN: ermöglicht komfortable Poser wie PMAC2.8, die zum Beispiel Gläser in de Hand zaubern, sowie RLV ähnliches Scripting
; Hat aber auch Missbrauchs Potential. Wer auf Sicher gehen will nimmt die auskommentierten Zeilen
Allow_osForceAttachToAvatar = true
Allow_osForceAttachToAvatarFromInventory = true
Allow_osForceCreateLink = true
Allow_osForceDropAttachment = true
Allow_osForceDropAttachmentAt = true
; Allow_osForceAttachToAvatar = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
; Allow_osForceAttachToAvatarFromInventory = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
; Allow_osForceCreateLink = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
; Allow_osForceDropAttachment = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
; Allow_osForceDropAttachmentAt = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
; ENDE Varianten
Allow_osGetLinkPrimitiveParams = true
Allow_osGetPhysicsEngineType = true
Allow_osGetPrimitiveParams = true
Allow_osGetRegionMapTexture = true
Allow_osGetScriptEngineName = true
Allow_osGetSimulatorVersion = true
; KRITISCH. Missbrauchs Potential. Ermöglicht Clonen von fremden AVAs in NPC Notecards, auch ohne Wissen.
Allow_osMakeNotecard = ${OSSL|osslParcelOG}
; KRITISCH ermöglicht griefen durch rezzen unzähliger NPCs zur Sim Überlastung
Allow_osNpcCreate = ${OSSL|osslParcelOG}
; ENDE Kritisch
Allow_osMatchString = 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_osNpcSetRot = true
Allow_osNpcShout = true
Allow_osNpcSit = true
Allow_osNpcStand = true
Allow_osNpcStopAnimation = true
Allow_osNpcStopMoveToTarget = true
Allow_osNpcTouch = true
Allow_osNpcWhisper = true
Allow_osGetPrimitiveParams = true
; SEHR KRITISCH. Ermöglicht Griefing wenn in falschen Händen
Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER
Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER
Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER
Allow_osRegionNotice = ${OSSL|osslParcelOG}
Allow_osSetProjectionParams = ${OSSL|osslParcelOG}
Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetTerrainHeight = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetTerrainTexture = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetTerrainTextureHeight = ESTATE_MANAGER,ESTATE_OWNER
; ENDE Kritisch
; ThreatLevel VeryHigh
; KRITISCH. Missbrauchs Potential. Ermöglicht Clonen von fremden AVAs in NPC Notecards auch ohne Wissen
Allow_osAgentSaveAppearance = ESTATE_MANAGER,ESTATE_OWNER
; ENDE Kritisch
Allow_osAvatarPlayAnimation = true
Allow_osAvatarStopAnimation = true
; KRITISCH, ermöglicht RLV ähnliches Scripting oder Griefing
Allow_osForceAttachToOtherAvatarFromInventory = true
Allow_osForceDetachFromAvatar = true
Allow_osForceOtherSit = true
; Allow_osForceAttachToOtherAvatarFromInventory = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
; Allow_osForceDetachFromAvatar = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
; Allow_osForceOtherSit = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
; ENDE Kritisch
Allow_osGetNotecard = true
Allow_osGetNotecardLine = true
Allow_osGetNumberOfNotecardLines = true
Allow_osSetRot = true
; KRITISCH Verhindern von Griefer Angriffen. Ermöglicht immer noch gewollte Nutzung wenn Scriptobjekt von Berechtigten gerezzt wurde.
Allow_osSetDynamicTextureURL = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetDynamicTextureURLBlend = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetDynamicTextureURLBlendFace = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetParcelDetails = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
; ENDE Kritisch
; ThreatLevel Severe
Allow_osConsoleCommand = false
; KRITISCH: Griefing Potential
Allow_osKickAvatar = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
Allow_osTeleportObject = ${OSSL|osslParcelO},ESTATE_MANAGER,ESTATE_OWNER
; ENDE Kritisch
Allow_osTeleportAgent = true
; ThreatLevel Severe with additional internal restrictions
Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable)
Allow_osSetContentType = false
; Always available
; see http://opensimulator.org/wiki/Category:OSSL_Functions
;; do no remove this line
Include-osslEnable = "config-include/osslEnable.ini"
Den obigen Inhalt speichert ihr als osslEnable.ini ab, und kopiert ihn in jeder Instanz in das Unterverzeichnis \bin\config-include hinein.
Damit er überhaupt vom Simulator ausgewertet wird muss man einen Aufruf in der Opensim.ini haben.
Dieser befindet sich in dieser Form in der Opensim.ini :
[OSSL]
Include-osslDefaultEnable = "config-include/osslDefaultEnable.ini"
Include-osslEnable = "config-include/osslEnable.ini"