Coder Social home page Coder Social logo

yetitech-studios / ue4gameliftclientsdk Goto Github PK

View Code? Open in Web Editor NEW
79.0 11.0 41.0 5.85 MB

Gamelift Client SDK for Unreal Engine 4.

License: MIT License

C# 0.23% C++ 99.60% C 0.18%
unreal-engine-4 unreal-engine amazon-web-services aws aws-sdk gamelift amazon-gamelift aws-gamelift unrealengine

ue4gameliftclientsdk's People

Contributors

chiefgui avatar chris-gong avatar ryanjon2040 avatar yetitechstudios avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ue4gameliftclientsdk's Issues

Crash when starting Client

Thanks for this plug-in first.

I managed to build this plug-in into my test project.
When I open the local test server and blank test client with plug-in, it crashes.
I made GameInstance BP exactly same as InstanceBP shown in tutorial.
I found that the reason of crash is GameSession Activate function.
How can I fix this problem?

Solution: building error C4577

Hey there!

First of all, thank you @ryanjon2040 for this amazing plug-in.

One problem I was facing when building UE4GameLiftClientSDK plug-in for UE 4.18.3 and VS 2017 is the error C4577 which I think it might be common in this environment.

For those facing the same problem, one easy solution--not sure about its dirtiness--is to add bEnableExceptions = true; to one line below line 9, on GameLiftClientSDK.Build.cs file. After doing this, probably you'll build your game successfully.

Error cause aws custom memory management

aws-sdk-cpp version 1.7.240

aws-sdk-cpp/aws-cpp-sdk-core/CMakeLists.txt

if(CUSTOM_MEMORY_MANAGEMENT OR (BUILD_SHARED_LIBS AND NOT DEFINED CUSTOM_MEMORY_MANAGEMENT))
    set(USE_AWS_MEMORY_MANAGEMENT ON)
    message(STATUS "Custom memory management enabled; stl objects now using custom allocators")
else()
    set(USE_AWS_MEMORY_MANAGEMENT OFF)
    message(STATUS "Custom memory management disabled")
endif()

Can't build CUSTOM_MEMORY_MANAGEMENT ON.
AWSCore.cpp

.
.
Aws::InitSDK(options); // Error allocation memory

Can't compile when CUSTOM_MEMORY_MANAGEMENT OFF.

1>Building 2 actions with 12 processes...
1>  [1/2] UE4Editor-GameLiftClientSDK.dll
1>     Creating library D:\Projects\UnrealProjects\OnlineGame\Plugins\GameLiftClientSDK\Intermediate\Build\Win64\UE4Editor\Development\GameLiftClientSDK\UE4Editor-GameLiftClientSDK.suppressed.lib and object D:\Projects\UnrealProjects\OnlineGame\Plugins\GameLiftClientSDK\Intermediate\Build\Win64\UE4Editor\Development\GameLiftClientSDK\UE4Editor-GameLiftClientSDK.suppressed.exp
1>Module.GameLiftClientSDK.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __cdecl Aws::GameLift::Model::DescribeGameSessionQueuesRequest::SetNames(class std::vector<class std::basic_string<char,struct std::char_traits<char>,class Aws::Allocator<char> >,class Aws::Allocator<class std::basic_string<char,struct std::char_traits<char>,class Aws::Allocator<char> > > > const &)" (__imp_?SetNames@DescribeGameSessionQueuesRequest@Model@GameLift@Aws@@QEAAXAEBV?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$Allocator@D@Aws@@@std@@V?$Allocator@V?$basic_string@DU?$char_traits@D@std@@V?$Allocator@D@Aws@@@std@@@Aws@@@std@@@Z) referenced in function "public: enum EActivateStatus __cdecl UGameLiftDescribeGameSessionQueues::Activate(void)" (?Activate@UGameLiftDescribeGameSessionQueues@@QEAA?AW4EActivateStatus@@XZ)
1>D:\Projects\UnrealProjects\OnlineGame\Plugins\GameLiftClientSDK\Binaries\Win64\UE4Editor-GameLiftClientSDK.dll : fatal error LNK1120: 1 unresolved externals
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.MakeFile.Targets(44,5): error MSB3075: The command ""C:\Program Files\Epic Games\UE_4.22\Engine\Build\BatchFiles\Build.bat" OnlineGameEditor Win64 Development -Project="D:\Projects\UnrealProjects\OnlineGame\OnlineGame.uproject" -WaitMutex -FromMsBuild" exited with code 5. Please verify that you have sufficient rights to run this command.
1>Done building project "OnlineGame.vcxproj" -- FAILED.

Questions on GameLift Plugin Nodes

Hello! I love this plugin but I have a few questions.

A. Should I run these nodes as a server or as a client? (Via The Has Authority? Node.)
B. What should I input into the pins where it says, “Key” and “Value”?
https://imgur.com/a/7ObZUAj
C. I see that you have made custom events such as, “OnCreateGameSessionSuccess_Event” and “OnCreateGameSessionFailded_Event”. How did you guys get the string values of error message and Game Session ID on your custom event node?
D. And my last question is that if I would implement a party system where you can play with friends, is this possible with the nodes or would I have to use C++. I would rather use blueprints because I am more comfortable with them.

Help is appreciated! Thanks so much!

Update

Hey man, will there be updates?

unresolved external symbol Aws::Malloc

Hi everyone,

I followed these wonderful tutorials to get a game session running on AWS GameLift and got clients to connect to it successfully.
I did have to rollback the GameLift Client SDK commit to the one in the video (commit 14), as I encountered something similar to this issue
I am on Windows using Unreal 4.21.

However I have hit what appears to be a missing some dependencies within the Client SDK. I was trying to use Aws::Vector which is part of AWSCore but upon build I get the following linker errors:

error LNK2019: unresolved external symbol "void * __cdecl Aws::Malloc(char const *,unsigned __int64)" (?Malloc@Aws@@YAPEAXPEBD_K@Z) referenced in function "private: bool __cdecl std::vector<class Aws::GameLift::Model::GameSessionQueueDestination,class Aws::Allocator<class Aws::GameLift::Model::GameSessionQueueDestination> >::_Buy(unsigned __int64)" (?_Buy@?$vector@VGameSessionQueueDestination@Model@GameLift@Aws@@V?$Allocator@VGameSessionQueueDestination@Model@GameLift@Aws@@@4@@std@@AEAA_N_K@Z)

error LNK2019: unresolved external symbol "void __cdecl Aws::Free(void *)" (?Free@Aws@@YAXPEAX@Z) referenced in function "public: __cdecl std::vector<class Aws::GameLift::Model::GameSessionQueueDestination,class Aws::Allocator<class Aws::GameLift::Model::GameSessionQueueDestination> >::~vector<class Aws::GameLift::Model::GameSessionQueueDestination,class Aws::Allocator<class Aws::GameLift::Model::GameSessionQueueDestination> >(void)" (??1?$vector@VGameSessionQueueDestination@Model@GameLift@Aws@@V?$Allocator@VGameSessionQueueDestination@Model@GameLift@Aws@@@4@@std@@QEAA@XZ)

These linker errors are usually encountered when the linker cannot find the correct function definition for a used function declaration. The Client SDKs that I cloned has the AWSCore header files and I also have the aws-cpp-sdk-core dll and lib files in Plugins\GameLiftClientSDK\ThirdParty\GameLiftClientSDK\Win64, like the tutorial instructed, so it should have the correct function definitions.

AWS::Vector is using AWS::Allocator, which is then using Malloc and Free.

AWSVector.h:
template< typename T > using Vector = std::vector< T, Aws::Allocator< T > >;
AWSAllocator.h:

typename Base::pointer allocate(size_type n, const void *hint = nullptr)
{
AWS_UNREFERENCED_PARAM(hint);
return reinterpret_cast<typename Base::pointer>(Malloc("AWSSTL", n * sizeof(T)));
}

AWSMemory.h:
AWS_CORE_API void* Malloc(const char* allocationTag, size_t allocationSize);

In the aws-cpp-sdk github repo I can see the AWSMemory.cpp file

I can see that it has a #include <aws/common/common.h> from the aws-c-common library, but I believe that was only added recently and since I am using an older commit of the client sdk I dont think I should have encountered this error. AWS says ." "Starting from version 1.7.0, we added several third party dependencies, including aws-c-common, aws-checksums and aws-c-event-stream

Either way, in attempt to solve this I added AWSMemory.cpp to AWSCore, then downloaded aws-c-common, built it, copied its lib and dll to ThirdParty and added all the headers to AWSCore/Public/common. Then edited AWSCore.Build.cs and AWSCoreModule.h/.cpp to add the lib and dll dependencies, but I end up hitting a wall of macro error like:

aws/common/assert.h(57): error C4668: '__clang_analyzer__' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
aws/common/predicates.h(21): error C4668: 'AWS_DEEP_CHECKS' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
AWSMemory.cpp(129): error C4668: '__GNUC__' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'

I have also tried to build aws-c-common from source as a new unreal module, but ended up with even more errors.

I just want to use a damn AWS::Vector.
Anyone know if I am missing something or is there a defect with the client sdk?

@chris-gong, did you ever encounter this?

Alias (alias-****) not found

Hello!

I've a problem. Everything looks good, nice plugin but I'm having some troubles with.

I get this error: Alias (alias-****) not found.

In my AWS account I've created my Access Keys for my account. Then in GameLift service I've created a Sample Build, with Sample Fleet and then added an Alias to this build but I get this error... There's something I'm doing wrong?

Server process started correctly but did not call InitSDK() within 5 minutes

I managed to upload a linux build to the gamelift but on fleet creation in the ACTIVATING stage i get this error:

Server process started correctly but did not call InitSDK() within 5 minutes, launchPath(/local/game/Mul/Binaries/Linux/MulServer), arguments(null), instanceId(i-0758a58563c9fc6df)

I searched for the solution very hard but in the end I had to ask you guys here. Are you familliar with this error?
Most of the solutions that I have found online were inputting correct "launchPath", but as you can see from the error, it is a correct path.

Thanks in advance

Finding GameSessions

What is the preferred way to find a game session on a fleet? I have a Fleet setup by Alias and there is a running game session on that Fleet. I'd like my clients to be able to search a fleet (by the alias) to find one ore more game session.

Is this currently possible? I'm not sure how else to find game sessions without my testers needing to enter it manually each time.
Thanks!

YetiClient Error Msgs: "aws-cpp-sdk-core" Failed to load

After installing YetiTech awsclient plugin those messages appears in launching the project, Play Level and in package the project.. :
1st message : "Failed to load aws-cpp-sdk-core. Plugin will not be functional"
2nd message: "Failed to load aws-cpp-sdk-gamelift."
3rd Message: "Failed to load aws-cpp-sdk-cognito-identity. plugin will not be functional."

I ignored them and continued with the rest of the tutorial. Eventually these cause Packaging to Fail, with following errors:

UATHelper: Packaging (Windows (64-bit)): LogWindows: Error: begin: stack for UAT
UATHelper: Packaging (Windows (64-bit)): LogWindows: Error: === Critical error: ===
UATHelper: Packaging (Windows (64-bit)): LogWindows: Error:
UATHelper: Packaging (Windows (64-bit)): LogWindows: Error: Fatal error!
UATHelper: Packaging (Windows (64-bit)): LogWindows: Error:
UATHelper: Packaging (Windows (64-bit)): LogWindows: Error: Unhandled Exception: 0xc06d007e
UATHelper: Packaging (Windows (64-bit)): LogWindows: Error:
UATHelper: Packaging (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ffd157ea839 KERNELBASE.dll!UnknownFunction []
UATHelper: Packaging (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ffc8bb77fbe UE4Editor-AWSCore.dll!__delayLoadHelper2() [d:\agent_work\2\s\src\vctools\delayimp\delayhlp.cpp:323]
UATHelper: Packaging (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ffc8bb758b1 UE4Editor-AWSCore.dll!_tailMerge_aws_cpp_sdk_core_dll() []
UATHelper: Packaging (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ffc8bb73cbf UE4Editor-AWSCore.dll!FAWSCoreModule::ShutdownModule() [d:\projects\nectar\plugins\gameliftclientsdk\source\awscore\private\awscoremodule.cpp:40]
UATHelper: Packaging (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ffcb4be61e7 UE4Editor-Core.dll!FModuleManager::UnloadModulesAtShutdown() [d:\unrealengine-release\engine\source\runtime\core\private\modules\modulemanager.cpp:730]
UATHelper: Packaging (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ff70beb4be0 UE4Editor-Cmd.exe!FEngineLoop::Exit() [d:\unrealengine-release\engine\source\runtime\launch\private\launchengineloop.cpp:3483]
UATHelper: Packaging (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ff70beb5581 UE4Editor-Cmd.exe!GuardedMain() [d:\unrealengine-release\engine\source\runtime\launch\private\launch.cpp:179]
UATHelper: Packaging (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ff70beb55ca UE4Editor-Cmd.exe!GuardedMainWrapper() [d:\unrealengine-release\engine\source\runtime\launch\private\windows\launchwindows.cpp:145]
UATHelper: Packaging (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ff70bec316c UE4Editor-Cmd.exe!WinMain() [d:\unrealengine-release\engine\source\runtime\launch\private\windows\launchwindows.cpp:275]
UATHelper: Packaging (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ff70bec4cb6 UE4Editor-Cmd.exe!__scrt_common_main_seh() [d:\agent_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
UATHelper: Packaging (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ffd168b7bd4 KERNEL32.DLL!UnknownFunction []
UATHelper: Packaging (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ffd17d8ce71 ntdll.dll!UnknownFunction []
UATHelper: Packaging (Windows (64-bit)): LogWindows: Error:
UATHelper: Packaging (Windows (64-bit)): LogWindows: Error: end: stack for UAT
UATHelper: Packaging (Windows (64-bit)): Took 563.7799446s to run UE4Editor-Cmd.exe, ExitCode=-1073741819
UATHelper: Packaging (Windows (64-bit)): ERROR: Cook failed.

Am I making some mistake?
I also read the part where you mentioned that the dll have been recently modified and you will be working on the same. Just thought you might want to know this as well.

All Player Sessions Timing Out

I'm not sure what is causing this, but after successfully establishing a new player session and connecting the client to the server, the Player Session Status in the Game Lift console shows it times out after 1 min. This happens even though the client is in the game and things seem to be working property. This happens 100% of the time and I never see an Active status.

After the Activate() gets called on the player session, is there another call I need to make to confirm the reservation, or is pushing the PlayerController to the returned IP and Port enough?

Linux support

Tell me please, is there any support for Linux? I can not build my project with your GameLiftClient plugin from VS2017 for Linux :(

Access violation when starting Aws::InitAPI()

Hi
I'm getting access violation error when trying to open Unreal Editor with GameLiftClientSDK attached. It occurs at AWS Core module startup.

I have added all needed dependencies:
aws-c-common,
aws-c-eventstream,
aws-checksums,
aws-cpp-sdk-cognito-identity

I have successfully compiled the GameLiftClientSDK in Visual. Still can't open the Editor. Am I missing something here?

Here is the Editor crash location:

LogWindows: Error: [Callstack] 0x00007ff8c98b399f aws-cpp-sdk-core.dll!Aws::Monitoring::InitMonitoring() [D:\Biblioteki_SDK\AWS\AWS_SDK\aws-cpp-sdk-core\source\monitoring\MonitoringManager.cpp:109]
LogWindows: Error: [Callstack] 0x00007ff8c98591d2 aws-cpp-sdk-core.dll!Aws::InitAPI() [D:\Biblioteki_SDK\AWS\AWS_SDK\aws-cpp-sdk-core\source\Aws.cpp:115]

Here you can find the more logs:
TestGame.log

LogGameLiftClient: Error: [UGameLiftDescribeGameSession::OnDescribeGameSessionState] Received OnDescribeGameSessionState with failed outcome. Error: Unable to parse ExceptionName: ApiNotSupportedException Message: API GameLift.DescribeGameSessionDetails is not recognized by GameLift Local.

Hi guys, im testing my client and server with gamelift.
Followed your guide to integrate it in my client.

I've configured gamelift for local testing using gamelift local
(https://docs.aws.amazon.com/gamelift/latest/developerguide/integration-testing-local.html)
But when i call DescribeSession node from blueprint i get an error:
LogGameLiftClient: Error: [UGameLiftDescribeGameSession::OnDescribeGameSessionState] Received OnDescribeGameSessionState with failed outcome. Error: Unable to parse ExceptionName: ApiNotSupportedException Message: API GameLift.DescribeGameSessionDetails is not recognized by GameLift Local.

Here is Gamelift Local Console output
default

Android Build

ProcessResult.StdOut: D:/Projects/MyGame/Plugins/GameLiftClientSDK/Source/GameLiftClientSDK/Public\aws/gamelift/model/OperatingSystem.h(35,1): error: variable has incomplete type 'Aws::GameLift::Model::__declspec'
ProcessResult.StdOut: AWS_GAMELIFT_API OperatingSystem GetOperatingSystemForName(const Aws::String& name);
ProcessResult.StdOut: ^
ProcessResult.StdOut: D:/Projects/MyGame/Plugins/GameLiftClientSDK/Source/GameLiftClientSDK/Public\aws/gamelift/GameLift_EXPORTS.h(38,41): note: expanded from macro 'AWS_GAMELIFT_API'
ProcessResult.StdOut: #define AWS_GAMELIFT_API __declspec(dllimport)
ProcessResult.StdOut: ^
ProcessResult.StdOut: D:/Projects/MyGame/Plugins/GameLiftClientSDK/Source/GameLiftClientSDK/Public\aws/gamelift/model/AcceptMatchResult.h(35,9): note: forward declaration of 'Aws::GameLift::Model::__declspec'
ProcessResult.StdOut: class AWS_GAMELIFT_API AcceptMatchResult
ProcessResult.StdOut: ^
ProcessResult.StdOut: D:/Projects/MyGame/Plugins/GameLiftClientSDK/Source/GameLiftClientSDK/Public\aws/gamelift/GameLift_EXPORTS.h(38,30): note: expanded from macro 'AWS_GAMELIFT_API'
ProcessResult.StdOut: #define AWS_GAMELIFT_API __declspec(dllimport)
ProcessResult.StdOut: ^
ProcessResult.StdOut: fatal error: too many errors emitted, stopping now [-ferror-limit=]

I think I am missing something here.

Can someone please help or I am in a completely wrong place to even ask this question.?

Update client for UE4.19

Thanks to YetiTech Studios for this awesome plugin.

However would it be possible to update the plugin for UE4.19?

aws-cpp core and gamelift DLLs not loading on packaged game

Hi all,

There may be a problem with the paths for packaged game dlls, as my gameliftclient plugin crashes the exe when I run a packaged version (editor version and standalone are working). Any pointers as to where the error might be? The dlls are in the packaged game plugin folder, but I have yet to check the paths for them in the plugin.

Issues with the last gamelift sdk

Hi,

Thank you very much for this plugin !

I try to update your project with the last Gamelift C++ SDK. I have followed this steps:

mkdir out
cd out
cmake -G "Visual Studio 15 2017 Win64" .. -DCMAKE_BUILD_TYPE=Release -DBUILD_ONLY="gamelift"

When builded these files are generated:

out\bin\Release\aws-cpp-sdk-gamelift.dll
out\bin\Release\aws-cpp-sdk-core.dll
out\aws-cpp-sdk-gamelift\Release\aws-cpp-sdk-gamelift.lib
out\aws-cpp-sdk-core\Release\aws-cpp-sdk-core.lib

I have added this files to my UE4 project in the plugin folder. All seems ok but when I try to compile I have this errors:
2> [4/7] Module.AWSCore.cpp
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\INCLUDE\ctime(10): error C2039: 'clock_t': is not a member of 'global namespace'' 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\INCLUDE\ctime(10): error C2873: 'clock_t': symbol cannot be used in a using-declaration 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\INCLUDE\ctime(12): error C2039: 'asctime': is not a member of 'global namespace''
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\INCLUDE\ctime(12): error C2873: 'asctime': symbol cannot be used in a using-declaration
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\INCLUDE\ctime(12): error C2039: 'clock': is not a member of 'global namespace'' 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\INCLUDE\ctime(12): error C2873: 'clock': symbol cannot be used in a using-declaration 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\INCLUDE\ctime(12): error C2039: 'ctime': is not a member of 'global namespace''
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\INCLUDE\ctime(12): error C2873: 'ctime': symbol cannot be used in a using-declaration
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\INCLUDE\ctime(13): error C2039: 'difftime': is not a member of 'global namespace'' 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\INCLUDE\ctime(13): error C2873: 'difftime': symbol cannot be used in a using-declaration 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\INCLUDE\ctime(13): error C2039: 'gmtime': is not a member of 'global namespace''
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\INCLUDE\ctime(13): error C2873: 'gmtime': symbol cannot be used in a using-declaration
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\INCLUDE\ctime(13): error C2039: 'localtime': is not a member of 'global namespace'' 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\INCLUDE\ctime(13): error C2873: 'localtime': symbol cannot be used in a using-declaration 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\INCLUDE\ctime(14): error C2039: 'mktime': is not a member of 'global namespace''
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\INCLUDE\ctime(14): error C2873: 'mktime': symbol cannot be used in a using-declaration
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\INCLUDE\ctime(14): error C2039: 'strftime': is not a member of 'global namespace'' 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\INCLUDE\ctime(14): error C2873: 'strftime': symbol cannot be used in a using-declaration 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\INCLUDE\ctime(14): error C2039: 'time': is not a member of 'global namespace''
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\INCLUDE\ctime(14): error C2873: 'time': symbol cannot be used in a using-declaration
2>UnrealBuildTool : error : UBT ERROR: Failed to produce item: D:\Projects\Unreal\DedicatedServerDemos\Game\Plugins\GameLiftClientSDK\Intermediate\Build\Win64\UE4Editor\Development\AWSCore\UE4Editor-AWSCore.lib

Have I missed something ? It should be awesome if you can share the steps to compile the client.

Best regards,
Régis

Unable to install plugin

Hi there,

I have the source version of UE4 (4.24.1) - and I have downloaded your plugin.

I am using the latest AWS Server SDK (3.3.0) and the client CPP SDK is v.1.7.251 - the latest as per their GitHub.

When I initially dragged the ClientSDK files into the Plugins/ folder of my project, I was getting UE4 warnings that the plugin would not work even though it had compiled and UE4 was launching - there is a similar issue for this already.

I then updated the AWS Core, Cognito Identity & GameLift libraries and DLLs, and edited the uPlugin file to use the latest version of AWS as instructed in your README.

However, when I try to launch UE4 and recompile - it fails and asks me to recompile from source. When I do this, I am met with many errors and the plugin will not build.

Do you know if there are any issues supporting UE4 4.24.1 or the latest version of AWS SDK?

If so, what resources did you use to create this plugin? I am quite happy to investigate either fixing your plugin or creating a new one from scratch (depending on the complexity) - however I have no idea how the SDK works and the AWS documentation online is lackluster at best.

Kind Regards,

Luke J

AWSCoreModule.cpp linker errors

I'm getting the following linker errors when trying to build on 4.21.2 with VS2017 15.9.7:

AWSCoreModule.cpp.obj : error LNK2001: unresolved external symbol "void __cdecl Aws::InitAPI(struct Aws::SDKOptions const &)" (?InitAPI@Aws@@YAXAEBUSDKOptions@1@@Z)
AWSCoreModule.cpp.obj : error LNK2001: unresolved external symbol "void __cdecl Aws::ShutdownAPI(struct Aws::SDKOptions const &)" (?ShutdownAPI@Aws@@YAXAEBUSDKOptions@1@@Z)

It was building successfully prior to upgrading to VS2017 15.9.7.

Modifying any cpp causes compile errors

First off, thanks for the great plugin, has the barebones required to get anyone started right away with AWS GameLift.

I need to improve a bit on the functionality of the GameliftClientApi.cpp but every time I make any modification whatsoever to it (i.e. adding a random space in the file, save and compile) I will get a whole bunch of errors in

1>Using Visual Studio 2019 14.24.28314 toolchain (C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.24.28314) and Windows 10.0.18362.0 SDK (C:\Program Files (x86)\Windows Kits\10). 1>Building 5 actions with 8 processes... 1> [1/5] Module.GameLiftClientSDK.cpp 1>D:\Workspaces\Master\Plugins\GameLiftClientSDK\Source\GameLiftClientSDK\Private\GameLiftClientObject.cpp(12): error C2079: 'Credentials' uses undefined class 'Aws::Auth::AWSCredentials' 1>D:\Workspaces\Master\Plugins\GameLiftClientSDK\Source\GameLiftClientSDK\Private\GameLiftClientObject.cpp(26): error C3861: 'LOG_WARNING': identifier not found 1>D:\Workspaces\Master\Plugins\GameLiftClientSDK\Source\GameLiftClientSDK\Private\GameLiftClientObject.cpp(29): error C2027: use of undefined type 'Aws::Auth::AWSCredentials' 1> D:\Workspaces\Master\Plugins\GameLiftClientSDK\Source\GameLiftClientSDK\Public\aws/gamelift/GameLiftClient.h(116): note: see declaration of 'Aws::Auth::AWSCredentials' 1>D:\Workspaces\Master\Plugins\GameLiftClientSDK\Source\GameLiftClientSDK\Private\GameLiftClientObject.cpp(30): error C2664: 'Aws::GameLift::GameLiftClient::GameLiftClient(const Aws::GameLift::GameLiftClient &)': cannot convert argument 1 from 'int' to 'const Aws::Auth::AWSCredentials &' 1> D:\Workspaces\Master\Plugins\GameLiftClientSDK\Source\GameLiftClientSDK\Private\GameLiftClientObject.cpp(30): note: Reason: cannot convert from 'int' to 'const Aws::Auth::AWSCredentials' 1> D:\Workspaces\Master\Plugins\GameLiftClientSDK\Source\GameLiftClientSDK\Private\GameLiftClientObject.cpp(30): note: use of undefined type 'Aws::Auth::AWSCredentials' 1> D:\Workspaces\Master\Plugins\GameLiftClientSDK\Source\GameLiftClientSDK\Public\aws/gamelift/GameLiftClient.h(116): note: see declaration of 'Aws::Auth::AWSCredentials' 1> D:\Workspaces\Master\Plugins\GameLiftClientSDK\Source\GameLiftClientSDK\Public\aws/gamelift/GameLiftClient.h(586): note: see declaration of 'Aws::GameLift::GameLiftClient::GameLiftClient' 1>D:\Workspaces\Master\Plugins\GameLiftClientSDK\Source\GameLiftClientSDK\Private\GameLiftClientObject.cpp(47): error C2027: use of undefined type 'UGameLiftCreateGameSession' 1> D:\Workspaces\Master\Plugins\GameLiftClientSDK\Intermediate\Build\Win64\UE4Editor\Inc\GameLiftClientSDK\GameLiftClientObject.generated.h(14): note: see declaration of 'UGameLiftCreateGameSession' 1>D:\Workspaces\Master\Plugins\GameLiftClientSDK\Source\GameLiftClientSDK\Private\GameLiftClientObject.cpp(47): error C2660: 'UGameLiftClientObject::CreateGameSession': function does not take 2 arguments 1> D:\Workspaces\Master\Plugins\GameLiftClientSDK\Source\GameLiftClientSDK\Private\GameLiftClientObject.cpp(44): note: see declaration of 'UGameLiftClientObject::CreateGameSession' 1>D:\Workspaces\Master\Plugins\GameLiftClientSDK\Source\GameLiftClientSDK\Private\GameLiftClientObject.cpp(48): error C2027: use of undefined type 'UGameLiftCreateGameSession' 1> D:\Workspaces\Master\Plugins\GameLiftClientSDK\Intermediate\Build\Win64\UE4Editor\Inc\GameLiftClientSDK\GameLiftClientObject.generated.h(14): note: see declaration of 'UGameLiftCreateGameSession' 1>D:\Workspaces\Master\Plugins\GameLiftClientSDK\Source\GameLiftClientSDK\Private\GameLiftClientObject.cpp(57): error C2027: use of undefined type 'UGameLiftDescribeGameSession' 1> D:\Workspaces\Master\Plugins\GameLiftClientSDK\Intermediate\Build\Win64\UE4Editor\Inc\GameLiftClientSDK\GameLiftClientObject.generated.h(12): note: see declaration of 'UGameLiftDescribeGameSession' 1>D:\Workspaces\Master\Plugins\GameLiftClientSDK\Source\GameLiftClientSDK\Private\GameLiftClientObject.cpp(58): error C2027: use of undefined type 'UGameLiftDescribeGameSession' 1> D:\Workspaces\Master\Plugins\GameLiftClientSDK\Intermediate\Build\Win64\UE4Editor\Inc\GameLiftClientSDK\GameLiftClientObject.generated.h(12): note: see declaration of 'UGameLiftDescribeGameSession' 1>D:\Workspaces\Master\Plugins\GameLiftClientSDK\Source\GameLiftClientSDK\Private\GameLiftClientObject.cpp(67): error C2027: use of undefined type 'UGameLiftCreatePlayerSession' 1> D:\Workspaces\Master\Plugins\GameLiftClientSDK\Intermediate\Build\Win64\UE4Editor\Inc\GameLiftClientSDK\GameLiftClientObject.generated.h(11): note: see declaration of 'UGameLiftCreatePlayerSession' 1>D:\Workspaces\Master\Plugins\GameLiftClientSDK\Source\GameLiftClientSDK\Private\GameLiftClientObject.cpp(68): error C2027: use of undefined type 'UGameLiftCreatePlayerSession' 1> D:\Workspaces\Master\Plugins\GameLiftClientSDK\Intermediate\Build\Win64\UE4Editor\Inc\GameLiftClientSDK\GameLiftClientObject.generated.h(11): note: see declaration of 'UGameLiftCreatePlayerSession' 1> [2/5] GameLiftClientApi.cpp 1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets(41,5): error MSB3075: The command "D:\Source\UnrealEngine-R\Engine\Build\BatchFiles\Build.bat -Target="ShaderCompileWorker Win64 Development" -Target="MyProjectEditor Win64 Development -Project=\"D:\Workspaces\Master\MyProject.uproject\"" -WaitMutex -FromMsBuild" exited with code 5. Please verify that you have sufficient rights to run this command.

The only way to fix this, is to revert the .cpp file back to the previous revision.

These errors also pop up if I change the GameLiftClientSDK.Build.cs to have bFasterWithoutUnity = true;

Tried getting rid of the Intermediates, Binaries, re-generating project files, nothing seems to work. Modifying the .h files does not have any of these issues, only the .cpp ones. I've tested making modifications only to one or the other (just adding a space to them).

Any idea what could be causing this?

Need to add a license?

Hi there,

Came across this plugin, and seems like a great starting point for GameLift integration :)

One thing that might be good though is to add a License file (or mention the license in the README), since if no license is explicitly specified then someone isn't technically allowed to include your code in their project (since you have the copyright by default).

Were you treating this as something people can freely use, eg. MIT license?
Eg. https://github.com/davevill/UE4-GameLift/blob/master/LICENSE

Thanks!

Failed to load aws-cpp-sdk-cognito-identity, core and gamelift

So, I built the aws-cpp-sdk and replaced the DLLs and libs for the three dependencies, and changed the version number in the Build.cs. When I try to launch the game, none of the DLLs are able to load. The Plugin still shows up in the editor, but when I try to launch the game, those errors popup again and stop the game from connecting to AWS gamelift.

Any help is appreciated.

@chris-gong, any ideas?

Search Game Sessions

are you guys planning on adding a search game sessions functions to the gamelift object? It'd be very useful if it's there!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.