Table of Contents

Struct WorldSceneQueuePositionBroadcast

Namespace
FishMMO.Shared
Assembly
FishMMO.Shared.dll

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

int

QueuePosition

Current 1-based queue position. 0 = routed, -1 = cancelled.

public int QueuePosition

Field Value

int

Reason

Why this client is waiting. See WorldSceneQueueReason.

public WorldSceneQueueReason Reason

Field Value

WorldSceneQueueReason

TotalQueued

Total number of clients waiting for the same scene or instance.

public int TotalQueued

Field Value

int