Issue with Hosting a Game Using Steam Online Subsystem in Unreal Engine 5.4

Hello everyone,

I’m encountering an issue while attempting to host a game in my project using Steam Online Subsystem with Advanced Sessions. Here’s a summary of the problem:

  • Blueprint Setup: I’m using Steam Advanced Sessions to handle hosting and joining games. The level is opened via the listen command in my Game Instance.
  • Subsystem Behavior:
    • With Online Subsystem Nullselected, I can successfully host a game in Standalone Mode, and everything works as expected.
    • However, when I disable the Null subsystem and enable the Steam Online Subsystem, pressing “Host Game” either fails to start the game or loads the map for about one second before returning to the main menu.
  • Additional Details:
    • I’ve enabled SteamSockets and configured the necessary entries in my DefaultEngine.ini.
    • My Plugins folder includes only Steam Advanced Sessions and Advanced Sessions plugins.
    • I have Steamworks SDK installed, but I’m unsure where exactly to place it in the project directory when working with packaging or testing.
  • Unreal Engine Version: I am using Unreal Engine 5.4.
  • Urgency: My game is scheduled to launch on Steam in two weeks, and this issue is preventing me from finalizing the multiplayer functionality.

I’ve followed various tutorials and documentation, but I haven’t been able to resolve this problem. Any advice or guidance on what might be causing the game to fail when using the Steam subsystem would be greatly appreciated.

Thank you in advance for your time and assistance!

Hey @Skylegolastrr can you share the logs when using OnlineSubsystemSteam?

Every tutorial i have ever tried has failed for me, until i followed this one
Lmk how that goes for you

Also turn off steam sockets
you have to also use the gameinstance provided by advanced sessions

I’m encountering an issue with my multiplayer game on Steam, and I could use some help troubleshooting.

Setup

  • Game: Multiplayer game developed in Unreal Engine using Advanced Sessions and Steam Subsystem.
  • Server: Host server is created using the Create Advanced Session node in the Game Instance.
  • Client: Connects to the hosted server via Find Sessions and joins successfully.
  • Steam Overlay: Fully functional, launching the game via Steam displays the overlay with no issues.
  • Deployment: Game is uploaded as a valid Steam depot.

Issue

When connecting to the hosted server, the ping always shows as 9999, even when using two different Steam accounts on separate computers on the same local network. This issue also causes erratic physics behavior, such as players being stuck or moving too fast.


Logs

Below are two key logs:

1. Log from Steam when launching the game:

Setting breakpad minidump AppID = 1234567
SteamInternal_SetMinidumpSteamID:  Caching Steam ID:  76561198123456789 [API loaded no]

2. Log from the standalone session:

LogSteamShared: Display: Loading Steam SDK 1.57
LogSteamShared: Steam SDK Loaded!
LogOnline: STEAM: Starting SteamWorks. Client [1] Server [1]
LogOnline: STEAM: [AppId: 1234567] Client API initialized 1
LogOnline: STEAM: [AppId: 1234567] Game Server API initialized 1
LogOnline: STEAM: Initializing SteamNetworking Layer
LogOnline: OSS: Created online subsystem instance for: Steam
LogOnline: OSS: TryLoadSubsystemAndSetDefault: Loaded subsystem for type [Steam]
LogOnline: STEAM: Missing P2PCleanupTimeout key in OnlineSubsystemSteam of DefaultEngine.ini, using default

What I’ve Tried

  1. AppID: Verified the AppID in the game files, Steamworks settings, and DefaultEngine.ini.
  2. Standalone Tests: Ran the standalone game with -log and confirmed SteamSubsystem initialization messages.
  3. Steam Overlay: Verified that the overlay is working correctly.
  4. Server and Client Tests: Hosted and joined a session using two accounts on different PCs but on the same network.

Despite the above, the ping remains 9999, which seems to cause instability during gameplay.

Questions

  1. Could this be an issue with how SteamSubsystem handles local connections, or is it related to networking configuration in Unreal Engine?
  2. Is the log message [API loaded no] indicative of a problem with Steam API initialization, despite the subsystem seemingly working?

I’d appreciate any insights or suggestions for resolving this issue. Thank you!

I’m encountering an issue with my multiplayer game on Steam, and I could use some help troubleshooting.

Setup

  • Game: Multiplayer game developed in Unreal Engine using Advanced Sessions and Steam Subsystem.
  • Server: Host server is created using the Create Advanced Session node in the Game Instance.
  • Client: Connects to the hosted server via Find Sessions and joins successfully.
  • Steam Overlay: Fully functional, launching the game via Steam displays the overlay with no issues.
  • Deployment: Game is uploaded as a valid Steam depot.

Issue

When connecting to the hosted server, the ping always shows as 9999, even when using two different Steam accounts on separate computers on the same local network. This issue also causes erratic physics behavior, such as players being stuck or moving too fast.


Logs

Below are two key logs:

1. Log from Steam when launching the game:

Setting breakpad minidump AppID = 1234567
SteamInternal_SetMinidumpSteamID:  Caching Steam ID:  76561198123456789 [API loaded no]

2. Log from the standalone session:

LogSteamShared: Display: Loading Steam SDK 1.57
LogSteamShared: Steam SDK Loaded!
LogOnline: STEAM: Starting SteamWorks. Client [1] Server [1]
LogOnline: STEAM: [AppId: 1234567] Client API initialized 1
LogOnline: STEAM: [AppId: 1234567] Game Server API initialized 1
LogOnline: STEAM: Initializing SteamNetworking Layer
LogOnline: OSS: Created online subsystem instance for: Steam
LogOnline: OSS: TryLoadSubsystemAndSetDefault: Loaded subsystem for type [Steam]
LogOnline: STEAM: Missing P2PCleanupTimeout key in OnlineSubsystemSteam of DefaultEngine.ini, using default

What I’ve Tried

  1. AppID: Verified the AppID in the game files, Steamworks settings, and DefaultEngine.ini.
  2. Standalone Tests: Ran the standalone game with -log and confirmed SteamSubsystem initialization messages.
  3. Steam Overlay: Verified that the overlay is working correctly.
  4. Server and Client Tests: Hosted and joined a session using two accounts on different PCs but on the same network.

Despite the above, the ping remains 9999, which seems to cause instability during gameplay.

Questions

  1. Could this be an issue with how SteamSubsystem handles local connections, or is it related to networking configuration in Unreal Engine?
  2. Is the log message [API loaded no] indicative of a problem with Steam API initialization, despite the subsystem seemingly working?

I’d appreciate any insights or suggestions for resolving this issue. Thank you!

The video i linked answers all of your questions
You can’t do it on the same computer unless you do it the way he does
You have to use the AdvancedGameInstance provided by the advanced sessions

The answer is undo everything he didnt do in the video, make sure everything is spelled right and in the right place in your config and it should work provided your either using two different computers or use some kind of app to get around it

If your having problems in your game that’s down to replication issues