Can't host a server using Steam. "STEAM: No game present to join for session (Game)"

Hello!

My game works well without the Steam API, I can host a game with open map?listen and join over a network with open ip however I can’t seem to get it working with the Steam API.

The following occurs in the log when I try to host a game with open map?listen on a standalone build:

[2014.07.23-08.26.11:040][288]LogNet: Browse: /Game/Maps/Dev?listen
[2014.07.23-08.26.11:040][288]LogLoad: LoadMap: /Game/Maps/Dev?listen
[2014.07.23-08.26.11:099][288]LogParticles: Destroying 0 GPU particle simulations for FXSystem 0x000000001136CCC0
[2014.07.23-08.26.11:143][288]LogMemory: Platform Memory Stats for Windows
[2014.07.23-08.26.11:143][288]LogMemory: Process Physical Memory: 399.88 MB used, 503.77 MB peak
[2014.07.23-08.26.11:143][288]LogMemory: Process Virtual Memory: 332.93 MB used, 448.14 MB peak
[2014.07.23-08.26.11:143][288]LogMemory: Physical Memory: 4913.26 MB used, 8169.64 MB total
[2014.07.23-08.26.11:143][288]LogMemory: Virtual Memory: 805.75 MB used, 8388608.00 MB total
[2014.07.23-08.26.11:143][288]LogMemory: 
[2014.07.23-08.26.11:143][288]Allocator Stats for TBB: (not implemented)
[2014.07.23-08.26.12:531][288]LogLinker:Warning: Asset '../../../Engine/Content/Functions/Engine_MaterialFunctions02/Texturing/FlipBook.uasset' has been saved with empty engine version. The asset will be loaded but may be incompatible.
[2014.07.23-08.26.12:585][288]LogWorld: Game class is 'SB_BPGameMode_C'
[2014.07.23-08.26.12:586][288]LogNet:Display: SteamNetDriver_0 bound to port 7777
[2014.07.23-08.26.12:586][288]LogNet: GameNetDriver SteamNetDriver_0 IpNetDriver listening on port 7777
[2014.07.23-08.26.12:586][288]LogAIModule: Creating AISystem for world Dev
[2014.07.23-08.26.12:591][288]LogWorld: Bringing World /Game/Maps/Dev.Dev up for play (max tick rate 0) at 2014.07.23-18.26.12
[2014.07.23-08.26.12:692][288]LogWorld: Bringing up level for play took: 0.106699
[2014.07.23-08.26.12:693][288]LogOnline:Warning: STEAM: No game present to join for session (Game)
[2014.07.23-08.26.12:693][288]LogPlayerController: Spawned spectator SpectatorPawn_1 [server:1]
[2014.07.23-08.26.12:693][288]LogGameMode: RestartPlayer Acren

Config has:

[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystem.IpNetDriver")
 
[OnlineSubsystem]
DefaultPlatformService=Steam
 
[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
 
[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"

DLL files are being loaded.

Any help solving this would be appreciated!

full log here

Hi Acren,

Are there any errors in the connecting client’s log? That same warning prints on the server in ShooterGame (a bug we do need to fix), but it shouldn’t prevent clients from connecting.

LowLevelGetNetworkNumber() doesn’t work, so I don’t know if my steam ID is correct. This may be another lead.

Anyway, assuming that the steam ID is just the host player’s steam 64 ID found by this site http://steamid.co/, the following information might help.

Edit: Nevermind. I can get the Steam ID, and yes it is the steam 64 of the host player.

Attempting to join on the client:

[2014.07.24-08.12.28:044][539]LogNet: Browse: steam.7656119<numbers>//Game/Maps/Dev
[2014.07.24-08.12.28:044][539]LogNet:Display: SteamNetDriver_0 bound to port 7777
[2014.07.24-08.12.28:044][539]LogNet: Game client on port 7777, rate 10000

and about 5 seconds later:

[2014.07.24-08.12.43:063][471]LogNet: UNetConnection::Close: Name: SteamNetConnection_0, Driver: PendingNetDriver SteamNetDriver_0, PC: NULL, Owner: NULL, Channels: 2, RemoteAddr: 7656119<numbers>:7777, Time: 2014.07.24-08.12.43
[2014.07.24-08.12.43:063][471]LogNet: UChannel::Close: Sending CloseBunch. ChIndex == 0. Name: ControlChannel_0
[2014.07.24-08.12.43:077][471]LogNet:Warning: Network Failure: PendingNetDriver[PendingConnectionFailure]: Your connection to the host has been lost.
[2014.07.24-08.12.43:077][471]LogNet: NetworkFailure: PendingConnectionFailure, Error: 'Your connection to the host has been lost.'
[2014.07.24-08.12.43:077][471]LogNet: DestroyNamedNetDriver SteamNetDriver_0 [PendingNetDriver]
[2014.07.24-08.12.43:077][471]LogExit: PendingNetDriver SteamNetDriver_0 shut down

Obviously I put the rest of the host’s real Steam64 in .

The thing is, it makes no difference if I use a real Steam64 ID or just keyboard spam.

I tried enabling verbose logging.

Results here as it’s too long to post in a comment:

Seems like I’m getting the same problem as here:

although that happened a while ago, and there doesn’t seem to be a solution.

Thanks for the verbose log. This appears to be the root of the problem:
[2014.07.24-12.16.28:849][854]LogOnline:Verbose: STEAM: FOnlineAsyncEventSteamConnectionFailed RemoteId: Acren [0x1100001022B31FF] Reason: ‘4’ k_EP2PSessionErrorTimeout (Timeout)

Can you try to reproduce the problem in the ShooterGame sample? You will need to update the SteamDevAppId value in ShooterGame/Config/DefaultEngine.ini to be the one for your own game.

Yeah, the connection seems to be timing out, however the request does get received by the server. (Unless that client connection request is a notification from steam rather than directly from the client…)

I am just using the default 480 app ID for now, would that be an issue?
I’ll try ShooterGame when I get the chance.

Alright, we loaded up the ShooterGame, set the AppId to 480, set RequireEngineVersionMatch=False and synchronized our ProjectIDs, and we were able to connect but ONLY using the main menu to host rather than open map?listen.

I have attached logs from the server and client of each of the following cases:

  • Hosting ShooterGame via menu
  • Hosting ShooterGame via console
  • Hosting our game via console

Thanks for any help.

link text

I’m still having this issue. Can you give me any more support?

Hi Acren,

Sorry for the delay. This issue may be related to using the actual IP address of the host. Internally, Unreal uses a string formatted like “steam.<host Steam ID>:<port>” to connect over Steam, so you may need to use this in the “open” command.