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