Struct WorldSceneQueuePositionBroadcast
Broadcast sent by the WorldServer to a client waiting to be routed to a SceneServer, with its current position in the scene-routing queue. Sent periodically at a server-configured rate.
Position semantics (identical to LoginQueuePositionBroadcast):
- > 0 — Waiting in queue. Display the position to the user.
- 0 — Routed. A WorldSceneConnectBroadcast follows; dismiss the wait UI.
- -1 — Cancelled. The wait was abandoned and the connection is being closed.
Why this exists. The World → Scene hop is the one leg of the connection pipeline that could stall indefinitely with nothing on screen but a loading overlay. A client with no scene instance to go to is held in the WorldServer's queue and re-evaluated every cycle, so the wait is legitimate — but it was completely silent, which is indistinguishable from a hang. This is the login queue's feedback channel applied to the same problem one hop later.
Server-authoritative update rate: The WorldServer controls how often this broadcast is sent. Clients are passive receivers only — there is no request path.
public struct WorldSceneQueuePositionBroadcast : IBroadcast
- Implements
-
IBroadcast
- Inherited Members
Fields
EstimatedWaitSeconds
Rough estimated wait in seconds, derived from how many connections the last routing cycle actually placed. 0 when unknown — which is the normal case while nothing is draining, and the client must present it as such rather than as "no wait".
public int EstimatedWaitSeconds
Field Value
QueuePosition
Current 1-based queue position. 0 = routed, -1 = cancelled.
public int QueuePosition
Field Value
Reason
Why this client is waiting. See WorldSceneQueueReason.
public WorldSceneQueueReason Reason
Field Value
TotalQueued
Total number of clients waiting for the same scene or instance.
public int TotalQueued