Architecture
Architecture types
There are two different architecture types for integrating Idem with a game, we call them server-based and player-based. The key question to identify the right one for your game is:
Does your game have a backend server that manages game clients
(→ Server-based)
or
should your game clients connect to Idem directly
(→ Player-based)?
For more details on how to choose the right architecture, see the Choose your architecture section below.
Player-based
The player-based architecture is ideal if your game does not have a backend or you prefer not to use it for player and server orchestration. To enable this, game clients communicate directly with Idem in this architecture. When a match suggestion is created by Idem, we request to host a game server at a server hosting provider of your choice. Once we receive the server join info for the server from the server hosting provider, we forward it to each player who is part of the suggested match.
Since game clients are not going through a backend server, the player-based architecture includes additional components for an optimized experience. These include:
- Integration with authentication providers (e.g. Steam and Firebase) for securing your matchmaking queues
- Integration with lobby services (e.g. Unity and Steam) to allow players to be matched with their friends as a party
The overall player-based architecture looks like this:

Player-based architecture
You can learn all about implementing the player-based architecture here.
Server-based
In the server-based architecture, the communication with Idem happens centrally from your backend. This means that game clients connect to your backend, which handles orchestration and communicates with Idem on their behalf. Typically, the game backend also manages game server hosting. The overall architecture looks like this:

Server-based architecture
If you want to outsource managing the server hosting, Idem can take care of that for you. In that case, Idem will communicate directly with a server hosting provider of your choice and request a server to be hosted for each match. Once we receive the server join info from the server hosting provider, we forward it to your backend so it can be shared with the game clients.
The corresponding architecture looks like this:

Server-based architecture with game server hosting via Idem
You can learn all about implementing the server-based architecture here.
Choose your architecture
As mentioned above, the most important question is who will be communicating with Idem - a backend or the game clients themselves. Since Idem only requires communication via WebSocket or REST, it supports any kind of game backend, whether self-built or 3rd party Game-Backend-as-a-Service (GBaaS).
Own backend
If you are building your own backend, you simply connect that backend to Idem via WebSocket or REST. This also applies if you are using a 3rd party game backend for certain aspects of your game backend (e.g. collectibles), but you handle player orchestration with your own code.
Your architecture → Server-based
Third party backend (GBaaS)
We have reference implementations and tutorials for a number of popular GBaaS. If you are using one of them, it will be a breeze to integrate it with Idem. You can check out the list here.
If the GBaaS you are using is not on the list yet, please get in touch at match@idem.gg. We continuously add integrations with more GBaaS platforms, so support for yours may be coming soon. But even if not, by following the instructions for the player-based architecture, you can easily integrate with any backend. Our integrations just remove some steps from that process.
Your architecture → Server-based
Note: If you are only using GBaaS for functions not related to matchmaking, see Own backend.
No backend
If your game does not use a backend at all, player-based is the architecture for you.
Your architecture → Player-based
If you are not sure which architecture is correct for you, reach out to us at match@idem.gg and we're happy to help you find the best way to integrate Idem matchmaking into your game.