Fix for UE-239936 Steam Sockets cannot create listen socket during non-seamless server travel

Hi all,

I was running into an error when trying to server travel using steam networking:

After searching I managed to find Unreal Engine Issues and Bug Tracker (UE-239936) , which states “The issue does not occur when FSteamSocketsSubsystem::CleanSocketInformation is called after unloading the previous world.” yet doesn’t give an exact location. I have found a working location for this fix.

Note that you have to make CleanSocketInformation public inside of SteamSocketsSubsystem.h. I believe this is okay because the only other place CleanSocketInformation is exposed is through command line arguments.
Now my logs are without error:

This fixed my server travel for my p2p host. However I have not yet thoroughly tested this fix with multiple clients. Hopefully this saves you some time.

Warm regards,

Seventh Eye Studio

Check out our game Ascent of Eternity on EGS or Steam!

4 Likes

Hey there @SeventhEyeStudio! Welcome to the community! Amazing work with this fix. Have you submitted this as a PR to the Github?

Hi, I went ahead and made some PRs for this. I had to do it through the web since I’m on 5.4. https://github.com/EpicGames/UnrealEngine/pull/14440

https://github.com/EpicGames/UnrealEngine/pull/14441

I wasn’t able to edit two files on a single commit in the github web editor.
Apologies if this is not ideal.

Great work! It’s possible the reviewers will accept multiple PRs (assuming they work independently as well) but it is a bit unusual in this format so you may receive questions. Github should have automatically followed the PR for you, but I’d double check you have email notifications on in case a reviewer has questions/changes. Thanks for contributing to the engine!