diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..7d06c4a --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "pymetaverse/viewer/message_template"] + path = pymetaverse/viewer/message_template + url = https://github.com/secondlife/master-message-template.git diff --git a/pymetaverse/viewer/message_template b/pymetaverse/viewer/message_template new file mode 160000 index 0000000..d9ee776 --- /dev/null +++ b/pymetaverse/viewer/message_template @@ -0,0 +1 @@ +Subproject commit d9ee776270a89c2fae28a3d498ffa1303cbd6019 diff --git a/pymetaverse/viewer/message_template.msg b/pymetaverse/viewer/message_template.msg deleted file mode 100644 index 40ba2cc..0000000 --- a/pymetaverse/viewer/message_template.msg +++ /dev/null @@ -1,9287 +0,0 @@ -// 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: 431 -// Medium: 18 -// High: 30 -// 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 UDPDeprecated - { - 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 } // 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 } // 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 } // 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 } // 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 } - } -} - -// ObjectBypassModUpdate -// Viewer -> Simulator -// Allows the owner of an object to bypass mod protections for -// Predefined fields. -{ - ObjectBypassModUpdate Low 431 NotTrusted Zerocoded - { - AgentData Single - { AgentID LLUUID } - { SessionID LLUUID } - } - { - ObjectData Variable - { ObjectLocalID U32 } - { PropertyID U8 } - { Value 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 } // 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 } - } -} - -// 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 } // 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 -// Also sent from dataserver to simulator with AgentInfo block -// Simulator doesn't include AgentInfo block to viewer -{ - AlertMessage Low 134 Trusted Unencoded - { - AlertData Single - { Message Variable 1 } - } - { - AlertInfo Variable - { Message Variable 1 } - { ExtraParams Variable 1 } - } - { - AgentInfo Variable - { AgentID LLUUID } - } -} - -// 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 } - } - { - RegionInfo5 Variable - { ChatWhisperRange F32 } - { ChatNormalRange F32 } - { ChatShoutRange F32 } - { ChatWhisperOffset F32 } - { ChatNormalOffset F32 } - { ChatShoutOffset F32 } - { ChatFlags U32 } - } - { - CombatSettings Variable - { CombatFlags U32 } - { OnDeath U8 } - { DamageThrottle F32 } - { RegenerationRate F32 } - { InvulnerabilyTime F32 } - { DamageLimit F32 } - } - -} - -// 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 } // 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 } - { UseBigPackets 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 } - } - { - AttachmentBlock Variable - { ID LLUUID } - { AttachmentPoint U8 } - } -} - -// 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 } - } - { - Experience Single - { ExperienceID LLUUID } - } -} - -// 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 -// Interestingly, this message does not actually "Request a Teleport" -// on the viewer. Instead it opens the world map and places a beacon -// at the indicated location. -// reliable -{ - ScriptTeleportRequest Low 195 Trusted Unencoded - { - Data Single - { ObjectName Variable 1 } - { SimName Variable 1 } - { SimPosition LLVector3 } - { LookAt LLVector3 } - } - { - Options Variable - { Flags U32 } - } -} - - - - -// *************************************************************************** -// 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 UDPDeprecated - { - 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 } - // in llsd message, SeeAVs, GroupAVSounds and AnyAVSounds BOOLs are also sent - } - { - AgeVerificationBlock Single - { RegionDenyAgeUnverified BOOL } - } - { - RegionAllowAccessBlock Single - { RegionAllowAccessOverride BOOL } - } - { - ParcelEnvironmentBlock Single - { ParcelEnvironmentVersion S32 } - { RegionAllowEnvironmentOverride 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 } - } - { - SimFlags Single - { Flags U64 } - } -} - -// 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 } - - { 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 } - } - { - AgentInventoryHost Variable - { InventoryHost Variable 1 } //String - } -} - -// 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 } - } - { - EstateBlock Single - { EstateID U32 } - } - { - MetaData Variable - { Data Variable 2 } - } -} - -// RetrieveInstantMessages - used to get instant messages that -// were persisted out to the database while the user was offline -// Sent from viewer->simulator. Also see RetrieveIMsExtended (back-end only) -{ - 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 } - } -} - -// GenericStreamingMessage -// Optimized generic message for streaming arbitrary data to viewer -// Avoid payloads over 7KB (8KB ceiling) -// Method -- magic number indicating method to use to decode payload: -// 0x4175 - GLTF material override data -// Payload -- data to be decoded -{ - GenericStreamingMessage High 31 Trusted Unencoded - { - MethodData Single - { Method U16 } - } - - { - DataBlock Single - { Data Variable 2 } - } -} - -// LargeGenericMessage -// Similar to the above messages, but can handle larger payloads and serialized -// LLSD. Uses HTTP transport -{ - LargeGenericMessage Low 430 NotTrusted Unencoded UDPDeprecated - { - AgentData Single - { AgentID LLUUID } - { SessionID LLUUID } - { TransactionID LLUUID } - } - { - MethodData Single - { Method Variable 1 } - { Invoice LLUUID } - } - { - ParamList Variable - { Parameter Variable 2 } - } -} - -// *************************************************************************** -// 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 } - } - { - ValidationBlock Single - { NeedsValidation BOOL } - { EstateID U32 } - } -} - -// 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 } - { 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 UDPDeprecated - { - TargetBlock Single - { TargetIP IPADDR } // U32 encoded IP - { TargetPort IPPORT } - } - { - MoneyData Single - { AgentID LLUUID } - { TransactionID LLUUID } - { TransactionSuccess 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 } - } -} - -// ************************************************************************* -// Object animation messages -// ************************************************************************* - -// Note this is basically identical to AvatarAnimation. -// Needs to be a different message because existing viewers -// have insufficiently smart handler functions. - -// ObjectAnimation - Update animation state -// simulator --> viewer -{ - ObjectAnimation High 30 Trusted Unencoded - { - Sender Single - { ID LLUUID } - } - { - AnimationList Variable - { AnimID LLUUID } - { AnimSequenceID S32 } - } -} - -// ************************************************************************* -// 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 } - { Time 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 -// 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 } - { OpenEnrollment BOOL } - { 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 } - } - { - GroupData Single - { GroupLimit S32 } // Extra block for the agent's group limit - } -} - -// 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 } - { InsigniaID LLUUID } - { FounderID LLUUID } - { MembershipFee S32 } - { OpenEnrollment BOOL } - { 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 } - { Duration 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 } // 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 } // 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 } - } -} - -// 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 } - - } -} - -// RetrieveIMsExtended - extended version of RetrieveInstantMessages, -// used to get instant messages that were persisted out to the database while the user was offline -// sent between the simulator and dataserver -{ - RetrieveIMsExtended Low 427 Trusted Unencoded - { - AgentData Single - { AgentID LLUUID } - { SessionID LLUUID } - { IsPremium BOOL } - } -} - -// JoinGroupRequestExtended -// Extends JoinGroupRequest from viewer and passed to dataserver -// simulator -> dataserver -// reliable -{ - JoinGroupRequestExtended Low 428 Trusted Unencoded - { - AgentData Single - { AgentID LLUUID } - { SessionID LLUUID } - { GroupLimit S32 } - } - { - GroupData Single - { GroupID LLUUID } - } -} - -// CreateGroupRequestExtended -// simulator -> dataserver, extends data from CreateGroupRequest -// reliable -{ - CreateGroupRequestExtended Low 429 Trusted Unencoded - { - AgentData Single - { AgentID LLUUID } - { SessionID LLUUID } - { GroupLimit S32 } - } - { - GroupData Single - { Name Variable 1 } // string - { Charter Variable 2 } // string - { ShowInList BOOL } - { InsigniaID LLUUID } - { MembershipFee S32 } - { OpenEnrollment BOOL } - { AllowPublish BOOL } // whether profile is externally visible or not - { MaturePublish BOOL } // profile is "mature" - } -} - -// viewer -> simulator -// GameControlInput - input from game controller -// The main payload of this message is split into two Variable chunks: -// -// AxisData = list of {Index:Value} pairs. Value is an S16 that maps to range [-1, 1] -// ButtonData = list of indices of pressed buttons -// -// Any Axis ommitted from the message is assumed by the receiving Simulator to be unchanged -// from its previously received value. -// -// Any Button omitted from the message is assumed by the receiving Simulator to be unpressed. -// -// GameControlInput messages are sent unreliably, but when input changes stop the last -// message will be resent at a ever increasing period to make sure the server receives it. -// -{ - GameControlInput High 32 NotTrusted Zerocoded - { - AgentData Single - { AgentID LLUUID } - { SessionID LLUUID } - } - { - AxisData Variable - { Index U8 } - { Value S16 } - } - { - ButtonData Variable - { Data Variable 1 } - } -} - diff --git a/pymetaverse/viewer/message_template.msg.sha1 b/pymetaverse/viewer/message_template.msg.sha1 deleted file mode 100644 index baa4f3f..0000000 --- a/pymetaverse/viewer/message_template.msg.sha1 +++ /dev/null @@ -1 +0,0 @@ -aaecaf01b6954c156662f572dc3ecaf26de0ca67 \ No newline at end of file diff --git a/pymetaverse/viewer/messages.py b/pymetaverse/viewer/messages.py index af93c6f..811f543 100644 --- a/pymetaverse/viewer/messages.py +++ b/pymetaverse/viewer/messages.py @@ -709,28 +709,27 @@ def getDefaultTemplate(): global __templateCache if not __templateCache: script_dir = os.path.dirname(os.path.abspath(__file__)) - template_path = os.path.join(script_dir, "message_template.msg") + template_path = os.path.join(script_dir, "message_template/message_template.msg") with open(template_path, "r") as f: __templateCache = MessageTemplate.load(f) return __templateCache def unitTest(): - with open("message_template.msg", "r") as f: - template = MessageTemplate.load(f) - msg = template.getMessage("TestMessage") - msg.TestBlock1.Test1 = 4 - - for i in range(0, 4): - msg.NeighborBlock[i].Test0 = i * 3 - msg.NeighborBlock[i].Test1 = i * 3 + 1 - msg.NeighborBlock[i].Test2 = i * 3 + 2 - print(msg) - print(ZeroEncode(bytes(msg))) - print(ZeroDecode(ZeroEncode(bytes(msg)))) - print(bytes(msg) == ZeroDecode(ZeroEncode(bytes(msg)))) - msg2 = template.getMessage("TestMessage") - msg2.loads(bytes(msg)) - print(msg2.TestBlock1.Test1) + template = getDefaultTemplate() + msg = template.getMessage("TestMessage") + msg.TestBlock1.Test1 = 4 + + for i in range(0, 4): + msg.NeighborBlock[i].Test0 = i * 3 + msg.NeighborBlock[i].Test1 = i * 3 + 1 + msg.NeighborBlock[i].Test2 = i * 3 + 2 + print(msg) + print(ZeroEncode(bytes(msg))) + print(ZeroDecode(ZeroEncode(bytes(msg)))) + print(bytes(msg) == ZeroDecode(ZeroEncode(bytes(msg)))) + msg2 = template.getMessage("TestMessage") + msg2.loads(bytes(msg)) + print(msg2.TestBlock1.Test1) if __name__ == "__main__":