Anything wrong with my logic in implementing a Lobby/Party System using Steam in the backend?

Hi Everyone,

So I am trying to create a Lobby/Party system for my game. However, it is not working currently. Can anyone tell me if my logic makes sense?

  • When I start a game (in 2 players), I wait till the world is created and start a party session using PartySessionName. This then allows me to create a ‘PartyBeaconHost’ - on each machine - and InitPartyHost and register this beacon with a listener.

  • After that, a player just hit the ‘find a game’ game button and call FindSessions, which finds the best session. For now, I just do the first one found. **THIS IS WHERE IT FAILS FOR ME ON STEAM. **I cannot find the session for some reason, and it always returns 0 sessions found. It should at least be 1 for my local session, this works on LAN for some reason.

  • After finding the session, create a Reservation beacon, or PartyBeaconClient, and call RequestReservation on the best session found above to connect to the other player’s Host Beacon.

  • After finding however many players are needed, do my own stuff (like vote on map and voice chat) and create a ‘Game Session’ which then chooses a listen server and travels all players to a map that was voted on.

I am aware Steam sockets are required so I added this to the GameEngine section in GameEngine.ini file in Config folder:

+NetDriverDefinitions=(DefName=“BeaconNetDriver”,DriverClassName=“/Script/OnlineSubsystemSteam.SteamNetDriver”,DriverClassNameFallback=“OnlineSubsystemUtils.IpNetDriver”)

Anything wrong with my logic, or is there something I am missing with setting up Steam Sockets?

Anyone have any ideas?