By using AWS re:Post, you agree to the Terms of Use
Questions in Game Tech
Sort by most recent

Browse through the questions and answers listed below or filter and sort to narrow down your results.

Gamelift fleet creation from real-time script stuck in "Activating" status with insufficient event logs

Hi community, I was trying to initiate a Gamelift fleet using an zip file from s3 (created by CDK Asset). However the fleet created will get stuck in "Activating" for more than one hour and then error. No usable event log is emitted from console during "Activating". I can ssh into the game server in error status but not sure if that is helpful. Any help would be appreciated on how to debug further. (More context: the server files themselves are fine. I uploaded the zip file directly to create the script and the fleet from the script is created just fine). The s3 access rights seem to be okay too, I followed the example [here ](https://github.com/aws-samples/amazon-gamesparks-integration-with-gamelift/blob/c90c91e78712437c307eed4d7886ae75cda2cfe5/packages/infra/lib/matchmaking-stack.ts). The CDK code for uploading server to s3 and creating the script is as follows) ```Typescript import { Role, PolicyStatement, ServicePrincipal } from "aws-cdk-lib/aws-iam"; import { Asset } from "aws-cdk-lib/aws-s3-assets"; import { Bucket } from "aws-cdk-lib/aws-s3"; import { CfnScript } from "aws-cdk-lib/aws-gamelift"; ... // Upload gamelift real-time server script as cdk asset const scriptAsset = new Asset(this, "MyAsset", { path: pathToScript, }); const assetBucket = Bucket.fromBucketName( this, "ScriptAssetBucket", scriptAsset.s3BucketName ); const scriptAccessRole = new Role(this, "ScriptAccessRole", { assumedBy: new ServicePrincipal("gamelift.amazonaws.com"), }); scriptAccessRole.addToPrincipalPolicy( new PolicyStatement({ actions: ["s3:GetObject", "s3:GetObjectVersion"], resources: [`${assetBucket.bucketArn}/${scriptAsset.s3ObjectKey}`], }) ); const script = new CfnScript(this, "RealTimeScript", { name: `my-script`, version: "0.1", storageLocation: { bucket: scriptAsset.s3BucketName, key: scriptAsset.s3ObjectKey, roleArn: scriptAccessRole.roleArn, }, }); script.node.addDependency(scriptAccessRole); ```
1
answers
0
votes
13
views
asked 11 days ago
1
answers
0
votes
15
views
asked 12 days ago

[Guide] Building GameKit for arm64 (Unreal)

Prerequisites: * Check outtag v1.1.0 (https://github.com/aws/aws-gamekit/tree/v1.1.0) (this is the most recent tag that works with the Unreal plugin) * AWS C++ SDK must be using tag 1.9.185 Changes to build steps found in README.MD: 1. In all build steps where ```ANDROID_ABI=armeabi-v7a``` appears change it to ```ANDROID_ABI=arm64-v8a``` 2. In all build steps where ```ANDROID_API_LEVEL=24``` appears change it to ```ANDROID_API_LEVEL=X``` where ```X``` is the API level you want to build for (this step is only needed if you want to build for another API level). 3. For BOOST build, replace ```user-config.jam``` with the following: ``` import os ; local NDKRoot = [ os.environ NDKROOT ] ; local ClangBin = [ os.environ CLANGPATH ] ; local AndroidApiLevel = [ os.environ ANDROID_API_LEVEL ] ; using clang : arm64 : $(ClangBin)/aarch64-linux-android21-clang++.cmd : <cxxflags>-std=c++11 <archiver>$(NDKRoot)/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/bin/aarch64-linux-android-ar <ranlib>$(NDKRoot)/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/bin/aarch64-linux-android-ranlib ; ``` 4. And build with ```./b2 toolset=clang-arm64 target-os=android architecture=arm address-model=64 --without-python threading=multi link=static --layout=tagged variant=debug,release``` 5. In GameKit C++ codebase, open scripts\Android\regenerate_android_projects.bat and set ```ANDROID_ABI=arm64-v8a, DBoost_ARCHITECTURE="-a64"``` and ```ANDROID_API_LEVEL=X``` (API level change is only needed if you want to build for a different level) 6. Rebuild GameKit C++ with ```python scripts\aws_gamekit_cpp_build.py Android Release``` and copy the libraries to the Unreal plugin directory with python ```scripts\refresh_plugin.py —platform Android Release —unreal_plugin_path [Path to Unreal Project]\Plugins\AwsGameKit``` 7. Modify ```[Path to Unreal Project]\Plugins\AwsGameKit\Source\AwsGameKitCore\AwsGameKitCore.Build.cs``` to point to 64 bit versions of Boost libraries by changing lines 166-167 to ``` libs.Add("libboost_filesystem-mt-d-a64.a"); libs.Add("libboost_iostreams-mt-d-a64.a"); ``` and 172-173 to ``` libs.Add("libboost_filesystem-mt-a64.a"); libs.Add("libboost_iostreams-mt-a64.a"); ``` 8. In Unreal’s Project Settings enable Support for arm64 by navigating to Platforms/Android and clicking on “Support arm64 (aka arm64-v8a) 9. Package your game project for Android
0
answers
0
votes
39
views
asked a month ago