git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@931 52acb1d6-8a22-11de-b505-999d5b087335
9875 lines
190 KiB
Plaintext
9875 lines
190 KiB
Plaintext
// Linden Lab development message templates
|
|
|
|
version 1.053
|
|
|
|
// *************************************************************************
|
|
// Test Message
|
|
// *************************************************************************
|
|
|
|
// Test Message
|
|
|
|
{
|
|
TestMessage Low NotTrusted Zerocoded
|
|
{
|
|
TestBlock1 Single
|
|
{ Test1 U32 }
|
|
}
|
|
{
|
|
NeighborBlock Multiple 4
|
|
{ Test0 U32 }
|
|
{ Test1 U32 }
|
|
{ Test2 U32 }
|
|
}
|
|
}
|
|
|
|
// *************************************************************************
|
|
// Messaging Internal Data Management Message
|
|
// *************************************************************************
|
|
|
|
// *************************
|
|
// List fixed messages first
|
|
// *************************
|
|
|
|
// This is the newly updated version of the message template checksum
|
|
// request. The token is there so that the viewer can drop responses
|
|
// that do not match the supplied token.
|
|
{
|
|
SecuredTemplateChecksumRequest Fixed 0xFFFFFFFA NotTrusted Unencoded
|
|
{
|
|
TokenBlock Single
|
|
{ Token LLUUID }
|
|
}
|
|
}
|
|
|
|
// 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
|
|
{
|
|
CircuitInfo Single
|
|
{ IP IPADDR }
|
|
{ Port IPPORT }
|
|
}
|
|
}
|
|
|
|
// CloseCircuit - Tells the recipient's messaging system to close the descibed circuit
|
|
{
|
|
CloseCircuit Fixed 0xFFFFFFFD NotTrusted Unencoded
|
|
}
|
|
|
|
|
|
// message template version check. Deprecated - the viewer should send a
|
|
// SecuredTemplateChecksumRequest to prevent template checksum
|
|
// injection with a bad checksum.
|
|
{
|
|
TemplateChecksumRequest Fixed 0xFFFFFFFE NotTrusted Unencoded
|
|
}
|
|
|
|
// message template version check
|
|
{
|
|
TemplateChecksumReply Fixed 0xFFFFFFFF NotTrusted Unencoded
|
|
{
|
|
DataBlock Single
|
|
{ Checksum U32 }
|
|
{ MajorVersion U8 }
|
|
{ MinorVersion U8 }
|
|
{ PatchVersion U8 }
|
|
{ ServerVersion U8 }
|
|
{ Flags U32 }
|
|
}
|
|
{
|
|
TokenBlock Single
|
|
{ Token LLUUID }
|
|
}
|
|
}
|
|
|
|
// ******************
|
|
// 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 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 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 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 NotTrusted Unencoded
|
|
{
|
|
CircuitCode Single
|
|
{ Code U32 }
|
|
{ SessionID LLUUID }
|
|
{ ID LLUUID } // agent id
|
|
}
|
|
}
|
|
|
|
// LogControl - This message allows us to remotely control the
|
|
// runtime logging facilities of the error stream. This MUST match
|
|
// the RelayLogControl message.
|
|
// Level - DEBUG=0, INFO=1, WARN=2, FATAL=3 system displays level and greater
|
|
// Mask - a bit mask. Set to 0xffff to display every type
|
|
// Time - set to 1 to turn on timestamp, 0 to turn it off
|
|
// Location - set to 1 to turn on file/line stamp, 0 to turn it off
|
|
// RemoteInfos - set to 1 to log llinfo to the log server (in production)
|
|
{
|
|
LogControl Low Trusted Unencoded
|
|
{
|
|
Options Single
|
|
{ Level U8 }
|
|
{ Mask U32 }
|
|
{ Time BOOL }
|
|
{ Location BOOL }
|
|
{ RemoteInfos BOOL }
|
|
}
|
|
}
|
|
|
|
// RelayLogControl - Just like log control, but relayed around the
|
|
// server side to adjust the log level. This is in a separate message
|
|
// because the handler is a bit different, only implmented on some
|
|
// processes, and requires application level knowledge. This MUST match
|
|
// the LogControl message.
|
|
{
|
|
RelayLogControl Low Trusted Unencoded
|
|
{
|
|
Options Single
|
|
{ Level U8 }
|
|
{ Mask U32 }
|
|
{ Time BOOL }
|
|
{ Location BOOL }
|
|
{ RemoteInfos BOOL }
|
|
}
|
|
}
|
|
|
|
|
|
// LogMessages
|
|
// Turns on or off message system logging
|
|
{
|
|
LogMessages Low Trusted Unencoded
|
|
{
|
|
Options Single
|
|
{ Enable BOOL } // BOOL
|
|
}
|
|
}
|
|
|
|
|
|
// *************************************************************************
|
|
// SpaceServer to Simulator Messages
|
|
// ************************************************************************
|
|
|
|
// Neighbor List - Passed anytime neighbors change
|
|
{
|
|
NeighborList High Trusted Unencoded
|
|
{
|
|
NeighborBlock Multiple 4
|
|
{ IP IPADDR }
|
|
{ Port IPPORT }
|
|
{ PublicIP IPADDR }
|
|
{ PublicPort IPPORT }
|
|
{ RegionID LLUUID }
|
|
{ Name Variable 1 } // string
|
|
{ SimAccess U8 }
|
|
}
|
|
}
|
|
|
|
|
|
// Simulator Assignment - Tells a simulator where it is and who it's
|
|
// neighbors are
|
|
{
|
|
SimulatorAssign Low Trusted Zerocoded
|
|
{
|
|
RegionInfo Single
|
|
{ GridsPerEdge S32 }
|
|
{ MetersPerGrid F32 }
|
|
{ Handle U64 }
|
|
{ UsecSinceStart U64 }
|
|
{ SecPerDay U32 }
|
|
{ SecPerYear U32 }
|
|
{ SunDirection LLVector3 }
|
|
{ SunAngVelocity LLVector3 }
|
|
{ IP IPADDR }
|
|
{ Port IPPORT }
|
|
}
|
|
{
|
|
NeighborBlock Multiple 4
|
|
{ IP IPADDR }
|
|
{ Port IPPORT }
|
|
{ PublicIP IPADDR }
|
|
{ PublicPort IPPORT }
|
|
{ Name Variable 1 } // string
|
|
{ SimAccess U8 }
|
|
}
|
|
}
|
|
|
|
// SpaceServerSimulatorTimeMessage - Allows simulator to resynch to world time
|
|
{
|
|
SpaceServerSimulatorTimeMessage Low Trusted Unencoded
|
|
{
|
|
TimeInfo Single
|
|
{ UsecSinceStart U64 }
|
|
{ SecPerDay U32 }
|
|
{ SecPerYear U32 }
|
|
{ SunDirection LLVector3 }
|
|
{ SunPhase F32 }
|
|
{ SunAngVelocity LLVector3 }
|
|
}
|
|
}
|
|
|
|
// ClosestSimulator - Passes the closest simulator back to a simulator
|
|
{
|
|
ClosestSimulator Medium Trusted Unencoded
|
|
{
|
|
SimulatorBlock Single
|
|
{ IP IPADDR }
|
|
{ Port IPPORT }
|
|
{ Handle U64 }
|
|
}
|
|
{
|
|
Viewer Single
|
|
{ ID LLUUID }
|
|
}
|
|
}
|
|
|
|
// AvatarTextureUpdate
|
|
// simulator -> dataserver
|
|
// reliable
|
|
{
|
|
AvatarTextureUpdate Low 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 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 Trusted Unencoded
|
|
{
|
|
MapData Single
|
|
{ RegionHandle U64 }
|
|
{ Type S32 }
|
|
{ MapImage LLUUID }
|
|
}
|
|
}
|
|
|
|
// SubscribeLoad
|
|
// spaceserver -> simulator
|
|
// reliable
|
|
{
|
|
SubscribeLoad Low Trusted Unencoded
|
|
}
|
|
|
|
// UnsubscribeLoad
|
|
// spaceserver -> simulator
|
|
// reliable
|
|
{
|
|
UnsubscribeLoad Low Trusted Unencoded
|
|
}
|
|
|
|
|
|
// ************************************************************************
|
|
// Simulator to SpaceServer Messages
|
|
// ************************************************************************
|
|
|
|
// Simulator Start - Tells spaceserver that simulator is online and wants to be
|
|
// assigned.
|
|
{
|
|
SimulatorStart Low Trusted Unencoded
|
|
{
|
|
ControlPort Single
|
|
{ Port IPPORT }
|
|
{ PublicIP IPADDR }
|
|
{ PublicPort IPPORT }
|
|
}
|
|
{
|
|
PositionSuggestion Single
|
|
{ Ignore BOOL } // if non-zero, SS should put it in the next available slot
|
|
{ GridX S32 }
|
|
{ GridY S32 }
|
|
}
|
|
}
|
|
|
|
// SimulatorReady - indicates the sim has finished loading its state
|
|
// and is ready to receive updates from others
|
|
{
|
|
SimulatorReady Low 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 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 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 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 Trusted Unencoded
|
|
}
|
|
|
|
// ****************************************************************************
|
|
// Presense messages
|
|
// ****************************************************************************
|
|
|
|
// sim -> dataserver
|
|
{
|
|
RegionPresenceRequestByRegionID Low Trusted Unencoded
|
|
{
|
|
RegionData Variable
|
|
{ RegionID LLUUID }
|
|
}
|
|
}
|
|
|
|
sim -> dataserver
|
|
{
|
|
RegionPresenceRequestByHandle Low Trusted Unencoded
|
|
{
|
|
RegionData Variable
|
|
{ RegionHandle U64 }
|
|
}
|
|
}
|
|
|
|
// dataserver -> sim
|
|
{
|
|
RegionPresenceResponse Low Trusted Zerocoded
|
|
{
|
|
RegionData Variable
|
|
{ RegionID LLUUID }
|
|
{ RegionHandle U64 }
|
|
{ InternalRegionIP IPADDR }
|
|
{ ExternalRegionIP IPADDR }
|
|
{ RegionPort IPPORT }
|
|
{ ValidUntil F64 }
|
|
{ Message Variable 1 }
|
|
}
|
|
}
|
|
|
|
// Record agent presence - this totally supercedes the TrackAgentSession
|
|
// and ClearAgentSessions functionality
|
|
{
|
|
RecordAgentPresence Low Trusted Unencoded
|
|
{
|
|
RegionData Single
|
|
{ RegionID LLUUID }
|
|
}
|
|
{
|
|
AgentData Variable
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
{ SecureSessionID LLUUID }
|
|
{ LocalX S16 }
|
|
{ LocalY S16 }
|
|
{ TimeToLive S32 } // in seconds
|
|
{ Status S32 }
|
|
{ EstateID U32 }
|
|
}
|
|
}
|
|
|
|
// Erase a set of agent presence records. Useful during logout or kick.
|
|
{
|
|
EraseAgentPresence Low Trusted Unencoded
|
|
{
|
|
AgentData Variable
|
|
{ AgentID LLUUID }
|
|
}
|
|
}
|
|
|
|
// request IP and port for agents
|
|
{
|
|
AgentPresenceRequest Low Trusted Unencoded
|
|
{
|
|
AgentData Variable
|
|
{ AgentID LLUUID }
|
|
}
|
|
}
|
|
|
|
// response for agent locations
|
|
{
|
|
AgentPresenceResponse Low Trusted Unencoded
|
|
{
|
|
AgentData Variable
|
|
{ AgentID LLUUID }
|
|
{ RegionIP IPADDR }
|
|
{ RegionPort IPPORT }
|
|
{ ValidUntil F64 }
|
|
{ EstateID U32 }
|
|
}
|
|
}
|
|
|
|
|
|
// ****************************************************************************
|
|
// Simulator to dataserver messages
|
|
// ****************************************************************************
|
|
|
|
// Updates SimName, EstateID and SimAccess using RegionID as a key
|
|
{
|
|
UpdateSimulator Low Trusted Unencoded
|
|
{
|
|
SimulatorInfo Single
|
|
{ RegionID LLUUID }
|
|
{ SimName Variable 1 }
|
|
{ EstateID U32 }
|
|
{ SimAccess U8 }
|
|
}
|
|
}
|
|
|
|
|
|
// The simulator sends out this message from time to time
|
|
{
|
|
TrackAgentSession Low Trusted Unencoded
|
|
{
|
|
RegionData Single
|
|
{ RegionX F32 }
|
|
{ RegionY F32 }
|
|
{ SpaceIP IPADDR }
|
|
{ EstateID U32 }
|
|
{ AgentCount U32 }
|
|
}
|
|
{
|
|
SessionInfo Variable
|
|
{ SessionID LLUUID }
|
|
{ ViewerIP IPADDR }
|
|
{ ViewerPort IPPORT }
|
|
{ GlobalX F64 }
|
|
{ GlobalY F64 }
|
|
}
|
|
}
|
|
|
|
|
|
// clear out sessions for this sim, because it's coming up or going down
|
|
{
|
|
ClearAgentSessions Low Trusted Unencoded
|
|
{
|
|
RegionInfo Single
|
|
{ RegionX U32 }
|
|
{ RegionY U32 }
|
|
{ SpaceIP IPADDR }
|
|
}
|
|
}
|
|
|
|
// record dwell time.
|
|
{
|
|
LogDwellTime Low 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 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 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 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 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 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 NotTrusted Unencoded
|
|
}
|
|
|
|
// dataserver to sim, response w/ econ data
|
|
{
|
|
EconomyData Low 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 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 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 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 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 Trusted Zerocoded
|
|
{
|
|
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 }
|
|
}
|
|
}
|
|
|
|
// DirFindQuery viewer->sim
|
|
// Message to start asking questions for the directory
|
|
{
|
|
DirFindQuery Low 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 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 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 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 Trusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
QueryData Variable
|
|
{ QueryID LLUUID }
|
|
}
|
|
{
|
|
QueryReplies Variable
|
|
{ ParcelID LLUUID }
|
|
{ Name Variable 1 }
|
|
{ ForSale BOOL }
|
|
{ Auction BOOL }
|
|
{ ReservedNewbie BOOL }
|
|
{ Dwell F32 }
|
|
}
|
|
}
|
|
|
|
// DirPeopleReply
|
|
{
|
|
DirPeopleReply Low 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 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 }
|
|
}
|
|
}
|
|
|
|
// DirGroupsReply
|
|
// dataserver -> userserver -> viewer
|
|
// reliable
|
|
{
|
|
DirGroupsReply Low Trusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
QueryData Single
|
|
{ QueryID LLUUID }
|
|
}
|
|
{
|
|
QueryReplies Variable
|
|
{ GroupID LLUUID }
|
|
{ GroupName Variable 1 } // string
|
|
{ Members S32 }
|
|
{ OpenEnrollment BOOL }
|
|
{ MembershipFee S32 }
|
|
}
|
|
}
|
|
|
|
|
|
// DirClassifiedQuery viewer->sim
|
|
// reliable
|
|
{
|
|
DirClassifiedQuery Low 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 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 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 }
|
|
}
|
|
}
|
|
|
|
|
|
// 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 Trusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ TargetID LLUUID }
|
|
}
|
|
{
|
|
Data Variable
|
|
{ ClassifiedID LLUUID }
|
|
{ Name Variable 1 }
|
|
}
|
|
}
|
|
|
|
|
|
// ClassifiedInfoRequest
|
|
// viewer -> simulator
|
|
// simulator -> dataserver
|
|
// reliable
|
|
{
|
|
ClassifiedInfoRequest Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
Data Single
|
|
{ ClassifiedID LLUUID }
|
|
}
|
|
}
|
|
|
|
|
|
// ClassifiedInfoReply
|
|
// dataserver -> simulator
|
|
// simulator -> viewer
|
|
// reliable
|
|
{
|
|
ClassifiedInfoReply Low 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 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 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
Data Single
|
|
{ ClassifiedID LLUUID }
|
|
{ QueryID LLUUID }
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// DirPicksQuery viewer->sim
|
|
// reliable
|
|
{
|
|
DirPicksQuery Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
QueryData Single
|
|
{ QueryID LLUUID }
|
|
{ QueryFlags U32 }
|
|
}
|
|
}
|
|
|
|
// DirPicksQueryBackend sim->dataserver
|
|
// reliable
|
|
{
|
|
DirPicksQueryBackend Low Trusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
QueryData Single
|
|
{ QueryID LLUUID }
|
|
{ QueryFlags U32 }
|
|
{ EstateID U32 }
|
|
{ Godlike BOOL }
|
|
}
|
|
}
|
|
|
|
// DirPicksReply dataserver->sim->viewer
|
|
// reliable
|
|
{
|
|
DirPicksReply Low Trusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
QueryData Single
|
|
{ QueryID LLUUID }
|
|
}
|
|
{
|
|
QueryReplies Variable
|
|
{ PickID LLUUID }
|
|
{ Name Variable 1 }
|
|
{ Enabled BOOL }
|
|
}
|
|
}
|
|
|
|
|
|
// DirLandQuery viewer->sim
|
|
// Special query for the land for sale/auction panel.
|
|
// reliable
|
|
{
|
|
DirLandQuery Low 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 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 Trusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
QueryData Single
|
|
{ QueryID LLUUID }
|
|
}
|
|
{
|
|
QueryReplies Variable
|
|
{ ParcelID LLUUID }
|
|
{ Name Variable 1 }
|
|
{ Auction BOOL }
|
|
{ ForSale BOOL }
|
|
{ ReservedNewbie BOOL }
|
|
{ SalePrice S32 }
|
|
{ ActualArea S32 }
|
|
}
|
|
}
|
|
|
|
// DirPopularQuery viewer->sim
|
|
// Special query for the land for sale/auction panel.
|
|
// reliable
|
|
{
|
|
DirPopularQuery Low 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 Trusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
QueryData Single
|
|
{ QueryID LLUUID }
|
|
{ QueryFlags U32 }
|
|
{ EstateID U32 }
|
|
{ Godlike BOOL }
|
|
}
|
|
}
|
|
|
|
// DirPopularReply
|
|
// dataserver -> simulator -> viewer
|
|
// reliable
|
|
{
|
|
DirPopularReply Low 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
Data Single
|
|
{ ParcelID LLUUID }
|
|
}
|
|
}
|
|
|
|
// ParcelInfoReply
|
|
// dataserver -> simulator -> viewer
|
|
// reliable
|
|
{
|
|
ParcelInfoReply Low 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ParcelData Single
|
|
{ LocalID S32 }
|
|
}
|
|
}
|
|
|
|
// simulator -> dataserver
|
|
// reliable
|
|
{
|
|
OnlineStatusRequest Low Trusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ QueryID LLUUID }
|
|
{ EstateID U32 }
|
|
{ Godlike BOOL }
|
|
{ SpaceIP IPADDR } // check online for right farm
|
|
}
|
|
{
|
|
Data Variable
|
|
{ ID LLUUID }
|
|
}
|
|
}
|
|
|
|
// dataserver -> simulator
|
|
// reliable
|
|
{
|
|
OnlineStatusReply Low Trusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ QueryID LLUUID }
|
|
}
|
|
{
|
|
Data Variable
|
|
{ ID LLUUID } // only online agents are returned
|
|
}
|
|
}
|
|
|
|
// ParcelObjectOwnersReply
|
|
// simulator -> viewer
|
|
// reliable
|
|
{
|
|
ParcelObjectOwnersReply Low Trusted Zerocoded
|
|
{
|
|
Data Variable
|
|
{ OwnerID LLUUID }
|
|
{ IsGroupOwned BOOL }
|
|
{ Count S32 }
|
|
{ OnlineStatus BOOL }
|
|
}
|
|
}
|
|
|
|
// GroupNoticeListRequest
|
|
// viewer -> simulator -> dataserver
|
|
// reliable
|
|
{
|
|
GroupNoticesListRequest Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
Data Single
|
|
{ GroupID LLUUID }
|
|
}
|
|
}
|
|
|
|
// GroupNoticesListReply
|
|
// dataserver -> simulator -> viewer
|
|
// reliable
|
|
{
|
|
GroupNoticesListReply Low 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
Data Single
|
|
{ GroupNoticeID LLUUID }
|
|
}
|
|
}
|
|
|
|
// GroupNoticeAdd
|
|
// Add a group notice.
|
|
// simulator -> dataserver
|
|
// reliable
|
|
{
|
|
GroupNoticeAdd Low Trusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
MessageBlock Single
|
|
{ ToGroupID LLUUID }
|
|
{ ID LLUUID }
|
|
{ Dialog U8 }
|
|
{ FromAgentName Variable 1 }
|
|
{ Message Variable 2 }
|
|
{ BinaryBucket Variable 2 }
|
|
}
|
|
}
|
|
|
|
|
|
// GroupNoticeDelete
|
|
// Delete a group notice from the database.
|
|
// viewer -> simulator -> dataserver
|
|
// reliable
|
|
{
|
|
GroupNoticeDelete Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
Data Single
|
|
{ GroupNoticeID LLUUID }
|
|
{ GroupID LLUUID }
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// ****************************************************************************
|
|
// 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 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 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 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 NotTrusted Zerocoded
|
|
{
|
|
Info Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
{ LandmarkID LLUUID }
|
|
}
|
|
}
|
|
|
|
// TeleportProgress sim->viewer
|
|
// Tell the agent how the teleport is going.
|
|
{
|
|
TeleportProgress Low Trusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
Info Single
|
|
{ TeleportFlags U32 }
|
|
{ Message Variable 1 } // string
|
|
}
|
|
}
|
|
|
|
// DataHomeLocationRequest sim->data
|
|
// Request
|
|
{
|
|
DataHomeLocationRequest Low Trusted Zerocoded
|
|
{
|
|
Info Single
|
|
{ AgentID LLUUID }
|
|
{ KickedFromEstateID U32 }
|
|
}
|
|
}
|
|
|
|
// DataHomeLocationReply data->sim
|
|
// response is the location of agent home.
|
|
{
|
|
DataHomeLocationReply Low Trusted Unencoded
|
|
{
|
|
Info Single
|
|
{ AgentID LLUUID }
|
|
{ RegionHandle U64 }
|
|
{ Position LLVector3 } // region coords
|
|
{ LookAt LLVector3 }
|
|
}
|
|
}
|
|
|
|
// SpaceLocationTeleportRequest sim->space
|
|
// Reuqest for info about remote location
|
|
{
|
|
SpaceLocationTeleportRequest Low Trusted Unencoded
|
|
{
|
|
Info Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
{ CircuitCode U32 }
|
|
{ RegionHandle U64 }
|
|
{ Position LLVector3 } // region
|
|
{ LookAt LLVector3 }
|
|
{ TravelAccess U8 }
|
|
{ ParentEstateID U32 }
|
|
{ TeleportFlags U32 }
|
|
}
|
|
}
|
|
|
|
// SpaceLocationTeleportReply space->sim
|
|
// with info about remote location
|
|
{
|
|
SpaceLocationTeleportReply Low Trusted Unencoded
|
|
{
|
|
Info Single
|
|
{ AgentID LLUUID }
|
|
{ LocationID U32 }
|
|
{ SimIP IPADDR }
|
|
{ SimPort IPPORT }
|
|
{ RegionHandle U64 }
|
|
{ Position LLVector3 } // region
|
|
{ LookAt LLVector3 }
|
|
{ SimName Variable 1 }
|
|
{ SimAccess U8 }
|
|
{ TeleportFlags U32 }
|
|
}
|
|
}
|
|
|
|
// TeleportFinish sim->viewer
|
|
// called when all of the information has been collected and readied for
|
|
// the agent.
|
|
{
|
|
TeleportFinish Low Trusted Unencoded
|
|
{
|
|
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 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 NotTrusted Unencoded
|
|
{
|
|
Info Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
{ LureID LLUUID }
|
|
{ TeleportFlags U32 }
|
|
}
|
|
}
|
|
|
|
// TeleportCancel viewer->sim
|
|
// reliable
|
|
{
|
|
TeleportCancel Low NotTrusted Unencoded
|
|
{
|
|
Info Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
}
|
|
|
|
// CompleteLure sim->space
|
|
// message with final necessary info about accepted lure. The
|
|
// spaceserver will reply with a SpaceLocationTeleportReply or
|
|
// TeleportFailed and it becomes like any other teleport.
|
|
{
|
|
CompleteLure Low Trusted Unencoded
|
|
{
|
|
Info Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
{ LureID LLUUID }
|
|
{ CircuitCode U32 }
|
|
{ TravelAccess U8 }
|
|
{ ParentEstateID U32 }
|
|
{ TeleportFlags U32 }
|
|
}
|
|
}
|
|
|
|
// TeleportStart sim->viewer
|
|
// announce a successful teleport request to the viewer.
|
|
{
|
|
TeleportStart Low Trusted Unencoded
|
|
{
|
|
Info Single
|
|
{ TeleportFlags U32 }
|
|
}
|
|
}
|
|
|
|
// TeleportFailed somehwere->sim->viewer
|
|
// announce failure of teleport request
|
|
{
|
|
TeleportFailed Low Trusted Unencoded
|
|
{
|
|
Info Single
|
|
{ AgentID LLUUID }
|
|
{ Reason Variable 1 } // string
|
|
}
|
|
}
|
|
|
|
// ***************************************************************************
|
|
// Leader Board messages
|
|
// ***************************************************************************
|
|
{
|
|
LeaderBoardRequest Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
{ Type S32 }
|
|
}
|
|
}
|
|
|
|
{
|
|
LeaderBoardData Low Trusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
BoardData Single
|
|
{ Type S32 }
|
|
{ MinPlace S32 }
|
|
{ MaxPlace S32 }
|
|
{ TimeString Variable 1 } // string
|
|
}
|
|
{
|
|
Entry Variable
|
|
{ Sequence S32 }
|
|
{ Place S32 }
|
|
{ ID LLUUID }
|
|
{ Score S32 }
|
|
{ Name Fixed 32 } // only send 32 characters of the name, to fit in an MTU
|
|
}
|
|
}
|
|
|
|
// ***************************************************************************
|
|
// Viewer to Simulator Messages
|
|
// ***************************************************************************
|
|
|
|
// Undo
|
|
{
|
|
Undo Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
{ GroupID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ ObjectID LLUUID }
|
|
}
|
|
}
|
|
|
|
|
|
// Redo
|
|
{
|
|
Redo Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
{ GroupID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ ObjectID LLUUID }
|
|
}
|
|
}
|
|
|
|
// UndoLand
|
|
{
|
|
UndoLand Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
}
|
|
|
|
|
|
// RedoLand
|
|
{
|
|
RedoLand Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
}
|
|
|
|
// AgentPause - viewer occasionally will block, inform simulator of this fact
|
|
{
|
|
AgentPause Low 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 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 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 NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ChatData Single
|
|
{ Message Variable 2 }
|
|
{ Type U8 }
|
|
{ Channel S32 }
|
|
}
|
|
}
|
|
|
|
|
|
// AgentThrottle
|
|
{
|
|
AgentThrottle Low 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 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 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 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
AnimationList Variable
|
|
{ AnimID LLUUID }
|
|
{ StartAnim BOOL }
|
|
}
|
|
}
|
|
|
|
// AgentRequestSit - Try to sit on an object
|
|
{
|
|
AgentRequestSit High NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
TargetObject Single
|
|
{ TargetID LLUUID }
|
|
{ Offset LLVector3 }
|
|
}
|
|
}
|
|
|
|
// AgentSit - Actually sit on object
|
|
{
|
|
AgentSit High NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
}
|
|
|
|
// AgentQuit - Sent by viewer when viewer exits normally
|
|
// Fuse is used to allow Reset to be passed to neighbors
|
|
// *NOTE: obsolete
|
|
{
|
|
AgentQuit Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
}
|
|
|
|
// quit message sent between simulators
|
|
{
|
|
AgentQuitCopy Low 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 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 Trusted Unencoded
|
|
{
|
|
ImageID Single
|
|
{ ID LLUUID }
|
|
}
|
|
}
|
|
|
|
// RebakeAvatarTextures
|
|
// simulator -> viewer request when a temporary baked avatar texture is not found
|
|
{
|
|
RebakeAvatarTextures Low Trusted Unencoded
|
|
{
|
|
TextureData Single
|
|
{ TextureID LLUUID }
|
|
}
|
|
}
|
|
|
|
|
|
// SetAlwaysRun
|
|
// Lets the viewer choose between running and walking
|
|
{
|
|
SetAlwaysRun Low 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 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 U8 } // 0 to 1, quanta = 0.01
|
|
{ PathEnd U8 } // 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 U8 } // 0 to 1, quanta = 0.01
|
|
{ ProfileEnd U8 } // 0 to 1, quanta = 0.01
|
|
{ ProfileHollow U8 } // 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 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 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 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 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 NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ CacheMissType U8 }
|
|
{ ID U32 }
|
|
}
|
|
}
|
|
|
|
|
|
// ObjectPosition
|
|
// viewer -> simulator
|
|
{
|
|
ObjectPosition Medium NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ ObjectLocalID U32 }
|
|
{ Position LLVector3 } // region
|
|
}
|
|
}
|
|
|
|
|
|
// ObjectScale
|
|
// viewer -> simulator
|
|
{
|
|
ObjectScale Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ ObjectLocalID U32 }
|
|
{ Scale LLVector3 }
|
|
}
|
|
}
|
|
|
|
|
|
// ObjectRotation
|
|
// viewer -> simulator
|
|
{
|
|
ObjectRotation Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ ObjectLocalID U32 }
|
|
{ Rotation LLQuaternion }
|
|
}
|
|
}
|
|
|
|
|
|
// ObjectFlagUpdate
|
|
// viewer -> simulator
|
|
{
|
|
ObjectFlagUpdate Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
{ ObjectLocalID U32 }
|
|
{ UsePhysics BOOL }
|
|
{ IsTemporary BOOL }
|
|
{ IsPhantom BOOL }
|
|
{ CastsShadows BOOL }
|
|
}
|
|
}
|
|
|
|
|
|
// ObjectClickAction
|
|
// viewer -> simulator
|
|
{
|
|
ObjectClickAction Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ ObjectLocalID U32 }
|
|
{ ClickAction U8 }
|
|
}
|
|
}
|
|
|
|
|
|
// ObjectImage
|
|
// viewer -> simulator
|
|
{
|
|
ObjectImage Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ ObjectLocalID U32 }
|
|
{ MediaURL Variable 1 }
|
|
{ TextureEntry Variable 2 }
|
|
}
|
|
}
|
|
|
|
|
|
{
|
|
ObjectMaterial Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ ObjectLocalID U32 }
|
|
{ Material U8 }
|
|
}
|
|
}
|
|
|
|
|
|
{
|
|
ObjectShape Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ ObjectLocalID U32 }
|
|
{ PathCurve U8 }
|
|
{ ProfileCurve U8 }
|
|
{ PathBegin U8 } // 0 to 1, quanta = 0.01
|
|
{ PathEnd U8 } // 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 U8 } // 0 to 1, quanta = 0.01
|
|
{ ProfileEnd U8 } // 0 to 1, quanta = 0.01
|
|
{ ProfileHollow U8 } // 0 to 1, quanta = 0.01
|
|
}
|
|
}
|
|
|
|
{
|
|
ObjectExtraParams Low 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 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 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 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 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 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 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 NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ LocalID U32 }
|
|
{ SaleType U8 } // U8 -> EForSale
|
|
{ SalePrice S32 }
|
|
}
|
|
}
|
|
|
|
|
|
// set object names
|
|
{
|
|
ObjectName Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ LocalID U32 }
|
|
{ Name Variable 1 }
|
|
}
|
|
}
|
|
|
|
// set object descriptions
|
|
{
|
|
ObjectDescription Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ LocalID U32 }
|
|
{ Description Variable 1 }
|
|
}
|
|
}
|
|
|
|
// set object category
|
|
{
|
|
ObjectCategory Low 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 NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ ObjectLocalID U32 }
|
|
}
|
|
|
|
}
|
|
|
|
|
|
// ObjectDeselect
|
|
{
|
|
ObjectDeselect Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ ObjectLocalID U32 }
|
|
}
|
|
|
|
}
|
|
|
|
// ObjectAttach
|
|
{
|
|
ObjectAttach Low 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ ObjectLocalID U32 }
|
|
}
|
|
}
|
|
|
|
|
|
// ObjectDrop -- drops an attachment from your avatar onto the ground
|
|
{
|
|
ObjectDrop Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ ObjectLocalID U32 }
|
|
}
|
|
}
|
|
|
|
|
|
// ObjectLink
|
|
{
|
|
ObjectLink Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ ObjectLocalID U32 }
|
|
}
|
|
}
|
|
|
|
// ObjectDelink
|
|
{
|
|
ObjectDelink Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ ObjectLocalID U32 }
|
|
}
|
|
}
|
|
|
|
// ObjectHinge
|
|
{
|
|
ObjectHinge Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
JointType Single
|
|
{ Type U8 }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ ObjectLocalID U32 }
|
|
}
|
|
|
|
}
|
|
|
|
// ObjectDehinge
|
|
{
|
|
ObjectDehinge Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ ObjectLocalID U32 }
|
|
}
|
|
|
|
}
|
|
|
|
|
|
// ObjectGrab
|
|
{
|
|
ObjectGrab Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Single
|
|
{ LocalID U32 }
|
|
{ GrabOffset LLVector3 }
|
|
}
|
|
}
|
|
|
|
|
|
// ObjectGrabUpdate
|
|
// TODO: Quantize this data, reduce message size.
|
|
// TimeSinceLast could go to 1 byte, since capped
|
|
// at 100 on sim.
|
|
{
|
|
ObjectGrabUpdate Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Single
|
|
{ ObjectID LLUUID }
|
|
{ GrabOffsetInitial LLVector3 } // LLVector3
|
|
{ GrabPosition LLVector3 } // LLVector3, region local
|
|
{ TimeSinceLast U32 }
|
|
}
|
|
}
|
|
|
|
|
|
// ObjectDeGrab
|
|
{
|
|
ObjectDeGrab Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Single
|
|
{ LocalID U32 }
|
|
}
|
|
}
|
|
|
|
|
|
// ObjectSpinStart
|
|
{
|
|
ObjectSpinStart Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Single
|
|
{ ObjectID LLUUID }
|
|
}
|
|
}
|
|
|
|
|
|
// ObjectSpinUpdate
|
|
{
|
|
ObjectSpinUpdate Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Single
|
|
{ ObjectID LLUUID }
|
|
{ Rotation LLQuaternion }
|
|
}
|
|
}
|
|
|
|
|
|
// ObjectSpinStop
|
|
{
|
|
ObjectSpinStop Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Single
|
|
{ ObjectID LLUUID }
|
|
}
|
|
}
|
|
|
|
// Export selected objects
|
|
// viewer->sim
|
|
{
|
|
ObjectExportSelected Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ RequestID LLUUID }
|
|
{ VolumeDetail S16 }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ ObjectID LLUUID }
|
|
}
|
|
}
|
|
|
|
// Import an object
|
|
// viewer->sim
|
|
{
|
|
ObjectImport Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ FolderID LLUUID }
|
|
}
|
|
{
|
|
AssetData Single
|
|
{ FileID LLUUID 1 }
|
|
{ ObjectName Variable 1 }
|
|
{ Description Variable 1 }
|
|
}
|
|
}
|
|
|
|
// ModifyLand - sent to modify a piece of land on a simulator.
|
|
// viewer -> sim
|
|
{
|
|
ModifyLand Low 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 }
|
|
}
|
|
}
|
|
|
|
|
|
// VelocityInterpolateOn
|
|
// viewer->sim
|
|
// requires administrative access
|
|
{
|
|
VelocityInterpolateOn Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
}
|
|
|
|
|
|
// VelocityInterpolateOff
|
|
// viewer->sim
|
|
// requires administrative access
|
|
{
|
|
VelocityInterpolateOff Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
}
|
|
|
|
// Save State
|
|
// viewer->sim
|
|
// requires administrative access
|
|
{
|
|
StateSave Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
DataBlock Single
|
|
{ Filename Variable 1 }
|
|
}
|
|
}
|
|
|
|
// ReportAutosaveCrash
|
|
// sim->launcher
|
|
{
|
|
ReportAutosaveCrash Low NotTrusted Unencoded
|
|
{
|
|
AutosaveData Single
|
|
{ PID S32 }
|
|
{ Status S32 }
|
|
}
|
|
}
|
|
|
|
// SimWideDeletes
|
|
{
|
|
SimWideDeletes Low 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 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
TargetData Single
|
|
{ PreyID LLUUID }
|
|
}
|
|
}
|
|
|
|
// end viewer to simulator section
|
|
|
|
{
|
|
ViewerStats Low 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
Data Single
|
|
{ TaskID LLUUID }
|
|
{ ItemID LLUUID }
|
|
{ Questions S32 }
|
|
}
|
|
}
|
|
|
|
|
|
// complaint/bug-report
|
|
// reliable
|
|
{
|
|
UserReport Low 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 Trusted Unencoded
|
|
{
|
|
AlertData Single
|
|
{ Message Variable 1 }
|
|
}
|
|
}
|
|
|
|
// Send an AlertMessage to the named agent.
|
|
// usually dataserver->simulator
|
|
{
|
|
AgentAlertMessage Low 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 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 Trusted Unencoded
|
|
{
|
|
FrozenData Single
|
|
{ Data BOOL }
|
|
}
|
|
}
|
|
|
|
// Health Message
|
|
// Tells viewer what agent health is
|
|
{
|
|
HealthMessage Low 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 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 Trusted Unencoded
|
|
{
|
|
Region Single
|
|
{ RegionX U32 }
|
|
{ RegionY U32 }
|
|
{ RegionFlags U32 }
|
|
{ ObjectCapacity U32 }
|
|
}
|
|
{
|
|
Stat Variable
|
|
{ StatID U32 }
|
|
{ StatValue F32 }
|
|
}
|
|
}
|
|
|
|
// viewer -> sim
|
|
// reliable
|
|
{
|
|
RequestRegionInfo Low 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 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
|
|
}
|
|
}
|
|
|
|
// 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 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 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 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 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 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 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 }
|
|
}
|
|
}
|
|
|
|
// 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 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 Trusted Unencoded
|
|
{
|
|
Location Variable
|
|
{ X U8 }
|
|
{ Y U8 }
|
|
{ Z U8 } // Z in meters / 4
|
|
}
|
|
{
|
|
Index Single
|
|
{ You S16 }
|
|
{ Prey S16 }
|
|
}
|
|
}
|
|
|
|
// ImageData - sent to viewer to transmit information about an image
|
|
{
|
|
ImageData High 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 Trusted Unencoded
|
|
{
|
|
ImageID Single
|
|
{ ID LLUUID }
|
|
{ Packet U16 }
|
|
}
|
|
{
|
|
ImageData Single
|
|
{ Data Variable 2 }
|
|
}
|
|
}
|
|
|
|
// LayerData - Sent to viewer - encodes layer data
|
|
|
|
{
|
|
LayerData High 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 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 U8 } // 0 to 1, quanta = 0.01
|
|
{ PathEnd U8 } // 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 U8 } // 0 to 1, quanta = 0.01
|
|
{ ProfileEnd U8 } // 0 to 1, quanta = 0.01
|
|
{ ProfileHollow U8 } // 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 Trusted Unencoded
|
|
{
|
|
RegionData Single
|
|
{ RegionHandle U64 }
|
|
{ TimeDilation U16 }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ UpdateFlags U32 }
|
|
{ Data Variable 2 }
|
|
}
|
|
}
|
|
|
|
// ObjectUpdateCached
|
|
// reliable
|
|
{
|
|
ObjectUpdateCached High Trusted Unencoded
|
|
{
|
|
RegionData Single
|
|
{ RegionHandle U64 }
|
|
{ TimeDilation U16 }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ ID U32 }
|
|
{ CRC U32 }
|
|
{ UpdateFlags U32 }
|
|
}
|
|
}
|
|
|
|
// packed terse object update format
|
|
{
|
|
ImprovedTerseObjectUpdate High 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 Trusted Unencoded
|
|
{
|
|
ObjectData Variable
|
|
{ ID U32 }
|
|
}
|
|
}
|
|
|
|
// AgentToNewRegion - tells the viewer that it's agent has moved
|
|
|
|
{
|
|
AgentToNewRegion High Trusted Unencoded
|
|
{
|
|
RegionData Single
|
|
{ SessionID LLUUID }
|
|
{ IP IPADDR }
|
|
{ Port IPPORT }
|
|
{ Handle U64 }
|
|
}
|
|
}
|
|
|
|
// CrossedRegion - new way to tell a viewer it has gone across a region
|
|
// boundary
|
|
{
|
|
CrossedRegion Medium Trusted Unencoded
|
|
{
|
|
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 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 Trusted Unencoded
|
|
{
|
|
SimulatorInfo Single
|
|
{ Handle U64 }
|
|
{ IP IPADDR }
|
|
{ Port IPPORT }
|
|
}
|
|
}
|
|
|
|
// DisableThisSimulator - Tells a viewer not to expect data from this simulator anymore
|
|
|
|
{
|
|
DisableSimulator Low Trusted Unencoded
|
|
}
|
|
|
|
// ConfirmEnableSimulator - A confirmation message sent from simulator to neighbors that the simulator
|
|
// has successfully been enabled by the viewer
|
|
|
|
{
|
|
ConfirmEnableSimulator Medium Trusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// New Transfer system
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// Request a new transfer (target->source)
|
|
{
|
|
TransferRequest Low 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 NotTrusted Zerocoded
|
|
{
|
|
TransferInfo Single
|
|
{ TransferID LLUUID }
|
|
{ ChannelType S32 }
|
|
{ TargetType S32 }
|
|
{ Status S32 }
|
|
{ Size S32 }
|
|
{ Params Variable 2 }
|
|
}
|
|
}
|
|
|
|
{
|
|
TransferPacket High 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 NotTrusted Zerocoded
|
|
{
|
|
TransferInfo Single
|
|
{ TransferID LLUUID }
|
|
{ ChannelType S32 }
|
|
}
|
|
}
|
|
|
|
// Change the priority of a transfer (target->source)
|
|
{
|
|
TransferPriority Low NotTrusted Zerocoded
|
|
{
|
|
TransferInfo Single
|
|
{ TransferID LLUUID }
|
|
{ ChannelType S32 }
|
|
{ Priority F32 }
|
|
}
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// General file transfer
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// RequestXfer - request an arbitrary xfer
|
|
{
|
|
RequestXfer Low 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 NotTrusted Unencoded
|
|
{
|
|
XferID Single
|
|
{ ID U64 }
|
|
{ Packet U32 }
|
|
}
|
|
{
|
|
DataPacket Single
|
|
{ Data Variable 2 }
|
|
}
|
|
}
|
|
|
|
// ConfirmXferPacket
|
|
{
|
|
ConfirmXferPacket High NotTrusted Unencoded
|
|
{
|
|
XferID Single
|
|
{ ID U64 }
|
|
{ Packet U32 }
|
|
}
|
|
}
|
|
|
|
// AbortXfer
|
|
{
|
|
AbortXfer Low NotTrusted Unencoded
|
|
{
|
|
XferID Single
|
|
{ ID U64 }
|
|
{ Result S32 }
|
|
}
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Avatar information
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
// RequestAvatarInfo
|
|
{
|
|
RequestAvatarInfo Low Trusted Unencoded
|
|
{
|
|
DataBlock Single
|
|
{ FullID LLUUID }
|
|
}
|
|
}
|
|
|
|
// AvatarAnimation - Update animation state
|
|
// simulator --> viewer
|
|
{
|
|
AvatarAnimation High Trusted Unencoded
|
|
{
|
|
Sender Single
|
|
{ ID LLUUID }
|
|
}
|
|
{
|
|
AnimationList Variable
|
|
{ AnimID LLUUID }
|
|
{ AnimSequenceID S32 }
|
|
}
|
|
{
|
|
AnimationSourceList Variable
|
|
{ ObjectID LLUUID }
|
|
}
|
|
}
|
|
|
|
// AvatarAppearance - Update visual params
|
|
{
|
|
AvatarAppearance Low 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 Trusted Zerocoded
|
|
{
|
|
SitObject Single
|
|
{ ID LLUUID }
|
|
}
|
|
{
|
|
SitTransform Single
|
|
{ AutoPilot BOOL }
|
|
{ SitPosition LLVector3 }
|
|
{ SitRotation LLQuaternion }
|
|
{ CameraEyeOffset LLVector3 }
|
|
{ CameraAtOffset LLVector3 }
|
|
{ ForceMouselook BOOL }
|
|
}
|
|
}
|
|
|
|
// SetFollowCamProperties
|
|
{
|
|
SetFollowCamProperties Low Trusted Unencoded
|
|
{
|
|
ObjectData Single
|
|
{ ObjectID LLUUID }
|
|
}
|
|
{
|
|
CameraProperty Variable
|
|
{ Type S32 }
|
|
{ Value F32 }
|
|
}
|
|
}
|
|
|
|
// ClearFollowCamProperties
|
|
{
|
|
ClearFollowCamProperties Low Trusted Unencoded
|
|
{
|
|
ObjectData Single
|
|
{ ObjectID LLUUID }
|
|
}
|
|
}
|
|
|
|
// CameraConstraint - new camera distance limit (based on collision with objects)
|
|
{
|
|
CameraConstraint High Trusted Zerocoded
|
|
{
|
|
CameraCollidePlane Single
|
|
{ Plane LLVector4 }
|
|
}
|
|
}
|
|
|
|
// ObjectProperties
|
|
// Extended information such as creator, permissions, etc.
|
|
// Medium because potentially driven by mouse hover events.
|
|
{
|
|
ObjectProperties Medium 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 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 NotTrusted Unencoded
|
|
{
|
|
ObjectData Single
|
|
{ ObjectID LLUUID }
|
|
}
|
|
}
|
|
|
|
// PayPriceReply
|
|
// sim -> viewer
|
|
{
|
|
PayPriceReply Low 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 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 Trusted Unencoded
|
|
{
|
|
UserInfo Single
|
|
{ SessionID LLUUID }
|
|
{ Flags U32 }
|
|
}
|
|
}
|
|
|
|
// GodKickUser
|
|
// When a god wants someone kicked
|
|
// viewer -> sim
|
|
// reliable
|
|
{
|
|
GodKickUser Low NotTrusted Unencoded
|
|
{
|
|
UserInfo Single
|
|
{ GodID LLUUID }
|
|
{ GodSessionID LLUUID }
|
|
{ AgentID LLUUID }
|
|
{ KickFlags U32 }
|
|
{ Reason Variable 2 } // string
|
|
}
|
|
}
|
|
|
|
// SystemKickUser
|
|
// user->space, reliable
|
|
{
|
|
SystemKickUser Low Trusted Unencoded
|
|
{
|
|
AgentInfo Variable
|
|
{ AgentID LLUUID }
|
|
}
|
|
}
|
|
|
|
// EjectUser
|
|
// viewer -> sim
|
|
// reliable
|
|
{
|
|
EjectUser Low 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
Data Single
|
|
{ TargetID LLUUID }
|
|
{ Flags U32 }
|
|
}
|
|
}
|
|
|
|
|
|
// AvatarPropertiesRequest
|
|
// viewer -> simulator
|
|
// reliable
|
|
{
|
|
AvatarPropertiesRequest Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
{ AvatarID LLUUID }
|
|
}
|
|
}
|
|
|
|
// AvatarPropertiesRequestBackend
|
|
// simulator -> dataserver
|
|
// reliable
|
|
{
|
|
AvatarPropertiesRequestBackend Low Trusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ AvatarID LLUUID }
|
|
{ GodLevel U8 }
|
|
{ WebProfilesDisabled BOOL }
|
|
}
|
|
}
|
|
// AvatarPropertiesReply
|
|
// dataserver -> simulator
|
|
// simulator -> viewer
|
|
// reliable
|
|
{
|
|
AvatarPropertiesReply Low 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 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 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 }
|
|
}
|
|
}
|
|
|
|
|
|
// AvatarPropertiesUpdate
|
|
// viewer -> simulator
|
|
// reliable
|
|
{
|
|
AvatarPropertiesUpdate Low 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 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
|
|
}
|
|
}
|
|
|
|
// AvatarStatisticsReply
|
|
// dataserver -> simulator
|
|
// simulator -> viewer
|
|
// reliable
|
|
{
|
|
AvatarStatisticsReply Low Trusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
AvatarData Single
|
|
{ AvatarID LLUUID }
|
|
}
|
|
{
|
|
StatisticsData Variable
|
|
{ Name Variable 1 } // string
|
|
{ Positive S32 }
|
|
{ Negative S32 }
|
|
}
|
|
}
|
|
|
|
|
|
// AvatarNotesReply
|
|
// dataserver -> simulator
|
|
// simulator -> viewer
|
|
// reliable
|
|
{
|
|
AvatarNotesReply Low Trusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
Data Single
|
|
{ TargetID LLUUID }
|
|
{ Notes Variable 2 } // string
|
|
}
|
|
}
|
|
|
|
|
|
// AvatarNotesUpdate
|
|
// viewer -> simulator -> dataserver
|
|
// reliable
|
|
{
|
|
AvatarNotesUpdate Low 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 Trusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ TargetID LLUUID }
|
|
}
|
|
{
|
|
Data Variable
|
|
{ PickID LLUUID }
|
|
{ PickName Variable 1 } // string
|
|
}
|
|
}
|
|
|
|
|
|
// EventInfoRequest
|
|
// viewer -> simulator
|
|
// simulator -> dataserver
|
|
// reliable
|
|
{
|
|
EventInfoRequest Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
EventData Single
|
|
{ EventID U32 }
|
|
}
|
|
}
|
|
|
|
|
|
// EventInfoReply
|
|
// dataserver -> simulator
|
|
// simulator -> viewer
|
|
// reliable
|
|
{
|
|
EventInfoReply Low 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
EventData Single
|
|
{ EventID U32 }
|
|
}
|
|
}
|
|
|
|
|
|
// EventNotificationRemoveRequest
|
|
// viewer -> simulator
|
|
// simulator -> dataserver
|
|
// reliable
|
|
{
|
|
EventNotificationRemoveRequest Low 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 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
|
|
}
|
|
}
|
|
|
|
// PickInfoRequest
|
|
// viewer -> simulator
|
|
// simulator -> dataserver
|
|
// If CreatorID is not null, then we're looking for an agent pick
|
|
// or picks.
|
|
// reliable
|
|
{
|
|
PickInfoRequest Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
Data Single
|
|
{ PickID LLUUID }
|
|
}
|
|
}
|
|
|
|
|
|
// PickInfoReply
|
|
// dataserver -> simulator
|
|
// simulator -> viewer
|
|
// reliable
|
|
{
|
|
PickInfoReply Low 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 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 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
Data Single
|
|
{ PickID LLUUID }
|
|
{ QueryID LLUUID }
|
|
}
|
|
}
|
|
|
|
|
|
// ScriptQuestion
|
|
// reliable
|
|
{
|
|
ScriptQuestion Low Trusted Unencoded
|
|
{
|
|
Data Single
|
|
{ TaskID LLUUID }
|
|
{ ItemID LLUUID }
|
|
{ ObjectName Variable 1 }
|
|
{ ObjectOwner Variable 1 }
|
|
{ Questions S32 }
|
|
}
|
|
}
|
|
|
|
// ScriptControlChange
|
|
// reliable
|
|
{
|
|
ScriptControlChange Low Trusted Unencoded
|
|
{
|
|
Data Variable
|
|
{ TakeControls BOOL }
|
|
{ Controls U32 }
|
|
{ PassToAgent BOOL }
|
|
}
|
|
}
|
|
|
|
// ScriptDialog
|
|
// sim -> viewer
|
|
// reliable
|
|
{
|
|
ScriptDialog Low 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 NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
Data Single
|
|
{ ObjectID LLUUID }
|
|
{ ChatChannel S32 }
|
|
{ ButtonIndex S32 }
|
|
{ ButtonLabel Variable 1 }
|
|
}
|
|
}
|
|
|
|
|
|
// ForceScriptControlRelease
|
|
// reliable
|
|
{
|
|
ForceScriptControlRelease Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
}
|
|
|
|
// RevokePermissions
|
|
// reliable
|
|
{
|
|
RevokePermissions Low 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 Trusted Unencoded
|
|
{
|
|
Data Single
|
|
{ ObjectName Variable 1 }
|
|
{ ObjectID LLUUID }
|
|
{ OwnerID LLUUID }
|
|
{ OwnerIsGroup BOOL }
|
|
{ Message Variable 1 }
|
|
{ URL Variable 1 }
|
|
}
|
|
}
|
|
|
|
// ScriptTeleportRequest
|
|
// reliable
|
|
{
|
|
ScriptTeleportRequest Low 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 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 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 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 Trusted Zerocoded
|
|
{
|
|
ParcelData Single
|
|
{ RequestResult S32 }
|
|
{ SequenceID S32 }
|
|
{ SnapSelection BOOL }
|
|
{ SelfCount S32 }
|
|
{ OtherCount S32 }
|
|
{ PublicCount S32 }
|
|
{ LocalID S32 }
|
|
{ OwnerID LLUUID }
|
|
{ IsGroupOwned BOOL }
|
|
{ AuctionID U32 }
|
|
{ ReservedNewbie BOOL }
|
|
{ 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 }
|
|
}
|
|
}
|
|
|
|
// ParcelPropertiesUpdate
|
|
// viewer -> sim
|
|
// reliable
|
|
{
|
|
ParcelPropertiesUpdate Low 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 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 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 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 NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ParcelData Single
|
|
{ LocalID S32 }
|
|
{ ReturnType U32 }
|
|
}
|
|
{
|
|
ReturnIDs Variable
|
|
{ ReturnID LLUUID }
|
|
}
|
|
}
|
|
|
|
|
|
// EstateCovenantRequest
|
|
// viewer -> sim
|
|
// reliable
|
|
{
|
|
EstateCovenantRequest Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
}
|
|
|
|
// EstateCovenantReply
|
|
// sim -> viewer
|
|
// reliable
|
|
{
|
|
EstateCovenantReply Low Trusted Unencoded
|
|
{
|
|
Data Single
|
|
{ CovenantID LLUUID }
|
|
{ CovenantTimestamp U32 }
|
|
{ EstateName Variable 1 } // string
|
|
{ EstateOwnerID LLUUID }
|
|
}
|
|
}
|
|
|
|
|
|
// ForceObjectSelect
|
|
// sim -> viewer
|
|
// reliable
|
|
{
|
|
ForceObjectSelect Low Trusted Unencoded
|
|
{
|
|
Header Single
|
|
{ ResetList BOOL }
|
|
}
|
|
{
|
|
Data Variable
|
|
{ LocalID U32 }
|
|
}
|
|
}
|
|
|
|
|
|
// ParcelBuyPass - purchase a temporary access pass
|
|
// viewer -> sim
|
|
// reliable
|
|
{
|
|
ParcelBuyPass Low 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 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 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 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 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 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 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 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
|
|
}
|
|
}
|
|
|
|
|
|
// ParcelGodForceOwner Unencoded
|
|
{
|
|
ParcelGodForceOwner Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
Data Single
|
|
{ OwnerID LLUUID }
|
|
{ LocalID S32 } // parcel ID
|
|
}
|
|
}
|
|
|
|
|
|
// viewer -> sim
|
|
// ParcelAccessListRequest
|
|
{
|
|
ParcelAccessListRequest Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
Data Single
|
|
{ SequenceID S32 }
|
|
{ Flags U32 }
|
|
{ LocalID S32 }
|
|
}
|
|
}
|
|
|
|
|
|
// sim -> viewer
|
|
// ParcelAccessListReply
|
|
{
|
|
ParcelAccessListReply Low 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 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
Data Single
|
|
{ LocalID S32 }
|
|
{ ParcelID LLUUID } // filled in on sim
|
|
}
|
|
}
|
|
|
|
|
|
// dataserver -> sim -> viewer
|
|
// reliable
|
|
{
|
|
ParcelDwellReply Low 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 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
|
|
{ ReservedNewbie BOOL }
|
|
}
|
|
}
|
|
|
|
// 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 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 }
|
|
{ ReservedNewbie BOOL }
|
|
{ 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 Trusted Unencoded
|
|
{
|
|
ParcelData Variable
|
|
{ ParcelID LLUUID }
|
|
}
|
|
}
|
|
|
|
// sim -> dataserver
|
|
// Merges some of the database information for parcels (dwell).
|
|
{
|
|
MergeParcel Low Trusted Unencoded
|
|
{
|
|
MasterParcelData Single
|
|
{ MasterID LLUUID }
|
|
}
|
|
{
|
|
SlaveParcelData Variable
|
|
{ SlaveID LLUUID }
|
|
}
|
|
}
|
|
|
|
// sim -> dataserver
|
|
{
|
|
LogParcelChanges Low 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 Trusted Unencoded
|
|
{
|
|
RegionData Variable
|
|
{ RegionHandle U64 }
|
|
}
|
|
}
|
|
|
|
// dataserver -> simulator
|
|
// tell a particular simulator to finish parcel sale.
|
|
{
|
|
ParcelSales Low 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ParcelData Single
|
|
{ LocalID S32 }
|
|
}
|
|
}
|
|
|
|
// viewer -> sim
|
|
{
|
|
ParcelGodReserveForNewbie Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ParcelData Single
|
|
{ LocalID S32 }
|
|
{ SnapshotID LLUUID }
|
|
}
|
|
}
|
|
|
|
// 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 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 Trusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
ParcelData Single
|
|
{ ParcelID LLUUID }
|
|
{ SnapshotID LLUUID }
|
|
{ Name Variable 1 } // string
|
|
}
|
|
}
|
|
|
|
// dataserver -> sim
|
|
{
|
|
ConfirmAuctionStart Low Trusted Unencoded
|
|
{
|
|
AuctionData Single
|
|
{ ParcelID LLUUID }
|
|
{ AuctionID U32 }
|
|
}
|
|
}
|
|
|
|
// sim -> dataserver
|
|
// Tell the dataserver that an auction has completed.
|
|
{
|
|
CompleteAuction Low Trusted Unencoded
|
|
{
|
|
ParcelData Variable
|
|
{ ParcelID LLUUID }
|
|
}
|
|
}
|
|
|
|
// Tell the dataserver that an auction has been canceled.
|
|
{
|
|
CancelAuction Low Trusted Unencoded
|
|
{
|
|
ParcelData Variable
|
|
{ ParcelID LLUUID }
|
|
}
|
|
}
|
|
|
|
// sim -> dataserver
|
|
{
|
|
CheckParcelAuctions Low Trusted Unencoded
|
|
{
|
|
RegionData Variable
|
|
{ RegionHandle U64 }
|
|
}
|
|
}
|
|
|
|
// dataserver -> sim
|
|
// tell a particular simulator to finish parcel sale.
|
|
{
|
|
ParcelAuctions Low Trusted Unencoded
|
|
{
|
|
ParcelData Variable
|
|
{ ParcelID LLUUID }
|
|
{ WinnerID LLUUID }
|
|
}
|
|
}
|
|
|
|
// ***************************************************************************
|
|
// UUID to name lookup
|
|
// ***************************************************************************
|
|
|
|
// UUIDNameRequest
|
|
// Translate a UUID into first and last names
|
|
{
|
|
UUIDNameRequest Low NotTrusted Unencoded
|
|
{
|
|
UUIDNameBlock Variable
|
|
{ ID LLUUID }
|
|
}
|
|
}
|
|
|
|
// UUIDNameReply
|
|
// Translate a UUID into first and last names
|
|
{
|
|
UUIDNameReply Low Trusted Unencoded
|
|
{
|
|
UUIDNameBlock Variable
|
|
{ ID LLUUID }
|
|
{ FirstName Variable 1 }
|
|
{ LastName Variable 1 }
|
|
}
|
|
}
|
|
|
|
// UUIDGroupNameRequest
|
|
// Translate a UUID into a group name
|
|
{
|
|
UUIDGroupNameRequest Low NotTrusted Unencoded
|
|
{
|
|
UUIDNameBlock Variable
|
|
{ ID LLUUID }
|
|
}
|
|
}
|
|
|
|
// UUIDGroupNameReply
|
|
// Translate a UUID into a group name
|
|
{
|
|
UUIDGroupNameReply Low 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 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 Trusted Zerocoded
|
|
{
|
|
EdgeData Single
|
|
{ LayerType U8 }
|
|
{ Direction U8 }
|
|
{ LayerData Variable 2 }
|
|
}
|
|
}
|
|
|
|
// Sim status, condition of this sim
|
|
// sent reliably, when dirty
|
|
{
|
|
SimStatus Medium 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 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 Trusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ RegionHandle U64 }
|
|
{ ViewerCircuitCode U32 }
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
}
|
|
|
|
// ChildAgentPositionUpdate
|
|
// sent to child agents just to keep them alive
|
|
{
|
|
ChildAgentPositionUpdate High 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 Trusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
}
|
|
|
|
|
|
// This is sent if a full child agent hasn't been accepted yet
|
|
{
|
|
ChildAgentUnknown Low Trusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
}
|
|
|
|
// Pass Object Between Simulators
|
|
//
|
|
// BUG compress rotation
|
|
// BUG compress scale
|
|
{
|
|
PassObject High Trusted Zerocoded
|
|
{
|
|
ObjectData Single
|
|
{ ID LLUUID }
|
|
{ ParentID 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
|
|
|
|
{ PCode U8 }
|
|
{ Material U8 }
|
|
{ State U8 }
|
|
{ Scale LLVector3 }
|
|
{ UsePhysics U8 }
|
|
|
|
{ PosX S16 }
|
|
{ PosY S16 }
|
|
{ PosZ S16 }
|
|
|
|
{ VelX S16 }
|
|
{ VelY S16 }
|
|
{ VelZ S16 }
|
|
|
|
{ Rotation LLQuaternion }
|
|
|
|
{ AngVelX S16 }
|
|
{ AngVelY S16 }
|
|
{ AngVelZ S16 }
|
|
|
|
{ PathCurve U8 }
|
|
{ ProfileCurve U8 }
|
|
{ PathBegin U8 } // 0 to 1, quanta = 0.01
|
|
{ PathEnd U8 } // 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 U8 } // 0 to 1, quanta = 0.01
|
|
{ ProfileEnd U8 } // 0 to 1, quanta = 0.01
|
|
{ ProfileHollow U8 } // 0 to 1, quanta = 0.01
|
|
|
|
{ TextureEntry Variable 2 }
|
|
|
|
{ SubType S16 }
|
|
{ Active U8 }
|
|
|
|
{ Data Variable 2 }
|
|
}
|
|
{
|
|
NVPairData Variable
|
|
{ NVPairs Variable 2 }
|
|
}
|
|
}
|
|
|
|
// This message is sent how objects get passed between regions.
|
|
{
|
|
AtomicPassObject High 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 Trusted Unencoded
|
|
{
|
|
IDBlock Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
}
|
|
|
|
|
|
// GetScriptRunning - asks if a script is running or not. the simulator
|
|
// responds with ScriptRunningReply
|
|
{
|
|
GetScriptRunning Low NotTrusted Unencoded
|
|
{
|
|
Script Single
|
|
{ ObjectID LLUUID }
|
|
{ ItemID LLUUID }
|
|
}
|
|
}
|
|
|
|
// ScriptRunningReply - response from simulator to message above
|
|
{
|
|
ScriptRunningReply Low NotTrusted Unencoded
|
|
{
|
|
Script Single
|
|
{ ObjectID LLUUID }
|
|
{ ItemID LLUUID }
|
|
{ Running BOOL }
|
|
}
|
|
}
|
|
|
|
|
|
// SetScriptRunning - makes a script active or inactive (Enable may be
|
|
// true or false)
|
|
{
|
|
SetScriptRunning Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
Script Single
|
|
{ ObjectID LLUUID }
|
|
{ ItemID LLUUID }
|
|
{ Running BOOL }
|
|
}
|
|
}
|
|
|
|
// ScriptReset - causes a script to reset
|
|
{
|
|
ScriptReset Low 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 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 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
{ CircuitCode U32 }
|
|
}
|
|
}
|
|
|
|
// sim -> viewer
|
|
{
|
|
AgentMovementComplete Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
Data Single
|
|
{ Position LLVector3 }
|
|
{ LookAt LLVector3 }
|
|
{ RegionHandle U64 }
|
|
{ Timestamp U32 }
|
|
}
|
|
}
|
|
|
|
// sim->dataserver
|
|
// log the fact that the agent has logged in.
|
|
{
|
|
LogLogin Low Trusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
Data Single
|
|
{ ViewerDigest LLUUID }
|
|
{ LastExecFroze BOOL }
|
|
{ SpaceIP IPADDR }
|
|
}
|
|
}
|
|
|
|
// This message is sent from the viewer on login or on demand from the
|
|
// userserver.
|
|
// viewer -> userserver
|
|
{
|
|
ConnectAgentToUserserver Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
}
|
|
|
|
// This message is sent from the userserver when it does not have
|
|
// trusted connection or known agent on the circuit.
|
|
{
|
|
ConnectToUserserver Low Trusted Unencoded
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Logout
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// userserver -> dataserver
|
|
{
|
|
DataServerLogout Low Trusted Unencoded
|
|
{
|
|
UserData Single
|
|
{ AgentID LLUUID }
|
|
{ ViewerIP IPADDR }
|
|
{ Disconnect BOOL }
|
|
{ SessionID LLUUID }
|
|
}
|
|
}
|
|
|
|
// LogoutRequest
|
|
// viewer -> sim
|
|
// reliable
|
|
{
|
|
LogoutRequest Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
}
|
|
|
|
// FinalizeLogout
|
|
// Callback for when sim is done uploading assets to asset server
|
|
// viewer -> sim
|
|
// reliable
|
|
{
|
|
FinalizeLogout Low 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 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)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// LogoutDemand
|
|
{
|
|
LogoutDemand Low Trusted Unencoded
|
|
{
|
|
LogoutBlock Single
|
|
{ SessionID LLUUID }
|
|
}
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// 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 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
}
|
|
|
|
// DequeueInstantMessages - used to get messages out of the IM
|
|
// queue that have come from outside of the system.
|
|
{
|
|
DequeueInstantMessages Low Trusted Unencoded
|
|
}
|
|
|
|
// 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 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 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 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 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 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 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
MuteData Single
|
|
{ MuteCRC U32 }
|
|
}
|
|
}
|
|
|
|
// update/add someone in the mute list
|
|
{
|
|
UpdateMuteListEntry Low 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
MuteData Single
|
|
{ MuteID LLUUID }
|
|
{ MuteName Variable 1 }
|
|
}
|
|
}
|
|
|
|
|
|
//
|
|
// Inventory update messages
|
|
//
|
|
|
|
{
|
|
CopyInventoryFromNotecard Low NotTrusted Zerocoded
|
|
{
|
|
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 NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID 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 Trusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SimApproved BOOL }
|
|
}
|
|
{
|
|
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 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 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
InventoryData Variable
|
|
{ ItemID LLUUID }
|
|
}
|
|
}
|
|
|
|
{
|
|
ChangeInventoryItemFlags Low 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 Trusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
InventoryData Single
|
|
{ ItemID LLUUID }
|
|
{ NewAssetID LLUUID }
|
|
}
|
|
}
|
|
|
|
{
|
|
CreateInventoryFolder Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
FolderData Single
|
|
{ FolderID LLUUID }
|
|
{ ParentID LLUUID }
|
|
{ Type S8 }
|
|
{ Name Variable 1 }
|
|
}
|
|
}
|
|
|
|
{
|
|
UpdateInventoryFolder Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
FolderData Variable
|
|
{ FolderID LLUUID }
|
|
{ ParentID LLUUID }
|
|
{ Type S8 }
|
|
{ Name Variable 1 }
|
|
}
|
|
}
|
|
|
|
{
|
|
MoveInventoryFolder Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
{ Stamp BOOL } // should the server re-timestamp children
|
|
}
|
|
{
|
|
InventoryData Variable
|
|
{ FolderID LLUUID }
|
|
{ ParentID LLUUID }
|
|
}
|
|
}
|
|
|
|
{
|
|
RemoveInventoryFolder Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
FolderData Variable
|
|
{ FolderID LLUUID }
|
|
}
|
|
}
|
|
|
|
// Get inventory segment.
|
|
{
|
|
FetchInventoryDescendents Low 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 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 NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
InventoryData Variable
|
|
{ OwnerID LLUUID }
|
|
{ ItemID LLUUID }
|
|
}
|
|
}
|
|
|
|
// response to fetch inventory
|
|
{
|
|
FetchInventoryReply Low 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 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 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 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 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 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 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 NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
InventoryData Single
|
|
{ LocalID U32 }
|
|
{ ItemID LLUUID }
|
|
}
|
|
}
|
|
|
|
{
|
|
MoveTaskInventory Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
{ FolderID LLUUID }
|
|
}
|
|
{
|
|
InventoryData Single
|
|
{ LocalID U32 }
|
|
{ ItemID LLUUID }
|
|
}
|
|
}
|
|
|
|
{
|
|
RequestTaskInventory Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
InventoryData Single
|
|
{ LocalID U32 }
|
|
}
|
|
}
|
|
|
|
{
|
|
ReplyTaskInventory Low 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 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 Trusted Unencoded
|
|
}
|
|
|
|
// This message is sent from viewer -> simulator when the viewer wants
|
|
// to rez an object out of inventory.
|
|
{
|
|
RezObject Low 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 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 }
|
|
}
|
|
}
|
|
|
|
// if declined, the destid agent from the GiveInventory message
|
|
// responds with this message to the userserver
|
|
{
|
|
DeclineInventory Low NotTrusted Unencoded
|
|
{
|
|
InfoBlock Single
|
|
{ TransactionID LLUUID }
|
|
}
|
|
}
|
|
|
|
// sim -> dataserver
|
|
// sent during agent to agent inventory transfers
|
|
{
|
|
TransferInventory Low 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 Trusted Zerocoded
|
|
{
|
|
InfoBlock Single
|
|
{ TransactionID LLUUID }
|
|
{ InventoryID LLUUID }
|
|
}
|
|
}
|
|
|
|
// Relationships - the start will be a request from sourceid to dest
|
|
// id when they are located near each other.
|
|
{
|
|
RequestFriendship Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
AgentBlock Single
|
|
{ FolderID LLUUID } // source ID's calling card folder
|
|
{ DestID LLUUID }
|
|
{ TransactionID LLUUID }
|
|
}
|
|
}
|
|
|
|
{
|
|
AcceptFriendship Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
TransactionBlock Single
|
|
{ TransactionID LLUUID }
|
|
}
|
|
{
|
|
FolderData Variable
|
|
{ FolderID LLUUID } // place to put calling card.
|
|
}
|
|
}
|
|
|
|
{
|
|
DeclineFriendship Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
TransactionBlock Single
|
|
{ TransactionID LLUUID }
|
|
}
|
|
}
|
|
|
|
{
|
|
FormFriendship Low 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ExBlock Single
|
|
{ OtherID LLUUID }
|
|
}
|
|
}
|
|
|
|
// used to give someone a calling card.
|
|
{
|
|
OfferCallingCard Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
AgentBlock Single
|
|
{ DestID LLUUID }
|
|
{ TransactionID LLUUID }
|
|
}
|
|
}
|
|
|
|
{
|
|
AcceptCallingCard Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
TransactionBlock Single
|
|
{ TransactionID LLUUID }
|
|
}
|
|
{
|
|
FolderData Variable
|
|
{ FolderID LLUUID } // place to put calling card.
|
|
}
|
|
}
|
|
|
|
{
|
|
DeclineCallingCard Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
TransactionBlock Single
|
|
{ TransactionID LLUUID }
|
|
}
|
|
}
|
|
|
|
|
|
// Rez a script onto an object
|
|
{
|
|
RezScript Low 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 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 NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
EventData Single
|
|
{ EventID U32 }
|
|
}
|
|
{
|
|
InventoryBlock Single
|
|
{ FolderID LLUUID }
|
|
{ Name Variable 1 }
|
|
}
|
|
}
|
|
|
|
{
|
|
EventLocationRequest Low Trusted Zerocoded
|
|
{
|
|
QueryData Single
|
|
{ QueryID LLUUID }
|
|
}
|
|
{
|
|
EventData Single
|
|
{ EventID U32 }
|
|
}
|
|
}
|
|
|
|
{
|
|
EventLocationReply Low 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 NotTrusted Unencoded
|
|
{
|
|
RequestBlock Single
|
|
{ RegionID LLUUID }
|
|
}
|
|
}
|
|
|
|
{
|
|
RegionIDAndHandleReply Low 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 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 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
|
|
{ Description Variable 1 } // string, name of item for purchases
|
|
}
|
|
}
|
|
|
|
// This message is used to coalesce money transfers on a per-agent
|
|
// basis. It should only be involved in sim->dataserver money communication.
|
|
{
|
|
BulkMoneyTransfer Low Trusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ RegionX U32 }
|
|
{ RegionY U32 }
|
|
}
|
|
{
|
|
MoneyData Variable
|
|
{ TransactionID LLUUID }
|
|
{ DestID LLUUID } // destination of the transfer
|
|
{ Flags U8 }
|
|
{ Amount S32 }
|
|
{ TransactionType S32 } // see lltransactiontypes.h
|
|
{ Description Variable 1 } // string, name of purchased item
|
|
}
|
|
}
|
|
|
|
|
|
// This message is sent sim -> viewer when the simulator is queueing
|
|
// up transactions. This is because we do not have an authoritative
|
|
// balance from the dataserver, but we want to 'guess' how much
|
|
// money the agent has on the viewer.
|
|
{
|
|
AdjustBalance Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ Delta S32 }
|
|
}
|
|
}
|
|
|
|
// viewer -> userserver -> dataserver
|
|
// Reliable
|
|
{
|
|
MoneyBalanceRequest Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
MoneyData Single
|
|
{ TransactionID LLUUID }
|
|
}
|
|
}
|
|
|
|
|
|
// dataserver -> simulator -> viewer
|
|
{
|
|
MoneyBalanceReply Low 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 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
|
|
}
|
|
}
|
|
|
|
|
|
// This will give you a partial money history on the requested agentid.
|
|
// Reliable
|
|
{
|
|
MoneyHistoryRequest Low NotTrusted Unencoded
|
|
{
|
|
MoneyData Single
|
|
{ AgentID LLUUID }
|
|
{ StartPeriod S32 }
|
|
{ EndPeriod S32 }
|
|
}
|
|
}
|
|
|
|
// Reliable
|
|
{
|
|
MoneyHistoryReply Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
MoneyData Single
|
|
{ StartPeriod S32 }
|
|
{ EndPeriod S32 }
|
|
{ Balance S32 }
|
|
{ StartDate Variable 1 } // string
|
|
{ TaxEstimate S32 }
|
|
{ StipendEstimate S32 }
|
|
{ BonusEstimate S32 }
|
|
}
|
|
{
|
|
HistoryData Variable
|
|
{ Description Variable 1 } // string
|
|
{ Amount S32 }
|
|
}
|
|
}
|
|
|
|
|
|
// CurrentInterval = 0 => this period (week, day, etc.)
|
|
// CurrentInterval = 1 => last period
|
|
// viewer -> userserver -> dataserver
|
|
// reliable
|
|
{
|
|
MoneySummaryRequest Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
MoneyData Single
|
|
{ RequestID LLUUID }
|
|
{ IntervalDays S32 }
|
|
{ CurrentInterval S32 }
|
|
}
|
|
}
|
|
|
|
|
|
// dataserver -> userserver -> viewer
|
|
// Reliable
|
|
{
|
|
MoneySummaryReply Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID 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 }
|
|
{ StipendEstimate S32 }
|
|
{ BonusEstimate S32 }
|
|
{ LastTaxDate Variable 1 } // string
|
|
{ TaxDate Variable 1 } // string
|
|
}
|
|
}
|
|
|
|
|
|
// Reliable
|
|
{
|
|
MoneyDetailsRequest Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
MoneyData Single
|
|
{ RequestID LLUUID }
|
|
{ IntervalDays S32 }
|
|
{ CurrentInterval S32 }
|
|
}
|
|
}
|
|
|
|
// Reliable
|
|
{
|
|
MoneyDetailsReply Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
MoneyData Single
|
|
{ RequestID LLUUID }
|
|
{ IntervalDays S32 }
|
|
{ CurrentInterval S32 }
|
|
{ StartDate Variable 1 } // string
|
|
}
|
|
{
|
|
HistoryData Variable
|
|
{ Description Variable 1 } // string
|
|
{ Amount S32 }
|
|
}
|
|
}
|
|
|
|
|
|
// Reliable
|
|
{
|
|
MoneyTransactionsRequest Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
MoneyData Single
|
|
{ RequestID LLUUID }
|
|
{ IntervalDays S32 }
|
|
{ CurrentInterval S32 }
|
|
}
|
|
}
|
|
|
|
// Reliable
|
|
{
|
|
MoneyTransactionsReply Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID 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 }
|
|
}
|
|
}
|
|
|
|
//---------------------------------------------------------------------------
|
|
// Gesture saves/loads
|
|
//---------------------------------------------------------------------------
|
|
|
|
// viewer -> userserver -> dataserver
|
|
// dataserver -> userserver -> viewer
|
|
{
|
|
GestureUpdate Medium NotTrusted Unencoded
|
|
{
|
|
AgentBlock Single
|
|
{ AgentID LLUUID }
|
|
{ Filename Variable 1 } // String
|
|
{ ToViewer BOOL } // BOOL, direction this is going
|
|
}
|
|
}
|
|
|
|
// viewer -> userserver -> dataserver
|
|
{
|
|
GestureRequest Low NotTrusted Unencoded
|
|
{
|
|
AgentBlock Single
|
|
{ AgentID LLUUID }
|
|
{ Reset BOOL } // 0=no reset, 1=male, 2=female
|
|
}
|
|
}
|
|
|
|
// Tell the database that some gestures are now active
|
|
// viewer -> sim -> data
|
|
{
|
|
ActivateGestures Low 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 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 Trusted Unencoded
|
|
{
|
|
MuteData Single
|
|
{ AgentID LLUUID }
|
|
{ Filename Variable 1 }
|
|
}
|
|
}
|
|
|
|
// tell viewer to use the local mute cache
|
|
{
|
|
UseCachedMuteList Low 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 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 Trusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
Rights Variable
|
|
{ AgentRelated LLUUID }
|
|
{ RelatedRights S32 }
|
|
}
|
|
}
|
|
|
|
// notification for login and logout.
|
|
// source_sim -> dest_viewer
|
|
{
|
|
OnlineNotification Low Trusted Unencoded
|
|
{
|
|
AgentBlock Variable
|
|
{ AgentID LLUUID }
|
|
}
|
|
}
|
|
{
|
|
OfflineNotification Low Trusted Unencoded
|
|
{
|
|
AgentBlock Variable
|
|
{ AgentID LLUUID }
|
|
}
|
|
}
|
|
|
|
|
|
// SetStartLocationRequest
|
|
// viewer -> sim
|
|
// failure checked at sim and triggers ImprovedInstantMessage
|
|
// success triggers SetStartLocation
|
|
{
|
|
SetStartLocationRequest Low 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 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 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 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 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 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 Trusted Unencoded
|
|
{
|
|
TaskData Single
|
|
{ ID LLUUID }
|
|
}
|
|
{
|
|
NameValueData Variable
|
|
{ NVPair Variable 2 }
|
|
}
|
|
}
|
|
|
|
|
|
// GetNameValuePair - if the specific task exists on simulator, get the value of this NameVale pair (if it exists)
|
|
// FIXME: No transmit. 12 Sep 2002 mark
|
|
{
|
|
GetNameValuePair Low NotTrusted Unencoded
|
|
{
|
|
TaskData Single
|
|
{ ID LLUUID }
|
|
}
|
|
{
|
|
NameValueName Variable
|
|
{ Name 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 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 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 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 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 Trusted Unencoded
|
|
{
|
|
DataBlock Single
|
|
{ ObjectID LLUUID }
|
|
{ Gain F32 }
|
|
}
|
|
}
|
|
|
|
// AttachedSoundCutoffRadius - Sent by simulator to viewer to change an attached sounds' cutoff radius
|
|
|
|
{
|
|
AttachedSoundCutoffRadius Medium Trusted Unencoded
|
|
{
|
|
DataBlock Single
|
|
{ ObjectID LLUUID }
|
|
{ Radius F32 }
|
|
}
|
|
}
|
|
|
|
// PreloadSound - Sent by simulator to viewer to preload sound for an object
|
|
|
|
{
|
|
PreloadSound Medium 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 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 NotTrusted Unencoded
|
|
{
|
|
AssetBlock Single
|
|
{ UUID LLUUID }
|
|
{ Type S8 }
|
|
{ Success BOOL }
|
|
}
|
|
}
|
|
|
|
//
|
|
// Reputation
|
|
//
|
|
{
|
|
ReputationAgentAssign Low NotTrusted Unencoded
|
|
{
|
|
DataBlock Single
|
|
{ RatorID LLUUID }
|
|
{ RateeID LLUUID }
|
|
{ Behavior F32 } // float, usually -1 or +1
|
|
{ Appearance F32 } // float, usually -1 or +1
|
|
{ Building F32 } // float, usually -1 or +1
|
|
}
|
|
}
|
|
|
|
// ReputationIndividualRequest
|
|
// Gets From's rating of To.
|
|
// reliable
|
|
{
|
|
ReputationIndividualRequest Low NotTrusted Unencoded
|
|
{
|
|
ReputationData Single
|
|
{ FromID LLUUID }
|
|
{ ToID LLUUID }
|
|
}
|
|
}
|
|
|
|
// ReputationIndividualReply
|
|
// reliable
|
|
{
|
|
ReputationIndividualReply Low Trusted Unencoded
|
|
{
|
|
ReputationData Single
|
|
{ FromID LLUUID }
|
|
{ ToID LLUUID }
|
|
{ Behavior F32 } // float, usually -1 or +1
|
|
{ Appearance F32 } // float, usually -1 or +1
|
|
{ Building F32 } // float, usually -1 or +1
|
|
}
|
|
}
|
|
|
|
|
|
// Script on simulator asks dataserver if there are any email messages
|
|
// waiting.
|
|
{
|
|
EmailMessageRequest Low 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 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 Trusted Unencoded
|
|
{
|
|
DataBlock Single
|
|
{ From Variable 1 }
|
|
{ To LLUUID }
|
|
{ Subject Variable 1 }
|
|
{ Body Variable 2 }
|
|
}
|
|
}
|
|
|
|
// Script on simulator asks dataserver for information
|
|
{
|
|
ScriptDataRequest Low Trusted Unencoded
|
|
{
|
|
DataBlock Variable
|
|
{ Hash U64 }
|
|
{ RequestType S8 }
|
|
{ Request Variable 2 }
|
|
}
|
|
}
|
|
|
|
// Data server responds with data
|
|
{
|
|
ScriptDataReply Low Trusted Unencoded
|
|
{
|
|
DataBlock Variable
|
|
{ Hash U64 }
|
|
{ Reply Variable 2 }
|
|
}
|
|
}
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Group messages
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// CreateGroupRequest
|
|
// viewer -> simulator
|
|
// simulator -> dataserver
|
|
// reliable
|
|
{
|
|
CreateGroupRequest Low 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 Trusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
ReplyData Single
|
|
{ GroupID LLUUID }
|
|
{ Success BOOL }
|
|
{ Message Variable 1 } // string
|
|
}
|
|
}
|
|
|
|
// UpdateGroupInfo
|
|
// viewer -> simulator
|
|
// simulator -> dataserver
|
|
// reliable
|
|
{
|
|
UpdateGroupInfo Low 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 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 NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
GroupData Single
|
|
{ GroupID LLUUID }
|
|
}
|
|
}
|
|
|
|
// JoinGroupReply
|
|
// dataserver -> simulator -> viewer
|
|
{
|
|
JoinGroupReply Low Trusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
GroupData Single
|
|
{ GroupID LLUUID }
|
|
{ Success BOOL }
|
|
}
|
|
}
|
|
|
|
|
|
// EjectGroupMemberRequest
|
|
// viewer -> simulator -> dataserver
|
|
// reliable
|
|
{
|
|
EjectGroupMemberRequest Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
GroupData Single
|
|
{ GroupID LLUUID }
|
|
}
|
|
{
|
|
EjectData Variable
|
|
{ EjecteeID LLUUID }
|
|
}
|
|
}
|
|
|
|
// EjectGroupMemberReply
|
|
// dataserver -> simulator -> viewer
|
|
// reliable
|
|
{
|
|
EjectGroupMemberReply Low Trusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
GroupData Single
|
|
{ GroupID LLUUID }
|
|
}
|
|
{
|
|
EjectData Single
|
|
{ Success BOOL }
|
|
}
|
|
}
|
|
|
|
// LeaveGroupRequest
|
|
// viewer -> simulator -> dataserver
|
|
// reliable
|
|
{
|
|
LeaveGroupRequest Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
GroupData Single
|
|
{ GroupID LLUUID }
|
|
}
|
|
}
|
|
|
|
// LeaveGroupReply
|
|
// dataserver -> simulator -> viewer
|
|
{
|
|
LeaveGroupReply Low Trusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
GroupData Single
|
|
{ GroupID LLUUID }
|
|
{ Success BOOL }
|
|
}
|
|
}
|
|
|
|
// InviteGroupRequest
|
|
// viewer -> simulator -> dataserver
|
|
// reliable
|
|
{
|
|
InviteGroupRequest Low 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 Trusted Unencoded
|
|
{
|
|
InviteData Single
|
|
{ AgentID LLUUID }
|
|
{ InviteeID LLUUID }
|
|
{ GroupID LLUUID }
|
|
{ RoleID LLUUID }
|
|
{ MembershipFee S32 }
|
|
}
|
|
}
|
|
|
|
// GroupProfileRequest
|
|
// viewer-> simulator -> dataserver
|
|
// reliable
|
|
{
|
|
GroupProfileRequest Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
GroupData Single
|
|
{ GroupID LLUUID }
|
|
}
|
|
}
|
|
|
|
// GroupProfileReply
|
|
// dataserver -> simulator -> viewer
|
|
// reliable
|
|
{
|
|
GroupProfileReply Low 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 NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
{ GroupID LLUUID }
|
|
}
|
|
{
|
|
MoneyData Single
|
|
{ RequestID LLUUID }
|
|
{ IntervalDays S32 }
|
|
{ CurrentInterval S32 }
|
|
}
|
|
}
|
|
|
|
|
|
// dataserver -> simulator -> viewer
|
|
// Reliable
|
|
{
|
|
GroupAccountSummaryReply Low 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 NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
{ GroupID LLUUID }
|
|
}
|
|
{
|
|
MoneyData Single
|
|
{ RequestID LLUUID }
|
|
{ IntervalDays S32 }
|
|
{ CurrentInterval S32 }
|
|
}
|
|
}
|
|
|
|
// Reliable
|
|
{
|
|
GroupAccountDetailsReply Low 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 NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
{ GroupID LLUUID }
|
|
}
|
|
{
|
|
MoneyData Single
|
|
{ RequestID LLUUID }
|
|
{ IntervalDays S32 }
|
|
{ CurrentInterval S32 }
|
|
}
|
|
}
|
|
|
|
// Reliable
|
|
{
|
|
GroupAccountTransactionsReply Low 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
GroupData Single
|
|
{ GroupID LLUUID }
|
|
}
|
|
{
|
|
TransactionData Single
|
|
{ TransactionID LLUUID }
|
|
}
|
|
}
|
|
|
|
// GroupActiveProposalItemReply
|
|
// dataserver -> simulator -> viewer
|
|
// reliable
|
|
{
|
|
GroupActiveProposalItemReply Low 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
GroupData Single
|
|
{ GroupID LLUUID }
|
|
}
|
|
{
|
|
TransactionData Single
|
|
{ TransactionID LLUUID }
|
|
}
|
|
}
|
|
|
|
// GroupVoteHistoryItemReply
|
|
// dataserver -> simulator -> viewer
|
|
// reliable
|
|
{
|
|
GroupVoteHistoryItemReply Low 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 NotTrusted Zerocoded
|
|
{
|
|
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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ProposalData Single
|
|
{ ProposalID LLUUID }
|
|
{ GroupID LLUUID }
|
|
{ VoteCast Variable 1 } // string
|
|
}
|
|
}
|
|
|
|
// TallyVotes userserver -> dataserver
|
|
// reliable
|
|
{
|
|
TallyVotes Low Trusted Unencoded
|
|
}
|
|
|
|
|
|
|
|
// GroupMembersRequest
|
|
// get the group members
|
|
// simulator -> dataserver
|
|
// reliable
|
|
{
|
|
GroupMembersRequest Low 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 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 NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
{ GroupID LLUUID }
|
|
}
|
|
}
|
|
|
|
// viewer -> simulator -> dataserver
|
|
{
|
|
SetGroupContribution Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
Data Single
|
|
{ GroupID LLUUID }
|
|
{ Contribution S32 }
|
|
}
|
|
}
|
|
|
|
// viewer -> simulator -> dataserver
|
|
{
|
|
SetGroupAcceptNotices Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
Data Single
|
|
{ GroupID LLUUID }
|
|
{ AcceptNotices BOOL }
|
|
}
|
|
}
|
|
|
|
// GroupRoleDataRequest
|
|
// viewer -> simulator -> dataserver
|
|
{
|
|
GroupRoleDataRequest Low 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 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 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 Trusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ GroupID LLUUID }
|
|
{ RequestID LLUUID }
|
|
{ TotalPairs U32 }
|
|
}
|
|
{
|
|
MemberData Variable
|
|
{ RoleID LLUUID }
|
|
{ MemberID LLUUID }
|
|
}
|
|
}
|
|
|
|
// GroupTitlesRequest
|
|
// viewer -> simulator -> dataserver
|
|
{
|
|
GroupTitlesRequest Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
{ GroupID LLUUID }
|
|
{ RequestID LLUUID }
|
|
}
|
|
}
|
|
|
|
|
|
// GroupTitlesReply
|
|
// dataserver -> simulator -> viewer
|
|
{
|
|
GroupTitlesReply Low 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 NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
{ GroupID LLUUID }
|
|
{ TitleRoleID LLUUID }
|
|
}
|
|
}
|
|
|
|
// GroupRoleUpdate
|
|
// viewer -> simulator -> dataserver
|
|
{
|
|
GroupRoleUpdate Low 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 Trusted Unencoded
|
|
{
|
|
RequestData Single
|
|
{ RequestID LLUUID }
|
|
{ AgentID LLUUID }
|
|
}
|
|
}
|
|
|
|
// Send down the group
|
|
// dataserver -> userserver
|
|
{
|
|
LiveHelpGroupReply Low 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 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 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 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 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 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 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 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 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 Trusted Zerocoded
|
|
{
|
|
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 Trusted Zerocoded
|
|
{
|
|
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 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 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
|
|
}
|
|
}
|
|
|
|
// SetSunPhase
|
|
// Sets the current phase of the sun - propagated from viewer->sim->spaceserver (if godlike)
|
|
{
|
|
SetSunPhase Medium NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
Data Single
|
|
{ Phase F32 } // F32 (radians)
|
|
}
|
|
}
|
|
|
|
// CreateTrustedCircuit
|
|
// Sent to establish a trust relationship between two components.
|
|
// Only sent in response to a DenyTrustedCircuit message.
|
|
{
|
|
CreateTrustedCircuit Low 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 NotTrusted Unencoded
|
|
{
|
|
DataBlock Single
|
|
{ EndPointID LLUUID }
|
|
}
|
|
}
|
|
|
|
// RequestTrustedCircuit
|
|
// If the destination does not trust the sender, a Deny is sent back.
|
|
{
|
|
RequestTrustedCircuit Low Trusted Unencoded
|
|
}
|
|
|
|
|
|
{
|
|
RezSingleAttachmentFromInv Low 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 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 NotTrusted Unencoded
|
|
{
|
|
ObjectData Single
|
|
{ AgentID LLUUID }
|
|
{ ItemID LLUUID }
|
|
}
|
|
}
|
|
|
|
|
|
// Viewer -> Sim
|
|
// Used in "Make New Outfit"
|
|
{
|
|
CreateNewOutfitAttachments Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
HeaderData Single
|
|
{ NewFolderID LLUUID }
|
|
}
|
|
{
|
|
ObjectData Variable
|
|
{ OldItemID LLUUID }
|
|
{ OldFolderID LLUUID }
|
|
}
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Personal information messages
|
|
//-----------------------------------------------------------------------------
|
|
|
|
{
|
|
UserInfoRequest Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
}
|
|
|
|
{
|
|
UserInfoReply Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
UserData Single
|
|
{ IMViaEMail BOOL }
|
|
{ DirectoryVisibility Variable 1 }
|
|
{ EMail Variable 2 }
|
|
}
|
|
}
|
|
|
|
{
|
|
UpdateUserInfo Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
UserData Single
|
|
{ IMViaEMail BOOL }
|
|
{ DirectoryVisibility Variable 1 }
|
|
}
|
|
}
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// System operations and maintenance
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// GodExpungeUser is sent from a viewer or other untrusted source to
|
|
// start the process for getting rid of a list of users. The message
|
|
// goes to the userserver, checks for godhood, and forwards the
|
|
// request to the dataserver. The dataserver then marks the user as being
|
|
// expunged and sends a StartExpungeProcess out to the simulators.
|
|
{
|
|
GodExpungeUser Low NotTrusted Zerocoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
ExpungeData Variable
|
|
{ AgentID LLUUID }
|
|
}
|
|
}
|
|
|
|
// StartExpungeProcess is sent from the dataserver to the userserver,
|
|
// and from there relayed to the simulators which mark parcels and
|
|
// objects owned by the agent as being expunged.
|
|
{
|
|
StartExpungeProcess Low Trusted Zerocoded
|
|
{
|
|
ExpungeData Variable
|
|
{ AgentID LLUUID }
|
|
}
|
|
}
|
|
|
|
// StartExpungeProcessAck - is sent from the userserver to anyone who
|
|
// sends a StartExpungeProcess. This is used to aid scripting the
|
|
// expunge process, since the message system does not generate
|
|
// any errors if you attempt to connect to a non-existant host within
|
|
// a reasonable timeframe for scripting
|
|
{
|
|
StartExpungeProcessAck Low Trusted Unencoded
|
|
}
|
|
|
|
// Message to rename identified parcels. script -> userserver -> dataserver
|
|
{
|
|
StartParcelRename Low Trusted Unencoded
|
|
{
|
|
ParcelData Variable
|
|
{ ParcelID LLUUID }
|
|
{ NewName Variable 1 } // string
|
|
}
|
|
}
|
|
|
|
// ack the last message. userserver->script
|
|
{
|
|
StartParcelRenameAck Low Trusted Unencoded
|
|
}
|
|
|
|
// dataserver -> userserver -> spaceserver
|
|
{
|
|
BulkParcelRename Low Trusted Zerocoded
|
|
{
|
|
ParcelData Variable
|
|
{ RegionHandle U64 }
|
|
{ ParcelID LLUUID }
|
|
{ NewName Variable 1 } // string
|
|
}
|
|
}
|
|
|
|
// spaceserver -> sim
|
|
// tell a particular simulator to rename a parcel
|
|
{
|
|
ParcelRename Low Trusted Unencoded
|
|
{
|
|
ParcelData Variable
|
|
{ ParcelID LLUUID }
|
|
{ NewName Variable 1 } // string
|
|
}
|
|
}
|
|
|
|
// message to remove specified parcels. script -> userserver -> dataserver
|
|
{
|
|
StartParcelRemove Low Trusted Unencoded
|
|
{
|
|
ParcelData Variable
|
|
{ ParcelID LLUUID }
|
|
}
|
|
}
|
|
|
|
// ack the start parcel remove message
|
|
{
|
|
StartParcelRemoveAck Low Trusted Unencoded
|
|
}
|
|
|
|
// dataserver -> userserver -> spaceserver
|
|
// The space server will then slice this message into a series of
|
|
// RemoveParcel messages.
|
|
{
|
|
BulkParcelRemove Low Trusted Zerocoded
|
|
{
|
|
ParcelData Variable
|
|
{ RegionHandle U64 }
|
|
{ ParcelID LLUUID }
|
|
}
|
|
}
|
|
|
|
// sim -> viewer
|
|
// initiate upload. primarily used for uploading raw files.
|
|
{
|
|
InitiateDownload Low 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 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 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 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 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 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 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 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 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 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 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 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 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 Trusted Unencoded
|
|
{
|
|
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 NotTrusted Unencoded
|
|
{
|
|
DataBlock Single
|
|
{ TaskID LLUUID }
|
|
{ ItemID LLUUID }
|
|
{ ChannelID LLUUID }
|
|
{ IntValue U32 }
|
|
{ StringValue Variable 2 } // string
|
|
}
|
|
}
|
|
|
|
// Simulator asks for what sim a script lives on (intersim object->object email delivery)
|
|
// simulator -> dataserver
|
|
// *NOTE: Not in use. Phoenix 2006-08-16
|
|
{
|
|
MailTaskSimRequest Low Trusted Unencoded
|
|
{
|
|
DataBlock Single
|
|
{ TaskID LLUUID }
|
|
}
|
|
}
|
|
|
|
// Reply from dataserver to simulator about where a mailping needs to go.
|
|
// Same as below, but needs to be different as it has different routing.
|
|
// *NOTE: Not in use. Phoenix 2006-08-16
|
|
{
|
|
MailTaskSimReply Low Trusted Unencoded
|
|
{
|
|
TargetBlock Single
|
|
{ TargetIP Variable 1 } // String IP
|
|
{ TargetPort IPPORT }
|
|
}
|
|
{
|
|
DataBlock Single
|
|
{ TaskID LLUUID }
|
|
}
|
|
}
|
|
|
|
// ScriptMailRegistration
|
|
// Simulator -> dataserver
|
|
{
|
|
ScriptMailRegistration Low Trusted Unencoded
|
|
{
|
|
DataBlock Single
|
|
{ TargetIP Variable 1 } // String IP
|
|
{ TargetPort IPPORT }
|
|
{ TaskID LLUUID }
|
|
{ Flags U32 }
|
|
}
|
|
}
|
|
|
|
// ParcelMediaCommandMessage
|
|
// Sends a parcel media command
|
|
{
|
|
ParcelMediaCommandMessage Low 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 Trusted Unencoded
|
|
{
|
|
DataBlock Single
|
|
{ MediaURL Variable 1 } // string
|
|
{ MediaID LLUUID }
|
|
{ MediaAutoScale U8 }
|
|
}
|
|
}
|
|
|
|
// LandStatRequest
|
|
// Sent by the viewer to request collider/script information for a parcel
|
|
{
|
|
LandStatRequest Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
{ SessionID LLUUID }
|
|
}
|
|
{
|
|
RequestData Single
|
|
{ ReportType U32 }
|
|
{ RequestFlags U32 }
|
|
{ Filter Variable 1 }
|
|
{ ParcelLocalID S32 1 }
|
|
}
|
|
}
|
|
|
|
// LandStatReply
|
|
// Sent by the simulator in response to LandStatRequest
|
|
{
|
|
LandStatReply Low Trusted Unencoded
|
|
{
|
|
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 }
|
|
}
|
|
}
|