Other Engine Onboarding
Hathora Cloud is a scalable hosting platform for online multiplayer games. You upload your server project using the Hathora Console or CLI, and then dynamically create server instances in 11+ regions around the world. You get charged only for the duration of active matches/sessions. It's perfect for dedicated servers that can be run in a Linux environment, and supports UDP, TCP, TLS while also providing DDoS protection.
1. Preparing your server build
Your server will need to be runnable as a dedicated Linux server.
2. Generating a Dockerfile
By providing a Dockerfile with your server build, we will be able to scale your server across the globe.
Check out our guide to creating a Dockerfile.
3. Deploy server to Hathora Cloud
If this is your first time deploying on Hathora Cloud, we recommend starting with our Deploying on Hathora Cloud guide.
There are 2 ways to deploy your server on Hathora Cloud:
- With command line or CI/CD pipeline
- Drag and drop upload via Hathora Console
hathora-cloud builds create --appId <your_app_id>
Your server file needs to be a compressed tar file (e.g.
The zipped bundle should include your server project or build, along with your Dockerfile at the root.
Zero-downtime deployments: New deployments will not impact any existing games, your newly deployed version will only be used for subsequent games created after.
4. Creating rooms/processes
There are 2 ways to create rooms on Hathora Cloud:
- Via API call
- Directly with Hathora Console (great for debugging)
A simple API call:
To learn more about room creation and lifecycle, check out our Room Lifecycle docs
5. Connecting to a room
Once you have created a room, it will take Hathora Cloud a few seconds to spin up your server instance and expose a port for your client to connect to.
We recommend polling
RoomApi.GetConnectionInfo(appId, roomId) until
status is "active" and
ExposedPort is not
We will automatically terminate a process if there are no active connections for 5 minutes (i.e. the process is in an idle state for 5 minutes).
With our Hathora Console, you can get connection info (
host:port) directly, which is useful for testing and debugging.
6. Lobby Service and integration with matchmakers
Check our Lobby Service for a lightweight way to build a lobby system for your game.
- GameMaker Studio: https://gamemaker.io/en/tutorials/beginners-guide-to-networking
- Babylon.js: https://doc.babylonjs.com/setup/support/serverSide