Concepts
Regions

Regions

TrueTick runs in two regions today: NA (North America) and EU (Europe). You pick a region per server so players connect to nearby hardware for low latency.

RegionCodeGame hostname pattern
North Americana<id>.truetick.gg
Europeeu<id>.eu.truetick.gg

Choosing a region

Set region when creating a server (defaults to NA if omitted):

await client.servers.create({
  name: "EU SMP",
  ramMb: 4096,
  type: "PAPER",
  version: "1.21.1",
  region: "eu",
});
truetick servers create --name "EU SMP" --ram 4096 --type PAPER --region eu

Players in the EU connect directly to eu-smp.eu.truetick.gg:25565 — game traffic goes straight to the EU box, it doesn't hairpin through NA. Billing, account, and admission control stay centralized.

Reading capacity

Because TrueTick doesn't oversell, a region can be at capacity — and the API tells you honestly rather than failing a create with a cryptic error. Query per-region capacity before placing a server:

curl -H "x-api-key: $TRUETICK_API_KEY" \
  https://api.truetick.gg/v1/regions

GET /v1/regions (scope servers:read) aggregates each region's available capacity — free slots, cores, RAM headroom. GET /v1/capacity returns the node-wide snapshot. If a region is full, creating or starting a server there returns a 429-style "at capacity" response with the count of free slots, so you (or your agent) can fall back to the other region or retry later.

At-capacity is a feature, not a bug. An honest "no room right now" is the flip side of the no-overselling guarantee: every server that is placed gets its full reserved RAM and CPU. See Errors for handling the at-capacity response.