Nebula
Gateway

AdmissionRequest

What the game is told when something asks to enter a target that is at capacity.

generated from the sources
public struct AdmissionRequest

What the game is told when something asks to enter a target that is at capacity. Everything here is derived from rows the mesh already keeps, so a policy is a pure function of its argument and can be unit tested. See docs/capacity-admission.md.

Fields

Kind

public AdmissionKind Kind;

Whether this is a client being placed or an entity crossing in.

ScopeKey

public string ScopeKey;

The scope being entered (EntityLocation.ScopeKey); empty for the public world.

ContainerId

public string ContainerId;

The container the arrival would land in. Empty when the answer is about a whole scope and no part has been picked yet.

Capacity

public CapacityInfo Capacity;

How saturated the target is, and in what (NebulaCapacity).

ClientId

public ulong ClientId;

The gateway's id for this client, or 0 for a transfer of a server-driven entity.

Identity

public string Identity;

The player's identity across sessions (PlayerIdentity), empty when unauthenticated or for a transfer.

Name

public string Name;

The player's name: the verified token's NebulaConfig.NameClaim when set and present, otherwise the name the client gave in its Hello.

Claims

public IReadOnlyDictionary<string, string> Claims;

For AdmissionKind.Join: the verified token's forwarded claims (NebulaConfig.ForwardedClaims), for example to let staff in past capacity. Null or empty for an anonymous player and for a transfer.

IsBot

public bool IsBot;

The client is a bot (a load generator or an AI player).

Team

public byte Team;

The game's own tags on this client (NebulaGateway.SetClientTag / SetClientTags): the natural place for "party 7" or "staff".

Tags

public ulong Tags;

EntityNetId

public ulong EntityNetId;

The entity crossing in, for AdmissionKind.Transfer; 0 otherwise.

OwnerClientId

public ulong OwnerClientId;

The client that owns that entity, for AdmissionKind.Transfer; 0 for a server-driven entity.

On this page