- 最新
- 最多得票
- 最多評論
I'm not the original poster but I am having the exact same issue with Linux 2023. I tried copying both libssl(libcrypto).so , libssl(libcrypto).so.3, and tried libssl(libcrypto).so.1.1 in the same folder as libaws-cpp-sdk-gamelift.server.so and I am seeing the same error as the original post too.
Hi Micah,
For C++ SDK without using Unreal, you can just have the .so files with the Server executable. But with Unreal Engine you need to build the C++ SDK using the same version of OpenSSL that was used by Unreal Engine. UE5.1 uses OpenSSL1.1.n, but if you're on a different version you can double-check the version of OpenSSL by looking for the following log line from the UE packaging output window: "LogInit: - supports SSL with OpenSSL/1.1.1n".
Then, download the same version of OpenSSL from https://www.openssl.org/source/old/1.1.1/
$ cd ~/openssl-1.1.1n; ./config; make
$ mkdir lib
$ cp libcrypto.so.1.1 libssl.so.1.1 lib/
$ cd ~/GameLift-Cpp-ServerSDK-5.1.0/; mkdir out
$ export OPENSSL_ROOT_DIR=/home/ec2-user/openssl-1.1.1n/
$ export OPENSSL_LIBRARIES=/home/ec2-user/openssl-1.1.1n/lib/
$ cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -S . -B ./out -DBUILD_FOR_UNREAL=1
$ cd out; make
Place the generated libaws-cpp-sdk-gamelift-server.so
in <UnrealProject>\Plugins\GameLiftServerSDK\ThirdParty\GameLiftServerSDK\Linux\x86_64-unknown-linux-gnu
. This is where Unreal links to the C++ SDK from during compilation and packaging. Detailed instructions on setting up the plugin can be found here.
After packaging the game server for Linux, copy over the .so files for OpenSSL into the package bundle. Your folder structure should finally look like:
-<Game>
--install.sh
--<MyUnrealProjectServer>.sh (This is the target .sh file that is generated by Unreal itself)
--<Game>\<MyUnrealProject>\Plugins\GameLiftServerSDK\ThirdParty\GameLiftServerSDK\Linux\x86_64-unknown-linux-gnu\
--libaws-cpp-sdk-gamelift-server.so
--libcrypto.so.1.1
--libssl.so.1.1
相關內容
- 已提問 1 年前
- AWS 官方已更新 7 個月前
- AWS 官方已更新 1 年前
- AWS 官方已更新 1 年前
Hey Justin, thanks for raising this concern. I've updated my original answer to be more descriptive. The SDK needs to built with openssl-1.1.1n in addition to including
libssl(libcrypto).so.1.1
. Withlibssl(libcrypto).so.3
there is a version conflict with openssl-1.1.1n that is statically linked by Unreal into the game server executable. Building (and bundling) the SDK with the same version of openssl (openssl-1.1.1n
) should help mitigate the problem.