Skip to content

Unreal Heart Beat Successful Parsing Takes Way Too Long #186

Description

@SouhaibBenchaker

Describe the bug
Heart Beat Successful Parsing takes way too long, Almost 10 minutes, which means there is no sessionId Key in Config values for that duration and server Active delegate will take that long to be called, meaning Dedicated Server Build won't be able to get almost any Meta Data such as Match Id and so on.
FGSDKInternal::DecodeHeartbeatResponse keeps failing at if (!FJsonSerializer::Deserialize(Reader, HeartbeatResponseJson)) and logging "Failed to parse heartbeat"

Line 316 in GSDKInternal.cpp.

To Reproduce
-in Game Instance on Event Init Check Is Dedicated Server = True
-Set Default Server Host
-Register GSK Shutdown Delegate
-Register GSDK Health Check Delegate
-Register GSDK Maintenance V2 Delegate
-Register GSDK Server Active Delegate
-Register GSDK Ready for Players
-Call Ready for Players
-Get Match Id

Expected behavior
Heart Beat Parsing and filling up Config Values Should be way quicker than 10 minutes.

Screenshots
Screenshots of Game Instance

Image Image Image

Desktop (please complete the following information):

  • OS: Windows 11
  • Version 24H2 for x64-based Systems (KB5063878) (26100.4946)
  • Unreal Version : 4.27
  • Build Configuration : Development
  • Server Build Type Process
  • Added PF_StartupScript.ps1 to build.zip file so VM would install UE4PrereqSetup_x64 otherwise Build would be unhealthy (Can't upload the file but here's how it looks like)

PF_StartupScript.ps1

$root = $PSScriptRoot

$prereq = Join-Path $root 'Engine\Extras\Redist\en-us\UE4PrereqSetup_x64.exe'
if (Test-Path $prereq) {
Write-Host "Installing prerequisites from $prereq..."
Start-Process -FilePath $prereq -ArgumentList '/quiet','/norestart' -Wait
} else {
Write-Error "Prereq installer not found at $prereq"
exit 1
}

$serverExe = Join-Path $root 'HyperCycleRedux\Binaries\Win64\HyperCycleReduxServer.exe'
if (Test-Path $serverExe) {
Write-Host "Starting server $serverExe..."
Start-Process -FilePath $serverExe -ArgumentList '-log' -NoNewWindow
} else {
Write-Error "Server EXE not found at $serverExe"
exit 1
}

Additional context
GSDK Output Logs Retrieved from Dedicated server build

GSDK_output.txt

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions