question

Nicholas Helish avatar image
Nicholas Helish asked

UE4 GSDK, how to get started with it?

Hello, so we're attempting to upgrade to Server 2.0 using Unreal Engine 4 and we're having an issue of understanding where to start doing this or what the process would be to getting this setup(as a preface none of us have experience with DevOps or backend networking so we may need extra explanation for understanding how or why something works so incase we need to fix a bug or something we know where to start).

So far we seem to understand it where you have to have Docker running the server as a separate application from the Unreal application but we dont understand how to properly set this up where our Unreal application is talking with the server we created or how to send it configuration values as we have only been able to get as far as starting it and then getting the error message `Heartbeat endpoint and Server id are required configuration values.`

We also tried using the MockVmAgent and that just closes after a second of being open. Hopefully somebody who understands the process would be able to help us with figuring this out as its difficult to understand when its separated among different links and posts.

So far I only found 3 posts that were helpful in getting some information for setting this up but its still disjointed and difficult to follow from start to finish but I included them here to at least help others with finding them and for helping resolve this thread as well:

1) https://community.playfab.com/questions/28250/mutliplayer-20-build-fails-deployment-with-noserve.html

2) https://community.playfab.com/questions/28210/multiplayer-20-unreal-engine-full-source-code.html

3) https://community.playfab.com/questions/28794/server-20-cant-connect-to-unreal-dedicated-server.html

unreal
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Seth Du avatar image
Seth Du answered

We don’t have UE4 dedicated GSDK for now and you may refer to: https://github.com/PlayFab/gsdk

The thing is the Multiplayer server 2.0 is Platform-insensitive as the only thing you are required to do is to implement GSDK. According to https://docs.microsoft.com/en-us/gaming/playfab/features/multiplayer/servers/integrating-game-servers-with-gsdk, we now provide c++, c# and Java version GSDK and you may also see them in the Github repository, where testing apps is provided. If you are about to use UE4, I think you may simply consider implement a C++ project.

I believe you may have to follow the tutorial and make the samples on the Github work before you actually implement your own one, then compare your project with it. If using MockVmAgent to test, main steps are:

  1. Implement GSDK into your project
  2. Build the project into executable
  3. Zip the build
  4. Modify MultiplayerSettings.json settings in MockVmAgent folder
  5. Run MockVmAgent via Powershell
  6. MockVmAgent will output information but be aware that there will be the firewall settings window popping up if you are using WIN10

If you stuck on any one of these steps, feel free to tell us.

3 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Nicholas Helish avatar image Nicholas Helish commented ·

So alot of the documentation for server 2.0 doesnt really help with unreal because of the engine's code base being so customized by nature and just for us to use it within unreal we have to use the functionality provided by the plugin as a sort of connection library to the regular C++ playfab functionality, I cannot package my project in unreal just calling the functions like start and such as an example. Also if anybody who has UE4 experience with playfab server 2.0 is able to help me with just getting these functions to package that would be appreciated! :)

C:\_UnrealProjects\HOD\Source\HOD\HoDGameInstance.cpp(36): error C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
    C:\_UnrealProjects\HOD\Source\HOD\HoDGameInstance.cpp(37): error C2653: 'Microsoft': is not a class or namespace name
    C:\_UnrealProjects\HOD\Source\HOD\HoDGameInstance.cpp(37): error C3861: 'start': identifier not found
    C:\_UnrealProjects\HOD\Source\HOD\HoDGameInstance.cpp(38): error C2653: 'Microsoft': is not a class or namespace name
    C:\_UnrealProjects\HOD\Source\HOD\HoDGameInstance.cpp(41): error C2061: syntax error: identifier 'GSDKInitializationException'
0 Likes 0 ·
Seth Du avatar image Seth Du ♦ Nicholas Helish commented ·

I am working on it recently, trying to implement C++ gsdk on UE4 C++ but not sure how long it will take. I will keep this thread updated if there is any good result.

Feel free to tell us about the progress of your project, but I will close this thread and mark the answer.

You are also welcomed to send a thread on our Feature Request forum about UE4 gsdk tutorial and more votes can help with the priority.

0 Likes 0 ·
Gabriel Dechichi avatar image Gabriel Dechichi Seth Du ♦ commented ·

@SethDu Did you have any success with the matter? I'm trying to implement the GSDK on Unreal and also having difficulties

0 Likes 0 ·
starkgaminginc avatar image
starkgaminginc answered

Would love to hear any updates on this!

1 comment
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Seth Du avatar image Seth Du ♦ commented ·

We have an updated documentation about implementing GSDK on Unreal Engine. It is kindly shared by one developer in the community. There is no sample project files that we can provide. Please refer to: https://docs.microsoft.com/en-us/gaming/playfab/features/multiplayer/servers/playfabgsdk_guide

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.