Region crossing

From Second Life Wiki
Revision as of 11:04, 11 February 2024 by Animats Resident (talk | contribs) (Start)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Introduction

The Second Life world is divided into square regions 256 meters on a side. Each region is managed by a separate simulator program. Viewers present the illusion of a large, seamless world by communicating with several region simulators simultaneously. Avatars cross between regions via a complex process which requires cooperation between multiple simulators and viewers.

Event sequence diagram for region crossings

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 Region crossing - COMING SOON

participant "Viewer" as V
participant "Host Region" as H
participant "Neighbour Region" as N

V->H: EventQueueGet
activate H
rbox left of V: Stood in the region centre\nDraw Distanceis 32m\nno otherregions are visibleV-->H: AgentUpdate(x=128,y=128,Far=32)
V-->>H: AgentUpdate
V-->>H: AgentUpdate
V-->>H: AgentUpdate
rbox left of V: Draw Distance is increased to 200m
V-->>H: AgentUpdate(Far=200)
H->N: ServerSide ChitChat
N->H:
group EventQueueGet<response>
H->V: EventQueueGet([EnableSimulator])
deactivate H
H->>V: EnableSimulator
end
V->H: EventQueueGet
activate H
V-->N:UseCircuitCode
V-->>H: AgentUpdate
V-->>H: AgentUpdate
N-->V: RegionHandshake
V-->N: RegionHandshakeReply
V-->>H: AgentUpdate
group EventQueueGet<response>
H->V: EventQueueGet([EstablishAgentCommunication])
deactivate H
H->>V: EstablishAgentCommunication
end
V->N: Seed
N->V: Seed<Response>V

Discussion

This is an event sequence diagram of the essential events that take place as an avatar crosses from one region to another.

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.