Gamelift - Unity Managed Linux error: ".x86_64 is not executable"

0

Hi folks,

As the title says, whenever I try to get a new build/fleet working on gamelift I get that error ".x86_64 is not executable" and I can make it working in a normal EC2 instance. I don't know what could be wrong. I much older versions working.

Has anyone ever faced this issue?

Currently using SDK: 5.1.2 / C# / Unity / Dedicated Linux / Mono (also tried il2cpp)

Gamelift events issue

3 Answers
0

Hi,

You should run the file command against your aws_linux_server.x86_64 and see what it says.

For example,

$ which micro
/usr/bin/micro

 $ file /usr/bin/micro
/usr/bin/micro: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=ea426b163d405bd3a7e5c0234fe256392f2f9e23, for GNU/Linux 4.4.0, stripped

You will then see if it's a file format error or something else.

Best,

Didier

profile pictureAWS
EXPERT
answered a month ago
  • Hi Didier,

    Thanks for your input!

    I've run in both WSL and a standard EC2 instance and got no issues running the file there :/ The only difference between doing that process and going through gamelift is that I'm upload a zip file to S3 which is required by gamelift, but it doesn't seem to be a problem as by per logs I get this output:

    Searched for one valid path in the following list: /local/game/Server/aws_linux_server.x86_64

    Found a path: /local/game/Server/aws_linux_server.x86_64

0

This error suggests that there's an issue with the permissions or the executable nature of your game server build file when it's being deployed to Amazon GameLift. Here are a few steps you can take to troubleshoot and potentially resolve this issue:

  1. Check file permissions: Ensure that your game server executable file has the correct permissions set. The file should have execute permissions. You might need to set these permissions before uploading your build to GameLift.

  2. Build settings: In Unity, make sure you're building for Linux (x86_64) and that the "Server Build" option is checked when creating your build.

  3. Build validation: After creating your build, try to validate it locally on a Linux machine or using Amazon GameLift Local before uploading it to GameLift. This can help identify issues early in the process.

  4. Upload process: When uploading your build to GameLift, make sure you're including all necessary files and that the file structure is correct.

  5. GameLift configuration: In your GameLift fleet configuration, ensure that the launch path and parameters are correctly set to point to your executable.

  6. SDK compatibility: Since you're using SDK 5.1.2, make sure your Unity project and build settings are compatible with this version of the SDK.

  7. Rebuild and re-upload: If the issue persists, try rebuilding your game server and re-uploading it to GameLift. Sometimes, file corruption during the upload process can cause such issues.

If none of these steps resolve the issue, you may want to review the GameLift fleet creation logs for more detailed error messages. You can access these logs through the AWS Management Console or AWS CLI.

Remember that when creating a managed EC2 fleet, GameLift goes through several phases including downloading and validating the build, building fleet resources, and activating game server processes. If the issue is occurring during the build validation phase, it's likely related to the executable permissions or build configuration.

If the problem persists after trying these steps, consider reaching out to AWS support or posting your question on the AWS GameLift forums for more specialized assistance.

Sources
Debug Amazon GameLift fleet issues - Amazon GameLift
Amazon GameLift plugin for Unity (server SDK 4.x) - Amazon GameLift

profile picture
answered a month ago
0

So it seems my company ran some security updates and locked permissions on my server files. Had to change them before zipping and uploading to S3 /gamelift build

answered a month ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions