# Get started

**URL:** https://heroiclabs.com/docs/satori/concepts/introduction/get-started/
**Summary:** Connect your game to Satori, send player events, and read LiveOps data from your client.
**Keywords:** get started, deploy satori, integrate satori client, satori deployment
**Categories:** satori, liveOps, get started

---


# Get started

## Deploy Satori

Satori is hosted on Heroic Cloud. The configuration and infrastructure are fully managed by Heroic Cloud. The first step in integrating with Satori is to create a deployment of Satori on Heroic Cloud. You can find more information at [Satori Deployment](../../../../heroic-cloud/titles/satori-deployments/).

## Integrate Satori on the client side

The rest of this page covers a high-level overview on how to connect your game to Satori, send player events, and read LiveOps data from your client. Detailed integration steps with code examples can be found at the [Client libraries](../../../client-libraries/) page.

### 1. Authenticate the player

When a player opens your game, your client authenticates with Satori. Authentication creates a session for that player. Sessions are the container Satori uses to attribute every event, every metric, and every computed property to the right player at the right time.

Session boundaries determine:

- How session count and session duration are calculated in the Dashboard and Retention report
- Whether computed properties such as `sessionStartCount` increment correctly
- Whether audience filters based on behavioural data produce accurate segments
- How experiment enrollment is evaluated when a player qualifies mid-session

For more details on sessions, see [Manage sessions](../../performance-monitoring/manage-sessions/).

If you want to connect to Satori without an player identity or session ID, follow the guide on [Server Event API](../../../guides/server-events/).

### 2. Populate player properties

When authenticating, you can optionally pass in any desired [default properties](../../segmentation/understand-player-properties/) and/or [custom properties](../../segmentation/understand-player-properties/#how-to-add-a-custom-property) to be updated. If none are provided, the properties remain as they are on the server.

### 3. Fetch live events, experiments and feature flags

After authentication, fetch from the Satori API the [feature flags](../../remote-configuration/understand-feature-flags/), [live events](../../live-events/), and [experiments](../../experiments/) assigned to your player ID. Use the returned values to change game behavior accordingly.

### 4. Send analytic events

Send analytic events as player actions occur. Each event is tied to the session created at authentication. Event names must match exactly across your client code, your Satori console event registrations, and any metrics or audience filters that reference them.

See [Understand Events](../../performance-monitoring/understand-events/) to learn more about events. 

## Next steps

For a detailed guide on client library integration on different platform, see [Client libraries](../../../client-libraries/).

If you're using Nakama or any other server (such as headless servers) to send analytic events, use the Server Event API to send events without a session ID. Use the step-by-step guide on [How to send server-side analytic events](../../../guides/server-events/).

You can manage your Satori instance programmatically from your server for server-to-server communication and administrative tasks rather than the console UI. For more information, see [Satori Console API reference](../../../console/).

