AdmissionRequest
What the game is told when something asks to enter a target that is at capacity.
Nebula · Packages/com.1by3.nebula/Runtime/Gateway/NebulaAdmission.cspublic struct AdmissionRequestWhat 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.
AdmissionKind
Why somebody is asking to enter a target (AdmissionRequest.Kind).
AnonymousIdentityIssuer
Identities the gateway hands to clients that present no token: an HS256 token with iss PlayerIdentity.AnonymousIssuer and a random sub, which the client keeps and presents on its next connection to get the same AuthResult.Identity back.