Skip to main content

GraphQLServer

A registered GraphQL API server instance in the fleet, with reachability addresses and basic host telemetry. Returned by graphqlServers (all) and activeGraphQLServers (only ReadyForClients). Use this for service discovery; realtime/UDP play still goes through the game-api UDP proxy.

type GraphQLServer {
graphqlServerId: ID!
kind: String
ip4: String
ip6: String
runtimeServerId: String
providerInstanceId: String
publicIp4: String
publicIp6: String
apiPort: Int!
publicHostname: String
status: ServerState!
cpuUsagePct: Float
memoryUsagePct: Float
loadAverage1m: Float
createdAt: DateTime!
updatedAt: DateTime!
}

Fields

GraphQLServer.graphqlServerId ● ID! non-null scalar

Unique id of this GraphQL server registration.

GraphQLServer.kind ● String scalar

Logical kind of GraphQL service. Every current server is 'game-api', which serves both the management and game surfaces; 'management-api' appears only on rows predating their unification.

GraphQLServer.ip4 ● String scalar

Internal/private IPv4 address of this server. Use publicIp4 for external reachability.

GraphQLServer.ip6 ● String scalar

Internal/private IPv6 address of this server. Use publicIp6 for external reachability.

GraphQLServer.runtimeServerId ● String scalar

UUID of the Buddy realtime runtime instance this API server is paired with, if any.

GraphQLServer.providerInstanceId ● String scalar

Cloud provider instance id of the underlying host, if known.

GraphQLServer.publicIp4 ● String scalar

Public IPv4 address clients use to reach this server, if assigned.

GraphQLServer.publicIp6 ● String scalar

Public IPv6 address clients use to reach this server, if assigned.

GraphQLServer.apiPort ● Int! non-null scalar

TCP port the GraphQL/HTTP API listens on (default 4000).

GraphQLServer.publicHostname ● String scalar

Public hostname clients can reach this instance on directly over TLS, e.g. ck-api-or-1.prod.crowdedkingdoms.com. Null when the instance has no public DNS name or certificate yet, in which case it is reachable only through the shared load balancer and must not be connected to directly. Prefer the gameApiUrl returned by mintAppToken over building a URL from this field: that call already picks a low-load instance for you.

GraphQLServer.status ● ServerState! non-null enum

Current lifecycle state (see ServerState). activeGraphQLServers returns only ReadyForClients.

GraphQLServer.cpuUsagePct ● Float scalar

Current CPU utilization percentage (0-100) of the host, if reported.

GraphQLServer.memoryUsagePct ● Float scalar

Current memory utilization percentage (0-100) of the host, if reported.

GraphQLServer.loadAverage1m ● Float scalar

1-minute load average of the host, if reported.

GraphQLServer.createdAt ● DateTime! non-null scalar

When this server was first registered in the fleet.

GraphQLServer.updatedAt ● DateTime! non-null scalar

When this server row was last updated (heartbeat). Use to judge freshness.

Returned By

activeGraphQLServers query ● graphqlServers query