1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
|
; 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)
|