Nakama Matchmaking Integration With Fleet Gameservers

I have a fleet of Unity gameservers running on a Kubernetes cluster with Agones. I have an allocator service that has en endpoint to allocate a game server and return an address:port.

I would like for the Matchmaker to be able to request a server allocation and return the IP address to all players to connect to (using a Unity realtime networking library).

On game success, the server will need to report winnings back to Nakama – but I think I have a handle on this with the server to server protocol, conceptually.

This seems like something a lot of people are trying to do or have done. Is there example or best practices or anything in place for a server auth matchmaking config?

@shawmakesmusic We’ve got lots of studios who’re using GameLift or another fleet management service for Unity or Unreal headless instances with Nakama in a similar way to what you want to achieve.

I would like for the Matchmaker to be able to request a server allocation and return the IP address to all players to connect to (using a Unity realtime networking library).

The best way to approach this problem is with a hook on the MatchmakerMatched event with the server. You can then signal out to the separate service to provision a game instance and when the results come back you push them to clients over their notification streams. :slight_smile:

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

On game success, the server will need to report winnings back to Nakama – but I think I have a handle on this with the server to server protocol, conceptually.

Yep this is easy because you can just execute a server to server function call with Nakama.

https://heroiclabs.com/docs/runtime-code-basics/#server-to-server

This seems like something a lot of people are trying to do or have done. Is there example or best practices or anything in place for a server auth matchmaking config?

We don’t have any dedicated docs for it yet but contributions are welcome. Even in the form of a guest blog post if you like.

1 Like