Skip to main content

Hathora Entities

entities

Team

A team is the top level entity on Hathora that allows you to manage billing, control access by adding and removing members, and share development environments.

You are automatically added to your own team when you create an account on Hathora. You are an Admin on your own team and you can either invite team members to join you or you can join another team. Currently, each account can only belong to a single team.

All the entities below are scoped to a particular team.

Applications / Builds / Fleets

Applications

An application is the top level namespace to represent different environments (i.e. dev, staging, prod). Applications group deployments, processes, and rooms.

Builds

A build represents a game server artifact. Everytime you generate a new server build, you should push it to the Hathora registry. You can use a build across all applications.

Fleets

A fleet represents the set of compute resources available across all 14 Hathora regions. Your team's fleet serves as a unified compute pool that can be utilized across multiple applications.

Deployments / Processes / Rooms

Deployments

A deployment is used to map a build to an application and represents the runtime configurations for your container. Pushing a new deployment doesn't affect existing rooms in progress, providing simple no-downtime upgrades.

Processes

A process represents a running instance of your game server. In Docker terminology, a process is equivalent to a Docker container. A process has associated real-time logs and system metrics.

Rooms

A room represents a single match/game session. In most cases rooms are 1:1 with processes. Hathora additionally enables advanced optimization by supporting process reuse across rooms or multiple concurrent rooms per process.