* Moved MainAvatar delegates and enums in to the MainAvatar.cs file * TestClient now stores prims in per-sim dictionaries * TestClient throttles the connection at login * OnTeleport callback passes a reference to the current Simulator * Removed unneeded typecasts to Packet * AutoPilotLocal() doesn't need the GridRegionData reference * Disconnects and packets resent multiple times are handled better * OnNewAvatar is fired for our own avatar as well, and our avatar position is updated all the time now, as well as confirming it's our avatar by UUID instead of name git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@721 52acb1d6-8a22-11de-b505-999d5b087335
9992 lines
193 KiB
Plaintext
9992 lines
193 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 }
|
|
{ SimName Variable 1 }
|
|
{ Summary Variable 1 }
|
|
{ Details Variable 2 }
|
|
{ VersionString Variable 1 }
|
|
}
|
|
{
|
|
MeanCollision Variable
|
|
{ Perp LLUUID }
|
|
{ Time U32 }
|
|
{ Mag F32 }
|
|
{ Type U8 }
|
|
}
|
|
}
|
|
|
|
// 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 }
|
|
}
|
|
}
|
|
|
|
// 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 }
|
|
}
|
|
}
|
|
|
|
// 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 }
|
|
{ ForSale BOOL }
|
|
{ Auction BOOL }
|
|
{ ReservedNewbie BOOL }
|
|
}
|
|
}
|
|
|
|
// 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 }
|
|
{ ForSale BOOL }
|
|
{ Auction BOOL }
|
|
{ ReservedNewbie BOOL }
|
|
{ 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 }
|
|
}
|
|
}
|
|
|
|
|
|
// Grant agents the ability to modify your stuff. This message is sent
|
|
// to the simulator, and then passed along to the dataserver for
|
|
// persistance. The dataserver will push live updates through
|
|
// AddModifyAbility messages to the simulator.
|
|
// viewer -> simulator -> dataserver
|
|
//{
|
|
// GrantModification Low NotTrusted Unencoded
|
|
// {
|
|
// AgentData Single
|
|
// { AgentID LLUUID }
|
|
// { SessionID LLUUID }
|
|
// { GranterName Variable 1 }
|
|
// }
|
|
// {
|
|
// EmpoweredBlock Variable
|
|
// { EmpoweredID LLUUID }
|
|
// }
|
|
//}
|
|
// Revoke the ability to modify your stuff. This message is sent to
|
|
// the simulator, and then passed along to the dataserver for
|
|
// persistance. The dataserver will push live updates through
|
|
// RemoveModifyAbility messages to the simulator.
|
|
// viewer -> simulator -> dataserver
|
|
//{
|
|
// RevokeModification Low NotTrusted Unencoded
|
|
// {
|
|
// AgentData Single
|
|
// { AgentID LLUUID }
|
|
// { SessionID LLUUID }
|
|
// { GranterName Variable 1 }
|
|
// }
|
|
// {
|
|
// RevokedBlock Variable
|
|
// { RevokedID LLUUID }
|
|
// }
|
|
//}
|
|
|
|
// This message is sent from viewer->simulator->dataserver, which responds with
|
|
// the complete list of all granted agents in the GrantedProxies message.
|
|
//{
|
|
// RequestGrantedProxies Low NotTrusted Unencoded
|
|
// {
|
|
// AgentData Single
|
|
// { AgentID LLUUID }
|
|
// { SessionID LLUUID }
|
|
// }
|
|
//}
|
|
|
|
// response to the message above
|
|
//{
|
|
// GrantedProxies Low Trusted Unencoded
|
|
// {
|
|
// AgentData Single
|
|
// { AgentID LLUUID }
|
|
// }
|
|
// {
|
|
// EmpoweredBlock Variable
|
|
// { EmpoweredID LLUUID }
|
|
// }
|
|
// {
|
|
// GranterBlock Variable
|
|
// { GranterID LLUUID }
|
|
// }
|
|
//}
|
|
|
|
// This message is sent from the dataserver to the simulator to let
|
|
// AgentID know that they can modify GranterID's stuff. This message is
|
|
// percolated out to child cameras and the viewer. This message is
|
|
// in response to GrantModification messages, request, or login.
|
|
// ROUTED dataserver -> simulator -> spaceserver -> simulator
|
|
// reliable
|
|
//{
|
|
// AddModifyAbility Low Trusted Zerocoded
|
|
// {
|
|
// TargetBlock Single
|
|
// { TargetIP IPADDR } // U32 encoded IP
|
|
// { TargetPort IPPORT }
|
|
// }
|
|
// {
|
|
// AgentBlock Single
|
|
// { AgentID LLUUID }
|
|
// }
|
|
// {
|
|
// GranterBlock Variable
|
|
// { GranterID LLUUID }
|
|
// }
|
|
//}
|
|
|
|
// This message is sent from the dataserver to the simulator to let
|
|
// AgentID know that they can no longer modify GranterID's stuff. This
|
|
// message is percolated out to child cameras and the viewer. This
|
|
// message is in response to RevokeModification messages.
|
|
// ROUTED dataserver -> simulator -> spaceserver -> simulator
|
|
// reliable
|
|
//{
|
|
// RemoveModifyAbility Low Trusted Unencoded
|
|
// {
|
|
// TargetBlock Single
|
|
// { TargetIP IPADDR } // U32 encoded IP
|
|
// { TargetPort IPPORT }
|
|
// }
|
|
// {
|
|
// AgentBlock Single
|
|
// { AgentID LLUUID }
|
|
// { RevokerID 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 }
|
|
{ Summary Variable 1 }
|
|
{ Details Variable 2 }
|
|
{ VersionString Variable 1 }
|
|
}
|
|
{
|
|
MeanCollision Variable
|
|
{ Perp LLUUID }
|
|
{ Time U32 }
|
|
{ Mag F32 }
|
|
{ Type U8 }
|
|
}
|
|
}
|
|
|
|
|
|
// ***************************************************************************
|
|
// 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 }
|
|
}
|
|
}
|
|
|
|
{
|
|
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 }
|
|
{ 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
|
|
{ AllowPublish BOOL } // whether profile is externally visible or not
|
|
{ MaturePublish BOOL } // profile is "mature"
|
|
{ Identified BOOL } // whether avatar has provided payment info
|
|
{ Transacted BOOL } // whether avatar has actively used payment info
|
|
}
|
|
}
|
|
|
|
{
|
|
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)
|
|
{ NewAssetID LLUUID }
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 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 }
|
|
}
|
|
{
|
|
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 }
|
|
}
|
|
{
|
|
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 }
|
|
}
|
|
{
|
|
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
|
|
{
|
|
SaveAssetIntoInventory Low NotTrusted 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
|
|
{
|
|
ViewerEffect Medium NotTrusted Zerocoded
|
|
{
|
|
Effect Variable
|
|
{ ID LLUUID } // UUID of the effect
|
|
{ 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 }
|
|
}
|
|
}
|
|
|
|
|
|
// viewer -> sim
|
|
// initiate upload. primarily used for uploading raw files.
|
|
{
|
|
InitiateUpload Low NotTrusted Unencoded
|
|
{
|
|
AgentData Single
|
|
{ AgentID LLUUID }
|
|
}
|
|
{
|
|
FileData Single
|
|
{ BaseFilename Variable 1 } // string
|
|
{ SourceFilename Variable 1 } // string
|
|
}
|
|
}
|
|
|
|
// 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 }
|
|
}
|
|
}
|