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