Bolt Lobby Authentication

Options
I realize I am a late adopter of Bolt, but so far I have loved every bit of it. It really seems to take the work out of server authoritative multiplayer. I do seem to be struggling a bit on one part and I do realize that I may just not be working with the correct design in my head.

I have been trying to add the authentication piece to my bolt game. I noticed that I can pass authentication tokens via BoltNetwork.Connect(), but not using BoltLauncher.StartClient(). I am curious as to the "best practices" in handling this particular issue. Currently the flow I had in mind was to have the players login and then present them with options to create/join matches, customize their player, etc before actually joining the server match. I was hoping to use the webhooks callbacks to generate servers as needed on room creation to referee the matches.

I do realize that I can have a server sitting in a "Login" room and have the client seek that room out for a quick authentication check before looking for matches, but is there some inherent limitation there? It seems like it allows me to have my server spawn other room servers instead of using webhooks if I have the players go to a master server first, but it also seems like the rooms may not be the best place for this traffic when the lobby was more designed for it.

Also, I have thought that perhaps I can use BoltNetwork.Connect() intead of BoltLauncher.StartClient(), but I am not sure how to load the BoltConfig that way or if that was even an intentded use method.

I apologize in advance if this is sitting in documentation somewhere that I have missed, but I have been looking for this answer for more than 2 days straight. I would love ideas on the "most preferred" way to tackle this.

Comments

  • stanchion
    Options
    One option is to have your configuration options and login menu, then connect to the Bolt server with your login info sent in the connect token. With connect mode set to manual, the server can accept or reject the connection. For example you can use PlayFab for this.

    "I was hoping to use the webhooks callbacks to generate servers as needed on room creation to referee the matches."
    You would need to integrate with something like GameLift or something to dynamically spin up and down servers. It'll also allow you to look at a list of matches or creation of a new match before start Bolt.

    Can go into more detail on Discord.