Is there anyone who can run the Online Subsystem Steam properly in UE 5.6?

Here is an explanation of what’s going on, just so people are wrapping their heads around it.

1. [/Script/Engine.GameEngine]
2. !NetDriverDefinitions=ClearArray
3. +NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/SteamSockets.SteamSocketsNetDriver",DriverClassNameFallback="/Script/SteamSockets.SteamNetSocketsNetDriver")

4. [OnlineSubsystem]
5. DefaultPlatformService=Steam

6. [OnlineSubsystemSteam]
7. bEnabled=true
8. SteamDevAppId="480"
9. SteamAppId="480"
10. bUseSteamNetworking=true
11. bAllowP2PPacketRelay=true

12. [/Script/OnlineSubsystemSteam.SteamNetDriver]
13. NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"

7 tells steam to be enabled for the application.
8 + 9 just tells steam what game is launching. you replace this with an Steam AppID steam provides once you purchase the rights to post a game on their store.
10 tells unreal engine you want access to steams networking tools which I’ll explain further.
11 replaces bInitServerOnClient. bInitServerOnClient would allow you to host a server on your local pc currently running the client, then let the client join, and potentially others as well. bAllowP2PPacketRelay tells the newer engine you would like to allow Peer2Peer Connections which includes the server/Client setup.

Online Subsystem Steam is an API that allows you to access steams interfaces,
Some interfaces:

  • Matchmaking (Lobbies and GameServer APIs)
  • Leaderboards
  • Achievements
  • Voice
  • UserCloud
  • SharedCloud
  • External UI

From what I understand, Steam Sockets is a plugin that extends Online Subsystem steam and includes the following.

  • Improved Security and Reliability
  • DDos Protection
  • End to end encryption with NAT Traversal
  • Ping calculation for listen servers, this allows Matchmaking systems to determine optimal servers by ping without having to join them. The older SteamNetworking could not provide ping calculation until users were already connected to the server.

Using Steam Sockets in Unreal Engine | Unreal Engine 5.6 Documentation | Epic Developer Community

Lastly, Through much testing, I found trying to host a game from within the editor will result in an error when trying to configure the listen socket.

This error is only in the editor

if you compile your game and run the compiled project, it should let you host correctly.

1 Like