Download

Is this the proper way of using Sessions and Beacons together for matchmaking?

[FONT=Lucida Sans Unicode]Hey, I’ve been trying to create a lobby system for a project I’m working on. After research and heavy experimenting, I’ve come up with this solution, however as you can see, I’m still missing some pieces of the puzzle. Thanks to the lack of documentation and resources on this subject, I’m not sure if I’m on the right track or not.

Player wants to create a new lobby: [ol]
[li][FONT=Lucida Sans Unicode]Spawn OnlineBeaconHost and initialize it.[/li][li][FONT=Lucida Sans Unicode]Spawn OnlineBeaconHostObject and register the host.[/li][li][FONT=Lucida Sans Unicode]Create a Session via the OnlineSessionInterface. (I’m not sure if I should create a “Party” or a “Game” session?)[/li][/ol] [FONT=Lucida Sans Unicode]Player wants to join a lobby: [ol]
[li][FONT=Lucida Sans Unicode]Find Sessions using the OnlineSessionInterface.[/li][li][FONT=Lucida Sans Unicode]Loop through SessionSearchResults. For each loop:[LIST=1][/li][li][FONT=Lucida Sans Unicode](Get the destination URL somehow without joining the session? Not sure how to do this yet)[/li][li][FONT=Lucida Sans Unicode]Join the lobby beacon by spawning the OnlineBeaconClient and initalizing it with the destination URL.[/li][li][FONT=Lucida Sans Unicode]Check if we have enough room in the lobby for us to join. (Not sure how to do this yet)[/li][li][FONT=Lucida Sans Unicode]Reserve a spot in the Session for us. (Not sure how to reserve a spot either)[/li][li][FONT=Lucida Sans Unicode]Join the Session via the OnlineSessionInterface.[/li][/ol]
[li][FONT=Lucida Sans Unicode]Player joined a lobby. Open widgets, and let OnlineBeaconHostObject handle lobby logic. Like keeping track of ready states, etc…[/li][li][FONT=Lucida Sans Unicode]If all players are ready, start the Session, and server travel to the game map.[/li][/LIST]
[FONT=Lucida Sans Unicode]If you have any experience with these systems, please let me know.
Thanks in advance, and thank you for reading!