Nebula
Protocol

JoinHoldReason

Why a join is being held in JoinState.Starting.

generated from the sources
public enum JoinHoldReason : byte

Why a join is being held in JoinState.Starting. A reason, not an error: the gateway holds the client and places it as soon as the reason goes away, with no reconnect. See docs/scope-lifecycle.md.

Members

NameValueDescription
None0The join is not held.
WorldStarting1No worker holds an active lease yet: the mesh is booting one.
ScopeNotReady2The scope the client named has not been activated, or has no container with a live owner yet. Whoever sent the player to the key is the one that activates it.
ScopeRestoring3The scope is coming back from a retire and its persisted entities are still being restored.
ScopeRetiring4The scope is retiring: it is checkpointing and emptying itself and admits nobody.
AtCapacity5Every container the client could be placed in is at capacity and the game's admission hook asked for the client to wait rather than be refused (NebulaAdmission, docs/capacity-admission.md). This is the "docking queue" answer: the gateway keeps retrying and places the client as soon as room appears, with no reconnect.
Recovering6The worker that held the player's pawn failed, and the gateway is placing the player again: the pawn comes back from its last checkpoint, or fresh when it has none. The player was in the world a moment ago, so say "getting you back in" rather than "starting the world".

On this page