Supported OSSL Functions

Here’s the full list of OSSL functions, and who may call each function.

This list was last updated on March 2021, for functions integrated from OpenSim 0.9.2.

Allowed for Everyone

osClearObjectAnimations
osDrawEllipse
osDrawFilledPolygon
osDrawFilledRectangle
osDrawImage
osDrawLine
osDrawPolygon
osDrawRectangle
osDrawText
osForceBreakAllLinks
osForceBreakLink
osForceCreateLink
osFormatString
osGetApparentTime
osGetApparentTimeString
osGetApparentRegionTime
osGetApparentRegionTimeString
osGetCurrentSunHour
osGetDrawStringSize
osGetGender
osGetGridCustom
osGetGridGatekeeperURI
osGetGridHomeURI
osGetGridLoginURI
osGetGridName
osGetGridNick
osGetHealth
osGetInventoryDesc
osGetLinkSitActiveRange
osGetLinkStandTarget
osGetMapTexture
osGetNotecard
osGetNotecardLine
osGetNumberOfAttachments
osGetPhysicsEngineType
osGetRegionSize
osGetRezzingObject
osGetScriptEngineName
osGetSimulatorVersion
osGetSitActiveRange
osGetStandTarget
osGetTerrainHeight
osGetWindParam
osIsNpc
osIsUUID
osLinkParticleSystem
osList2Double
osListenRegex
osMatchString
osMax
osMessageObject
osMin
osMovePen
osNpcLookAt  (*1)
osParseJSON
osParseJSONNew
osParticleSystem
osRegexIsMatch
osReplaceString
osReplaceParcelEnvironment  (*2)
osReplaceRegionEnvironment  (*3)
osResetEnvironment  (*4)
osSetFontName
osSetFontSize
osSetLinkSitActiveRange
osSetLinkStandTarget
osSetPenCap
osSetPenColor
osSetPenSize
osSetPrimFloatOnWater
osSetSitActiveRange
osSetStandTarget
osSHA256
osTeleportOwner
osUnixTimeToTimestamp
osWindActiveModelPluginName

Notes:
(1) Currently anyone can apply this to any NPC, but this may change in the future.
(2) May be called by anyone who has permission to edit the parcel.
(3) May be called by anyone who has permission to edit the region.
(4) May be called by anyone who has permission to edit the parcel or the region (depending on which environment is being reset).

Allowed for the World Manager, Estate Managers and Parcel Owner

osSetParcelMediaURL
osSetParcelMusicURL

Allowed for the World Manager and Estate Managers

osAgentSaveAppearance
osAvatarName2Key
osAvatarPlayAnimation
osAvatarStopAnimation
osCauseDamage
osCauseHealing
osDetectedCountry
osDie
osDropAttachment
osDropAttachmentAt
osEjectFromGroup
osForceAttachToAvatar
osForceAttachToAvatarFromInventory
osForceAttachToOtherAvatarFromInventory
osForceDropAttachment
osForceDropAttachmentAt
osForceOtherSit
osGetAgents
osGetAgentCountry
osGetAvatarHomeURI
osGetAvatarList
osGetLinkPrimitiveParams
osGetNumberOfNotecardLines
osGetPrimitiveParams
osGetRegionMapTexture
osGetSimulatorMemory
osGetSimulatorMemoryKB
osInviteToGroup
osKey2Name
osKickAvatar
osLoadedCreationDate
osLoadedCreationID
osLoadedCreationTime
osMakeNotecard
osMessageAttachments
osNpcCreate
osNpcGetOwner
osNpcGetPos
osNpcGetRot
osNpcLoadAppearance
osNpcMoveTo
osNpcMoveToTarget
osNpcPlayAnimation
osNpcRemove
osNpcSaveAppearance
osNpcSay
osNpcSayTo
osNpcSetProfileAbout
osNpcSetProfileImage
osNpcSetRot
osNpcShout
osNpcSit
osNpcStand
osNpcStopAnimation
osNpcStopMoveToTarget
osNpcTouch
osNpcWhisper
osOwnerSaveAppearance
osParcelJoin
osParcelSubdivide
osRegionNotice
osReplaceAgentEnvironment
osRequestSecureURL
osRequestURL
osSetDynamicTextureData
osSetDynamicTextureDataBlend
osSetDynamicTextureDataBlendFace
osSetDynamicTextureURL
osSetDynamicTextureURLBlend
osSetDynamicTextureURLBlendFace
osSetHealth
osSetHealRate
osSetOwnerSpeed
osSetParcelDetails
osSetPrimitiveParams
osSetProjectionParams
osSetRegionSunSettings
osSetRegionWaterHeight
osSetRot
osSetSpeed
osSetTerrainHeight
osSetTerrainTexture
osSetTerrainTextureHeight
osSetWindParam
osTeleportAgent
osTeleportObject
osTerrainFlush

Not Allowed

osConsoleCommand
osForceDetachFromAvatar
osGetAgentIP
osGetRegionStats
osRegionRestart
osSetContentType
osSetParcelSIPAddress

OpenSim 0.7.3.1 and Additional Script Functions Supported

We’ve updated our service today to use OpenSim 0.7.3.1. This version of OpenSim includes many bug fixes and improvements: see the list of changes here. We also upgraded the version of Mono that we use, to 2.10.8.1. Together, these updates should result in faster and more stable performance.

In addition to these infrastructure upgrades we’ve made several configuration changes that can enable you to create much better worlds:

We’ve enabled many more OSSL functions than before. Most functions with threat level Low or below are enabled for everyone. Most functions with threat level above Medium are also enabled, but only for the world manager. This includes the often-requested functions osTeleportAgent and osKickAvatar. A few dangerous functions, such as osConsoleCommand, are still disabled for everyone. See the full list of supported OSSL functions.

Many people have been asking for the ability to build scripted bots, so we are happy to announce that NPC functions are now available on Kitely. NPC’s have many uses: in simulations, role playing games, as shop vendors, etc.

We’ve also fixed a bug that prevented setting the sun position using OSSL. This enables world managers to make sure that visitors will see their worlds as intended. In addition (but unrelated), we enabled Windlight functions. This means that worlds that have Windlight settings will send them to supporting viewers.

Finally, we fixed a bug related to the avatar walking animation, which sometimes caused avatars to look like they’re walking even when they’re standing still. This problem is almost completely eliminated (on rare occasions it can still happen). We will contribute this patch back to OpenSim.

As with any major upgrade, problems may occur. Please let us know if you encounter any and we’ll fix them.

Stability Improvement and Facebook Bug Fix

We’ve updated the service with a couple of bug fixes:

First, when creating new scripts, sometimes the simulator would crash. Most people never encountered this bug, but those that did had been justly annoyed by it. This bug has now been fixed, so if you’ve encountered stability problems in the past then you should now find the build environment much more stable.

Second, users who attempted to sign up in the last few days using Facebook may have received an error. This has been fixed, so if you tried to sign up using Facebook and failed then please try again now. If you’d decided to create the account using Twitter or email/password because Facebook didn’t work, but you still prefer to connect your account to Facebook, then send us an email using the email address that you had used to create your account and we’ll connect your Facebook profile to that Kitely account.

We apologize for these problems, and thank the users who helped us diagnose them.