Unreal Linux Dependencies

So I managed to package my Unreal Engine project with the server included, but the part I’m getting stuck on now is the install.sh script. I believe the issue now is that I am not installing all the dependencies needed to run an Unreal project. With Windows it was very simple, just the VC++ redistributable and the Unreal Engine prereq setup file. Here’s the example install.bat script for a Windows server,

vc_redist.x64.exe /q Engine\Extras\Redist\en-us\UE4PrereqSetup_x64.exe /q

Whereas with a Linux build, I’m not sure which dependencies to install since Amazon has their own version of Linux, so I’m also not entirely sure about syntax either. So just to be safe, I decided to try to install all the dependencies for Ubuntu that were found in this link: https://wiki.unrealengine.com/Building_On_Linux#Installing_Dependencies

And this is what my install.sh script currently looks like,

#!/bin/sh
sudo chmod +x "./GameLiftTutorial/Binaries/Linux/GameLiftTutorialServer"
sudo ln -s "GameLiftTutorial/Binaries/Linux/GameLiftTutorialServer" "GameLiftTutorialServer"
sudo yum -y install gcc gcc-c++ make mono-dev cmake dos2unix centos-release-scl freetype gtk xdg-utils

And the result was that these packages were not available:

  • mono-dev
  • centos-release-scl
  • gtk
  • xdg-utils
    If anyone has a working install.sh script, that would be greatly appreciated! Or if anyone can help install the needed dependencies, that would also be greatly appreciated!

Hi-

We would recommend that you build a a standalone dedicated server as it should be quite a bit simpler to get working. Here are a couple of resources that should help you get started:

https://wiki.unrealengine.com/Standalone_Dedicated_Server

https://aws.amazon.com/blogs/aws/launch-amazon-gamelift-now-supports-all-c-and-c-game-engines/

Let us know if that helps.

I’m having exactly the same problem, with standalone dedicated server built. The server run fine on ubuntu with GameLift local. (I also tried uploaded it on Amazon 2018.03 server and it ran fine; except for the fact that it could not connect to gamelift web server.) However when i upload and do the exact same thing to gamelift server, it stucks on activating. I couldn’t retrieve logs from my uploaded server, so I have no idea what’s i’m missing. (I used -log log="…/…/StartLog.log")

I used instant-access to get in to the error server via ssh, everything was fine. I could open the game myself and it connect to GameLift central server with no problem. So I’m out of idea why gamelift stucks on activating… Worse yet, there was no log or whatsoever, which mean that the game didn’t get executed once. (Searching for runtime path found the .sh though, and i chmod it.)

Would be nice if the supports here actually have done the stuff, so they can tell us how to do it (or provide an accurate example.) Everything with Gamelift is pretty much, refer to doc - which provide only info, but not the solution.

:\

Was able to fix my issue, but I didn’t do it through the install shell script. I didn’t need a link, just gave sufficient privileges to the server file so there’s only a couple lines now in it. Here’s a video where I detail how I go about doing cross compilation for linux on windows for those who are interested in building a linux server, but don’t have a linux machine: https://youtu.be/48P4fjLP1vU

#!/bin/sh
sudo chmod +x "./GameLiftTutorial/Binaries/Linux/GameLiftTutorialServer"

As for my dependency issue, since I’m not very good with amazon linux and can’t write a shell script to save my life, I decided to just get ubuntu for windows so that I can get all the so files I needed for my server binary through the bash terminal. Note that for any external library that the server depends on, the respective .so file has to be in the same directory as the server file to be run. Here’s a screenshot of what my folder looked like,

I needed these since I was using the UnrealGameLiftClient SDK that can be found on Github. Note that if you choose to add these external dependencies before uploading the project to gamelift like I did, you have to call upload-build in the bash terminal due to the .0unstable and .0 files.