Before you start
- A build with status
ready. - The Pro plan. Queues, lobbies and matchmaking are Pro only. See Plan Limits.
How it works
- A player creates a lobby from your game. Friends join it.
- The lobby’s host (the player who created it) enters the queue.
- Simpl looks for other lobbies in the same queue that fit your rules.
- When there are enough players, Simpl starts a server and tells every player where to connect.
1. Create a queue
In the dashboard: open the Queues tab, click Create queue, fill in the form, and click Create queue again to save it. With the API, using your server key:
Optional:
host_leave_behavior says what happens when the host leaves a lobby. "promote" (the default) makes another player the host. "delete" closes the lobby.
2. Add rules (optional)
Rules go inmatchmaking. They read the player state: a small set of values each player sends when they join a lobby, such as a skill rating.
matchmaking.timeout is how many seconds Simpl searches before giving up. The lobby then goes back to waiting.
Teams and roles
For a game like 1 hunter against 4 survivors, list how many of each role each team needs. The match size is then the total, 5 here.role in their state. A player with no role can fill any spot.
3. Send player state
Players send their state when they create or join a lobby:4. Find a match from your game
Your game calls these with the client key (ck_live_...) in the api-key header, and the player’s ID in the x-player-id header. The player ID is your own ID for that player.
- Create a lobby:
POST /v1/lobbieswithname,region, yourqueue_idand the player’sstate. - Other players join by the lobby’s ID or its invite code.
- The host enters the queue:
POST /v1/lobbies/{lobby_id}/queue. - Wait for the server. Simpl sends a
server_readyevent when the server is up, with itsnetwork_ports. Players connect tohost:external_portof the port namedgame. You can also read the lobby (GET /v1/lobbies/{lobby_id}) every few seconds until itsserverhasstatusrunning.