Difference between revisions of "Login sequence"

From Second Life Wiki
Jump to navigation Jump to search
(Diagram complete resized)
Line 46: Line 46:
{{collapse bottom}}
{{collapse bottom}}
==Notes==
==Notes==
Dashed lines are [[Message|UDP messages]]. Solid lines are events received via [[EventQueueGet]].
This documents the successful "happy path". Error conditions are not yet covered.
This information reflects what has been discovered by third part viewer developers. It is not official and may contain errors.
This information reflects what has been discovered by third part viewer developers. It is not official and may contain errors.

Revision as of 18:21, 6 September 2023

Event sequence diagram for login

Sequence diagram
Source code for the sequence diagram above.

To change the diagram, change this source code, then paste it into this free online chart generator [1] to generate a new .png image. Then replace the version of the image above with a new image.

title Initial login to world

participant "Viewer" as V
participant "Initial region" as R
participant "Login server" as L

group Initial login
activate V
V->L: Login request, XMLRPC
activate L
L->R: (region advised login coming)
activate R
L->V: Login reply
rbox left of V: Contains initial region IP, port, seed\nregion handle, agent ID\nbut not avatar location in region.
V-->>R: UseCircuitCode
V-->>R: CompleteAgentMovement
V-->>R: UuidNameRequest
rbox left of V: UuidNameRequest for avatar name.\nProbably unnecessary, but traditional.
R-->V: RegionHandshake
rbox left of V: A 2 second delay here before the reply\nreduces interest list errors.\nRef: BUG-233107
V-->>R: RegionHandshakeReply
V-->>R: AgentUpdate
rbox left of V: This first AgentUpdate has a bogus avatar position.\nViewer does not know where the avatar is yet\nbut must send this to get object updates started.\nCause of some interest list bugs.
V->R: EventQueueGet
R-->>V: ObjectUpdate
rbox left of V: The first object update is usually for the avatar.\nThis tells the viewer where the avatar really is.\nPosition of avatar moves in viewer.
V-->>R: AgentUpdate
rbox left of V: Viewer tells region where the camera is.\nViewer and region are now in sync.
end

rbox left of V: Logged in.\nNormal operation from here on.

R-->>V: ObjectUpdate
R-->>V: ObjectUpdate
R-->>V: ObjectUpdate
R->V: (Various event queue events)
V-->>R: AgentUpdate

Notes

Dashed lines are UDP messages. Solid lines are events received via EventQueueGet.

This documents the successful "happy path". Error conditions are not yet covered.

This information reflects what has been discovered by third part viewer developers. It is not official and may contain errors.