Download

Joining a dedicated server from a client using Steam.

Hello friends!

I am trying to host a dedicated server that I can access through any machine on the internet. I was lead to believe that the Null subsystem was not ready for this yet, and decided to give steam a try, here is my plight:

I make my server, host it on Azure, and open all of the ports listed here.
I launch my client and attempt to connect using some messy c++ I cobbled together, and it all appears to work until:

After getting session data and populating a session the client goes to the code in FOnlineSessionSteam::JoinInternetSession() and it appears that the code does… well nothing. I am not too good with c++, but my assumption was initially “The client joins the session hosted on the internet!” or dedicated server, it made sense at the time.

Now I have seen a lot of successful Steam projects that all look like they run on listen servers and that is awesome, I want that.
Is there a way to host a dedicated server and to join it through the internet currently? Any ideas on why my solution isn’t working? Please let me know!

Thanks =D

-Spiris

It surely is, thought may require a bit of custom coding.

http://www.youtube.com/watch?v=Zx5hU9gogXs

I will release the source code for the setup as soon as I finish a couple of other important features like persistent data management, for instance.

This looks pretty neat, I will look forward to your success with it. In the interim though, I will see if I can make this method work.

The solution actually seems to have lied in the manner I was trying to connect. I was using a delegate to respond when find session was complete, and if there were session results, the first one was connected to immediately. I am not entirely certain as to why this did not work, however, when I list out the servers found instead and connect to them through a UMG widget, it just works. The code is still a little misleading to me, but I guess a solution is a solution.

Do you have a Steam app id or are you trying to use the test one? (480)