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.

RegionCode
North Americana
Europeeu

Every server's game hostname is <id>.truetick.gg, regardless of region — the address itself no longer tells you where the server runs. region (in the API response, and the region badge in the dashboard) stays the honest way to see placement. Servers created before this address form shipped keep resolving on their older <slug>.<region>.truetick.gg address too.

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.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.