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?