Steam Integration / Dedicated Server no longer working in 4.24!

Hello,

I recently updated to UE4.24 and having massive issues with the Steam Integration and Dedicated Servers. The project and dedicated servers where running perfectly fine in older engine versions (unfortunatly I have spent so much work in the last 2 weeks within UE4.24 that reverting back to an old Engine version is not possible).

If I launch the game as a client (standalone) the steam integration works perfectly fine. When I build the Dedicated Server the below Log is printed where it states that ***Steam Dedicated Server API failed to initialize. ***The Server is not listed and cannot be found, if I launch with the -NOSTEAM command it obviously failes to create a session.

So here is the question - What changed from UE 4.22 to 4.24 to massivly destroy the Steam Integration for dedicated servers?
I have tried many different DefaultEngine setups (all you can find on google and in the documentation) as well as for the Server Target file. There seams currently no way to launch a Dedicated Server with the currently given informations.

How can I fix this?

Log:



[2020.03.03-15.22.31:699]  0]LogOnline: OSS: Creating online subsystem instance for: Steam
[2020.03.03-15.22.31:701]  0]LogSteamShared: Warning: Steam Dedicated Server API failed to initialize.
[2020.03.03-15.22.31:702]  0]LogOnline: STEAM: [AppId: 0] Game Server API initialized 0
[2020.03.03-15.22.31:703]  0]LogOnline: Warning: STEAM: Failed to initialize Steam, this could be due to a Steam server and client running on the same machine. Try running with -NOSTEAM on the cmdline to disable.
[2020.03.03-15.22.31:704]  0]LogOnline: Display: STEAM: OnlineSubsystemSteam::Shutdown()
[2020.03.03-15.22.31:705]  0]LogOnline: Warning: STEAM: Steam API failed to initialize!
[2020.03.03-15.22.31:705]  0]LogOnline: Display: STEAM: OnlineSubsystemSteam::Shutdown()


DefaultEngine (I changed the AppID to SpaceWar just for this example):



[OnlineSubsystem]
PollingIntervalInMs=20
DefaultPlatformService=Steam
VoiceNotificationDelta=0.2

[/Script/Engine.Engine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")

[/Script/OnlineSubsystemUtils.IpNetDriver]
NetServerMaxTickRate=60
MaxClientRate=15000
MaxInternetClientRate=10000


[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
SteamAppId=480
GameServerQueryPort=27015
bRelaunchInSteam=false
GameVersion=1.0.0.0
bVACEnabled=1
bAllowP2PPacketRelay=true
bUsesPresence=false
P2PConnectionTimeout=90
Achievement_0_Id=

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


I run on 4.24.1 and, while I can’t see the dedicated server under the Internet tab on Steam, it does successfully initialise and it is shown under Lan tab.



[2020.03.06-07.47.22:065]  0]LogLoad: (Engine Initialization) Total time: 1.04 seconds
[2020.03.06-07.47.23:486] 42]LogNet: Browse: /Game/_Levels/Level1?listen
[2020.03.06-07.47.23:486] 42]LogLoad: LoadMap: /Game/_Levels/Level1?listen
[2020.03.06-07.47.23:487] 42]LogWorld: BeginTearingDown for /Game/_Levels/MainMenu
[2020.03.06-07.47.23:490] 42]LogNet: World NetDriver shutdown SteamNetDriver_2147482586 [GameNetDriver]
[2020.03.06-07.47.23:490] 42]LogNet: DestroyNamedNetDriver SteamNetDriver_2147482586 [GameNetDriver]
[2020.03.06-07.47.23:490] 42]LogExit: GameNetDriver SteamNetDriver_2147482586 shut down
[2020.03.06-07.47.23:491] 42]LogWorld: UWorld::CleanupWorld for MainMenu, bSessionEnded=true, bCleanupResources=true
[2020.03.06-07.47.23:492] 42]LogUObjectHash: Compacting FUObjectHashTables data took   0.60ms
[2020.03.06-07.47.23:553] 42]LogAIModule: Creating AISystem for world Level1
[2020.03.06-07.47.23:554] 42]LogLoad: Game class is 'MultiplayerGameMode_C'
[2020.03.06-07.47.23:556] 42]LogNet: ReplicationDriverClass is null! Not using ReplicationDriver.
[2020.03.06-07.47.23:556] 42]LogNetCore: DDoS detection status: detection enabled: 0 analytics enabled: 0
[2020.03.06-07.47.23:557] 42]LogNet: Display: SteamNetDriver_2147482567 bound to port 7777
[2020.03.06-07.47.23:557] 42]PacketHandlerLog: Loaded PacketHandler component: Engine.EngineHandlerComponentFactory (StatelessConnectHandlerComponent)
[2020.03.06-07.47.23:557] 42]LogNet: GameNetDriver SteamNetDriver_2147482567 IpNetDriver listening on port 7777
[2020.03.06-07.47.23:561] 42]LogWorld: Bringing World /Game/_Levels/Level1.Level1 up for play (max tick rate 30) at 2020.03.06-09.47.23
[2020.03.06-07.47.23:562] 42]LogWorld: Bringing up level for play took: 0.003420
[2020.03.06-07.47.23:562] 42]LogGameMode: Display: Match State Changed from EnteringMap to WaitingToStart
[2020.03.06-07.47.23:563] 42]LogBlueprintUserMessages: [Level1_C_0] Dedicated Server successfully started!
[2020.03.06-07.47.23:565] 42]LogGameState: Match State Changed from EnteringMap to WaitingToStart
[2020.03.06-07.47.23:565] 42]LogLoad: Took 0.079518 seconds to LoadMap(/Game/_Levels/Level1)


My DefaultEngine.ini




[/Script/Engine.Engine]
SmoothedFrameRateRange=(LowerBound=(Type=Inclusive,Value=22.000000),UpperBound=(Type=Exclusive,Value=187.533066))
bSmoothFrameRate=True
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")

[OnlineSubsystem]
DefaultPlatformService=Steam
PollingIntervalInMs=20
bHasVoiceEnabled=true
bUsesPresence=false
; Uncomment the following line to use the Null Subsystem
; DefaultPlatformService=Null
VoiceNotificationDelta=0.2

[OnlineSubsystemSteam]
bEnabled=true  
SteamDevAppId=480
SteamAppId=480
GameServerQueryPort=27015
bRelaunchInSteam=false
GameVersion=1.0.0.0
bVACEnabled=1
bAllowP2PPacketRelay=true
P2PConnectionTimeout=90
bUsesPresence=false
; This is to prevent subsystem from reading other achievements that may be defined in parent .ini
Achievement_0_Id=""


[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"
;ReplicationDriverClassName="/Script/ShooterGame.ShooterReplicationGraph"
AllowDownloads=false


So the only difference I see is the order and missing value on Achievement_0_Id(not sure if no value is considered as empty string).

Everything works fine using the space war app id: 480
But using my own app id the server starts ok, but client can´t see in steam servers tab or find session.

did you manage to make this to work on 4.23+ ?

Hello,

I’m having a similar issue where achievements no longer seem to unlock on Steam after migrating to 4.24

Did you guys find a solution to this?

Thanks,

Steam integration is completely broken in 4.24. Here we go again…

Hi guys,

I thought I would chime in here for you all.

I’ve had the exact problem when upgrading to 4.24 but was able to resolve the OSS shutting down by making sure my steamclient.so file was up to date (might be steamclient.dll for windows). The steamclient.so file updates usually each SDK upgrade and if you have an older versions the OSS cannot start.

Hope this helps!

Not sure why you’re having these issues, but I’m having No issues in 4.24 with dedicated servers. Using these settings: SteamCore & Dedicated Server - eelDev

I can confirm that this solution works.

I did managed to fix it. I was running the older steamworks sdk and the new engine does not include this by default. I copied across the ‘Steamv142’ to the EpicGames\UE_4.24\Engine\Binaries\ThirdParty\Steamworks folder and it fixed it.

I have the same problem with Steam Achievements, but I have already the ‘Steamv142’ into the Steamworks folder. Did you need to do anything else other than that?

Thanks.