Can't find my Steam dedicated server session

Hello,
I’m currently trying to setup Steam on a dedicated server. Unfortunately, I can’t see its hosted session and trying to directly join the server IP doesn’t seem to work either. I’ll try to include as much information about what I’ve done already as possible:

  • I’m using a 4.16 source built version of the engine. The dedicated server has been built using the Development Server Win64 preset in Visual Studio after packaging the game itself.
  • I initially followed [this guide][1] to set up the dedicated server.
  • The dedicated server and client are on different machines. Both are logged in with different Steam accounts.
  • Ports 27000 to 27030 as well as port 7777 on the server are forwarded and should not be blocked by a firewall.
  • OnlineSubsystem, OnlineSubsystemSteam and OnlineSubsystemNULL (?) plugins are enabled.
  • Starting the client causes the Steam overlay stuff to appear, so that seems to be working.
  • Clients are using this to try to find a server, although they never find anything. The only output is “kill me”.

The “Find Sessions”-node is from the AdvancedSessions plugin. I’m also trying to connect using a “Execute Console Command” node with "open " as the string input, with serverIP being, of course, the IP of the server. Adding “:7777” following the IP doesn’t change anything either. This is one of the things I’m unsure the most about due to seeing someone in some answerhub thread say that this is not how you join Steam games, but instead, you’ve got to use “open steam.XXXXX” with XXXXX being some ID I can’t seem to find. Also, this happens in a main menu and the player controller is not the same as in the actual game. I’m confused at why there is a player controller input in the “Find Session”-node and hope that doesn’t cause problems.

  • In the level blueprint, the server executes this to check if Steam is enabled. It is.

  • The server doesn’t have any “Create Session”-Blueprints. I’ve read that it should automatically create a session.
  • [The DefaultEngine.ini looks like this][4].
  • [The Build.cs looks like this][5]. The “DynamicallyLoadedModuleNames.Add(“OnlineSubsystemSteam”);” is commented because I’ve seen someone say in some thread that this wasn’t required anymore since the Steam Subsystem plugin is a thing.
  • If I start the client and then the dedicated server on the same machine, the Steam initialization of the dedicated server fails. This enables me to join the server using “open 127.0.0.1”, but of course, I don’t want a non-steam dedicated server. (Wanted to add this just in case it could be important)

Thank you for taking the time. I’m completely stuck currently and figured that listing all of the stuff would not only help solving my problem, but also provide a useful resource for people trying to do it in the future. I’ve read a ton of threads with a similar problem, but none of those have helped me accomplishing this. Ask ahead if anything important is missing.

I managed to do it by creating a session using the “Create Session Advanced” node (dedicated server activated, presence deactivated, LAN deactivated) and connecting the client player controller to the “Join Session” node shown above. This caused some Steam tag overflow error at first, but I fixed it using this workaround. There still is an “invalid player state” error which doesn’t have an effect due to the “Create Session Advanced” node not requiring a Player Controller input on a dedicated server.

I too would love to know the syntax to open a steam game too.

What does your call to CreateAdvancedSession on your dedicated server look like - and where do you call it?

And, what part of that “workaround” did you use?

Hey there,
running into a similiar issue myself. Did you happen to have any luck getting it to work? I can join the game from a client on the same network with the console command open steam.[dedicated server id]. But I would like it to show up in the advanced find a session thing, like any listen servers I make do…

(btw u find your dedicated server id in the LAN tab of steam->servers, it’s the long 10 or 12 number)