Difference between revisions of "Login sequence"

From Second Life Wiki
Jump to navigation Jump to search
(Starting)
 
(Beginning add of sequence diagrams)
Line 2: Line 2:


(Under construction)
(Under construction)
===Source code for above diagram===
<source>
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
</source>

Revision as of 18:48, 6 September 2023

(Under construction)

Source code for above diagram

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