question

cooltom2013 avatar image
cooltom2013 asked

Playfab GSDK issue,

Hey does anyone know why I might be experiancing this error? we have recently intergrated steam to our UE4, windows, dedicated servers however this issue persists with steam disabled. (with -nosteam)

"[2020.06.26-06.21.17:489][  0]LogWindows: Error: === Critical error: ===
[2020.06.26-06.21.17:490][  0]LogWindows: Error: 
[2020.06.26-06.21.17:490][  0]LogWindows: Error: Fatal error!
[2020.06.26-06.21.17:491][  0]LogWindows: Error: 
[2020.06.26-06.21.17:491][  0]LogWindows: Error: Unhandled Exception: 0xe06d7363
[2020.06.26-06.21.17:491][  0]LogWindows: Error: 
[2020.06.26-06.21.17:492][  0]LogWindows: Error: [Callstack] 0x00007ffd86a2a799 KERNELBASE.dll!UnknownFunction []
[2020.06.26-06.21.17:492][  0]LogWindows: Error: [Callstack] 0x00007ffd78bb486d VCRUNTIME140.dll!UnknownFunction []
[2020.06.26-06.21.17:493][  0]LogWindows: Error: [Callstack] 0x00007ff693f91a14 *Name*.exe!Microsoft::Azure::Gaming::GSDKInternal::GSDKInternal() []
[2020.06.26-06.21.17:493][  0]LogWindows: Error: [Callstack] 0x00007ff693f99dff *Name*.exe!Microsoft::Azure::Gaming::GSDKInternal::get() []
[2020.06.26-06.21.17:493][  0]LogWindows: Error: [Callstack] 0x00007ff69050a9fb *Name*.exe!AServerGameModeBase::BeginPlay() [U:\Jenkins\workspace\FullBuild\*Name*\Source\ultraball_v9\Private\GameModes\ServerGameModeBase.cpp:93]"

the GDSK function its calling when it errors is "Microsoft::Azure::Gaming::GSDK::readyForPlayers()" and at that point "Microsoft::Azure::Gaming::GSDK::start()" has already been called when deploying because playfab initiliy reports a heartbeat from the server.

The UE4, C++ Function that's called,

void AServerGameModeBase::BeginPlay()
{
	Super::BeginPlay();
#if !WITH_EDITOR && WITH_SERVER_CODE
	// Call this while your game is initializing; it will start sending a heartbeat to our agent and put the game server in an Initializing state
	Microsoft::Azure::Gaming::GSDK::start();


	/* Add any initialization that the game server needs before players can connect */


	// Needs to be called when game is done initializing and players can connect
	if (Microsoft::Azure::Gaming::GSDK::readyForPlayers()) 
	{
		//returns true if server game session successfully goes to ACTIVE state and the players can now connect to the session


		// get list of players expected to join
		const std::vector<std::string>& Players(Microsoft::Azure::Gaming::GSDK::getInitialPlayers());


		for (const auto& Player : Players)
		{
			Microsoft::Azure::Gaming::GSDK::logMessage("Expecting player: " + Player);
			ExpectedPlayers.Add(Player.data());
		}
	}
	else
	{
		// returns false when the server game session is being terminated
	}
#endif

sdks
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.

cooltom2013 avatar image cooltom2013 commented ·

Correction, added some debug lines, turns out "Microsoft::Azure::Gaming::GSDK::start()" causes the call stack error

0 Likes 0 ·

1 Answer

·
Citrus Yan avatar image
Citrus Yan answered

Which version of UE4, GSDK & SteamSDK are you using? And, do you mean that everything worked fine before integrating steam into your project? What will happen if you uninstall steam (not simply disable it)?

Looking at the error messages, I don’t think that the error is not originated from GSDK, instead, seems like it’s coming from KERNELBASE.dll & VCRUNTIME140.dll. You can Compile with development or debug build configuration and keep the pdb files so you can get a detailed log to help identify the issue. This thread from UE forum might be helpful, please take a look:

https://forums.unrealengine.com/development-discussion/c-gameplay-programming/1389969-dedicated-server-kernelbase-dll-unknownfunction

10 |1200

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

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.