How can I users join an existing match?

Hello everyone,

I’m trying to develop a Jackbox style Letter code system for joining matches. This works great with the matchmaking system where I pass the String Variable with the code. However, this only works for the inital search. After the Match starts people joining need the actual match_id to join and can’t find the match with matchmaking.

I’m either doing something very wrong, or is this just not possible to do. From what I understood, Matchmaking would work despite the match having already started.

Basicly the Idea would be a Realtime Match (Client Authoritive) where someone would create the Match and Generate the code, then people would write that code in a textbox and Join that match. I’d idealy have a lobby where people would wait until the Match Creator would press a Start Game button to get the actual match underway.

Any ideas if this is doable under Matchmaking with Client Authoritive system? I’d love to have like 0 server side code to run.

Hey @DeviousMantis this can absolutely be done, what you’re looking for is the Match Listings API. This will allow you to list active matches on the server and filter them as per your requirements (where the code matches for example).

https://heroiclabs.com/docs/gameplay-multiplayer-server-multiplayer/#match-listings

If you’re using Unity and want to do this Client side you can call the Client.ListMatchesAsync function.

1 Like

@DeviousMantis Just to add to what @tom mentioned. Nakama has two APIs to place users into matches:

  1. You’ve already seen the matchmaker. It’s used to place users together from the matchmaker pool into a new match together. The matchmaker matches users with other users.
  2. Match listings allow users to find matches by some criteria that are already started. Use listings when you want to match users with running multiplayer matches.

Most games built with Nakama utilize one, or the other, or a combination of both of these APIs to achieve all the matchmaker logic needed for a game. For example, list matches that have already started if they’re not a good fit for the user then place them into the matchmaker pool. You can implement whatever UI workflow you like to have the APIs fit with your game design requirements.

Hope this helps.