corrade-vassal – Rev 16
?pathlinks?
// Linden Lab development message templates
version 2.0
// The Version 2.0 template requires preservation of message
// numbers. Each message must be numbered relative to the
// other messages of that type. The current highest number
// for each type is listed below:
// Low: 423
// Medium: 18
// High: 29
// PLEASE UPDATE THIS WHEN YOU ADD A NEW MESSAGE!
// *************************************************************************
// Test Message
// *************************************************************************
// Test Message
{
TestMessage Low 1 NotTrusted Zerocoded
{
TestBlock1 Single
{ Test1 U32 }
}
{
NeighborBlock Multiple 4
{ Test0 U32 }
{ Test1 U32 }
{ Test2 U32 }
}
}
// *************************************************************************
// Messaging Internal Data Management Message
// *************************************************************************
// *************************
// List fixed messages first
// *************************
// Packet Ack - Ack a list of packets sent reliable
{
PacketAck Fixed 0xFFFFFFFB NotTrusted Unencoded
{
Packets Variable
{ ID U32 }
}
}
// OpenCircuit - Tells the recipient's messaging system to open the descibed circuit
{
OpenCircuit Fixed 0xFFFFFFFC NotTrusted Unencoded UDPBlackListed
{
CircuitInfo Single
{ IP IPADDR }
{ Port IPPORT }
}
}
// CloseCircuit - Tells the recipient's messaging system to close the descibed circuit
{
CloseCircuit Fixed 0xFFFFFFFD NotTrusted Unencoded
}
// ******************
// End fixed messages
// ******************
// StartPingCheck - used to measure circuit ping times
// PingID is used to determine how backlogged the ping was that was
// returned (or how hosed the other side is)
{
StartPingCheck High 1 NotTrusted Unencoded
{
PingID Single
{ PingID U8 }
{ OldestUnacked U32 } // Current oldest "unacked" packet on the sender side
}
}
// CompletePingCheck - used to measure circuit ping times
{
CompletePingCheck High 2 NotTrusted Unencoded
{
PingID Single
{ PingID U8 }
}
}
// space->sim
// sim->sim
// AddCircuitCode - Tells the recipient's messaging system that this code
// is for a legal circuit
{
AddCircuitCode Low 2 Trusted Unencoded
{
CircuitCode Single
{ Code U32 }
{ SessionID LLUUID }
{ AgentID LLUUID } // WARNING - may be null in valid message
}
}
// viewer->sim
// UseCircuitCode - Attempts to provide the recipient with IP and Port
// info. In the case of viewers, the id is the session id. For other
// machines it may be null. The session id will always be the session
// id of the process, which every server will generate on startup and
// the viewer will be handed after login.
{
UseCircuitCode Low 3 NotTrusted Unencoded
{
CircuitCode Single
{ Code U32 }
{ SessionID LLUUID }
{ ID LLUUID } // agent id
}
}
// *************************************************************************
// SpaceServer to Simulator Messages
// ************************************************************************
// Neighbor List - Passed anytime neighbors change
{
NeighborList High 3 Trusted Unencoded
{
NeighborBlock Multiple 4
{ IP IPADDR }
{ Port IPPORT }
{ PublicIP IPADDR }
{ PublicPort IPPORT }
{ RegionID LLUUID }
{ Name Variable 1 } // string
{ SimAccess U8 }
}
}
// AvatarTextureUpdate
// simulator -> dataserver
// reliable
{
AvatarTextureUpdate Low 4 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ TexturesChanged BOOL }
}
{
WearableData Variable
{ CacheID LLUUID }
{ TextureIndex U8 }
{ HostName Variable 1 }
}
{
TextureData Variable
{ TextureID LLUUID }
}
}
// SimulatorMapUpdate
// simulator -> dataserver
// reliable
{
SimulatorMapUpdate Low 5 Trusted Unencoded
{
MapData Single
{ Flags U32 }
}
}
// SimulatorSetMap
// simulator -> dataserver
// reliable
// Used to upload a map image into the database (currently used only for Land For Sale)
{
SimulatorSetMap Low 6 Trusted Unencoded
{
MapData Single
{ RegionHandle U64 }
{ Type S32 }
{ MapImage LLUUID }
}
}
// SubscribeLoad
// spaceserver -> simulator
// reliable
{
SubscribeLoad Low 7 Trusted Unencoded
}
// UnsubscribeLoad
// spaceserver -> simulator
// reliable
{
UnsubscribeLoad Low 8 Trusted Unencoded
}
// ************************************************************************
// Simulator to SpaceServer Messages
// ************************************************************************
// SimulatorReady - indicates the sim has finished loading its state
// and is ready to receive updates from others
{
SimulatorReady Low 9 Trusted Zerocoded
{
SimulatorBlock Single
{ SimName Variable 1 }
{ SimAccess U8 }
{ RegionFlags U32 }
{ RegionID LLUUID }
{ EstateID U32 }
{ ParentEstateID U32 }
}
{
TelehubBlock Single
{ HasTelehub BOOL }
{ TelehubPos LLVector3 }
}
}
// TelehubInfo - fill in the UI for telehub creation floater.
// sim -> viewer
// reliable
{
TelehubInfo Low 10 Trusted Unencoded
{
TelehubBlock Single
{ ObjectID LLUUID } // null if no telehub
{ ObjectName Variable 1 } // string
{ TelehubPos LLVector3 } // fallback if viewer can't find object
{ TelehubRot LLQuaternion }
}
{
SpawnPointBlock Variable
{ SpawnPointPos LLVector3 } // relative to telehub position
}
}
// SimulatorPresentAtLocation - indicates that the sim is present at a grid
// location and passes what it believes its neighbors are
{
SimulatorPresentAtLocation Low 11 Trusted Unencoded
{
SimulatorPublicHostBlock Single
{ Port IPPORT }
{ SimulatorIP IPADDR }
{ GridX U32 }
{ GridY U32 }
}
{
NeighborBlock Multiple 4
{ IP IPADDR }
{ Port IPPORT }
}
{
SimulatorBlock Single
{ SimName Variable 1 }
{ SimAccess U8 }
{ RegionFlags U32 }
{ RegionID LLUUID }
{ EstateID U32 }
{ ParentEstateID U32 }
}
{
TelehubBlock Variable
{ HasTelehub BOOL }
{ TelehubPos LLVector3 }
}
}
// SimulatorLoad
// simulator -> spaceserver
// reliable
{
SimulatorLoad Low 12 Trusted Unencoded
{
SimulatorLoad Single
{ TimeDilation F32 }
{ AgentCount S32 }
{ CanAcceptAgents BOOL }
}
{
AgentList Variable
{ CircuitCode U32 }
{ X U8 }
{ Y U8 }
}
}
// Simulator Shutdown Request - Tells spaceserver that a simulator is trying to shutdown
{
SimulatorShutdownRequest Low 13 Trusted Unencoded
}
// ****************************************************************************
// Presense messages
// ****************************************************************************
// sim -> dataserver
{
RegionPresenceRequestByRegionID Low 14 Trusted Unencoded
{
RegionData Variable
{ RegionID LLUUID }
}
}
// sim -> dataserver
{
RegionPresenceRequestByHandle Low 15 Trusted Unencoded
{
RegionData Variable
{ RegionHandle U64 }
}
}
// dataserver -> sim
{
RegionPresenceResponse Low 16 Trusted Zerocoded
{
RegionData Variable
{ RegionID LLUUID }
{ RegionHandle U64 }
{ InternalRegionIP IPADDR }
{ ExternalRegionIP IPADDR }
{ RegionPort IPPORT }
{ ValidUntil F64 }
{ Message Variable 1 }
}
}
// ****************************************************************************
// Simulator to dataserver messages
// ****************************************************************************
// Updates SimName, EstateID and SimAccess using RegionID as a key
{
UpdateSimulator Low 17 Trusted Unencoded
{
SimulatorInfo Single
{ RegionID LLUUID }
{ SimName Variable 1 }
{ EstateID U32 }
{ SimAccess U8 }
}
}
// record dwell time.
{
LogDwellTime Low 18 Trusted Unencoded
{
DwellInfo Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ Duration F32 }
{ SimName Variable 1 }
{ RegionX U32 }
{ RegionY U32 }
{ AvgAgentsInView U8 }
{ AvgViewerFPS U8 }
}
}
// Disabled feature response message
{
FeatureDisabled Low 19 Trusted Unencoded
{
FailureInfo Single
{ ErrorMessage Variable 1 }
{ AgentID LLUUID }
{ TransactionID LLUUID }
}
}
// record lost money transactions. This message could be generated
// from either the simulator or the dataserver, depending on how
// the transaction failed.
{
LogFailedMoneyTransaction Low 20 Trusted Unencoded
{
TransactionData Single
{ TransactionID LLUUID }
{ TransactionTime U32 } // utc seconds since epoch
{ TransactionType S32 } // see lltransactiontypes.h
{ SourceID LLUUID }
{ DestID LLUUID } // destination of the transfer
{ Flags U8 }
{ Amount S32 }
{ SimulatorIP IPADDR } // U32 encoded IP
{ GridX U32 }
{ GridY U32 }
{ FailureType U8 }
}
}
// complaint/bug-report - sim -> dataserver. see UserReport for details.
// reliable
{
UserReportInternal Low 21 Trusted Zerocoded
{
ReportData Single
{ ReportType U8 }
{ Category U8 }
{ ReporterID LLUUID }
{ ViewerPosition LLVector3 }
{ AgentPosition LLVector3 }
{ ScreenshotID LLUUID }
{ ObjectID LLUUID }
{ OwnerID LLUUID }
{ LastOwnerID LLUUID }
{ CreatorID LLUUID }
{ RegionID LLUUID }
{ AbuserID LLUUID }
{ AbuseRegionName Variable 1 }
{ AbuseRegionID LLUUID }
{ Summary Variable 1 }
{ Details Variable 2 }
{ VersionString Variable 1 }
}
}
// SetSimStatusInDatabase
// alters the "simulator" table in the database
// sim -> dataserver
// reliable
{
SetSimStatusInDatabase Low 22 Trusted Unencoded
{
Data Single
{ RegionID LLUUID }
{ HostName Variable 1 }
{ X S32 }
{ Y S32 }
{ PID S32 }
{ AgentCount S32 }
{ TimeToLive S32 } // in seconds
{ Status Variable 1 }
}
}
// SetSimPresenceInDatabase
// updates the "presence" table in the database to ensure
// that a given simulator is present and valid for a set amount of
// time
{
SetSimPresenceInDatabase Low 23 Trusted Unencoded
{
SimData Single
{ RegionID LLUUID }
{ HostName Variable 1 }
{ GridX U32 }
{ GridY U32 }
{ PID S32 }
{ AgentCount S32 }
{ TimeToLive S32 } // in seconds
{ Status Variable 1 }
}
}
// ***************************************************************************
// Economy messages
// ***************************************************************************
// once we use local stats, this will include a region handle
{
EconomyDataRequest Low 24 NotTrusted Unencoded
}
// dataserver to sim, response w/ econ data
{
EconomyData Low 25 Trusted Zerocoded
{
Info Single
{ ObjectCapacity S32 }
{ ObjectCount S32 }
{ PriceEnergyUnit S32 }
{ PriceObjectClaim S32 }
{ PricePublicObjectDecay S32 }
{ PricePublicObjectDelete S32 }
{ PriceParcelClaim S32 }
{ PriceParcelClaimFactor F32 }
{ PriceUpload S32 }
{ PriceRentLight S32 }
{ TeleportMinPrice S32 }
{ TeleportPriceExponent F32 }
{ EnergyEfficiency F32 }
{ PriceObjectRent F32 }
{ PriceObjectScaleFactor F32 }
{ PriceParcelRent S32 }
{ PriceGroupCreate S32 }
}
}
// ***************************************************************************
// Search messages
// ***************************************************************************
// AvatarPickerRequest
// Get a list of names to select a person
// viewer -> sim -> data
// reliable
{
AvatarPickerRequest Low 26 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ QueryID LLUUID }
}
{
Data Single
{ Name Variable 1 }
}
}
// backend implementation which tracks if the user is a god.
{
AvatarPickerRequestBackend Low 27 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ QueryID LLUUID }
{ GodLevel U8 }
}
{
Data Single
{ Name Variable 1 }
}
}
// AvatarPickerReply
// List of names to select a person
// reliable
{
AvatarPickerReply Low 28 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ QueryID LLUUID }
}
{
Data Variable
{ AvatarID LLUUID }
{ FirstName Variable 1 }
{ LastName Variable 1 }
}
}
// PlacesQuery
// Used for getting a list of places for the group land panel
// and the user land holdings panel. NOT for the directory.
{
PlacesQuery Low 29 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ QueryID LLUUID }
}
{
TransactionData Single
{ TransactionID LLUUID }
}
{
QueryData Single
{ QueryText Variable 1 }
{ QueryFlags U32 }
{ Category S8 }
{ SimName Variable 1 }
}
}
// PlacesReply
// dataserver -> simulator -> viewer
// If the user has specified a location, use that to compute
// global x,y,z. Otherwise, use center of the AABB.
// reliable
{
PlacesReply Low 30 Trusted Zerocoded UDPDeprecated
{
AgentData Single
{ AgentID LLUUID }
{ QueryID LLUUID }
}
{
TransactionData Single
{ TransactionID LLUUID }
}
{
QueryData Variable
{ OwnerID LLUUID }
{ Name Variable 1 }
{ Desc Variable 1 }
{ ActualArea S32 }
{ BillableArea S32 }
{ Flags U8 }
{ GlobalX F32 } // meters
{ GlobalY F32 } // meters
{ GlobalZ F32 } // meters
{ SimName Variable 1 }
{ SnapshotID LLUUID }
{ Dwell F32 }
{ Price S32 }
//{ ProductSKU Variable 1 }
}
}
// DirFindQuery viewer->sim
// Message to start asking questions for the directory
{
DirFindQuery Low 31 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
QueryData Single
{ QueryID LLUUID }
{ QueryText Variable 1 }
{ QueryFlags U32 }
{ QueryStart S32 } // prev/next page support
}
}
// DirFindQueryBackend sim->data
// Trusted message generated by receipt of DirFindQuery to sim.
{
DirFindQueryBackend Low 32 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
}
{
QueryData Single
{ QueryID LLUUID }
{ QueryText Variable 1 }
{ QueryFlags U32 }
{ QueryStart S32 } // prev/next page support
{ EstateID U32 }
{ Godlike BOOL }
}
}
// DirPlacesQuery viewer->sim
// Used for the Find directory of places
{
DirPlacesQuery Low 33 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
QueryData Single
{ QueryID LLUUID }
{ QueryText Variable 1 }
{ QueryFlags U32 }
{ Category S8 }
{ SimName Variable 1 }
{ QueryStart S32 }
}
}
// DirPlacesQueryBackend sim->dataserver
// Used for the Find directory of places.
{
DirPlacesQueryBackend Low 34 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
}
{
QueryData Single
{ QueryID LLUUID }
{ QueryText Variable 1 }
{ QueryFlags U32 }
{ Category S8 }
{ SimName Variable 1 }
{ EstateID U32 }
{ Godlike BOOL }
{ QueryStart S32 }
}
}
// DirPlacesReply dataserver->sim->viewer
// If the user has specified a location, use that to compute
// global x,y,z. Otherwise, use center of the AABB.
// reliable
{
DirPlacesReply Low 35 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
}
{
QueryData Variable
{ QueryID LLUUID }
}
{
QueryReplies Variable
{ ParcelID LLUUID }
{ Name Variable 1 }
{ ForSale BOOL }
{ Auction BOOL }
{ Dwell F32 }
}
{
StatusData Variable
{ Status U32 }
}
}
// DirPeopleReply
{
DirPeopleReply Low 36 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
}
{
QueryData Single
{ QueryID LLUUID }
}
{
QueryReplies Variable
{ AgentID LLUUID }
{ FirstName Variable 1 }
{ LastName Variable 1 }
{ Group Variable 1 }
{ Online BOOL }
{ Reputation S32 }
}
}
// DirEventsReply
{
DirEventsReply Low 37 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
}
{
QueryData Single
{ QueryID LLUUID }
}
{
QueryReplies Variable
{ OwnerID LLUUID }
{ Name Variable 1 }
{ EventID U32 }
{ Date Variable 1 }
{ UnixTime U32 }
{ EventFlags U32 }
}
{
StatusData Variable
{ Status U32 }
}
}
// DirGroupsReply
// dataserver -> userserver -> viewer
// reliable
{
DirGroupsReply Low 38 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
}
{
QueryData Single
{ QueryID LLUUID }
}
{
QueryReplies Variable
{ GroupID LLUUID }
{ GroupName Variable 1 } // string
{ Members S32 }
{ SearchOrder F32 }
}
}
// DirClassifiedQuery viewer->sim
// reliable
{
DirClassifiedQuery Low 39 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
QueryData Single
{ QueryID LLUUID }
{ QueryText Variable 1 }
{ QueryFlags U32 }
{ Category U32 }
{ QueryStart S32 }
}
}
// DirClassifiedQueryBackend sim->dataserver
// reliable
{
DirClassifiedQueryBackend Low 40 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
}
{
QueryData Single
{ QueryID LLUUID }
{ QueryText Variable 1 }
{ QueryFlags U32 }
{ Category U32 }
{ EstateID U32 }
{ Godlike BOOL }
{ QueryStart S32 }
}
}
// DirClassifiedReply dataserver->sim->viewer
// reliable
{
DirClassifiedReply Low 41 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
}
{
QueryData Single
{ QueryID LLUUID }
}
{
QueryReplies Variable
{ ClassifiedID LLUUID }
{ Name Variable 1 }
{ ClassifiedFlags U8 }
{ CreationDate U32 }
{ ExpirationDate U32 }
{ PriceForListing S32 }
}
{
StatusData Variable
{ Status U32 }
}
}
// AvatarClassifiedReply
// dataserver -> simulator -> viewer
// Send the header information for this avatar's classifieds
// This fills in the tabs of the Classifieds panel.
// reliable
{
AvatarClassifiedReply Low 42 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ TargetID LLUUID }
}
{
Data Variable
{ ClassifiedID LLUUID }
{ Name Variable 1 }
}
}
// ClassifiedInfoRequest
// viewer -> simulator
// simulator -> dataserver
// reliable
{
ClassifiedInfoRequest Low 43 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ ClassifiedID LLUUID }
}
}
// ClassifiedInfoReply
// dataserver -> simulator
// simulator -> viewer
// reliable
{
ClassifiedInfoReply Low 44 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
}
{
Data Single
{ ClassifiedID LLUUID }
{ CreatorID LLUUID }
{ CreationDate U32 }
{ ExpirationDate U32 }
{ Category U32 }
{ Name Variable 1 }
{ Desc Variable 2 }
{ ParcelID LLUUID }
{ ParentEstate U32 }
{ SnapshotID LLUUID }
{ SimName Variable 1 }
{ PosGlobal LLVector3d }
{ ParcelName Variable 1 }
{ ClassifiedFlags U8 }
{ PriceForListing S32 }
}
}
// ClassifiedInfoUpdate
// Update a classified. ParcelID and EstateID are set
// on the simulator as the message passes through.
// viewer -> simulator -> dataserver
// reliable
{
ClassifiedInfoUpdate Low 45 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ ClassifiedID LLUUID }
{ Category U32 }
{ Name Variable 1 }
{ Desc Variable 2 }
{ ParcelID LLUUID }
{ ParentEstate U32 }
{ SnapshotID LLUUID }
{ PosGlobal LLVector3d }
{ ClassifiedFlags U8 }
{ PriceForListing S32 }
}
}
// ClassifiedDelete
// Delete a classified from the database.
// viewer -> simulator -> dataserver
// reliable
{
ClassifiedDelete Low 46 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ ClassifiedID LLUUID }
}
}
// ClassifiedGodDelete
// Delete a classified from the database.
// QueryID is needed so database can send a repeat list of
// classified.
// viewer -> simulator -> dataserver
// reliable
{
ClassifiedGodDelete Low 47 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ ClassifiedID LLUUID }
{ QueryID LLUUID }
}
}
// DirLandQuery viewer->sim
// Special query for the land for sale/auction panel.
// reliable
{
DirLandQuery Low 48 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
QueryData Single
{ QueryID LLUUID }
{ QueryFlags U32 }
{ SearchType U32 }
{ Price S32 }
{ Area S32 }
{ QueryStart S32 }
}
}
// DirLandQueryBackend sim->dataserver
// Special query for the land for sale/auction panel.
{
DirLandQueryBackend Low 49 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
}
{
QueryData Single
{ QueryID LLUUID }
{ QueryFlags U32 }
{ SearchType U32 }
{ Price S32 }
{ Area S32 }
{ QueryStart S32 }
{ EstateID U32 }
{ Godlike BOOL }
}
}
// DirLandReply
// dataserver -> simulator -> viewer
// reliable
{
DirLandReply Low 50 Trusted Zerocoded UDPDeprecated
{
AgentData Single
{ AgentID LLUUID }
}
{
QueryData Single
{ QueryID LLUUID }
}
{
QueryReplies Variable
{ ParcelID LLUUID }
{ Name Variable 1 }
{ Auction BOOL }
{ ForSale BOOL }
{ SalePrice S32 }
{ ActualArea S32 }
//{ ProductSKU Variable 1 }
}
}
// DEPRECATED: DirPopularQuery viewer->sim
// Special query for the land for sale/auction panel.
// reliable
{
DirPopularQuery Low 51 NotTrusted Zerocoded Deprecated
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
QueryData Single
{ QueryID LLUUID }
{ QueryFlags U32 }
}
}
// DEPRECATED: DirPopularQueryBackend sim->dataserver
// Special query for the land for sale/auction panel.
// reliable
{
DirPopularQueryBackend Low 52 Trusted Zerocoded Deprecated
{
AgentData Single
{ AgentID LLUUID }
}
{
QueryData Single
{ QueryID LLUUID }
{ QueryFlags U32 }
{ EstateID U32 }
{ Godlike BOOL }
}
}
// DEPRECATED: DirPopularReply
// dataserver -> simulator -> viewer
// reliable
{
DirPopularReply Low 53 Trusted Zerocoded Deprecated
{
AgentData Single
{ AgentID LLUUID }
}
{
QueryData Single
{ QueryID LLUUID }
}
{
QueryReplies Variable
{ ParcelID LLUUID }
{ Name Variable 1 }
{ Dwell F32 }
}
}
// ParcelInfoRequest
// viewer -> simulator -> dataserver
// reliable
{
ParcelInfoRequest Low 54 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ ParcelID LLUUID }
}
}
// ParcelInfoReply
// dataserver -> simulator -> viewer
// reliable
{
ParcelInfoReply Low 55 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
}
{
Data Single
{ ParcelID LLUUID }
{ OwnerID LLUUID }
{ Name Variable 1 }
{ Desc Variable 1 }
{ ActualArea S32 }
{ BillableArea S32 }
{ Flags U8 }
{ GlobalX F32 } // meters
{ GlobalY F32 } // meters
{ GlobalZ F32 } // meters
{ SimName Variable 1 }
{ SnapshotID LLUUID }
{ Dwell F32 }
{ SalePrice S32 }
{ AuctionID S32 }
}
}
// ParcelObjectOwnersRequest
// viewer -> simulator
// reliable
{
ParcelObjectOwnersRequest Low 56 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ParcelData Single
{ LocalID S32 }
}
}
// ParcelObjectOwnersReply
// simulator -> viewer
// reliable
{
ParcelObjectOwnersReply Low 57 Trusted Zerocoded UDPDeprecated
{
Data Variable
{ OwnerID LLUUID }
{ IsGroupOwned BOOL }
{ Count S32 }
{ OnlineStatus BOOL }
}
}
// GroupNoticeListRequest
// viewer -> simulator -> dataserver
// reliable
{
GroupNoticesListRequest Low 58 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ GroupID LLUUID }
}
}
// GroupNoticesListReply
// dataserver -> simulator -> viewer
// reliable
{
GroupNoticesListReply Low 59 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ GroupID LLUUID }
}
{
Data Variable
{ NoticeID LLUUID }
{ Timestamp U32 }
{ FromName Variable 2 }
{ Subject Variable 2 }
{ HasAttachment BOOL }
{ AssetType U8 }
}
}
// GroupNoticeRequest
// viewer -> simulator
// simulator -> dataserver
// reliable
{
GroupNoticeRequest Low 60 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ GroupNoticeID LLUUID }
}
}
// GroupNoticeAdd
// Add a group notice.
// simulator -> dataserver
// reliable
{
GroupNoticeAdd Low 61 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
}
{
MessageBlock Single
{ ToGroupID LLUUID }
{ ID LLUUID }
{ Dialog U8 }
{ FromAgentName Variable 1 }
{ Message Variable 2 }
{ BinaryBucket Variable 2 }
}
}
// ****************************************************************************
// Teleport messages
//
// The teleport messages are numerous, so I have attempted to give them a
// consistent naming convention. Since there is a bit of glob pattern
// aliasing, the rules are applied in order.
//
// Teleport* - viewer->sim or sim->viewer message which announces a
// teleportation request, progrees, start, or end.
// Data* - sim->data or data->sim trusted message.
// Space* - sim->space or space->sim trusted messaging
// *Lure - A lure message to pass around information.
//
// All actual viewer teleports will begin with a Teleport* message and
// end in a TeleportStart, TeleportLocal or TeleportFailed message. The TeleportFailed
// message may be returned by any process and must be routed through the
// teleporting agent's simulator and back to the viewer.
// ****************************************************************************
// TeleportRequest
// viewer -> sim specifying exact teleport destination
{
TeleportRequest Low 62 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Info Single
{ RegionID LLUUID }
{ Position LLVector3 }
{ LookAt LLVector3 }
}
}
// TeleportLocationRequest
// viewer -> sim specifying exact teleport destination
{
TeleportLocationRequest Low 63 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Info Single
{ RegionHandle U64 }
{ Position LLVector3 }
{ LookAt LLVector3 }
}
}
// TeleportLocal
// sim -> viewer reply telling the viewer that we've successfully TP'd
// to somewhere else within the sim
{
TeleportLocal Low 64 Trusted Unencoded
{
Info Single
{ AgentID LLUUID }
{ LocationID U32 }
{ Position LLVector3 } // region
{ LookAt LLVector3 }
{ TeleportFlags U32 }
}
}
// TeleportLandmarkRequest viewer->sim
// teleport to landmark asset ID destination. use LLUUD::null for home.
{
TeleportLandmarkRequest Low 65 NotTrusted Zerocoded
{
Info Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ LandmarkID LLUUID }
}
}
// TeleportProgress sim->viewer
// Tell the agent how the teleport is going.
{
TeleportProgress Low 66 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
}
{
Info Single
{ TeleportFlags U32 }
{ Message Variable 1 } // string
}
}
// DataHomeLocationRequest sim->data
// Request
{
DataHomeLocationRequest Low 67 Trusted Zerocoded
{
Info Single
{ AgentID LLUUID }
{ KickedFromEstateID U32 }
}
{
AgentInfo Single
{ AgentEffectiveMaturity U32 }
}
}
// DataHomeLocationReply data->sim
// response is the location of agent home.
{
DataHomeLocationReply Low 68 Trusted Unencoded
{
Info Single
{ AgentID LLUUID }
{ RegionHandle U64 }
{ Position LLVector3 } // region coords
{ LookAt LLVector3 }
}
}
// TeleportFinish sim->viewer
// called when all of the information has been collected and readied for
// the agent.
{
TeleportFinish Low 69 Trusted Unencoded UDPBlackListed
{
Info Single
{ AgentID LLUUID }
{ LocationID U32 }
{ SimIP IPADDR }
{ SimPort IPPORT }
{ RegionHandle U64 }
{ SeedCapability Variable 2 } // URL
{ SimAccess U8 }
{ TeleportFlags U32 }
}
}
// StartLure viewer->sim
// Sent from viewer to the local simulator to lure target id to near
// agent id. This will generate an instant message that will be routed
// through the space server and out to the userserver. When that IM
// goes through the userserver and the TargetID is online, the
// userserver will send an InitializeLure to the spaceserver. When that
// packet is acked, the original instant message is finally forwarded to
// TargetID.
{
StartLure Low 70 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Info Single
{ LureType U8 }
{ Message Variable 1 }
}
{
TargetData Variable
{ TargetID LLUUID }
}
}
// TeleportLureRequest viewer->sim
// Message from target of lure to begin the teleport process on the
// local simulator.
{
TeleportLureRequest Low 71 NotTrusted Unencoded
{
Info Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ LureID LLUUID }
{ TeleportFlags U32 }
}
}
// TeleportCancel viewer->sim
// reliable
{
TeleportCancel Low 72 NotTrusted Unencoded
{
Info Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
}
// TeleportStart sim->viewer
// announce a successful teleport request to the viewer.
{
TeleportStart Low 73 Trusted Unencoded
{
Info Single
{ TeleportFlags U32 }
}
}
// TeleportFailed somewhere->sim->viewer
// announce failure of teleport request
{
TeleportFailed Low 74 Trusted Unencoded
{
Info Single
{ AgentID LLUUID }
{ Reason Variable 1 } // string
}
{
AlertInfo Variable
{ Message Variable 1 } // string id
{ ExtraParams Variable 1 } // llsd extra parameters
}
}
// ***************************************************************************
// Viewer to Simulator Messages
// ***************************************************************************
// Undo
{
Undo Low 75 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ GroupID LLUUID }
}
{
ObjectData Variable
{ ObjectID LLUUID }
}
}
// Redo
{
Redo Low 76 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ GroupID LLUUID }
}
{
ObjectData Variable
{ ObjectID LLUUID }
}
}
// UndoLand
{
UndoLand Low 77 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
}
// AgentPause - viewer occasionally will block, inform simulator of this fact
{
AgentPause Low 78 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ SerialNum U32 } // U32, used by both pause and resume. Non-increasing numbers are ignored.
}
}
// AgentResume - unblock the agent
{
AgentResume Low 79 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ SerialNum U32 } // U32, used by both pause and resume. Non-increasing numbers are ignored.
}
}
// AgentUpdate - Camera info sent from viewer to simulator
// or, more simply, two axes and compute cross product
// State data is temporary, indicates current behavior state:
// 0 = walking
// 1 = mouselook
// 2 = typing
//
// Center is region local (JNC 8.16.2001)
// Camera center is region local (JNC 8.29.2001)
{
AgentUpdate High 4 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ BodyRotation LLQuaternion }
{ HeadRotation LLQuaternion }
{ State U8 }
{ CameraCenter LLVector3 }
{ CameraAtAxis LLVector3 }
{ CameraLeftAxis LLVector3 }
{ CameraUpAxis LLVector3 }
{ Far F32 }
{ ControlFlags U32 }
{ Flags U8 }
}
}
// ChatFromViewer
// Specifies the text to be said and the "type",
// normal speech, shout, whisper.
// with the specified radius
{
ChatFromViewer Low 80 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ChatData Single
{ Message Variable 2 }
{ Type U8 }
{ Channel S32 }
}
}
// AgentThrottle
{
AgentThrottle Low 81 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ CircuitCode U32 }
}
{
Throttle Single
{ GenCounter U32 }
{ Throttles Variable 1 }
}
}
// AgentFOV - Update to agent's field of view, angle is vertical, single F32 float in radians
{
AgentFOV Low 82 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ CircuitCode U32 }
}
{
FOVBlock Single
{ GenCounter U32 }
{ VerticalAngle F32 }
}
}
// AgentHeightWidth - Update to height and aspect, sent as height/width to save space
// Usually sent when window resized or created
{
AgentHeightWidth Low 83 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ CircuitCode U32 }
}
{
HeightWidthBlock Single
{ GenCounter U32 }
{ Height U16 }
{ Width U16 }
}
}
// AgentSetAppearance - Update to agent appearance
{
AgentSetAppearance Low 84 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ SerialNum U32 } // U32, Increases every time the appearance changes. A value of 0 resets.
{ Size LLVector3 }
}
{
WearableData Variable
{ CacheID LLUUID }
{ TextureIndex U8 }
}
{
ObjectData Single
{ TextureEntry Variable 2 }
}
{
VisualParam Variable
{ ParamValue U8 }
}
}
// AgentAnimation - Update animation state
// viewer --> simulator
{
AgentAnimation High 5 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
AnimationList Variable
{ AnimID LLUUID }
{ StartAnim BOOL }
}
{
PhysicalAvatarEventList Variable
{ TypeData Variable 1 }
}
}
// AgentRequestSit - Try to sit on an object
{
AgentRequestSit High 6 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
TargetObject Single
{ TargetID LLUUID }
{ Offset LLVector3 }
}
}
// AgentSit - Actually sit on object
{
AgentSit High 7 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
}
// quit message sent between simulators
{
AgentQuitCopy Low 85 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
FuseBlock Single
{ ViewerCircuitCode U32 }
}
}
// Request Image - Sent by the viewer to request a specified image at a specified resolution
{
RequestImage High 8 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
RequestImage Variable
{ Image LLUUID }
{ DiscardLevel S8 }
{ DownloadPriority F32 }
{ Packet U32 }
{ Type U8 }
}
}
// ImageNotInDatabase
// Simulator informs viewer that a requsted image definitely does not exist in the asset database
{
ImageNotInDatabase Low 86 Trusted Unencoded
{
ImageID Single
{ ID LLUUID }
}
}
// RebakeAvatarTextures
// simulator -> viewer request when a temporary baked avatar texture is not found
{
RebakeAvatarTextures Low 87 Trusted Unencoded
{
TextureData Single
{ TextureID LLUUID }
}
}
// SetAlwaysRun
// Lets the viewer choose between running and walking
{
SetAlwaysRun Low 88 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ AlwaysRun BOOL }
}
}
// ObjectAdd - create new object in the world
// Simulator will assign ID and send message back to signal
// object actually created.
//
// AddFlags (see also ObjectUpdate)
// 0x01 - use physics
// 0x02 - create selected
//
// If only one ImageID is sent for an object type that has more than
// one face, the same image is repeated on each subsequent face.
//
// Data field is opaque type-specific data for this object
{
ObjectAdd Medium 1 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ GroupID LLUUID }
}
{
ObjectData Single
{ PCode U8 }
{ Material U8 }
{ AddFlags U32 } // see object_flags.h
{ PathCurve U8 }
{ ProfileCurve U8 }
{ PathBegin U16 } // 0 to 1, quanta = 0.01
{ PathEnd U16 } // 0 to 1, quanta = 0.01
{ PathScaleX U8 } // 0 to 1, quanta = 0.01
{ PathScaleY U8 } // 0 to 1, quanta = 0.01
{ PathShearX U8 } // -.5 to .5, quanta = 0.01
{ PathShearY U8 } // -.5 to .5, quanta = 0.01
{ PathTwist S8 } // -1 to 1, quanta = 0.01
{ PathTwistBegin S8 } // -1 to 1, quanta = 0.01
{ PathRadiusOffset S8 } // -1 to 1, quanta = 0.01
{ PathTaperX S8 } // -1 to 1, quanta = 0.01
{ PathTaperY S8 } // -1 to 1, quanta = 0.01
{ PathRevolutions U8 } // 0 to 3, quanta = 0.015
{ PathSkew S8 } // -1 to 1, quanta = 0.01
{ ProfileBegin U16 } // 0 to 1, quanta = 0.01
{ ProfileEnd U16 } // 0 to 1, quanta = 0.01
{ ProfileHollow U16 } // 0 to 1, quanta = 0.01
{ BypassRaycast U8 }
{ RayStart LLVector3 }
{ RayEnd LLVector3 }
{ RayTargetID LLUUID }
{ RayEndIsIntersection U8 }
{ Scale LLVector3 }
{ Rotation LLQuaternion }
{ State U8 }
}
}
// ObjectDelete
// viewer -> simulator
{
ObjectDelete Low 89 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ Force BOOL } // BOOL, god trying to force delete
}
{
ObjectData Variable
{ ObjectLocalID U32 }
}
}
// ObjectDuplicate
// viewer -> simulator
// Makes a copy of a set of objects, offset by a given amount
{
ObjectDuplicate Low 90 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ GroupID LLUUID }
}
{
SharedData Single
{ Offset LLVector3 }
{ DuplicateFlags U32 } // see object_flags.h
}
{
ObjectData Variable
{ ObjectLocalID U32 }
}
}
// ObjectDuplicateOnRay
// viewer -> simulator
// Makes a copy of an object, using the add object raycast
// code to abut it to other objects.
{
ObjectDuplicateOnRay Low 91 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ GroupID LLUUID }
{ RayStart LLVector3 } // region local
{ RayEnd LLVector3 } // region local
{ BypassRaycast BOOL }
{ RayEndIsIntersection BOOL }
{ CopyCenters BOOL }
{ CopyRotates BOOL }
{ RayTargetID LLUUID }
{ DuplicateFlags U32 } // see object_flags.h
}
{
ObjectData Variable
{ ObjectLocalID U32 }
}
}
// MultipleObjectUpdate
// viewer -> simulator
// updates position, rotation and scale in one message
// positions sent as region-local floats
{
MultipleObjectUpdate Medium 2 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Variable
{ ObjectLocalID U32 }
{ Type U8 }
{ Data Variable 1 } // custom type
}
}
// RequestMultipleObjects
// viewer -> simulator
// reliable
//
// When the viewer gets a local_id/crc for an object that
// it either doesn't have, or doesn't have the current version
// of, it sends this upstream get get an update.
//
// CacheMissType 0 => full object (viewer doesn't have it)
// CacheMissType 1 => CRC mismatch only
{
RequestMultipleObjects Medium 3 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Variable
{ CacheMissType U8 }
{ ID U32 }
}
}
// DEPRECATED: ObjectPosition
// == Old Behavior ==
// Set the position on objects
//
// == Reason for deprecation ==
// Unused code path was removed in the move to Havok4
// Object position, scale and rotation messages were already unified
// to MultipleObjectUpdate and this message was unused cruft.
//
// == New Location ==
// MultipleObjectUpdate can be used instead.
{
ObjectPosition Medium 4 NotTrusted Zerocoded Deprecated
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Variable
{ ObjectLocalID U32 }
{ Position LLVector3 } // region
}
}
// DEPRECATED: ObjectScale
// == Old Behavior ==
// Set the scale on objects
//
// == Reason for deprecation ==
// Unused code path was removed in the move to Havok4
// Object position, scale and rotation messages were already unified
// to MultipleObjectUpdate and this message was unused cruft.
//
// == New Location ==
// MultipleObjectUpdate can be used instead.
{
ObjectScale Low 92 NotTrusted Zerocoded Deprecated
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Variable
{ ObjectLocalID U32 }
{ Scale LLVector3 }
}
}
// ObjectRotation
// viewer -> simulator
{
ObjectRotation Low 93 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Variable
{ ObjectLocalID U32 }
{ Rotation LLQuaternion }
}
}
// ObjectFlagUpdate
// viewer -> simulator
{
ObjectFlagUpdate Low 94 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ ObjectLocalID U32 }
{ UsePhysics BOOL }
{ IsTemporary BOOL }
{ IsPhantom BOOL }
{ CastsShadows BOOL }
}
{
ExtraPhysics Variable
{ PhysicsShapeType U8 }
{ Density F32 }
{ Friction F32 }
{ Restitution F32 }
{ GravityMultiplier F32 }
}
}
// ObjectClickAction
// viewer -> simulator
{
ObjectClickAction Low 95 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Variable
{ ObjectLocalID U32 }
{ ClickAction U8 }
}
}
// ObjectImage
// viewer -> simulator
{
ObjectImage Low 96 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Variable
{ ObjectLocalID U32 }
{ MediaURL Variable 1 }
{ TextureEntry Variable 2 }
}
}
{
ObjectMaterial Low 97 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Variable
{ ObjectLocalID U32 }
{ Material U8 }
}
}
{
ObjectShape Low 98 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Variable
{ ObjectLocalID U32 }
{ PathCurve U8 }
{ ProfileCurve U8 }
{ PathBegin U16 } // 0 to 1, quanta = 0.01
{ PathEnd U16 } // 0 to 1, quanta = 0.01
{ PathScaleX U8 } // 0 to 1, quanta = 0.01
{ PathScaleY U8 } // 0 to 1, quanta = 0.01
{ PathShearX U8 } // -.5 to .5, quanta = 0.01
{ PathShearY U8 } // -.5 to .5, quanta = 0.01
{ PathTwist S8 } // -1 to 1, quanta = 0.01
{ PathTwistBegin S8 } // -1 to 1, quanta = 0.01
{ PathRadiusOffset S8 } // -1 to 1, quanta = 0.01
{ PathTaperX S8 } // -1 to 1, quanta = 0.01
{ PathTaperY S8 } // -1 to 1, quanta = 0.01
{ PathRevolutions U8 } // 0 to 3, quanta = 0.015
{ PathSkew S8 } // -1 to 1, quanta = 0.01
{ ProfileBegin U16 } // 0 to 1, quanta = 0.01
{ ProfileEnd U16 } // 0 to 1, quanta = 0.01
{ ProfileHollow U16 } // 0 to 1, quanta = 0.01
}
}
{
ObjectExtraParams Low 99 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Variable
{ ObjectLocalID U32 }
{ ParamType U16 }
{ ParamInUse BOOL }
{ ParamSize U32 }
{ ParamData Variable 1 }
}
}
// ObjectOwner
// To make public, set OwnerID to LLUUID::null.
// TODO: Eliminate god-bit. Maybe not. God-bit is ok, because it's
// known on the server.
{
ObjectOwner Low 100 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
HeaderData Single
{ Override BOOL } // BOOL, God-bit.
{ OwnerID LLUUID }
{ GroupID LLUUID }
}
{
ObjectData Variable
{ ObjectLocalID U32 }
}
}
// ObjectGroup
// To make the object part of no group, set GroupID = LLUUID::null.
// This call only works if objectid.ownerid == agentid.
{
ObjectGroup Low 101 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ GroupID LLUUID }
}
{
ObjectData Variable
{ ObjectLocalID U32 }
}
}
// Attempt to buy an object. This will only pack root objects.
{
ObjectBuy Low 102 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ GroupID LLUUID }
{ CategoryID LLUUID } // folder where it goes (if derezed)
}
{
ObjectData Variable
{ ObjectLocalID U32 }
{ SaleType U8 } // U8 -> EForSale
{ SalePrice S32 }
}
}
// viewer -> simulator
// buy object inventory. If the transaction succeeds, it will add
// inventory to the agent, and potentially remove the original.
{
BuyObjectInventory Low 103 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ ObjectID LLUUID }
{ ItemID LLUUID }
{ FolderID LLUUID }
}
}
// sim -> viewer
// Used to propperly handle buying asset containers
{
DerezContainer Low 104 Trusted Zerocoded
{
Data Single
{ ObjectID LLUUID }
{ Delete BOOL } // BOOL
}
}
// ObjectPermissions
// Field - see llpermissionsflags.h
// If Set is true, tries to turn on bits in mask.
// If set is false, tries to turn off bits in mask.
// BUG: This just forces the permissions field.
{
ObjectPermissions Low 105 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
HeaderData Single
{ Override BOOL } // BOOL, God-bit.
}
{
ObjectData Variable
{ ObjectLocalID U32 }
{ Field U8 }
{ Set U8 }
{ Mask U32 }
}
}
// set object sale information
{
ObjectSaleInfo Low 106 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Variable
{ LocalID U32 }
{ SaleType U8 } // U8 -> EForSale
{ SalePrice S32 }
}
}
// set object names
{
ObjectName Low 107 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Variable
{ LocalID U32 }
{ Name Variable 1 }
}
}
// set object descriptions
{
ObjectDescription Low 108 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Variable
{ LocalID U32 }
{ Description Variable 1 }
}
}
// set object category
{
ObjectCategory Low 109 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Variable
{ LocalID U32 }
{ Category U32 }
}
}
// ObjectSelect
// Variable object data because rectangular selection can
// generate a large list very quickly.
{
ObjectSelect Low 110 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Variable
{ ObjectLocalID U32 }
}
}
// ObjectDeselect
{
ObjectDeselect Low 111 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Variable
{ ObjectLocalID U32 }
}
}
// ObjectAttach
{
ObjectAttach Low 112 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ AttachmentPoint U8 }
}
{
ObjectData Variable
{ ObjectLocalID U32 }
{ Rotation LLQuaternion }
}
}
// ObjectDetach -- derezzes an attachment, marking its item in your inventory as not "(worn)"
{
ObjectDetach Low 113 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Variable
{ ObjectLocalID U32 }
}
}
// ObjectDrop -- drops an attachment from your avatar onto the ground
{
ObjectDrop Low 114 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Variable
{ ObjectLocalID U32 }
}
}
// ObjectLink
{
ObjectLink Low 115 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Variable
{ ObjectLocalID U32 }
}
}
// ObjectDelink
{
ObjectDelink Low 116 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Variable
{ ObjectLocalID U32 }
}
}
// ObjectGrab
{
ObjectGrab Low 117 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Single
{ LocalID U32 }
{ GrabOffset LLVector3 }
}
{
SurfaceInfo Variable
{ UVCoord LLVector3 }
{ STCoord LLVector3 }
{ FaceIndex S32 }
{ Position LLVector3 }
{ Normal LLVector3 }
{ Binormal LLVector3 }
}
}
// ObjectGrabUpdate
// TODO: Quantize this data, reduce message size.
// TimeSinceLast could go to 1 byte, since capped
// at 100 on sim.
{
ObjectGrabUpdate Low 118 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Single
{ ObjectID LLUUID }
{ GrabOffsetInitial LLVector3 } // LLVector3
{ GrabPosition LLVector3 } // LLVector3, region local
{ TimeSinceLast U32 }
}
{
SurfaceInfo Variable
{ UVCoord LLVector3 }
{ STCoord LLVector3 }
{ FaceIndex S32 }
{ Position LLVector3 }
{ Normal LLVector3 }
{ Binormal LLVector3 }
}
}
// ObjectDeGrab
{
ObjectDeGrab Low 119 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Single
{ LocalID U32 }
}
{
SurfaceInfo Variable
{ UVCoord LLVector3 }
{ STCoord LLVector3 }
{ FaceIndex S32 }
{ Position LLVector3 }
{ Normal LLVector3 }
{ Binormal LLVector3 }
}
}
// ObjectSpinStart
{
ObjectSpinStart Low 120 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Single
{ ObjectID LLUUID }
}
}
// ObjectSpinUpdate
{
ObjectSpinUpdate Low 121 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Single
{ ObjectID LLUUID }
{ Rotation LLQuaternion }
}
}
// ObjectSpinStop
{
ObjectSpinStop Low 122 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Single
{ ObjectID LLUUID }
}
}
// Export selected objects
// viewer->sim
{
ObjectExportSelected Low 123 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ RequestID LLUUID }
{ VolumeDetail S16 }
}
{
ObjectData Variable
{ ObjectID LLUUID }
}
}
// ModifyLand - sent to modify a piece of land on a simulator.
// viewer -> sim
{
ModifyLand Low 124 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ModifyBlock Single
{ Action U8 }
{ BrushSize U8 }
{ Seconds F32 }
{ Height F32 }
}
{
ParcelData Variable
{ LocalID S32 }
{ West F32 }
{ South F32 }
{ East F32 }
{ North F32 }
}
{
ModifyBlockExtended Variable
{ BrushSize F32 }
}
}
// VelocityInterpolateOn
// viewer->sim
// requires administrative access
{
VelocityInterpolateOn Low 125 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
}
// VelocityInterpolateOff
// viewer->sim
// requires administrative access
{
VelocityInterpolateOff Low 126 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
}
// Save State
// viewer->sim
// requires administrative access
{
StateSave Low 127 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
DataBlock Single
{ Filename Variable 1 }
}
}
// ReportAutosaveCrash
// sim->launcher
{
ReportAutosaveCrash Low 128 NotTrusted Unencoded
{
AutosaveData Single
{ PID S32 }
{ Status S32 }
}
}
// SimWideDeletes
{
SimWideDeletes Low 129 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
DataBlock Single
{ TargetID LLUUID }
{ Flags U32 }
}
}
// RequestObjectPropertiesFamily
// Ask for extended information, such as creator, permissions, resources, etc.
// Medium frequency because it is driven by mouse hovering over objects, which
// occurs at high rates.
{
RequestObjectPropertiesFamily Medium 5 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Single
{ RequestFlags U32 }
{ ObjectID LLUUID }
}
}
// Track agent - this information is used when sending out the
// coarse location update so that we know who you are tracking.
// To stop tracking - send a null uuid as the prey.
{
TrackAgent Low 130 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
TargetData Single
{ PreyID LLUUID }
}
}
// end viewer to simulator section
{
ViewerStats Low 131 NotTrusted Zerocoded UDPDeprecated
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ IP IPADDR }
{ StartTime U32 }
{ RunTime F32 } // F32
{ SimFPS F32 } // F32
{ FPS F32 } // F32
{ AgentsInView U8 } //
{ Ping F32 } // F32
{ MetersTraveled F64 }
{ RegionsVisited S32 }
{ SysRAM U32 }
{ SysOS Variable 1 } // String
{ SysCPU Variable 1 } // String
{ SysGPU Variable 1 } // String
}
{
DownloadTotals Single
{ World U32 }
{ Objects U32 }
{ Textures U32 }
}
{
NetStats Multiple 2
{ Bytes U32 }
{ Packets U32 }
{ Compressed U32 }
{ Savings U32 }
}
{
FailStats Single
{ SendPacket U32 }
{ Dropped U32 }
{ Resent U32 }
{ FailedResends U32 }
{ OffCircuit U32 }
{ Invalid U32 }
}
{
MiscStats Variable
{ Type U32 }
{ Value F64 }
}
}
// ScriptAnswerYes
// reliable
{
ScriptAnswerYes Low 132 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ TaskID LLUUID }
{ ItemID LLUUID }
{ Questions S32 }
}
}
// complaint/bug-report
// reliable
{
UserReport Low 133 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ReportData Single
{ ReportType U8 } // BUG=1, COMPLAINT=2
{ Category U8 } // see sequence.user_report_category
{ Position LLVector3 } // screenshot position, region-local
{ CheckFlags U8 } // checkboxflags
{ ScreenshotID LLUUID }
{ ObjectID LLUUID }
{ AbuserID LLUUID }
{ AbuseRegionName Variable 1 }
{ AbuseRegionID LLUUID }
{ Summary Variable 1 }
{ Details Variable 2 }
{ VersionString Variable 1 }
}
}
// ***************************************************************************
// Simulator to Viewer Messages
// ***************************************************************************
// AlertMessage
// Specifies the text to be posted in an alert dialog
{
AlertMessage Low 134 Trusted Unencoded
{
AlertData Single
{ Message Variable 1 }
}
{
AlertInfo Variable
{ Message Variable 1 }
{ ExtraParams Variable 1 }
}
}
// Send an AlertMessage to the named agent.
// usually dataserver->simulator
{
AgentAlertMessage Low 135 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
}
{
AlertData Single
{ Modal BOOL }
{ Message Variable 1 }
}
}
// MeanCollisionAlert
// Specifies the text to be posted in an alert dialog
{
MeanCollisionAlert Low 136 Trusted Zerocoded
{
MeanCollision Variable
{ Victim LLUUID }
{ Perp LLUUID }
{ Time U32 }
{ Mag F32 }
{ Type U8 }
}
}
// ViewerFrozenMessage
// Specifies the text to be posted in an alert dialog
{
ViewerFrozenMessage Low 137 Trusted Unencoded
{
FrozenData Single
{ Data BOOL }
}
}
// Health Message
// Tells viewer what agent health is
{
HealthMessage Low 138 Trusted Zerocoded
{
HealthData Single
{ Health F32 }
}
}
// ChatFromSimulator
// Chat text to appear on a user's screen
// Position is region local.
// Viewer can optionally use position to animate
// If audible is CHAT_NOT_AUDIBLE, message will not be valid
{
ChatFromSimulator Low 139 Trusted Unencoded
{
ChatData Single
{ FromName Variable 1 }
{ SourceID LLUUID } // agent id or object id
{ OwnerID LLUUID } // object's owner
{ SourceType U8 }
{ ChatType U8 }
{ Audible U8 }
{ Position LLVector3 }
{ Message Variable 2 } // UTF-8 text
}
}
// Simulator statistics packet (goes out to viewer and dataserver/spaceserver)
{
SimStats Low 140 Trusted Unencoded
{
Region Single
{ RegionX U32 }
{ RegionY U32 }
{ RegionFlags U32 }
{ ObjectCapacity U32 }
}
{
Stat Variable
{ StatID U32 }
{ StatValue F32 }
}
{
PidStat Single
{ PID S32 }
}
{
RegionInfo Variable
{ RegionFlagsExtended U64 }
}
}
// viewer -> sim
// reliable
{
RequestRegionInfo Low 141 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
}
// RegionInfo
// Used to populate UI for both region/estate floater
// and god tools floater
// sim -> viewer
// reliable
{
RegionInfo Low 142 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
RegionInfo Single
{ SimName Variable 1 } // string
{ EstateID U32 }
{ ParentEstateID U32 }
{ RegionFlags U32 }
{ SimAccess U8 }
{ MaxAgents U8 }
{ BillableFactor F32 }
{ ObjectBonusFactor F32 }
{ WaterHeight F32 }
{ TerrainRaiseLimit F32 }
{ TerrainLowerLimit F32 }
{ PricePerMeter S32 }
{ RedirectGridX S32 }
{ RedirectGridY S32 }
{ UseEstateSun BOOL }
{ SunHour F32 } // last value set by estate or region controls JC
}
{
RegionInfo2 Single
{ ProductSKU Variable 1 } // string
{ ProductName Variable 1 } // string
{ MaxAgents32 U32 } // Identical to RegionInfo.MaxAgents but allows greater range
{ HardMaxAgents U32 }
{ HardMaxObjects U32 }
}
{
RegionInfo3 Variable
{ RegionFlagsExtended U64 }
}
}
// GodUpdateRegionInfo
// Sent from viewer to sim after a god has changed some
// of the parameters in the god tools floater
// viewer -> sim
// reliable
{
GodUpdateRegionInfo Low 143 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
RegionInfo Single
{ SimName Variable 1 } // string
{ EstateID U32 }
{ ParentEstateID U32 }
{ RegionFlags U32 }
{ BillableFactor F32 }
{ PricePerMeter S32 }
{ RedirectGridX S32 }
{ RedirectGridY S32 }
}
{
RegionInfo2 Variable
{ RegionFlagsExtended U64 }
}
}
//NearestLandingRegionRequest
//sim->dataserver
//Sent from the region to the data server
//to request the most up to date region for the requesting
//region to redirect teleports to
{
NearestLandingRegionRequest Low 144 Trusted Unencoded
{
RequestingRegionData Single
{ RegionHandle U64 }
}
}
//NearestLandingPointReply
//dataserver->sim
//Sent from the data server to a region in reply
//to the redirectregion request stating which region
//the requesting region should redirect teleports to if necessary
{
NearestLandingRegionReply Low 145 Trusted Unencoded
{
LandingRegionData Single
{ RegionHandle U64 }
}
}
//NearestLandingPointUpdated
//sim->dataserver
//Sent from a region to the data server
//to have the dataserver note/clear in the db
//that the region has updated it's nearest landing point
{
NearestLandingRegionUpdated Low 146 Trusted Unencoded
{
RegionData Single
{ RegionHandle U64 }
}
}
//TeleportLandingStatusChanged
//sim->dataserver
//Sent from the region to the data server
//to note that the region's teleportation landing status has changed
{
TeleportLandingStatusChanged Low 147 Trusted Unencoded
{
RegionData Single
{ RegionHandle U64 }
}
}
// RegionHandshake
// Sent by region to viewer after it has received UseCircuitCode
// from that viewer.
// sim -> viewer
// reliable
{
RegionHandshake Low 148 Trusted Zerocoded
{
RegionInfo Single
{ RegionFlags U32 }
{ SimAccess U8 }
{ SimName Variable 1 } // string
{ SimOwner LLUUID }
{ IsEstateManager BOOL } // this agent, for this sim
{ WaterHeight F32 }
{ BillableFactor F32 }
{ CacheID LLUUID }
{ TerrainBase0 LLUUID }
{ TerrainBase1 LLUUID }
{ TerrainBase2 LLUUID }
{ TerrainBase3 LLUUID }
{ TerrainDetail0 LLUUID }
{ TerrainDetail1 LLUUID }
{ TerrainDetail2 LLUUID }
{ TerrainDetail3 LLUUID }
{ TerrainStartHeight00 F32 }
{ TerrainStartHeight01 F32 }
{ TerrainStartHeight10 F32 }
{ TerrainStartHeight11 F32 }
{ TerrainHeightRange00 F32 }
{ TerrainHeightRange01 F32 }
{ TerrainHeightRange10 F32 }
{ TerrainHeightRange11 F32 }
}
{
RegionInfo2 Single
{ RegionID LLUUID }
}
{
RegionInfo3 Single
{ CPUClassID S32 }
{ CPURatio S32 }
{ ColoName Variable 1 } // string
{ ProductSKU Variable 1 } // string
{ ProductName Variable 1 } // string
}
{
RegionInfo4 Variable
{ RegionFlagsExtended U64 }
{ RegionProtocols U64 }
}
}
// RegionHandshakeReply
// viewer -> sim
// reliable
// Sent after viewer has initialized the (pre-existing)
// LLViewerRegion with the name, access level, etc. and
// has loaded the cache for the region.
// After the simulator receives this, it will start sending
// data about objects.
{
RegionHandshakeReply Low 149 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
RegionInfo Single
{ Flags U32 }
}
}
// The CoarseLocationUpdate message is sent to notify the viewer of
// the location of mappable objects in the region. 1 meter resolution is
// sufficient for this. The index block is used to show where you are,
// and where someone you are tracking is located. They are -1 if not
// applicable.
{
CoarseLocationUpdate Medium 6 Trusted Unencoded
{
Location Variable
{ X U8 }
{ Y U8 }
{ Z U8 } // Z in meters / 4
}
{
Index Single
{ You S16 }
{ Prey S16 }
}
{
AgentData Variable
{ AgentID LLUUID }
}
}
// ImageData - sent to viewer to transmit information about an image
{
ImageData High 9 Trusted Unencoded
{
ImageID Single
{ ID LLUUID }
{ Codec U8 }
{ Size U32 }
{ Packets U16 }
}
{
ImageData Single
{ Data Variable 2 }
}
}
// ImagePacket - follow on image data for images having > 1 packet of data
{
ImagePacket High 10 Trusted Unencoded
{
ImageID Single
{ ID LLUUID }
{ Packet U16 }
}
{
ImageData Single
{ Data Variable 2 }
}
}
// LayerData - Sent to viewer - encodes layer data
{
LayerData High 11 Trusted Unencoded
{
LayerID Single
{ Type U8 }
}
{
LayerData Single
{ Data Variable 2 }
}
}
// ObjectUpdate - Sent by objects from the simulator to the viewer
//
// If only one ImageID is sent for an object type that has more than
// one face, the same image is repeated on each subsequent face.
//
// NameValue is a list of name-value strings, separated by \n characters,
// terminated by \0
//
// Data is type-specific opaque data for this object
{
ObjectUpdate High 12 Trusted Zerocoded
{
RegionData Single
{ RegionHandle U64 }
{ TimeDilation U16 }
}
{
ObjectData Variable
{ ID U32 }
{ State U8 }
{ FullID LLUUID }
{ CRC U32 } // TEMPORARY HACK FOR JAMES
{ PCode U8 }
{ Material U8 }
{ ClickAction U8 }
{ Scale LLVector3 }
{ ObjectData Variable 1 }
{ ParentID U32 }
{ UpdateFlags U32 } // U32, see object_flags.h
{ PathCurve U8 }
{ ProfileCurve U8 }
{ PathBegin U16 } // 0 to 1, quanta = 0.01
{ PathEnd U16 } // 0 to 1, quanta = 0.01
{ PathScaleX U8 } // 0 to 1, quanta = 0.01
{ PathScaleY U8 } // 0 to 1, quanta = 0.01
{ PathShearX U8 } // -.5 to .5, quanta = 0.01
{ PathShearY U8 } // -.5 to .5, quanta = 0.01
{ PathTwist S8 } // -1 to 1, quanta = 0.01
{ PathTwistBegin S8 } // -1 to 1, quanta = 0.01
{ PathRadiusOffset S8 } // -1 to 1, quanta = 0.01
{ PathTaperX S8 } // -1 to 1, quanta = 0.01
{ PathTaperY S8 } // -1 to 1, quanta = 0.01
{ PathRevolutions U8 } // 0 to 3, quanta = 0.015
{ PathSkew S8 } // -1 to 1, quanta = 0.01
{ ProfileBegin U16 } // 0 to 1, quanta = 0.01
{ ProfileEnd U16 } // 0 to 1, quanta = 0.01
{ ProfileHollow U16 } // 0 to 1, quanta = 0.01
{ TextureEntry Variable 2 }
{ TextureAnim Variable 1 }
{ NameValue Variable 2 }
{ Data Variable 2 }
{ Text Variable 1 } // llSetText() hovering text
{ TextColor Fixed 4 } // actually, a LLColor4U
{ MediaURL Variable 1 } // URL for web page, movie, etc.
// Info for particle systems
{ PSBlock Variable 1 }
// Extra parameters
{ ExtraParams Variable 1 }
// info for looped attached sounds
// because these are almost always all zero
// the hit after zero-coding is only 2 bytes
// not the 42 you see here
{ Sound LLUUID }
{ OwnerID LLUUID } // HACK object's owner id, only set if non-null sound, for muting
{ Gain F32 }
{ Flags U8 }
{ Radius F32 } // cutoff radius
// joint info -- is sent in the update of each joint-child-root
{ JointType U8 }
{ JointPivot LLVector3 }
{ JointAxisOrAnchor LLVector3 }
}
}
// ObjectUpdateCompressed
{
ObjectUpdateCompressed High 13 Trusted Unencoded
{
RegionData Single
{ RegionHandle U64 }
{ TimeDilation U16 }
}
{
ObjectData Variable
{ UpdateFlags U32 }
{ Data Variable 2 }
}
}
// ObjectUpdateCached
// reliable
{
ObjectUpdateCached High 14 Trusted Unencoded
{
RegionData Single
{ RegionHandle U64 }
{ TimeDilation U16 }
}
{
ObjectData Variable
{ ID U32 }
{ CRC U32 }
{ UpdateFlags U32 }
}
}
// packed terse object update format
{
ImprovedTerseObjectUpdate High 15 Trusted Unencoded
{
RegionData Single
{ RegionHandle U64 }
{ TimeDilation U16 }
}
{
ObjectData Variable
{ Data Variable 1 }
{ TextureEntry Variable 2 }
}
}
// KillObject - Sent by objects to the viewer to tell them to kill themselves
{
KillObject High 16 Trusted Unencoded
{
ObjectData Variable
{ ID U32 }
}
}
// CrossedRegion - new way to tell a viewer it has gone across a region
// boundary
{
CrossedRegion Medium 7 Trusted Unencoded UDPBlackListed
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
RegionData Single
{ SimIP IPADDR }
{ SimPort IPPORT }
{ RegionHandle U64 }
{ SeedCapability Variable 2 } // URL
}
{
Info Single
{ Position LLVector3 }
{ LookAt LLVector3 }
}
}
// SimulatorViewerTimeMessage - Allows viewer to resynch to world time
{
SimulatorViewerTimeMessage Low 150 Trusted Unencoded
{
TimeInfo Single
{ UsecSinceStart U64 }
{ SecPerDay U32 }
{ SecPerYear U32 }
{ SunDirection LLVector3 }
{ SunPhase F32 }
{ SunAngVelocity LLVector3 }
}
}
// EnableSimulator - Preps a viewer to receive data from a simulator
{
EnableSimulator Low 151 Trusted Unencoded UDPBlackListed
{
SimulatorInfo Single
{ Handle U64 }
{ IP IPADDR }
{ Port IPPORT }
}
}
// DisableThisSimulator - Tells a viewer not to expect data from this simulator anymore
{
DisableSimulator Low 152 Trusted Unencoded
}
// ConfirmEnableSimulator - A confirmation message sent from simulator to neighbors that the simulator
// has successfully been enabled by the viewer
{
ConfirmEnableSimulator Medium 8 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
}
//-----------------------------------------------------------------------------
// New Transfer system
//-----------------------------------------------------------------------------
// Request a new transfer (target->source)
{
TransferRequest Low 153 NotTrusted Zerocoded
{
TransferInfo Single
{ TransferID LLUUID }
{ ChannelType S32 }
{ SourceType S32 }
{ Priority F32 }
{ Params Variable 2 }
}
}
// Return info about a transfer/initiate transfer (source->target)
// Possibly should have a Params field like above
{
TransferInfo Low 154 NotTrusted Zerocoded
{
TransferInfo Single
{ TransferID LLUUID }
{ ChannelType S32 }
{ TargetType S32 }
{ Status S32 }
{ Size S32 }
{ Params Variable 2 }
}
}
{
TransferPacket High 17 NotTrusted Unencoded
{
TransferData Single
{ TransferID LLUUID }
{ ChannelType S32 }
{ Packet S32 }
{ Status S32 }
{ Data Variable 2 }
}
}
// Abort a transfer in progress (either from target->source or source->target)
{
TransferAbort Low 155 NotTrusted Zerocoded
{
TransferInfo Single
{ TransferID LLUUID }
{ ChannelType S32 }
}
}
//-----------------------------------------------------------------------------
// General file transfer
//-----------------------------------------------------------------------------
// RequestXfer - request an arbitrary xfer
{
RequestXfer Low 156 NotTrusted Zerocoded
{
XferID Single
{ ID U64 }
{ Filename Variable 1 }
{ FilePath U8 } // ELLPath
{ DeleteOnCompletion BOOL } // BOOL
{ UseBigPackets BOOL } // BOOL
{ VFileID LLUUID }
{ VFileType S16 }
}
}
// SendXferPacket - send an additional packet of an arbitrary xfer from sim -> viewer
{
SendXferPacket High 18 NotTrusted Unencoded
{
XferID Single
{ ID U64 }
{ Packet U32 }
}
{
DataPacket Single
{ Data Variable 2 }
}
}
// ConfirmXferPacket
{
ConfirmXferPacket High 19 NotTrusted Unencoded
{
XferID Single
{ ID U64 }
{ Packet U32 }
}
}
// AbortXfer
{
AbortXfer Low 157 NotTrusted Unencoded
{
XferID Single
{ ID U64 }
{ Result S32 }
}
}
//-----------------------------------------------------------------------------
// Avatar information
//-----------------------------------------------------------------------------
// AvatarAnimation - Update animation state
// simulator --> viewer
{
AvatarAnimation High 20 Trusted Unencoded
{
Sender Single
{ ID LLUUID }
}
{
AnimationList Variable
{ AnimID LLUUID }
{ AnimSequenceID S32 }
}
{
AnimationSourceList Variable
{ ObjectID LLUUID }
}
{
PhysicalAvatarEventList Variable
{ TypeData Variable 1 }
}
}
// AvatarAppearance - Update visual params
{
AvatarAppearance Low 158 Trusted Zerocoded
{
Sender Single
{ ID LLUUID }
{ IsTrial BOOL }
}
{
ObjectData Single
{ TextureEntry Variable 2 }
}
{
VisualParam Variable
{ ParamValue U8 }
}
{
AppearanceData Variable
{ AppearanceVersion U8 }
{ CofVersion S32 }
{ Flags U32 }
}
{
AppearanceHover Variable
{ HoverHeight LLVector3 }
}
}
// AvatarSitResponse - response to a request to sit on an object
{
AvatarSitResponse High 21 Trusted Zerocoded
{
SitObject Single
{ ID LLUUID }
}
{
SitTransform Single
{ AutoPilot BOOL }
{ SitPosition LLVector3 }
{ SitRotation LLQuaternion }
{ CameraEyeOffset LLVector3 }
{ CameraAtOffset LLVector3 }
{ ForceMouselook BOOL }
}
}
// SetFollowCamProperties
{
SetFollowCamProperties Low 159 Trusted Unencoded
{
ObjectData Single
{ ObjectID LLUUID }
}
{
CameraProperty Variable
{ Type S32 }
{ Value F32 }
}
}
// ClearFollowCamProperties
{
ClearFollowCamProperties Low 160 Trusted Unencoded
{
ObjectData Single
{ ObjectID LLUUID }
}
}
// CameraConstraint - new camera distance limit (based on collision with objects)
{
CameraConstraint High 22 Trusted Zerocoded
{
CameraCollidePlane Single
{ Plane LLVector4 }
}
}
// ObjectProperties
// Extended information such as creator, permissions, etc.
// Medium because potentially driven by mouse hover events.
{
ObjectProperties Medium 9 Trusted Zerocoded
{
ObjectData Variable
{ ObjectID LLUUID }
{ CreatorID LLUUID }
{ OwnerID LLUUID }
{ GroupID LLUUID }
{ CreationDate U64 }
{ BaseMask U32 }
{ OwnerMask U32 }
{ GroupMask U32 }
{ EveryoneMask U32 }
{ NextOwnerMask U32 }
{ OwnershipCost S32 }
// { TaxRate F32 } // F32
{ SaleType U8 } // U8 -> EForSale
{ SalePrice S32 }
{ AggregatePerms U8 }
{ AggregatePermTextures U8 }
{ AggregatePermTexturesOwner U8 }
{ Category U32 } // LLCategory
{ InventorySerial S16 } // S16
{ ItemID LLUUID }
{ FolderID LLUUID }
{ FromTaskID LLUUID }
{ LastOwnerID LLUUID }
{ Name Variable 1 }
{ Description Variable 1 }
{ TouchName Variable 1 }
{ SitName Variable 1 }
{ TextureID Variable 1 }
}
}
// ObjectPropertiesFamily
// Medium because potentially driven by mouse hover events.
{
ObjectPropertiesFamily Medium 10 Trusted Zerocoded
{
ObjectData Single
{ RequestFlags U32 }
{ ObjectID LLUUID }
{ OwnerID LLUUID }
{ GroupID LLUUID }
{ BaseMask U32 }
{ OwnerMask U32 }
{ GroupMask U32 }
{ EveryoneMask U32 }
{ NextOwnerMask U32 }
{ OwnershipCost S32 }
{ SaleType U8 } // U8 -> EForSale
{ SalePrice S32 }
{ Category U32 } // LLCategory
{ LastOwnerID LLUUID }
{ Name Variable 1 }
{ Description Variable 1 }
}
}
// RequestPayPrice
// viewer -> sim
{
RequestPayPrice Low 161 NotTrusted Unencoded
{
ObjectData Single
{ ObjectID LLUUID }
}
}
// PayPriceReply
// sim -> viewer
{
PayPriceReply Low 162 Trusted Unencoded
{
ObjectData Single
{ ObjectID LLUUID }
{ DefaultPayPrice S32 }
}
{
ButtonData Variable
{ PayButton S32 }
}
}
// KickUser
// *FIXME*
// Kick off a logged-in user, such as when two people log in with the
// same account name.
// ROUTED dataserver -> userserver -> spaceserver -> simulator -> viewer
// reliable, but that may not matter if a system component is quitting
{
KickUser Low 163 Trusted Unencoded
{
TargetBlock Single
{ TargetIP IPADDR } // U32 encoded IP
{ TargetPort IPPORT }
}
{
UserInfo Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ Reason Variable 2 } // string
}
}
// ack sent from the simulator up to the main database so that login
// can continue.
{
KickUserAck Low 164 Trusted Unencoded
{
UserInfo Single
{ SessionID LLUUID }
{ Flags U32 }
}
}
// GodKickUser
// When a god wants someone kicked
// viewer -> sim
// reliable
{
GodKickUser Low 165 NotTrusted Unencoded
{
UserInfo Single
{ GodID LLUUID }
{ GodSessionID LLUUID }
{ AgentID LLUUID }
{ KickFlags U32 }
{ Reason Variable 2 } // string
}
}
// SystemKickUser
// user->space, reliable
{
SystemKickUser Low 166 Trusted Unencoded
{
AgentInfo Variable
{ AgentID LLUUID }
}
}
// EjectUser
// viewer -> sim
// reliable
{
EjectUser Low 167 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ TargetID LLUUID }
{ Flags U32 }
}
}
// FreezeUser
// Freeze someone who is on my land.
// viewer -> sim
// reliable
{
FreezeUser Low 168 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ TargetID LLUUID }
{ Flags U32 }
}
}
// AvatarPropertiesRequest
// viewer -> simulator
// reliable
{
AvatarPropertiesRequest Low 169 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ AvatarID LLUUID }
}
}
// AvatarPropertiesRequestBackend
// simulator -> dataserver
// reliable
{
AvatarPropertiesRequestBackend Low 170 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ AvatarID LLUUID }
{ GodLevel U8 }
{ WebProfilesDisabled BOOL }
}
}
// AvatarPropertiesReply
// dataserver -> simulator
// simulator -> viewer
// reliable
{
AvatarPropertiesReply Low 171 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID } // your id
{ AvatarID LLUUID } // avatar you're asking about
}
{
PropertiesData Single
{ ImageID LLUUID }
{ FLImageID LLUUID }
{ PartnerID LLUUID }
{ AboutText Variable 2 } // string, up to 512
{ FLAboutText Variable 1 } // string
{ BornOn Variable 1 } // string
{ ProfileURL Variable 1 } // string
{ CharterMember Variable 1 } // special - usually U8
{ Flags U32 }
}
}
{
AvatarInterestsReply Low 172 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID } // your id
{ AvatarID LLUUID } // avatar you're asking about
}
{
PropertiesData Single
{ WantToMask U32 }
{ WantToText Variable 1 } // string
{ SkillsMask U32 }
{ SkillsText Variable 1 } // string
{ LanguagesText Variable 1 } // string
}
}
// AvatarGroupsReply
// dataserver -> simulator
// simulator -> viewer
// reliable
{
AvatarGroupsReply Low 173 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID } // your id
{ AvatarID LLUUID } // avatar you're asking about
}
{
GroupData Variable
{ GroupPowers U64 }
{ AcceptNotices BOOL }
{ GroupTitle Variable 1 }
{ GroupID LLUUID }
{ GroupName Variable 1 }
{ GroupInsigniaID LLUUID }
}
{
NewGroupData Single
{ ListInProfile BOOL } // whether group displays in profile
}
}
// AvatarPropertiesUpdate
// viewer -> simulator
// reliable
{
AvatarPropertiesUpdate Low 174 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
PropertiesData Single
{ ImageID LLUUID }
{ FLImageID LLUUID }
{ AboutText Variable 2 } // string, up to 512
{ FLAboutText Variable 1 }
{ AllowPublish BOOL } // whether profile is externally visible or not
{ MaturePublish BOOL } // profile is "mature"
{ ProfileURL Variable 1 } // string
}
}
// AvatarInterestsUpdate
// viewer -> simulator
// reliable
{
AvatarInterestsUpdate Low 175 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
PropertiesData Single
{ WantToMask U32 }
{ WantToText Variable 1 } // string
{ SkillsMask U32 }
{ SkillsText Variable 1 } // string
{ LanguagesText Variable 1 } // string
}
}
// AvatarNotesReply
// dataserver -> simulator
// simulator -> viewer
// reliable
{
AvatarNotesReply Low 176 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
}
{
Data Single
{ TargetID LLUUID }
{ Notes Variable 2 } // string
}
}
// AvatarNotesUpdate
// viewer -> simulator -> dataserver
// reliable
{
AvatarNotesUpdate Low 177 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ TargetID LLUUID }
{ Notes Variable 2 } // string
}
}
// AvatarPicksReply
// dataserver -> simulator -> viewer
// Send the header information for this avatar's picks
// This fills in the tabs of the Picks panel.
// reliable
{
AvatarPicksReply Low 178 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ TargetID LLUUID }
}
{
Data Variable
{ PickID LLUUID }
{ PickName Variable 1 } // string
}
}
// EventInfoRequest
// viewer -> simulator
// simulator -> dataserver
// reliable
{
EventInfoRequest Low 179 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
EventData Single
{ EventID U32 }
}
}
// EventInfoReply
// dataserver -> simulator
// simulator -> viewer
// reliable
{
EventInfoReply Low 180 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
}
{
EventData Single
{ EventID U32 }
{ Creator Variable 1 }
{ Name Variable 1 }
{ Category Variable 1 }
{ Desc Variable 2 }
{ Date Variable 1 }
{ DateUTC U32 }
{ Duration U32 }
{ Cover U32 }
{ Amount U32 }
{ SimName Variable 1 }
{ GlobalPos LLVector3d }
{ EventFlags U32 }
}
}
// EventNotificationAddRequest
// viewer -> simulator
// simulator -> dataserver
// reliable
{
EventNotificationAddRequest Low 181 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
EventData Single
{ EventID U32 }
}
}
// EventNotificationRemoveRequest
// viewer -> simulator
// simulator -> dataserver
// reliable
{
EventNotificationRemoveRequest Low 182 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
EventData Single
{ EventID U32 }
}
}
// EventGodDelete
// viewer -> simulator
// simulator -> dataserver
// QueryData is used to resend a search result after the deletion
// reliable
{
EventGodDelete Low 183 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
EventData Single
{ EventID U32 }
}
{
QueryData Single
{ QueryID LLUUID }
{ QueryText Variable 1 }
{ QueryFlags U32 }
{ QueryStart S32 } // prev/next page support
}
}
// PickInfoReply
// dataserver -> simulator
// simulator -> viewer
// reliable
{
PickInfoReply Low 184 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
}
{
Data Single
{ PickID LLUUID }
{ CreatorID LLUUID }
{ TopPick BOOL }
{ ParcelID LLUUID }
{ Name Variable 1 }
{ Desc Variable 2 }
{ SnapshotID LLUUID }
{ User Variable 1 }
{ OriginalName Variable 1 }
{ SimName Variable 1 }
{ PosGlobal LLVector3d }
{ SortOrder S32 }
{ Enabled BOOL }
}
}
// PickInfoUpdate
// Update a pick. ParcelID is set on the simulator as the message
// passes through.
// If TopPick is TRUE, the simulator will only pass on the message
// if the agent_id is a god.
// viewer -> simulator -> dataserver
// reliable
{
PickInfoUpdate Low 185 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ PickID LLUUID }
{ CreatorID LLUUID }
{ TopPick BOOL }
{ ParcelID LLUUID }
{ Name Variable 1 }
{ Desc Variable 2 }
{ SnapshotID LLUUID }
{ PosGlobal LLVector3d }
{ SortOrder S32 }
{ Enabled BOOL }
}
}
// PickDelete
// Delete a non-top pick from the database.
// viewer -> simulator -> dataserver
// reliable
{
PickDelete Low 186 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ PickID LLUUID }
}
}
// PickGodDelete
// Delete a pick from the database.
// QueryID is needed so database can send a repeat list of
// picks.
// viewer -> simulator -> dataserver
// reliable
{
PickGodDelete Low 187 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ PickID LLUUID }
{ QueryID LLUUID }
}
}
// ScriptQuestion
// reliable
{
ScriptQuestion Low 188 Trusted Unencoded
{
Data Single
{ TaskID LLUUID }
{ ItemID LLUUID }
{ ObjectName Variable 1 }
{ ObjectOwner Variable 1 }
{ Questions S32 }
}
}
// ScriptControlChange
// reliable
{
ScriptControlChange Low 189 Trusted Unencoded
{
Data Variable
{ TakeControls BOOL }
{ Controls U32 }
{ PassToAgent BOOL }
}
}
// ScriptDialog
// sim -> viewer
// reliable
{
ScriptDialog Low 190 Trusted Zerocoded
{
Data Single
{ ObjectID LLUUID }
{ FirstName Variable 1 }
{ LastName Variable 1 }
{ ObjectName Variable 1 }
{ Message Variable 2 }
{ ChatChannel S32 }
{ ImageID LLUUID }
}
{
Buttons Variable
{ ButtonLabel Variable 1 }
}
{
OwnerData Variable
{ OwnerID LLUUID }
}
}
// ScriptDialogReply
// viewer -> sim
// reliable
{
ScriptDialogReply Low 191 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ ObjectID LLUUID }
{ ChatChannel S32 }
{ ButtonIndex S32 }
{ ButtonLabel Variable 1 }
}
}
// ForceScriptControlRelease
// reliable
{
ForceScriptControlRelease Low 192 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
}
// RevokePermissions
// reliable
{
RevokePermissions Low 193 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ ObjectID LLUUID }
{ ObjectPermissions U32 }
}
}
// LoadURL
// sim -> viewer
// Ask the user if they would like to load a URL
// reliable
{
LoadURL Low 194 Trusted Unencoded
{
Data Single
{ ObjectName Variable 1 }
{ ObjectID LLUUID }
{ OwnerID LLUUID }
{ OwnerIsGroup BOOL }
{ Message Variable 1 }
{ URL Variable 1 }
}
}
// ScriptTeleportRequest
// reliable
{
ScriptTeleportRequest Low 195 Trusted Unencoded
{
Data Single
{ ObjectName Variable 1 }
{ SimName Variable 1 }
{ SimPosition LLVector3 }
{ LookAt LLVector3 }
}
}
// ***************************************************************************
// Land Parcel system
// ***************************************************************************
// ParcelOverlay
// We send N packets per region to the viewer.
// N = 4, currently. At 256x256 meter regions, 4x4 meter parcel grid,
// there are 4096 parcel units per region. At N = 4, that's 1024 units
// per packet, allowing 8 bit bytes.
// sim -> viewer
// reliable
{
ParcelOverlay Low 196 Trusted Zerocoded
{
ParcelData Single
{ SequenceID S32 } // 0...3, which piece of region
{ Data Variable 2 } // packed bit-field, (grids*grids)/N
}
}
// ParcelPropertiesRequest
// SequenceID should be -1 or -2, and is echoed back in the
// parcel properties message.
// viewer -> sim
// reliable
{
ParcelPropertiesRequest Medium 11 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ParcelData Single
{ SequenceID S32 }
{ West F32 }
{ South F32 }
{ East F32 }
{ North F32 }
{ SnapSelection BOOL }
}
}
// ParcelPropertiesRequestByID
// viewer -> sim
// reliable
{
ParcelPropertiesRequestByID Low 197 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ParcelData Single
{ SequenceID S32 }
{ LocalID S32 }
}
}
// ParcelProperties
// sequence id = -1 for parcels that you explicitly selected
// For agents, sequence id increments every time the agent transits into
// a new parcel. It is used to detect out-of-order agent parcel info updates.
// Bitmap = packed bit field, one bit per parcel grid, on if that grid is
// part of the selected parcel.
// sim -> viewer
// WARNING: This packet is potentially large. With max length name,
// description, music URL and media URL, it is 1526 + sizeof ( LLUUID ) bytes.
{
ParcelProperties High 23 Trusted Zerocoded
{
ParcelData Single
{ RequestResult S32 }
{ SequenceID S32 }
{ SnapSelection BOOL }
{ SelfCount S32 }
{ OtherCount S32 }
{ PublicCount S32 }
{ LocalID S32 }
{ OwnerID LLUUID }
{ IsGroupOwned BOOL }
{ AuctionID U32 }
{ ClaimDate S32 } // time_t
{ ClaimPrice S32 }
{ RentPrice S32 }
{ AABBMin LLVector3 }
{ AABBMax LLVector3 }
{ Bitmap Variable 2 } // packed bit-field
{ Area S32 }
{ Status U8 } // owned vs. pending
{ SimWideMaxPrims S32 }
{ SimWideTotalPrims S32 }
{ MaxPrims S32 }
{ TotalPrims S32 }
{ OwnerPrims S32 }
{ GroupPrims S32 }
{ OtherPrims S32 }
{ SelectedPrims S32 }
{ ParcelPrimBonus F32 }
{ OtherCleanTime S32 }
{ ParcelFlags U32 }
{ SalePrice S32 }
{ Name Variable 1 } // string
{ Desc Variable 1 } // string
{ MusicURL Variable 1 } // string
{ MediaURL Variable 1 } // string
{ MediaID LLUUID }
{ MediaAutoScale U8 }
{ GroupID LLUUID }
{ PassPrice S32 }
{ PassHours F32 }
{ Category U8 }
{ AuthBuyerID LLUUID }
{ SnapshotID LLUUID }
{ UserLocation LLVector3 }
{ UserLookAt LLVector3 }
{ LandingType U8 }
{ RegionPushOverride BOOL }
{ RegionDenyAnonymous BOOL }
{ RegionDenyIdentified BOOL }
{ RegionDenyTransacted BOOL }
}
{
AgeVerificationBlock Single
{ RegionDenyAgeUnverified BOOL }
}
}
// ParcelPropertiesUpdate
// viewer -> sim
// reliable
{
ParcelPropertiesUpdate Low 198 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ParcelData Single
{ LocalID S32 }
{ Flags U32 }
{ ParcelFlags U32 }
{ SalePrice S32 }
{ Name Variable 1 } // string
{ Desc Variable 1 } // string
{ MusicURL Variable 1 } // string
{ MediaURL Variable 1 } // string
{ MediaID LLUUID }
{ MediaAutoScale U8 }
{ GroupID LLUUID }
{ PassPrice S32 }
{ PassHours F32 }
{ Category U8 }
{ AuthBuyerID LLUUID }
{ SnapshotID LLUUID }
{ UserLocation LLVector3 }
{ UserLookAt LLVector3 }
{ LandingType U8 }
}
}
// ParcelReturnObjects
// viewer -> sim
// reliable
{
ParcelReturnObjects Low 199 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ParcelData Single
{ LocalID S32 }
{ ReturnType U32 }
}
{
TaskIDs Variable
{ TaskID LLUUID }
}
{
OwnerIDs Variable
{ OwnerID LLUUID }
}
}
// ParcelSetOtherCleanTime
// viewer -> sim
// reliable
{
ParcelSetOtherCleanTime Low 200 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ParcelData Single
{ LocalID S32 }
{ OtherCleanTime S32 }
}
}
// Disable makes objects nonphysical and turns off their scripts.
// ParcelDisableObjects
// viewer -> sim
// reliable
{
ParcelDisableObjects Low 201 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ParcelData Single
{ LocalID S32 }
{ ReturnType U32 }
}
{
TaskIDs Variable
{ TaskID LLUUID }
}
{
OwnerIDs Variable
{ OwnerID LLUUID }
}
}
// ParcelSelectObjects
// viewer -> sim
// reliable
{
ParcelSelectObjects Low 202 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ParcelData Single
{ LocalID S32 }
{ ReturnType U32 }
}
{
ReturnIDs Variable
{ ReturnID LLUUID }
}
}
// EstateCovenantRequest
// viewer -> sim
// reliable
{
EstateCovenantRequest Low 203 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
}
// EstateCovenantReply
// sim -> viewer
// reliable
{
EstateCovenantReply Low 204 Trusted Unencoded
{
Data Single
{ CovenantID LLUUID }
{ CovenantTimestamp U32 }
{ EstateName Variable 1 } // string
{ EstateOwnerID LLUUID }
}
}
// ForceObjectSelect
// sim -> viewer
// reliable
{
ForceObjectSelect Low 205 Trusted Unencoded
{
Header Single
{ ResetList BOOL }
}
{
Data Variable
{ LocalID U32 }
}
}
// ParcelBuyPass - purchase a temporary access pass
// viewer -> sim
// reliable
{
ParcelBuyPass Low 206 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ParcelData Single
{ LocalID S32 }
}
}
// ParcelDeedToGroup - deed a patch of land to a group
// viewer -> sim
// reliable
{
ParcelDeedToGroup Low 207 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ GroupID LLUUID }
{ LocalID S32 } // parcel id
}
}
// reserved for when island owners force re-claim parcel
{
ParcelReclaim Low 208 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ LocalID S32 } // parcel id
}
}
// ParcelClaim - change the owner of a patch of land
// viewer -> sim
// reliable
{
ParcelClaim Low 209 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ GroupID LLUUID }
{ IsGroupOwned BOOL }
{ Final BOOL } // true if buyer is in tier
}
{
ParcelData Variable
{ West F32 }
{ South F32 }
{ East F32 }
{ North F32 }
}
}
// ParcelJoin - Take all parcels which are owned by agent and inside
// rectangle, and make them 1 parcel if they all are leased.
// viewer -> sim
// reliable
{
ParcelJoin Low 210 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ParcelData Single
{ West F32 }
{ South F32 }
{ East F32 }
{ North F32 }
}
}
// ParcelDivide
// If the selection is a subsection of exactly one parcel,
// chop out that section and make a new parcel of it.
// viewer -> sim
// reliable
{
ParcelDivide Low 211 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ParcelData Single
{ West F32 }
{ South F32 }
{ East F32 }
{ North F32 }
}
}
// ParcelRelease
// Release a parcel to public
// viewer -> sim
// reliable
{
ParcelRelease Low 212 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ LocalID S32 } // parcel ID
}
}
// ParcelBuy - change the owner of a patch of land.
// viewer -> sim
// reliable
{
ParcelBuy Low 213 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ GroupID LLUUID }
{ IsGroupOwned BOOL }
{ RemoveContribution BOOL }
{ LocalID S32 }
{ Final BOOL } // true if buyer is in tier
}
{
ParcelData Single
{ Price S32 }
{ Area S32 }
}
}
// ParcelGodForceOwner Unencoded
{
ParcelGodForceOwner Low 214 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ OwnerID LLUUID }
{ LocalID S32 } // parcel ID
}
}
// viewer -> sim
// ParcelAccessListRequest
{
ParcelAccessListRequest Low 215 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ SequenceID S32 }
{ Flags U32 }
{ LocalID S32 }
}
}
// sim -> viewer
// ParcelAccessListReply
{
ParcelAccessListReply Low 216 Trusted Zerocoded
{
Data Single
{ AgentID LLUUID }
{ SequenceID S32 }
{ Flags U32 }
{ LocalID S32 }
}
{
List Variable
{ ID LLUUID }
{ Time S32 } // time_t
{ Flags U32 }
}
}
// viewer -> sim
// ParcelAccessListUpdate
{
ParcelAccessListUpdate Low 217 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ Flags U32 }
{ LocalID S32 }
{ TransactionID LLUUID }
{ SequenceID S32 }
{ Sections S32 }
}
{
List Variable
{ ID LLUUID }
{ Time S32 } // time_t
{ Flags U32 }
}
}
// viewer -> sim -> dataserver
// reliable
{
ParcelDwellRequest Low 218 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ LocalID S32 }
{ ParcelID LLUUID } // filled in on sim
}
}
// dataserver -> sim -> viewer
// reliable
{
ParcelDwellReply Low 219 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
}
{
Data Single
{ LocalID S32 }
{ ParcelID LLUUID }
{ Dwell F32 }
}
}
// sim -> dataserver
// This message is used to check if a user can buy a parcel. If
// successful, the transaction is approved through a money balance reply
// with the same transaction id.
{
RequestParcelTransfer Low 220 Trusted Zerocoded
{
Data Single
{ TransactionID LLUUID }
{ TransactionTime U32 } // utc seconds since epoch
{ SourceID LLUUID }
{ DestID LLUUID }
{ OwnerID LLUUID }
{ Flags U8 } // see lltransactiontypes.h
{ TransactionType S32 } // see lltransactiontypes.h
{ Amount S32 }
{ BillableArea S32 }
{ ActualArea S32 }
{ Final BOOL } // true if buyer should be in tier
}
{
RegionData Single // included so region name shows up in transaction logs
{ RegionID LLUUID }
{ GridX U32 }
{ GridY U32 }
}
}
// sim ->dataserver
// This message is used to send up complete parcel properties for
// persistance in the database.
// If you add something here, you should probably also change the
// simulator's database update query on startup.
{
UpdateParcel Low 221 Trusted Zerocoded
{
ParcelData Single
{ ParcelID LLUUID }
{ RegionHandle U64 }
{ OwnerID LLUUID }
{ GroupOwned BOOL }
{ Status U8 }
{ Name Variable 1 }
{ Description Variable 1 }
{ MusicURL Variable 1 }
{ RegionX F32 }
{ RegionY F32 }
{ ActualArea S32 }
{ BillableArea S32 }
{ ShowDir BOOL }
{ IsForSale BOOL }
{ Category U8 }
{ SnapshotID LLUUID }
{ UserLocation LLVector3 }
{ SalePrice S32 }
{ AuthorizedBuyerID LLUUID }
{ AllowPublish BOOL }
{ MaturePublish BOOL }
}
}
// sim -> dataserver or space ->sim
// This message is used to tell the dataserver that a parcel has been
// removed.
{
RemoveParcel Low 222 Trusted Unencoded
{
ParcelData Variable
{ ParcelID LLUUID }
}
}
// sim -> dataserver
// Merges some of the database information for parcels (dwell).
{
MergeParcel Low 223 Trusted Unencoded
{
MasterParcelData Single
{ MasterID LLUUID }
}
{
SlaveParcelData Variable
{ SlaveID LLUUID }
}
}
// sim -> dataserver
{
LogParcelChanges Low 224 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
}
{
RegionData Single
{ RegionHandle U64 }
}
{
ParcelData Variable
{ ParcelID LLUUID }
{ OwnerID LLUUID }
{ IsOwnerGroup BOOL }
{ ActualArea S32 }
{ Action S8 }
{ TransactionID LLUUID }
}
}
// sim -> dataserver
{
CheckParcelSales Low 225 Trusted Unencoded
{
RegionData Variable
{ RegionHandle U64 }
}
}
// dataserver -> simulator
// tell a particular simulator to finish parcel sale.
{
ParcelSales Low 226 Trusted Unencoded
{
ParcelData Variable
{ ParcelID LLUUID }
{ BuyerID LLUUID }
}
}
// viewer -> sim
// mark parcel and double secret agent content on parcel as owned by
// governor/maint and adjusts permissions approriately. Godlike request.
{
ParcelGodMarkAsContent Low 227 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ParcelData Single
{ LocalID S32 }
}
}
// viewer -> sim
// start an auction. viewer fills in the appropriate date, simulator
// validates and fills in the rest of the information to start an auction
// on a parcel. Processing currently requires that AgentID is a god.
{
ViewerStartAuction Low 228 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ParcelData Single
{ LocalID S32 }
{ SnapshotID LLUUID }
}
}
// sim -> dataserver
// Once all of the data has been gathered,
{
StartAuction Low 229 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
}
{
ParcelData Single
{ ParcelID LLUUID }
{ SnapshotID LLUUID }
{ Name Variable 1 } // string
}
}
// dataserver -> sim
{
ConfirmAuctionStart Low 230 Trusted Unencoded
{
AuctionData Single
{ ParcelID LLUUID }
{ AuctionID U32 }
}
}
// sim -> dataserver
// Tell the dataserver that an auction has completed.
{
CompleteAuction Low 231 Trusted Unencoded
{
ParcelData Variable
{ ParcelID LLUUID }
}
}
// Tell the dataserver that an auction has been canceled.
{
CancelAuction Low 232 Trusted Unencoded
{
ParcelData Variable
{ ParcelID LLUUID }
}
}
// sim -> dataserver
{
CheckParcelAuctions Low 233 Trusted Unencoded
{
RegionData Variable
{ RegionHandle U64 }
}
}
// dataserver -> sim
// tell a particular simulator to finish parcel sale.
{
ParcelAuctions Low 234 Trusted Unencoded
{
ParcelData Variable
{ ParcelID LLUUID }
{ WinnerID LLUUID }
}
}
// ***************************************************************************
// UUID to name lookup
// ***************************************************************************
// UUIDNameRequest
// Translate a UUID into first and last names
{
UUIDNameRequest Low 235 NotTrusted Unencoded
{
UUIDNameBlock Variable
{ ID LLUUID }
}
}
// UUIDNameReply
// Translate a UUID into first and last names
{
UUIDNameReply Low 236 Trusted Unencoded
{
UUIDNameBlock Variable
{ ID LLUUID }
{ FirstName Variable 1 }
{ LastName Variable 1 }
}
}
// UUIDGroupNameRequest
// Translate a UUID into a group name
{
UUIDGroupNameRequest Low 237 NotTrusted Unencoded
{
UUIDNameBlock Variable
{ ID LLUUID }
}
}
// UUIDGroupNameReply
// Translate a UUID into a group name
{
UUIDGroupNameReply Low 238 Trusted Unencoded
{
UUIDNameBlock Variable
{ ID LLUUID }
{ GroupName Variable 1 }
}
}
// end uuid to name lookup
// ***************************************************************************
// Simulator to Simulator Messages
// ***************************************************************************
// ChatPass
// Chat message transmission to neighbors
// Chat is region local to receiving simulator.
// Type is one of CHAT_TYPE_NORMAL, _WHISPER, _SHOUT
{
ChatPass Low 239 Trusted Zerocoded
{
ChatData Single
{ Channel S32 }
{ Position LLVector3 }
{ ID LLUUID }
{ OwnerID LLUUID }
{ Name Variable 1 }
{ SourceType U8 }
{ Type U8 }
{ Radius F32 }
{ SimAccess U8 }
{ Message Variable 2 }
}
}
// Edge data - compressed edge data
{
EdgeDataPacket High 24 Trusted Zerocoded
{
EdgeData Single
{ LayerType U8 }
{ Direction U8 }
{ LayerData Variable 2 }
}
}
// Sim status, condition of this sim
// sent reliably, when dirty
{
SimStatus Medium 12 Trusted Unencoded
{
SimStatus Single
{ CanAcceptAgents BOOL }
{ CanAcceptTasks BOOL }
}
}
// Child Agent Update - agents send child agents to neighboring simulators.
// This will create a child camera if there isn't one at the target already
// Can't send viewer IP and port between simulators -- the port may get remapped
// if the viewer is behind a Network Address Translation (NAT) box.
//
// Note: some of the fields of this message really only need to be sent when an
// agent crosses a region boundary and changes from a child to a main agent
// (such as Head/BodyRotation, ControlFlags, Animations etc)
// simulator -> simulator
// reliable
{
ChildAgentUpdate High 25 Trusted Zerocoded
{
AgentData Single
{ RegionHandle U64 }
{ ViewerCircuitCode U32 }
{ AgentID LLUUID }
{ SessionID LLUUID }
{ AgentPos LLVector3 }
{ AgentVel LLVector3 }
{ Center LLVector3 }
{ Size LLVector3 }
{ AtAxis LLVector3 }
{ LeftAxis LLVector3 }
{ UpAxis LLVector3 }
{ ChangedGrid BOOL } // BOOL
{ Far F32 }
{ Aspect F32 }
{ Throttles Variable 1 }
{ LocomotionState U32 }
{ HeadRotation LLQuaternion }
{ BodyRotation LLQuaternion }
{ ControlFlags U32 }
{ EnergyLevel F32 }
{ GodLevel U8 } // Changed from BOOL to U8, and renamed GodLevel (from Godlike)
{ AlwaysRun BOOL }
{ PreyAgent LLUUID }
{ AgentAccess U8 }
{ AgentTextures Variable 2 }
{ ActiveGroupID LLUUID }
}
{
GroupData Variable
{ GroupID LLUUID }
{ GroupPowers U64 }
{ AcceptNotices BOOL }
}
{
AnimationData Variable
{ Animation LLUUID }
{ ObjectID LLUUID }
}
{
GranterBlock Variable
{ GranterID LLUUID }
}
{
NVPairData Variable
{ NVPairs Variable 2 }
}
{
VisualParam Variable
{ ParamValue U8 }
}
{
AgentAccess Variable
{ AgentLegacyAccess U8 }
{ AgentMaxAccess U8 }
}
{
AgentInfo Variable
{ Flags U32 }
}
}
// ChildAgentAlive
// sent to child agents just to keep them alive
{
ChildAgentAlive High 26 Trusted Unencoded
{
AgentData Single
{ RegionHandle U64 }
{ ViewerCircuitCode U32 }
{ AgentID LLUUID }
{ SessionID LLUUID }
}
}
// ChildAgentPositionUpdate
// sent to child agents just to keep them alive
{
ChildAgentPositionUpdate High 27 Trusted Unencoded
{
AgentData Single
{ RegionHandle U64 }
{ ViewerCircuitCode U32 }
{ AgentID LLUUID }
{ SessionID LLUUID }
{ AgentPos LLVector3 }
{ AgentVel LLVector3 }
{ Center LLVector3 }
{ Size LLVector3 }
{ AtAxis LLVector3 }
{ LeftAxis LLVector3 }
{ UpAxis LLVector3 }
{ ChangedGrid BOOL }
}
}
// Obituary for child agents - make sure the parent know the child is dead
// This way, children can be reliably restarted
{
ChildAgentDying Low 240 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
}
// This is sent if a full child agent hasn't been accepted yet
{
ChildAgentUnknown Low 241 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
}
// This message is sent how objects get passed between regions.
{
AtomicPassObject High 28 Trusted Unencoded
{
TaskData Single
{ TaskID LLUUID }
{ AttachmentNeedsSave BOOL } // true iff is attachment and needs asset saved
}
}
// KillChildAgents - A new agent has connected to the simulator . . . make sure that any old child cameras are blitzed
{
KillChildAgents Low 242 Trusted Unencoded
{
IDBlock Single
{ AgentID LLUUID }
}
}
// GetScriptRunning - asks if a script is running or not. the simulator
// responds with ScriptRunningReply
{
GetScriptRunning Low 243 NotTrusted Unencoded
{
Script Single
{ ObjectID LLUUID }
{ ItemID LLUUID }
}
}
// ScriptRunningReply - response from simulator to message above
{
ScriptRunningReply Low 244 NotTrusted Unencoded UDPDeprecated
{
Script Single
{ ObjectID LLUUID }
{ ItemID LLUUID }
{ Running BOOL }
// { Mono BOOL } Added to LLSD message
}
}
// SetScriptRunning - makes a script active or inactive (Enable may be
// true or false)
{
SetScriptRunning Low 245 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Script Single
{ ObjectID LLUUID }
{ ItemID LLUUID }
{ Running BOOL }
}
}
// ScriptReset - causes a script to reset
{
ScriptReset Low 246 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Script Single
{ ObjectID LLUUID }
{ ItemID LLUUID }
}
}
// ScriptSensorRequest - causes the receiving sim to run a script sensor and return the results
{
ScriptSensorRequest Low 247 Trusted Zerocoded
{
Requester Single
{ SourceID LLUUID }
{ RequestID LLUUID }
{ SearchID LLUUID }
{ SearchPos LLVector3 }
{ SearchDir LLQuaternion }
{ SearchName Variable 1 }
{ Type S32 }
{ Range F32 }
{ Arc F32 }
{ RegionHandle U64 }
{ SearchRegions U8 }
}
}
// ScriptSensorReply - returns the request script search information back to the requester
{
ScriptSensorReply Low 248 Trusted Zerocoded
{
Requester Single
{ SourceID LLUUID }
}
{
SensedData Variable
{ ObjectID LLUUID }
{ OwnerID LLUUID }
{ GroupID LLUUID }
{ Position LLVector3 }
{ Velocity LLVector3 }
{ Rotation LLQuaternion }
{ Name Variable 1 }
{ Type S32 }
{ Range F32 }
}
}
//-----------------------------------------------------------------------------
// Login and Agent Motion
//-----------------------------------------------------------------------------
// viewer -> sim
// agent is coming into the region. The region should be expecting the
// agent.
{
CompleteAgentMovement Low 249 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ CircuitCode U32 }
}
}
// sim -> viewer
{
AgentMovementComplete Low 250 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ Position LLVector3 }
{ LookAt LLVector3 }
{ RegionHandle U64 }
{ Timestamp U32 }
}
{
SimData Single
{ ChannelVersion Variable 2 }
}
}
//-----------------------------------------------------------------------------
// Logout
//-----------------------------------------------------------------------------
// userserver -> dataserver
{
DataServerLogout Low 251 Trusted Unencoded
{
UserData Single
{ AgentID LLUUID }
{ ViewerIP IPADDR }
{ Disconnect BOOL }
{ SessionID LLUUID }
}
}
// LogoutRequest
// viewer -> sim
// reliable
{
LogoutRequest Low 252 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
}
// LogoutReply
// it's ok for the viewer to quit.
// sim -> viewer
// reliable
// Includes inventory items to update with new asset ids
{
LogoutReply Low 253 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
InventoryData Variable
{ ItemID LLUUID } // null if list is actually empty (but has one entry 'cause it can't have none)
}
}
//-----------------------------------------------------------------------------
// Instant Message
//-----------------------------------------------------------------------------
// ImprovedInstantMessage
// This message can potentially route all over the place
// ParentEstateID: parent estate id of the source estate
// RegionID: region id of the source of the IM.
// Position: position of the sender in region local coordinates
// Dialog see llinstantmessage.h for values
// ID May be used by dialog. Interpretation depends on context.
// BinaryBucket May be used by some dialog types
// reliable
{
ImprovedInstantMessage Low 254 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
MessageBlock Single
{ FromGroup BOOL }
{ ToAgentID LLUUID }
{ ParentEstateID U32 }
{ RegionID LLUUID }
{ Position LLVector3 }
{ Offline U8 }
{ Dialog U8 } // U8 - IM type
{ ID LLUUID }
{ Timestamp U32 }
{ FromAgentName Variable 1 }
{ Message Variable 2 }
{ BinaryBucket Variable 2 }
}
}
// RetrieveInstantMessages - used to get instant messages that
// were persisted out to the database while the user was offline
{
RetrieveInstantMessages Low 255 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
}
// FindAgent - used to find an agent's global position. I used a
// variable sized LocationBlock so that the message can be recycled with
// minimum new messages and handlers.
{
FindAgent Low 256 NotTrusted Unencoded
{
AgentBlock Single
{ Hunter LLUUID }
{ Prey LLUUID }
{ SpaceIP IPADDR }
}
{
LocationBlock Variable
{ GlobalX F64 }
{ GlobalY F64 }
}
}
// Set godlike to 1 if you want to become godlike.
// Set godlike to 0 if you want to relinquish god powers.
// viewer -> simulator -> dataserver
// reliable
{
RequestGodlikePowers Low 257 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
RequestBlock Single
{ Godlike BOOL }
{ Token LLUUID } // viewer packs a null, sim packs token
}
}
// At the simulator, turn the godlike bit on.
// At the viewer, show the god menu.
// dataserver -> simulator -> viewer
// reliable
{
GrantGodlikePowers Low 258 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
GrantData Single
{ GodLevel U8 }
{ Token LLUUID } // checked on sim, ignored on viewer
}
}
// GodlikeMessage - generalized construct for Gods to send messages
// around the system. Each Request has it's own internal protocol.
{
GodlikeMessage Low 259 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ TransactionID LLUUID }
}
{
MethodData Single
{ Method Variable 1 }
{ Invoice LLUUID }
}
{
ParamList Variable
{ Parameter Variable 1 }
}
}
// EstateOwnerMessage
// format must be identical to above
{
EstateOwnerMessage Low 260 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ TransactionID LLUUID }
}
{
MethodData Single
{ Method Variable 1 }
{ Invoice LLUUID }
}
{
ParamList Variable
{ Parameter Variable 1 }
}
}
// GenericMessage
// format must be identical to above
// As above, but don't have to be god or estate owner to send.
{
GenericMessage Low 261 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ TransactionID LLUUID }
}
{
MethodData Single
{ Method Variable 1 }
{ Invoice LLUUID }
}
{
ParamList Variable
{ Parameter Variable 1 }
}
}
// ***************************************************************************
// Requests for possessions, acquisition, money, etc
// ***************************************************************************
// request for mute list
{
MuteListRequest Low 262 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
MuteData Single
{ MuteCRC U32 }
}
}
// update/add someone in the mute list
{
UpdateMuteListEntry Low 263 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
MuteData Single
{ MuteID LLUUID }
{ MuteName Variable 1 }
{ MuteType S32 }
{ MuteFlags U32 }
}
}
// Remove a mute list entry.
{
RemoveMuteListEntry Low 264 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
MuteData Single
{ MuteID LLUUID }
{ MuteName Variable 1 }
}
}
//
// Inventory update messages
// UDP DEPRECATED - Now a viewer capability.
{
CopyInventoryFromNotecard Low 265 NotTrusted Zerocoded UDPDeprecated
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
NotecardData Single
{ NotecardItemID LLUUID }
{ ObjectID LLUUID }
}
{
InventoryData Variable
{ ItemID LLUUID }
{ FolderID LLUUID }
}
}
//
// This is used bi-directionally between sim, dataserver, and viewer.
// THIS MESSAGE CAN NOT CREATE NEW INVENTORY ITEMS.
//
{
UpdateInventoryItem Low 266 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ TransactionID LLUUID }
}
{
InventoryData Variable
{ ItemID LLUUID }
{ FolderID LLUUID }
{ CallbackID U32 } // Async Response
{ CreatorID LLUUID } // permissions
{ OwnerID LLUUID } // permissions
{ GroupID LLUUID } // permissions
{ BaseMask U32 } // permissions
{ OwnerMask U32 } // permissions
{ GroupMask U32 } // permissions
{ EveryoneMask U32 } // permissions
{ NextOwnerMask U32 } // permissions
{ GroupOwned BOOL } // permissions
{ TransactionID LLUUID } // TransactionID: new assets only
{ Type S8 }
{ InvType S8 }
{ Flags U32 }
{ SaleType U8 }
{ SalePrice S32 }
{ Name Variable 1 }
{ Description Variable 1 }
{ CreationDate S32 }
{ CRC U32 }
}
}
//
// For sim to request update/create.
// DO NOT ALLOW THIS FROM THE VIEWER.
//
{
UpdateCreateInventoryItem Low 267 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SimApproved BOOL }
{ TransactionID LLUUID }
}
{
InventoryData Variable
{ ItemID LLUUID }
{ FolderID LLUUID }
{ CallbackID U32 } // Async Response
{ CreatorID LLUUID } // permissions
{ OwnerID LLUUID } // permissions
{ GroupID LLUUID } // permissions
{ BaseMask U32 } // permissions
{ OwnerMask U32 } // permissions
{ GroupMask U32 } // permissions
{ EveryoneMask U32 } // permissions
{ NextOwnerMask U32 } // permissions
{ GroupOwned BOOL } // permissions
{ AssetID LLUUID }
{ Type S8 }
{ InvType S8 }
{ Flags U32 }
{ SaleType U8 }
{ SalePrice S32 }
{ Name Variable 1 }
{ Description Variable 1 }
{ CreationDate S32 }
{ CRC U32 }
}
}
{
MoveInventoryItem Low 268 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ Stamp BOOL } // should the server re-timestamp?
}
{
InventoryData Variable
{ ItemID LLUUID }
{ FolderID LLUUID }
{ NewName Variable 1 }
}
}
// copy inventory item by item id to specified destination folder,
// send out bulk inventory update when done.
//
// Inventory items are only unique for {agent, inv_id} pairs;
// the OldItemID needs to be paired with the OldAgentID to
// produce a unique inventory item.
{
CopyInventoryItem Low 269 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
InventoryData Variable
{ CallbackID U32 } // Async response
{ OldAgentID LLUUID }
{ OldItemID LLUUID }
{ NewFolderID LLUUID }
{ NewName Variable 1 }
}
}
{
RemoveInventoryItem Low 270 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
InventoryData Variable
{ ItemID LLUUID }
}
}
{
ChangeInventoryItemFlags Low 271 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
InventoryData Variable
{ ItemID LLUUID }
{ Flags U32 }
}
}
//
// Sim outgoing only (to dataserver, to viewer)
// NOT viewer to sim, sim should not have handler, ever
// This message is currently only uses objects, so the viewer ignores
// the asset id.
{
SaveAssetIntoInventory Low 272 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
}
{
InventoryData Single
{ ItemID LLUUID }
{ NewAssetID LLUUID }
}
}
{
CreateInventoryFolder Low 273 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
FolderData Single
{ FolderID LLUUID }
{ ParentID LLUUID }
{ Type S8 }
{ Name Variable 1 }
}
}
{
UpdateInventoryFolder Low 274 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
FolderData Variable
{ FolderID LLUUID }
{ ParentID LLUUID }
{ Type S8 }
{ Name Variable 1 }
}
}
{
MoveInventoryFolder Low 275 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ Stamp BOOL } // should the server re-timestamp children
}
{
InventoryData Variable
{ FolderID LLUUID }
{ ParentID LLUUID }
}
}
{
RemoveInventoryFolder Low 276 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
FolderData Variable
{ FolderID LLUUID }
}
}
// Get inventory segment.
{
FetchInventoryDescendents Low 277 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
InventoryData Single
{ FolderID LLUUID }
{ OwnerID LLUUID }
{ SortOrder S32 } // 0 = name, 1 = time
{ FetchFolders BOOL } // false will omit folders in query
{ FetchItems BOOL } // false will omit items in query
}
}
// return inventory segment.
// *NOTE: This could be compressed more since we already know the
// parent_id for folders and the folder_id for items, but this is
// reasonable until we heve server side inventory.
{
InventoryDescendents Low 278 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ FolderID LLUUID }
{ OwnerID LLUUID } // owner of the folders creatd.
{ Version S32 } // version of the folder for caching
{ Descendents S32 } // count to help with caching
}
{
FolderData Variable
{ FolderID LLUUID }
{ ParentID LLUUID }
{ Type S8 }
{ Name Variable 1 }
}
{
ItemData Variable
{ ItemID LLUUID }
{ FolderID LLUUID }
{ CreatorID LLUUID } // permissions
{ OwnerID LLUUID } // permissions
{ GroupID LLUUID } // permissions
{ BaseMask U32 } // permissions
{ OwnerMask U32 } // permissions
{ GroupMask U32 } // permissions
{ EveryoneMask U32 } // permissions
{ NextOwnerMask U32 } // permissions
{ GroupOwned BOOL } // permissions
{ AssetID LLUUID }
{ Type S8 }
{ InvType S8 }
{ Flags U32 }
{ SaleType U8 }
{ SalePrice S32 }
{ Name Variable 1 }
{ Description Variable 1 }
{ CreationDate S32 }
{ CRC U32 }
}
}
// Get inventory item(s) - response comes through FetchInventoryReply
{
FetchInventory Low 279 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
InventoryData Variable
{ OwnerID LLUUID }
{ ItemID LLUUID }
}
}
// response to fetch inventory
{
FetchInventoryReply Low 280 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
}
{
InventoryData Variable
{ ItemID LLUUID }
{ FolderID LLUUID }
{ CreatorID LLUUID } // permissions
{ OwnerID LLUUID } // permissions
{ GroupID LLUUID } // permissions
{ BaseMask U32 } // permissions
{ OwnerMask U32 } // permissions
{ GroupMask U32 } // permissions
{ EveryoneMask U32 } // permissions
{ NextOwnerMask U32 } // permissions
{ GroupOwned BOOL } // permissions
{ AssetID LLUUID }
{ Type S8 }
{ InvType S8 }
{ Flags U32 }
{ SaleType U8 }
{ SalePrice S32 }
{ Name Variable 1 }
{ Description Variable 1 }
{ CreationDate S32 }
{ CRC U32 }
}
}
// Can only fit around 7 items per packet - that's the way it goes. At
// least many bulk updates can be packed.
// Only from dataserver->sim->viewer
{
BulkUpdateInventory Low 281 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ TransactionID LLUUID }
}
{
FolderData Variable
{ FolderID LLUUID }
{ ParentID LLUUID }
{ Type S8 }
{ Name Variable 1 }
}
{
ItemData Variable
{ ItemID LLUUID }
{ CallbackID U32 } // Async Response
{ FolderID LLUUID }
{ CreatorID LLUUID } // permissions
{ OwnerID LLUUID } // permissions
{ GroupID LLUUID } // permissions
{ BaseMask U32 } // permissions
{ OwnerMask U32 } // permissions
{ GroupMask U32 } // permissions
{ EveryoneMask U32 } // permissions
{ NextOwnerMask U32 } // permissions
{ GroupOwned BOOL } // permissions
{ AssetID LLUUID }
{ Type S8 }
{ InvType S8 }
{ Flags U32 }
{ SaleType U8 }
{ SalePrice S32 }
{ Name Variable 1 }
{ Description Variable 1 }
{ CreationDate S32 }
{ CRC U32 }
}
}
// request permissions for agent id to get the asset for owner_id's
// item_id.
{
RequestInventoryAsset Low 282 Trusted Unencoded
{
QueryData Single
{ QueryID LLUUID }
{ AgentID LLUUID }
{ OwnerID LLUUID }
{ ItemID LLUUID }
}
}
// response to RequestInventoryAsset
// lluuid will be null if agentid in the request above cannot read asset
{
InventoryAssetResponse Low 283 Trusted Unencoded
{
QueryData Single
{ QueryID LLUUID }
{ AssetID LLUUID }
{ IsReadable BOOL }
}
}
// This is the new improved way to remove inventory items. It is
// currently only supported in viewer->userserver->dataserver
// messages typically initiated by an empty trash method.
{
RemoveInventoryObjects Low 284 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
FolderData Variable
{ FolderID LLUUID }
}
{
ItemData Variable
{ ItemID LLUUID }
}
}
// This is how you remove inventory when you're not even sure what it
// is - only it's parenting.
{
PurgeInventoryDescendents Low 285 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
InventoryData Single
{ FolderID LLUUID }
}
}
// These messages are viewer->simulator requests to update a task's
// inventory.
// if Key == 0, itemid is the key. if Key == 1, assetid is the key.
{
UpdateTaskInventory Low 286 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
UpdateData Single
{ LocalID U32 }
{ Key U8 }
}
{
InventoryData Single
{ ItemID LLUUID }
{ FolderID LLUUID }
{ CreatorID LLUUID } // permissions
{ OwnerID LLUUID } // permissions
{ GroupID LLUUID } // permissions
{ BaseMask U32 } // permissions
{ OwnerMask U32 } // permissions
{ GroupMask U32 } // permissions
{ EveryoneMask U32 } // permissions
{ NextOwnerMask U32 } // permissions
{ GroupOwned BOOL } // permissions
{ TransactionID LLUUID }
{ Type S8 }
{ InvType S8 }
{ Flags U32 }
{ SaleType U8 }
{ SalePrice S32 }
{ Name Variable 1 }
{ Description Variable 1 }
{ CreationDate S32 }
{ CRC U32 }
}
}
{
RemoveTaskInventory Low 287 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
InventoryData Single
{ LocalID U32 }
{ ItemID LLUUID }
}
}
{
MoveTaskInventory Low 288 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ FolderID LLUUID }
}
{
InventoryData Single
{ LocalID U32 }
{ ItemID LLUUID }
}
}
{
RequestTaskInventory Low 289 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
InventoryData Single
{ LocalID U32 }
}
}
{
ReplyTaskInventory Low 290 Trusted Zerocoded
{
InventoryData Single
{ TaskID LLUUID }
{ Serial S16 } // S16
{ Filename Variable 1 }
}
}
// These messages are viewer->simulator requests regarding objects
// which are currently being simulated. The viewer will get an
// UpdateInventoryItem response if a DeRez succeeds, and the object
// will appear if a RezObject succeeds.
// The Destination field tells where the derez should wind up, and the
// meaning of DestinationID depends on it. For example, if the
// destination is a category, then the destination is the category id. If
// the destination is a task inventory, then the destination id is the
// task id.
// The transaction id is generated by the viewer on derez, and then
// the packets are counted and numbered. The rest of the information is
// just duplicated (it's not that much, and derezzes that span multiple
// packets will be rare.)
{
DeRezObject Low 291 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
AgentBlock Single
{ GroupID LLUUID }
{ Destination U8 }
{ DestinationID LLUUID } // see above
{ TransactionID LLUUID }
{ PacketCount U8 }
{ PacketNumber U8 }
}
{
ObjectData Variable
{ ObjectLocalID U32 } // object id in world
}
}
// This message is sent when a derez succeeds, but there's no way to
// know, since no inventory is created on the viewer. For example, when
// saving into task inventory.
{
DeRezAck Low 292 Trusted Unencoded
{
TransactionData Single
{ TransactionID LLUUID }
{ Success BOOL }
}
}
// This message is sent from viewer -> simulator when the viewer wants
// to rez an object out of inventory.
{
RezObject Low 293 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ GroupID LLUUID }
}
{
RezData Single
{ FromTaskID LLUUID }
{ BypassRaycast U8 }
{ RayStart LLVector3 }
{ RayEnd LLVector3 }
{ RayTargetID LLUUID }
{ RayEndIsIntersection BOOL }
{ RezSelected BOOL }
{ RemoveItem BOOL }
{ ItemFlags U32 }
{ GroupMask U32 }
{ EveryoneMask U32 }
{ NextOwnerMask U32 }
}
{
InventoryData Single
{ ItemID LLUUID }
{ FolderID LLUUID }
{ CreatorID LLUUID } // permissions
{ OwnerID LLUUID } // permissions
{ GroupID LLUUID } // permissions
{ BaseMask U32 } // permissions
{ OwnerMask U32 } // permissions
{ GroupMask U32 } // permissions
{ EveryoneMask U32 } // permissions
{ NextOwnerMask U32 } // permissions
{ GroupOwned BOOL } // permissions
{ TransactionID LLUUID }
{ Type S8 }
{ InvType S8 }
{ Flags U32 }
{ SaleType U8 }
{ SalePrice S32 }
{ Name Variable 1 }
{ Description Variable 1 }
{ CreationDate S32 }
{ CRC U32 }
}
}
// This message is sent from viewer -> simulator when the viewer wants
// to rez an object from a notecard.
{
RezObjectFromNotecard Low 294 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ GroupID LLUUID }
}
{
RezData Single
{ FromTaskID LLUUID }
{ BypassRaycast U8 }
{ RayStart LLVector3 }
{ RayEnd LLVector3 }
{ RayTargetID LLUUID }
{ RayEndIsIntersection BOOL }
{ RezSelected BOOL }
{ RemoveItem BOOL }
{ ItemFlags U32 }
{ GroupMask U32 }
{ EveryoneMask U32 }
{ NextOwnerMask U32 }
}
{
NotecardData Single
{ NotecardItemID LLUUID }
{ ObjectID LLUUID }
}
{
InventoryData Variable
{ ItemID LLUUID }
}
}
// sim -> dataserver
// sent during agent to agent inventory transfers
{
TransferInventory Low 295 Trusted Zerocoded
{
InfoBlock Single
{ SourceID LLUUID }
{ DestID LLUUID }
{ TransactionID LLUUID }
}
{
InventoryBlock Variable
{ InventoryID LLUUID }
{ Type S8 }
}
}
// dataserver -> sim
// InventoryID is the id of the inventory object that the end user
// should discard if they deny the transfer.
{
TransferInventoryAck Low 296 Trusted Zerocoded
{
InfoBlock Single
{ TransactionID LLUUID }
{ InventoryID LLUUID }
}
}
{
AcceptFriendship Low 297 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
TransactionBlock Single
{ TransactionID LLUUID }
}
{
FolderData Variable
{ FolderID LLUUID } // place to put calling card.
}
}
{
DeclineFriendship Low 298 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
TransactionBlock Single
{ TransactionID LLUUID }
}
}
{
FormFriendship Low 299 Trusted Unencoded
{
AgentBlock Single
{ SourceID LLUUID }
{ DestID LLUUID }
}
}
// Cancels user relationship
// Updates inventory for both users.
// Stops agent tracking in userserver.
// viewer -> userserver -> dataserver
// reliable
{
TerminateFriendship Low 300 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ExBlock Single
{ OtherID LLUUID }
}
}
// used to give someone a calling card.
{
OfferCallingCard Low 301 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
AgentBlock Single
{ DestID LLUUID }
{ TransactionID LLUUID }
}
}
{
AcceptCallingCard Low 302 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
TransactionBlock Single
{ TransactionID LLUUID }
}
{
FolderData Variable
{ FolderID LLUUID } // place to put calling card.
}
}
{
DeclineCallingCard Low 303 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
TransactionBlock Single
{ TransactionID LLUUID }
}
}
// Rez a script onto an object
{
RezScript Low 304 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ GroupID LLUUID }
}
{
UpdateBlock Single
{ ObjectLocalID U32 } // object id in world
{ Enabled BOOL } // is script rezzed in enabled?
}
{
InventoryBlock Single
{ ItemID LLUUID }
{ FolderID LLUUID }
{ CreatorID LLUUID } // permissions
{ OwnerID LLUUID } // permissions
{ GroupID LLUUID } // permissions
{ BaseMask U32 } // permissions
{ OwnerMask U32 } // permissions
{ GroupMask U32 } // permissions
{ EveryoneMask U32 } // permissions
{ NextOwnerMask U32 } // permissions
{ GroupOwned BOOL } // permissions
{ TransactionID LLUUID }
{ Type S8 }
{ InvType S8 }
{ Flags U32 }
{ SaleType U8 }
{ SalePrice S32 }
{ Name Variable 1 }
{ Description Variable 1 }
{ CreationDate S32 }
{ CRC U32 }
}
}
// Create inventory
{
CreateInventoryItem Low 305 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
InventoryBlock Single
{ CallbackID U32 } // Async Response
{ FolderID LLUUID }
{ TransactionID LLUUID } // Going to become TransactionID
{ NextOwnerMask U32 }
{ Type S8 }
{ InvType S8 }
{ WearableType U8 }
{ Name Variable 1 }
{ Description Variable 1 }
}
}
// give agent a landmark for an event.
{
CreateLandmarkForEvent Low 306 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
EventData Single
{ EventID U32 }
}
{
InventoryBlock Single
{ FolderID LLUUID }
{ Name Variable 1 }
}
}
{
EventLocationRequest Low 307 Trusted Zerocoded
{
QueryData Single
{ QueryID LLUUID }
}
{
EventData Single
{ EventID U32 }
}
}
{
EventLocationReply Low 308 Trusted Zerocoded
{
QueryData Single
{ QueryID LLUUID }
}
{
EventData Single
{ Success BOOL }
{ RegionID LLUUID }
{ RegionPos LLVector3 }
}
}
// get information about landmarks. Used by viewers for determining
// the location of a landmark, and by simulators for teleport
{
RegionHandleRequest Low 309 NotTrusted Unencoded
{
RequestBlock Single
{ RegionID LLUUID }
}
}
{
RegionIDAndHandleReply Low 310 Trusted Unencoded
{
ReplyBlock Single
{ RegionID LLUUID }
{ RegionHandle U64 }
}
}
// Move money from one agent to another. Validation will happen at the
// simulator, the dataserver will actually do the work. Dataserver
// generates a MoneyBalance message in reply. The simulator
// will generate a MoneyTransferBackend in response to this.
// viewer -> simulator -> dataserver
{
MoneyTransferRequest Low 311 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
MoneyData Single
{ SourceID LLUUID }
{ DestID LLUUID } // destination of the transfer
{ Flags U8 }
{ Amount S32 }
{ AggregatePermNextOwner U8 }
{ AggregatePermInventory U8 }
{ TransactionType S32 } // see lltransactiontypes.h
{ Description Variable 1 } // string, name of item for purchases
}
}
// And, the money transfer
// *NOTE: Unused as of 2010-04-06, because all back-end money transactions
// are done with web services via L$ API. JC
{
MoneyTransferBackend Low 312 Trusted Zerocoded
{
MoneyData Single
{ TransactionID LLUUID }
{ TransactionTime U32 } // utc seconds since epoch
{ SourceID LLUUID }
{ DestID LLUUID } // destination of the transfer
{ Flags U8 }
{ Amount S32 }
{ AggregatePermNextOwner U8 }
{ AggregatePermInventory U8 }
{ TransactionType S32 } // see lltransactiontypes.h
{ RegionID LLUUID } // region sending the request, for logging
{ GridX U32 } // *HACK: database doesn't have region_id in schema
{ GridY U32 } // *HACK: database doesn't have region_id in schema
{ Description Variable 1 } // string, name of item for purchases
}
}
// viewer -> userserver -> dataserver
// Reliable
{
MoneyBalanceRequest Low 313 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
MoneyData Single
{ TransactionID LLUUID }
}
}
// dataserver -> simulator -> viewer
{
MoneyBalanceReply Low 314 Trusted Zerocoded
{
MoneyData Single
{ AgentID LLUUID }
{ TransactionID LLUUID }
{ TransactionSuccess BOOL } // BOOL
{ MoneyBalance S32 }
{ SquareMetersCredit S32 }
{ SquareMetersCommitted S32 }
{ Description Variable 1 } // string
}
// For replies that are part of a transaction (buying something) provide
// metadata for localization. If TransactionType is 0, the message is
// purely a balance update. Added for server 1.40 and viewer 2.1. JC
{
TransactionInfo Single
{ TransactionType S32 } // lltransactiontype.h
{ SourceID LLUUID }
{ IsSourceGroup BOOL }
{ DestID LLUUID }
{ IsDestGroup BOOL }
{ Amount S32 }
{ ItemDescription Variable 1 } // string
}
}
// RoutedMoneyBalanceReply
// This message is used when a dataserver needs to send updated
// money balance information to a simulator other than the one it
// is connected to. It uses the standard TransferBlock format.
// dataserver -> simulator -> spaceserver -> simulator -> viewer
// reliable
{
RoutedMoneyBalanceReply Low 315 Trusted Zerocoded
{
TargetBlock Single
{ TargetIP IPADDR } // U32 encoded IP
{ TargetPort IPPORT }
}
{
MoneyData Single
{ AgentID LLUUID }
{ TransactionID LLUUID }
{ TransactionSuccess BOOL } // BOOL
{ MoneyBalance S32 }
{ SquareMetersCredit S32 }
{ SquareMetersCommitted S32 }
{ Description Variable 1 } // string
}
// See MoneyBalanceReply above.
{
TransactionInfo Single
{ TransactionType S32 } // lltransactiontype.h
{ SourceID LLUUID }
{ IsSourceGroup BOOL }
{ DestID LLUUID }
{ IsDestGroup BOOL }
{ Amount S32 }
{ ItemDescription Variable 1 } // string
}
}
//---------------------------------------------------------------------------
// Gesture saves/loads
//---------------------------------------------------------------------------
// Tell the database that some gestures are now active
// viewer -> sim -> data
{
ActivateGestures Low 316 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ Flags U32 }
}
{
Data Variable
{ ItemID LLUUID }
{ AssetID LLUUID }
{ GestureFlags U32 }
}
}
// Tell the database some gestures are no longer active
// viewer -> sim -> data
{
DeactivateGestures Low 317 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ Flags U32 }
}
{
Data Variable
{ ItemID LLUUID }
{ GestureFlags U32 }
}
}
//---------------------------------------------------------------------------
//
//---------------------------------------------------------------------------
// userserver -> viewer, up-to-date inventory is here
// could be sent as a result of spam
// as well as in response to InventoryRequest
//{
// InventoryUpdate Low Trusted Unencoded
// {
// AgentData Single
// { AgentID LLUUID }
// }
// {
// InventoryData Single
// { IsComplete U8 }
// { Filename Variable 1 }
// }
//}
// dataserver-> userserver -> viewer to move around the mute list
{
MuteListUpdate Low 318 Trusted Unencoded
{
MuteData Single
{ AgentID LLUUID }
{ Filename Variable 1 }
}
}
// tell viewer to use the local mute cache
{
UseCachedMuteList Low 319 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
}
}
// Sent from viewer to simulator to set user rights. This message will be
// relayed up to the dataserver through a PUT. If that
// succeeds, an UpdateUserRights will be relayed to the originating
// viewer, and a presence lookup will be performed to find
// agent-related and the same PUT will be issued to the sim host if
// they are online.
{
GrantUserRights Low 320 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Rights Variable
{ AgentRelated LLUUID }
{ RelatedRights S32 }
}
}
// This message is sent from the simulator to the viewer to indicate a
// targets granted rights. This is only sent to the originator of the
// request and the target agent if it is a modify or map
// right. Adding/removing online status rights will show up as an
// online/offline notification.
{
ChangeUserRights Low 321 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
}
{
Rights Variable
{ AgentRelated LLUUID }
{ RelatedRights S32 }
}
}
// notification for login and logout.
// source_sim -> dest_viewer
{
OnlineNotification Low 322 Trusted Unencoded
{
AgentBlock Variable
{ AgentID LLUUID }
}
}
{
OfflineNotification Low 323 Trusted Unencoded
{
AgentBlock Variable
{ AgentID LLUUID }
}
}
// SetStartLocationRequest
// viewer -> sim
// failure checked at sim and triggers ImprovedInstantMessage
// success triggers SetStartLocation
{
SetStartLocationRequest Low 324 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
StartLocationData Single
{ SimName Variable 1 } // string
{ LocationID U32 }
{ LocationPos LLVector3 } // region coords
{ LocationLookAt LLVector3 }
}
}
// SetStartLocation
// sim -> dataserver
{
SetStartLocation Low 325 Trusted Zerocoded
{
StartLocationData Single
{ AgentID LLUUID }
{ RegionID LLUUID }
{ LocationID U32 }
{ RegionHandle U64 }
{ LocationPos LLVector3 } // region coords
{ LocationLookAt LLVector3 }
}
}
// ***************************************************************************
// Launcher messages
// ***************************************************************************
// NetTest - This goes back and forth to the space server because of
// problems determining the port
{
NetTest Low 326 NotTrusted Unencoded
{
NetBlock Single
{ Port IPPORT }
}
}
// SetChildCount - Sent to launcher to adjust nominal child count
// Simulator sends this increase the sim/cpu ratio on startup
{
SetCPURatio Low 327 NotTrusted Unencoded
{
Data Single
{ Ratio U8 }
}
}
// SimCrashed - Sent to dataserver when the sim goes down.
// Maybe we should notify the spaceserver as well?
{
SimCrashed Low 328 NotTrusted Unencoded
{
Data Single
{ RegionX U32 }
{ RegionY U32 }
}
{
Users Variable
{ AgentID LLUUID }
}
}
// ***************************************************************************
// Name Value Pair messages
// ***************************************************************************
// NameValuePair - if the specific task exists on simulator, add or replace this name value pair
{
NameValuePair Low 329 Trusted Unencoded
{
TaskData Single
{ ID LLUUID }
}
{
NameValueData Variable
{ NVPair Variable 2 }
}
}
// NameValuePair - if the specific task exists on simulator or dataserver, remove the name value pair (value is ignored)
{
RemoveNameValuePair Low 330 Trusted Unencoded
{
TaskData Single
{ ID LLUUID }
}
{
NameValueData Variable
{ NVPair Variable 2 }
}
}
// ***************************************************************************
// Add/Remove Attachment messages
// ***************************************************************************
//
// Simulator informs Dataserver of new attachment or attachment asset update
// DO NOT ALLOW THIS FROM THE VIEWER
//
{
UpdateAttachment Low 331 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
AttachmentBlock Single
{ AttachmentPoint U8 }
}
{
OperationData Single
{ AddItem BOOL }
{ UseExistingAsset BOOL }
}
{
InventoryData Single // Standard inventory item block
{ ItemID LLUUID }
{ FolderID LLUUID }
{ CreatorID LLUUID } // permissions
{ OwnerID LLUUID } // permissions
{ GroupID LLUUID } // permissions
{ BaseMask U32 } // permissions
{ OwnerMask U32 } // permissions
{ GroupMask U32 } // permissions
{ EveryoneMask U32 } // permissions
{ NextOwnerMask U32 } // permissions
{ GroupOwned BOOL } // permissions
{ AssetID LLUUID }
{ Type S8 }
{ InvType S8 }
{ Flags U32 }
{ SaleType U8 }
{ SalePrice S32 }
{ Name Variable 1 }
{ Description Variable 1 }
{ CreationDate S32 }
{ CRC U32 }
}
}
// Simulator informs Dataserver that attachment has been taken off
{
RemoveAttachment Low 332 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
AttachmentBlock Single
{ AttachmentPoint U8 }
{ ItemID LLUUID }
}
}
// ***************************************************************************
// GUIDed Sound messages
// ***************************************************************************
// SoundTrigger - Sent by simulator to viewer to trigger sound outside current region
{
SoundTrigger High 29 NotTrusted Unencoded
{
SoundData Single
{ SoundID LLUUID }
{ OwnerID LLUUID }
{ ObjectID LLUUID }
{ ParentID LLUUID } // null if this object is the parent
{ Handle U64 } // region handle
{ Position LLVector3 } // region local
{ Gain F32 }
}
}
// AttachedSound - Sent by simulator to viewer to play sound attached with an object
{
AttachedSound Medium 13 Trusted Unencoded
{
DataBlock Single
{ SoundID LLUUID }
{ ObjectID LLUUID }
{ OwnerID LLUUID }
{ Gain F32 }
{ Flags U8 }
}
}
// AttachedSoundGainChange - Sent by simulator to viewer to change an attached sounds' volume
{
AttachedSoundGainChange Medium 14 Trusted Unencoded
{
DataBlock Single
{ ObjectID LLUUID }
{ Gain F32 }
}
}
// PreloadSound - Sent by simulator to viewer to preload sound for an object
{
PreloadSound Medium 15 Trusted Unencoded
{
DataBlock Variable
{ ObjectID LLUUID }
{ OwnerID LLUUID }
{ SoundID LLUUID }
}
}
// *************************************************************************
// Asset storage messages
// *************************************************************************
// current assumes an existing UUID, need to enhance for new assets
{
AssetUploadRequest Low 333 NotTrusted Unencoded
{
AssetBlock Single
{ TransactionID LLUUID }
{ Type S8 }
{ Tempfile BOOL }
{ StoreLocal BOOL }
{ AssetData Variable 2 } // Optional: the actual asset data if the whole thing will fit it this packet
}
}
{
AssetUploadComplete Low 334 NotTrusted Unencoded
{
AssetBlock Single
{ UUID LLUUID }
{ Type S8 }
{ Success BOOL }
}
}
// Script on simulator asks dataserver if there are any email messages
// waiting.
{
EmailMessageRequest Low 335 Trusted Unencoded
{
DataBlock Single
{ ObjectID LLUUID }
{ FromAddress Variable 1 }
{ Subject Variable 1 }
}
}
// Dataserver gives simulator the oldest email message in the queue, along with
// how many messages are left in the queue. And passes back the filter used to request emails.
{
EmailMessageReply Low 336 Trusted Unencoded
{
DataBlock Single
{ ObjectID LLUUID }
{ More U32 } //U32
{ Time U32 } //U32
{ FromAddress Variable 1 }
{ Subject Variable 1 }
{ Data Variable 2 }
{ MailFilter Variable 1 }
}
}
// Script on simulator sends mail to another script
{
InternalScriptMail Medium 16 Trusted Unencoded
{
DataBlock Single
{ From Variable 1 }
{ To LLUUID }
{ Subject Variable 1 }
{ Body Variable 2 }
}
}
// Script on simulator asks dataserver for information
{
ScriptDataRequest Low 337 Trusted Unencoded
{
DataBlock Variable
{ Hash U64 }
{ RequestType S8 }
{ Request Variable 2 }
}
}
// Data server responds with data
{
ScriptDataReply Low 338 Trusted Unencoded
{
DataBlock Variable
{ Hash U64 }
{ Reply Variable 2 }
}
}
//-----------------------------------------------------------------------------
// Group messages
//-----------------------------------------------------------------------------
// CreateGroupRequest
// viewer -> simulator
// simulator -> dataserver
// reliable
{
CreateGroupRequest Low 339 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
GroupData Single
{ Name Variable 1 } // string
{ Charter Variable 2 } // string
{ ShowInList BOOL }
{ InsigniaID LLUUID }
{ MembershipFee S32 } // S32
{ OpenEnrollment BOOL } // BOOL (U8)
{ AllowPublish BOOL } // whether profile is externally visible or not
{ MaturePublish BOOL } // profile is "mature"
}
}
// CreateGroupReply
// dataserver -> simulator
// simulator -> viewer
// reliable
{
CreateGroupReply Low 340 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
}
{
ReplyData Single
{ GroupID LLUUID }
{ Success BOOL }
{ Message Variable 1 } // string
}
}
// UpdateGroupInfo
// viewer -> simulator
// simulator -> dataserver
// reliable
{
UpdateGroupInfo Low 341 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
GroupData Single
{ GroupID LLUUID }
{ Charter Variable 2 } // string
{ ShowInList BOOL }
{ InsigniaID LLUUID }
{ MembershipFee S32 }
{ OpenEnrollment BOOL }
{ AllowPublish BOOL }
{ MaturePublish BOOL }
}
}
// GroupRoleChanges
// viewer -> simulator -> dataserver
// reliable
{
GroupRoleChanges Low 342 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ GroupID LLUUID }
}
{
RoleChange Variable
{ RoleID LLUUID }
{ MemberID LLUUID }
{ Change U32 }
}
}
// JoinGroupRequest
// viewer -> simulator -> dataserver
// reliable
{
JoinGroupRequest Low 343 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
GroupData Single
{ GroupID LLUUID }
}
}
// JoinGroupReply
// dataserver -> simulator -> viewer
{
JoinGroupReply Low 344 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
}
{
GroupData Single
{ GroupID LLUUID }
{ Success BOOL }
}
}
// EjectGroupMemberRequest
// viewer -> simulator -> dataserver
// reliable
{
EjectGroupMemberRequest Low 345 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
GroupData Single
{ GroupID LLUUID }
}
{
EjectData Variable
{ EjecteeID LLUUID }
}
}
// EjectGroupMemberReply
// dataserver -> simulator -> viewer
// reliable
{
EjectGroupMemberReply Low 346 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
}
{
GroupData Single
{ GroupID LLUUID }
}
{
EjectData Single
{ Success BOOL }
}
}
// LeaveGroupRequest
// viewer -> simulator -> dataserver
// reliable
{
LeaveGroupRequest Low 347 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
GroupData Single
{ GroupID LLUUID }
}
}
// LeaveGroupReply
// dataserver -> simulator -> viewer
{
LeaveGroupReply Low 348 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
}
{
GroupData Single
{ GroupID LLUUID }
{ Success BOOL }
}
}
// InviteGroupRequest
// viewer -> simulator -> dataserver
// reliable
{
InviteGroupRequest Low 349 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID } // UUID of inviting agent
{ SessionID LLUUID }
}
{
GroupData Single
{ GroupID LLUUID }
}
{
InviteData Variable
{ InviteeID LLUUID }
{ RoleID LLUUID }
}
}
// InviteGroupResponse
// simulator -> dataserver
// reliable
{
InviteGroupResponse Low 350 Trusted Unencoded
{
InviteData Single
{ AgentID LLUUID }
{ InviteeID LLUUID }
{ GroupID LLUUID }
{ RoleID LLUUID }
{ MembershipFee S32 }
}
}
// GroupProfileRequest
// viewer-> simulator -> dataserver
// reliable
{
GroupProfileRequest Low 351 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
GroupData Single
{ GroupID LLUUID }
}
}
// GroupProfileReply
// dataserver -> simulator -> viewer
// reliable
{
GroupProfileReply Low 352 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
}
{
GroupData Single
{ GroupID LLUUID }
{ Name Variable 1 } // string
{ Charter Variable 2 } // string
{ ShowInList BOOL }
{ MemberTitle Variable 1 } // string
{ PowersMask U64 } // U32 mask
{ InsigniaID LLUUID }
{ FounderID LLUUID }
{ MembershipFee S32 }
{ OpenEnrollment BOOL } // BOOL (U8)
{ Money S32 }
{ GroupMembershipCount S32 }
{ GroupRolesCount S32 }
{ AllowPublish BOOL }
{ MaturePublish BOOL }
{ OwnerRole LLUUID }
}
}
// CurrentInterval = 0 => this period (week, day, etc.)
// CurrentInterval = 1 => last period
// viewer -> simulator -> dataserver
// reliable
{
GroupAccountSummaryRequest Low 353 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ GroupID LLUUID }
}
{
MoneyData Single
{ RequestID LLUUID }
{ IntervalDays S32 }
{ CurrentInterval S32 }
}
}
// dataserver -> simulator -> viewer
// Reliable
{
GroupAccountSummaryReply Low 354 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ GroupID LLUUID }
}
{
MoneyData Single
{ RequestID LLUUID }
{ IntervalDays S32 }
{ CurrentInterval S32 }
{ StartDate Variable 1 } // string
{ Balance S32 }
{ TotalCredits S32 }
{ TotalDebits S32 }
{ ObjectTaxCurrent S32 }
{ LightTaxCurrent S32 }
{ LandTaxCurrent S32 }
{ GroupTaxCurrent S32 }
{ ParcelDirFeeCurrent S32 }
{ ObjectTaxEstimate S32 }
{ LightTaxEstimate S32 }
{ LandTaxEstimate S32 }
{ GroupTaxEstimate S32 }
{ ParcelDirFeeEstimate S32 }
{ NonExemptMembers S32 }
{ LastTaxDate Variable 1 } // string
{ TaxDate Variable 1 } // string
}
}
// Reliable
{
GroupAccountDetailsRequest Low 355 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ GroupID LLUUID }
}
{
MoneyData Single
{ RequestID LLUUID }
{ IntervalDays S32 }
{ CurrentInterval S32 }
}
}
// Reliable
{
GroupAccountDetailsReply Low 356 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ GroupID LLUUID }
}
{
MoneyData Single
{ RequestID LLUUID }
{ IntervalDays S32 }
{ CurrentInterval S32 }
{ StartDate Variable 1 } // string
}
{
HistoryData Variable
{ Description Variable 1 } // string
{ Amount S32 }
}
}
// Reliable
{
GroupAccountTransactionsRequest Low 357 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ GroupID LLUUID }
}
{
MoneyData Single
{ RequestID LLUUID }
{ IntervalDays S32 }
{ CurrentInterval S32 }
}
}
// Reliable
{
GroupAccountTransactionsReply Low 358 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ GroupID LLUUID }
}
{
MoneyData Single
{ RequestID LLUUID }
{ IntervalDays S32 }
{ CurrentInterval S32 }
{ StartDate Variable 1 } // string
}
{
HistoryData Variable
{ Time Variable 1 } // string
{ User Variable 1 } // string
{ Type S32 }
{ Item Variable 1 } // string
{ Amount S32 }
}
}
// GroupActiveProposalsRequest
// viewer -> simulator -> dataserver
//reliable
{
GroupActiveProposalsRequest Low 359 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
GroupData Single
{ GroupID LLUUID }
}
{
TransactionData Single
{ TransactionID LLUUID }
}
}
// GroupActiveProposalItemReply
// dataserver -> simulator -> viewer
// reliable
{
GroupActiveProposalItemReply Low 360 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ GroupID LLUUID }
}
{
TransactionData Single
{ TransactionID LLUUID }
{ TotalNumItems U32 }
}
{
ProposalData Variable
{ VoteID LLUUID }
{ VoteInitiator LLUUID }
{ TerseDateID Variable 1 } // string
{ StartDateTime Variable 1 } // string
{ EndDateTime Variable 1 } // string
{ AlreadyVoted BOOL }
{ VoteCast Variable 1 } // string
{ Majority F32 }
{ Quorum S32 }
{ ProposalText Variable 1 } // string
}
}
// GroupVoteHistoryRequest
// viewer -> simulator -> dataserver
//reliable
{
GroupVoteHistoryRequest Low 361 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
GroupData Single
{ GroupID LLUUID }
}
{
TransactionData Single
{ TransactionID LLUUID }
}
}
// GroupVoteHistoryItemReply
// dataserver -> simulator -> viewer
// reliable
{
GroupVoteHistoryItemReply Low 362 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ GroupID LLUUID }
}
{
TransactionData Single
{ TransactionID LLUUID }
{ TotalNumItems U32 }
}
{
HistoryItemData Single
{ VoteID LLUUID }
{ TerseDateID Variable 1 } // string
{ StartDateTime Variable 1 } // string
{ EndDateTime Variable 1 } // string
{ VoteInitiator LLUUID }
{ VoteType Variable 1 } // string
{ VoteResult Variable 1 } // string
{ Majority F32 }
{ Quorum S32 }
{ ProposalText Variable 2 } // string
}
{
VoteItem Variable
{ CandidateID LLUUID }
{ VoteCast Variable 1 } // string
{ NumVotes S32 }
}
}
// StartGroupProposal
// viewer -> simulator -> dataserver
// reliable
{
StartGroupProposal Low 363 NotTrusted Zerocoded UDPDeprecated
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ProposalData Single
{ GroupID LLUUID }
{ Quorum S32 }
{ Majority F32 } // F32
{ Duration S32 } // S32, seconds
{ ProposalText Variable 1 } // string
}
}
// GroupProposalBallot
// viewer -> simulator -> dataserver
// reliable
{
GroupProposalBallot Low 364 NotTrusted Unencoded UDPDeprecated
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ProposalData Single
{ ProposalID LLUUID }
{ GroupID LLUUID }
{ VoteCast Variable 1 } // string
}
}
// TallyVotes userserver -> dataserver
// reliable
{
TallyVotes Low 365 Trusted Unencoded
}
// GroupMembersRequest
// get the group members
// simulator -> dataserver
// reliable
{
GroupMembersRequest Low 366 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
GroupData Single
{ GroupID LLUUID }
{ RequestID LLUUID }
}
}
// GroupMembersReply
// list of uuids for the group members
// dataserver -> simulator
// reliable
{
GroupMembersReply Low 367 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
}
{
GroupData Single
{ GroupID LLUUID }
{ RequestID LLUUID }
{ MemberCount S32 }
}
{
MemberData Variable
{ AgentID LLUUID }
{ Contribution S32 }
{ OnlineStatus Variable 1 } // string
{ AgentPowers U64 }
{ Title Variable 1 } // string
{ IsOwner BOOL }
}
}
// used to switch an agent's currently active group.
// viewer -> simulator -> dataserver -> AgentDataUpdate...
{
ActivateGroup Low 368 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ GroupID LLUUID }
}
}
// viewer -> simulator -> dataserver
{
SetGroupContribution Low 369 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ GroupID LLUUID }
{ Contribution S32 }
}
}
// viewer -> simulator -> dataserver
{
SetGroupAcceptNotices Low 370 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Data Single
{ GroupID LLUUID }
{ AcceptNotices BOOL }
}
{
NewData Single
{ ListInProfile BOOL }
}
}
// GroupRoleDataRequest
// viewer -> simulator -> dataserver
{
GroupRoleDataRequest Low 371 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
GroupData Single
{ GroupID LLUUID }
{ RequestID LLUUID }
}
}
// GroupRoleDataReply
// All role data for this group
// dataserver -> simulator -> agent
{
GroupRoleDataReply Low 372 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
}
{
GroupData Single
{ GroupID LLUUID }
{ RequestID LLUUID }
{ RoleCount S32 }
}
{
RoleData Variable
{ RoleID LLUUID }
{ Name Variable 1 }
{ Title Variable 1 }
{ Description Variable 1 }
{ Powers U64 }
{ Members U32 }
}
}
// GroupRoleMembersRequest
// viewer -> simulator -> dataserver
{
GroupRoleMembersRequest Low 373 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
GroupData Single
{ GroupID LLUUID }
{ RequestID LLUUID }
}
}
// GroupRoleMembersReply
// All role::member pairs for this group.
// dataserver -> simulator -> agent
{
GroupRoleMembersReply Low 374 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ GroupID LLUUID }
{ RequestID LLUUID }
{ TotalPairs U32 }
}
{
MemberData Variable
{ RoleID LLUUID }
{ MemberID LLUUID }
}
}
// GroupTitlesRequest
// viewer -> simulator -> dataserver
{
GroupTitlesRequest Low 375 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ GroupID LLUUID }
{ RequestID LLUUID }
}
}
// GroupTitlesReply
// dataserver -> simulator -> viewer
{
GroupTitlesReply Low 376 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ GroupID LLUUID }
{ RequestID LLUUID }
}
{
GroupData Variable
{ Title Variable 1 } // string
{ RoleID LLUUID }
{ Selected BOOL }
}
}
// GroupTitleUpdate
// viewer -> simulator -> dataserver
{
GroupTitleUpdate Low 377 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ GroupID LLUUID }
{ TitleRoleID LLUUID }
}
}
// GroupRoleUpdate
// viewer -> simulator -> dataserver
{
GroupRoleUpdate Low 378 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ GroupID LLUUID }
}
{
RoleData Variable
{ RoleID LLUUID }
{ Name Variable 1 }
{ Description Variable 1 }
{ Title Variable 1 }
{ Powers U64 }
{ UpdateType U8 }
}
}
// Request the members of the live help group needed for requesting agent.
// userserver -> dataserver
{
LiveHelpGroupRequest Low 379 Trusted Unencoded
{
RequestData Single
{ RequestID LLUUID }
{ AgentID LLUUID }
}
}
// Send down the group
// dataserver -> userserver
{
LiveHelpGroupReply Low 380 Trusted Unencoded
{
ReplyData Single
{ RequestID LLUUID }
{ GroupID LLUUID }
{ Selection Variable 1 } // selection criteria all or active
}
}
//-----------------------------------------------------------------------------
// Wearable messages
//-----------------------------------------------------------------------------
// AgentWearablesRequest
// (a.k.a. "Tell me what the avatar is wearing.")
// viewer -> simulator -> dataserver
// reliable
{
AgentWearablesRequest Low 381 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
}
// AgentWearablesUpdate
// (a.k.a. "Here's what your avatar should be wearing now.")
// dataserver -> userserver -> viewer
// reliable
// NEVER from viewer to sim
{
AgentWearablesUpdate Low 382 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ SerialNum U32 } // U32, Increases every time the wearables change for a given agent. Used to avoid processing out of order packets.
}
{
WearableData Variable
{ ItemID LLUUID }
{ AssetID LLUUID }
{ WearableType U8 } // U8, LLWearable::EWearType
}
}
//
// AgentIsNowWearing
// (a.k.a. "Here's what I'm wearing now.")
// viewer->sim->dataserver
// reliable
{
AgentIsNowWearing Low 383 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
WearableData Variable
{ ItemID LLUUID }
{ WearableType U8 }
}
}
// AgentCachedTexture
// viewer queries for cached textures on dataserver (via simulator)
// viewer -> simulator -> dataserver
// reliable
{
AgentCachedTexture Low 384 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ SerialNum S32 }
}
{
WearableData Variable
{ ID LLUUID }
{ TextureIndex U8 }
}
}
// AgentCachedTextureResponse
// response to viewer queries for cached textures on dataserver (via simulator)
// dataserver -> simulator -> viewer
// reliable
{
AgentCachedTextureResponse Low 385 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ SerialNum S32 }
}
{
WearableData Variable
{ TextureID LLUUID }
{ TextureIndex U8 }
{ HostName Variable 1 }
}
}
// Request an AgentDataUpdate without changing any agent data.
{
AgentDataUpdateRequest Low 386 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
}
// AgentDataUpdate
// Updates a viewer or simulator's impression of agent-specific information.
// Used, for example, when an agent's group changes.
// dataserver -> simulator -> viewer
// reliable
{
AgentDataUpdate Low 387 Trusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ FirstName Variable 1 } // string
{ LastName Variable 1 } // string
{ GroupTitle Variable 1 } // string
{ ActiveGroupID LLUUID } // active group
{ GroupPowers U64 }
{ GroupName Variable 1 } // string
}
}
// GroupDataUpdate
// This is a bunch of group data that needs to be appropriatly routed based on presence info.
// dataserver -> simulator
{
GroupDataUpdate Low 388 Trusted Zerocoded
{
AgentGroupData Variable
{ AgentID LLUUID }
{ GroupID LLUUID }
{ AgentPowers U64 }
{ GroupTitle Variable 1 }
}
}
// AgentGroupDataUpdate
// Updates a viewer or simulator's impression of the groups an agent is in.
// dataserver -> simulator -> viewer
// reliable
{
AgentGroupDataUpdate Low 389 Trusted Zerocoded UDPDeprecated
{
AgentData Single
{ AgentID LLUUID }
}
{
GroupData Variable
{ GroupID LLUUID }
{ GroupPowers U64 }
{ AcceptNotices BOOL }
{ GroupInsigniaID LLUUID }
{ Contribution S32 }
{ GroupName Variable 1 } // string
}
}
// AgentDropGroup
// Updates the viewer / simulator that an agent is no longer part of a group
// dataserver -> simulator -> viewer
// dataserver -> userserver
// reliable
{
AgentDropGroup Low 390 Trusted Zerocoded UDPDeprecated
{
AgentData Single
{ AgentID LLUUID }
{ GroupID LLUUID }
}
}
// LogTextMessage
// Asks the dataserver to log the contents of this message in the
// chat and IM log table.
// Sent from userserver (IM logging) and simulator (chat logging).
{
LogTextMessage Low 391 Trusted Zerocoded
{
DataBlock Variable
{ FromAgentId LLUUID }
{ ToAgentId LLUUID }
{ GlobalX F64 }
{ GlobalY F64 }
{ Time U32 } // utc seconds since epoch
{ Message Variable 2 } // string
}
}
// ViewerEffect
// Viewer side effect that's sent from one viewer, and broadcast to other agents nearby
// viewer-->sim (single effect created by viewer)
// sim-->viewer (multiple effects that can be seen by viewer)
// the AgentData block used for authentication for viewer-->sim messages
{
ViewerEffect Medium 17 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
Effect Variable
{ ID LLUUID } // unique UUID of the effect
{ AgentID LLUUID } // yes, pack AgentID again (note this block is variable)
{ Type U8 } // Type of the effect
{ Duration F32 } // F32 time (seconds)
{ Color Fixed 4 } // Color4U
{ TypeData Variable 1 } // Type specific data
}
}
// CreateTrustedCircuit
// Sent to establish a trust relationship between two components.
// Only sent in response to a DenyTrustedCircuit message.
{
CreateTrustedCircuit Low 392 NotTrusted Unencoded
{
DataBlock Single
{ EndPointID LLUUID }
{ Digest Fixed 32 } // 32 hex digits == 1 MD5 Digest
}
}
// DenyTrustedCircuit
// Sent :
// - in response to failed CreateTrustedCircuit
// - to force the remote end-point to try to establish a trusted circuit
// - the reception of a trusted message on a non-trusted circuit
// This allows us to re-auth a circuit if it gets closed due to timeouts or network failures.
{
DenyTrustedCircuit Low 393 NotTrusted Unencoded
{
DataBlock Single
{ EndPointID LLUUID }
}
}
// RequestTrustedCircuit
// If the destination does not trust the sender, a Deny is sent back.
{
RequestTrustedCircuit Low 394 Trusted Unencoded
}
{
RezSingleAttachmentFromInv Low 395 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Single
{ ItemID LLUUID }
{ OwnerID LLUUID }
{ AttachmentPt U8 } // 0 for default
{ ItemFlags U32 }
{ GroupMask U32 }
{ EveryoneMask U32 }
{ NextOwnerMask U32 }
{ Name Variable 1 }
{ Description Variable 1 }
}
}
{
RezMultipleAttachmentsFromInv Low 396 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
HeaderData Single
{ CompoundMsgID LLUUID } // All messages a single "compound msg" must have the same id
{ TotalObjects U8 }
{ FirstDetachAll BOOL }
}
{
ObjectData Variable // 1 to 4 of these per packet
{ ItemID LLUUID }
{ OwnerID LLUUID }
{ AttachmentPt U8 } // 0 for default
{ ItemFlags U32 }
{ GroupMask U32 }
{ EveryoneMask U32 }
{ NextOwnerMask U32 }
{ Name Variable 1 }
{ Description Variable 1 }
}
}
{
DetachAttachmentIntoInv Low 397 NotTrusted Unencoded
{
ObjectData Single
{ AgentID LLUUID }
{ ItemID LLUUID }
}
}
// Viewer -> Sim
// Used in "Make New Outfit"
{
CreateNewOutfitAttachments Low 398 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
HeaderData Single
{ NewFolderID LLUUID }
}
{
ObjectData Variable
{ OldItemID LLUUID }
{ OldFolderID LLUUID }
}
}
//-----------------------------------------------------------------------------
// Personal information messages
//-----------------------------------------------------------------------------
{
UserInfoRequest Low 399 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
}
{
UserInfoReply Low 400 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
}
{
UserData Single
{ IMViaEMail BOOL }
{ DirectoryVisibility Variable 1 }
{ EMail Variable 2 }
}
}
{
UpdateUserInfo Low 401 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
UserData Single
{ IMViaEMail BOOL }
{ DirectoryVisibility Variable 1 }
}
}
//-----------------------------------------------------------------------------
// System operations and maintenance
//-----------------------------------------------------------------------------
// spaceserver -> sim
// tell a particular simulator to rename a parcel
{
ParcelRename Low 402 Trusted Unencoded
{
ParcelData Variable
{ ParcelID LLUUID }
{ NewName Variable 1 } // string
}
}
// sim -> viewer
// initiate upload. primarily used for uploading raw files.
{
InitiateDownload Low 403 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
}
{
FileData Single
{ SimFilename Variable 1 } // string
{ ViewerFilename Variable 1 } // string
}
}
// Generalized system message. Each Requst has its own protocol for
// the StringData block format and contents.
{
SystemMessage Low 404 Trusted Zerocoded
{
MethodData Single
{ Method Variable 1 }
{ Invoice LLUUID }
{ Digest Fixed 32 } // 32 hex digits == 1 MD5 Digest
}
{
ParamList Variable
{ Parameter Variable 1 }
}
}
//-----------------------------------------------------------------------------
// map messages
//-----------------------------------------------------------------------------
// viewer -> sim
// reliable
// This message is sent up from the viewer to (eventually) get a list
// of all map layers and NULL-layer sims.
// Returns: MapLayerReply and MapBlockReply
{
MapLayerRequest Low 405 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ Flags U32 }
{ EstateID U32 } // filled in on sim
{ Godlike BOOL } // filled in on sim
}
}
// sim -> viewer
{
MapLayerReply Low 406 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ Flags U32 }
}
{
LayerData Variable
{ Left U32 }
{ Right U32 }
{ Top U32 }
{ Bottom U32 }
{ ImageID LLUUID }
}
}
// viewer -> sim
// This message is sent up from the viewer to get a list
// of the sims in a specified region.
// Returns: MapBlockReply
{
MapBlockRequest Low 407 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ Flags U32 }
{ EstateID U32 } // filled in on sim
{ Godlike BOOL } // filled in on sim
}
{
PositionData Single
{ MinX U16 } // in region-widths
{ MaxX U16 } // in region-widths
{ MinY U16 } // in region-widths
{ MaxY U16 } // in region-widths
}
}
// viewer -> sim
// This message is sent up from the viewer to get a list
// of the sims with a given name.
// Returns: MapBlockReply
{
MapNameRequest Low 408 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ Flags U32 }
{ EstateID U32 } // filled in on sim
{ Godlike BOOL } // filled in on sim
}
{
NameData Single
{ Name Variable 1 } // string
}
}
// sim -> viewer
{
MapBlockReply Low 409 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ Flags U32 }
}
{
Data Variable
{ X U16 } // in region-widths
{ Y U16 } // in region-widths
{ Name Variable 1 } // string
{ Access U8 } // PG, mature, etc.
{ RegionFlags U32 }
{ WaterHeight U8 } // meters
{ Agents U8 }
{ MapImageID LLUUID }
}
{
Size Variable
{ SizeX U16 }
{ SizeY U16 }
}
}
// viewer -> sim
// This message is sent up from the viewer to get a list
// of the items of a particular type on the map.
// Used for Telehubs, Agents, Events, Popular Places, etc.
// Returns: MapBlockReply
{
MapItemRequest Low 410 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ Flags U32 }
{ EstateID U32 } // filled in on sim
{ Godlike BOOL } // filled in on sim
}
{
RequestData Single
{ ItemType U32 }
{ RegionHandle U64 } // filled in on sim
}
}
// sim -> viewer
{
MapItemReply Low 411 Trusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ Flags U32 }
}
{
RequestData Single
{ ItemType U32 }
}
{
Data Variable
{ X U32 } // global position
{ Y U32 } // global position
{ ID LLUUID } // identifier id
{ Extra S32 } // extra information
{ Extra2 S32 } // extra information
{ Name Variable 1 } // identifier string
}
}
//-----------------------------------------------------------------------------
// Postcard messages
//-----------------------------------------------------------------------------
// reliable
{
SendPostcard Low 412 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
{ AssetID LLUUID }
{ PosGlobal LLVector3d } // Where snapshot was taken
{ To Variable 1 } // dest email address(es)
{ From Variable 1 } // src email address(es)
{ Name Variable 1 } // src name
{ Subject Variable 1 } // mail subject
{ Msg Variable 2 } // message text
{ AllowPublish BOOL } // Allow publishing on the web.
{ MaturePublish BOOL } // profile is "mature"
}
}
// RPC messages
// Script on simulator requests rpc channel from rpcserver
// simulator -> dataserver -> MySQL
{
RpcChannelRequest Low 413 Trusted Unencoded
{
DataBlock Single
{ GridX U32 }
{ GridY U32 }
{ TaskID LLUUID }
{ ItemID LLUUID }
}
}
// RpcServer allocated a session for the script
// ChannelID will be the NULL UUID if unable to register
// dataserver -> simulator
{
RpcChannelReply Low 414 Trusted Unencoded
{
DataBlock Single
{ TaskID LLUUID }
{ ItemID LLUUID }
{ ChannelID LLUUID }
}
}
// Inbound RPC requests follow this path:
// RpcScriptRequestInbound: rpcserver -> spaceserver
// RpcScriptRequestInboundForward: spaceserver -> simulator
// reply: simulator -> rpcserver
{
RpcScriptRequestInbound Low 415 NotTrusted Unencoded
{
TargetBlock Single
{ GridX U32 }
{ GridY U32 }
}
{
DataBlock Single
{ TaskID LLUUID }
{ ItemID LLUUID }
{ ChannelID LLUUID }
{ IntValue U32 }
{ StringValue Variable 2 } // string
}
}
// spaceserver -> simulator
{
RpcScriptRequestInboundForward Low 416 Trusted Unencoded UDPDeprecated
{
DataBlock Single
{ RPCServerIP IPADDR }
{ RPCServerPort IPPORT }
{ TaskID LLUUID }
{ ItemID LLUUID }
{ ChannelID LLUUID }
{ IntValue U32 }
{ StringValue Variable 2 } // string
}
}
// simulator -> rpcserver
// Not trusted because trust establishment doesn't work here.
{
RpcScriptReplyInbound Low 417 NotTrusted Unencoded
{
DataBlock Single
{ TaskID LLUUID }
{ ItemID LLUUID }
{ ChannelID LLUUID }
{ IntValue U32 }
{ StringValue Variable 2 } // string
}
}
// ScriptMailRegistration
// Simulator -> dataserver
{
ScriptMailRegistration Low 418 Trusted Unencoded
{
DataBlock Single
{ TargetIP Variable 1 } // String IP
{ TargetPort IPPORT }
{ TaskID LLUUID }
{ Flags U32 }
}
}
// ParcelMediaCommandMessage
// Sends a parcel media command
{
ParcelMediaCommandMessage Low 419 Trusted Unencoded
{
CommandBlock Single
{ Flags U32 }
{ Command U32 }
{ Time F32 }
}
}
// ParcelMediaUpdate
// Sends a parcel media update to a single user
// For global updates use the parcel manager.
{
ParcelMediaUpdate Low 420 Trusted Unencoded
{
DataBlock Single
{ MediaURL Variable 1 } // string
{ MediaID LLUUID }
{ MediaAutoScale U8 }
}
{
DataBlockExtended Single
{ MediaType Variable 1 }
{ MediaDesc Variable 1 }
{ MediaWidth S32 }
{ MediaHeight S32 }
{ MediaLoop U8 }
}
}
// LandStatRequest
// Sent by the viewer to request collider/script information for a parcel
{
LandStatRequest Low 421 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
RequestData Single
{ ReportType U32 }
{ RequestFlags U32 }
{ Filter Variable 1 }
{ ParcelLocalID S32 }
}
}
// LandStatReply
// Sent by the simulator in response to LandStatRequest
{
LandStatReply Low 422 Trusted Unencoded UDPDeprecated
{
RequestData Single
{ ReportType U32 }
{ RequestFlags U32 }
{ TotalObjectCount U32 }
}
{
ReportData Variable
{ TaskLocalID U32 }
{ TaskID LLUUID }
{ LocationX F32 }
{ LocationY F32 }
{ LocationZ F32 }
{ Score F32 }
{ TaskName Variable 1 }
{ OwnerName Variable 1 }
}
}
// Generic Error -- this is used for sending an error message
// to a UDP recipient. The lowest common denominator is to at least
// log the message. More sophisticated receivers can do something
// smarter, for example, a money transaction failure can put up a
// more user visible UI widget.
{
Error Low 423 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID } // will forward to agentid if coming from trusted circuit
}
{
Data Single
{ Code S32 } // matches http status codes
{ Token Variable 1 } // some specific short string based message
{ ID LLUUID } // the transactionid/uniqueid/sessionid whatever.
{ System Variable 1 } // The hierarchical path to the system, eg, "message/handler"
{ Message Variable 2 } // Human readable message
{ Data Variable 2 } // Binary serialized LLSD for extra info.
}
}
// ObjectIncludeInSearch
// viewer -> simulator
{
ObjectIncludeInSearch Low 424 NotTrusted Unencoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
ObjectData Variable
{ ObjectLocalID U32 }
{ IncludeInSearch BOOL }
}
}
// This message is sent from viewer -> simulator when the viewer wants
// to rez an object out of inventory back to its position before it
// last moved into the inventory
{
RezRestoreToWorld Low 425 NotTrusted Unencoded UDPDeprecated
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
InventoryData Single
{ ItemID LLUUID }
{ FolderID LLUUID }
{ CreatorID LLUUID } // permissions
{ OwnerID LLUUID } // permissions
{ GroupID LLUUID } // permissions
{ BaseMask U32 } // permissions
{ OwnerMask U32 } // permissions
{ GroupMask U32 } // permissions
{ EveryoneMask U32 } // permissions
{ NextOwnerMask U32 } // permissions
{ GroupOwned BOOL } // permissions
{ TransactionID LLUUID }
{ Type S8 }
{ InvType S8 }
{ Flags U32 }
{ SaleType U8 }
{ SalePrice S32 }
{ Name Variable 1 }
{ Description Variable 1 }
{ CreationDate S32 }
{ CRC U32 }
}
}
// Link inventory
{
LinkInventoryItem Low 426 NotTrusted Zerocoded
{
AgentData Single
{ AgentID LLUUID }
{ SessionID LLUUID }
}
{
InventoryBlock Single
{ CallbackID U32 } // Async Response
{ FolderID LLUUID }
{ TransactionID LLUUID } // Going to become TransactionID
{ OldItemID LLUUID }
{ Type S8 }
{ InvType S8 }
{ Name Variable 1 }
{ Description Variable 1 }
}
}