question

TheGabmeister avatar image
TheGabmeister asked

Verifying containerization of game server works with Unreal Engine 4.25.4 but not with 4.26.2 (exit code 1)

Using Unreal Engine 4.25.4, I've successfully created a game server and uploaded it to PlayFab with status "Deployed." However, I was unsuccessful with containerization when I tried using 4.26.2.

Here are the steps I did:

1. I followed this guide by Hicon Games from the documentation. This was made using 4.22.3. To make it work for newer versions, I needed to add more .dll files and disable a few more plugins. Based on this forum post, I disabled WMFMediaPlayer, WindowsMoviePlayer, and MediaFoundationMediaPlayer.
2. Using this guide, I ran the game server on my local machine and used ListDlls to determine the system DLLs required by the game server.

3. Afterwards, I copied all the required DLLs (around 70+ files) and placed them in the same folder as the game server executable. I double checked and made sure I'm not missing any DLLs.

4. I zipped the game server files. Following this guide, I edited MultiplayerSettings.json, set RunContainer to false, ran LocalMultiplayerAgent.exe, and waited for the heartbeats to verify GSDK integration.

5. Lastly, I ran Docker set to Windows Containers, ran Setup.ps1, set MultiplayerSettings.json RunContainer to true, and ran LocalMultiplayerAgent to verify containerization, and waited for the heartbeats to verify containerization.

The results:

UE 4.25.4 - successful in verifying both GSDK integration and containerization.

UE 4.26.2 - successful in verifying GSDK integration but not containerization (exit code 1). I tested with ListDlls again to double check the required .dll files, and I tried a suggestion in this post where I specified the path to the EXE file in the binaries folder:

C:\Assets\YourGame\Binaries\Win64\YourGameServer.exe

Unfortunately, I only managed to reach the point where LocalMultiplayerAgent gets past the "Waiting for heartbeats" and then exits immediately with exit code 1.

At this point, I suspect that I need to disable more plugins that I don't know how to identify. Are there developers here who managed to make it work on 4.26.2?

unreal
1 comment
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Rick Chen avatar image Rick Chen ♦ commented ·

Unfortunately, due to limited resources, it is hard for us to do the test and troubleshoot the issue at the moment. Apologize for the inconvenience.

0 Likes 0 ·
Dimitris Gkanatsios avatar image
Dimitris Gkanatsios answered

Can you try this plugin that was recently submitted by the Multiplayer Servers community? Might help gsdk/UnrealPlugin at master PlayFab/gsdk (github.com)

2 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

TheGabmeister avatar image TheGabmeister commented ·

Hello. I switched to UE 4.25.4 for now, but I'll try your suggestion when I have the time. Will report back.

1 Like 1 ·
Dimitris Gkanatsios avatar image Dimitris Gkanatsios TheGabmeister commented ·

thank you. There is an active PR for the instructions, it will probably be merged by tomorrow. Updated Unreal Plugin ReadMe by valexao Pull Request #81 PlayFab/gsdk (github.com)

0 Likes 0 ·
Paul Gilmore avatar image
Paul Gilmore answered

Greetings from PlayFab!

Since this post, we have updated the Unreal GSDK plugin, significantly revamped our Unreal/MPS/GSDK documentation, and retested on Unreal Engine 4.26, 4.27, and 5.0 early access.

Additionally, if you have any further issues with your MultiplayerSettings.json file, please try our new utility. It should help you manage your LocalMultiplayerAgent settings file more quickly and safely.

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Error rendering WebPanel (widgets/consolidation-widget.ftl): org.hibernate.hql.internal.ast.QuerySyntaxException: AvailableConsolidation is not mapped [from AvailableConsolidation up where up.node = :node]