Unable to get game session logs from two directories

Hello, there!

My setup: Windows build, UE4.20, GameLift Server SDK plugin for Unreal.

I have two options to launch server: with or without a network profiler (unreal engine tool).

When I launch the server without network profiler I collect only game logs. I specify an absolute path to the log file. I download game session logs from the interface, ReadMe.txt contains:

Game Server Logs
1 File Collected C:\game\MyGame\Saved\Logs\Instance_1.txt
Error: Missing file/directory C:\game\logs

The log is in the archive and everything is fine.

When I launch the server with network profiler (additional flag on the command line) I collect game logs and profiler logs as well. I specify an absolute path to the log file and the absolute path to the profiler logs directory. In this case, ReadMe.txt contains:

Game Server Logs
Error: Internal Error C:\game\MyGame\Saved\Profiling
Error: Missing file/directory C:\game\logs

But the archive contains profiler logs directory with all files. The problem is it doesn’t contain game log! But it should be there as well.

What am I doing wrong here? Could it be error on the GameLift side?

Anyone? @Pip, @MisterGameLift? I’d had posted it in Amazon GameLift Discussion but there was no subforum choice if I recall.

FYI you will get a faster response posting in GameLift specific subforum, which is listed on the front page: https://gamedev.amazon.com/forums/spaces/123/gamelift-discussion.html

We don’t always catch GameLift posts in other forums.

Can you either provide:

  • How you are setting log paths (code, command line etc)

  • Or your fleet-id/region so we can investigate

Ensure your are logging to the locations specified and we can investigate further.

FYI you will get a faster response posting in GameLift specific subforum

I’m sure I was trying to create question there but somehow it ended here. Sorry about that.

We’ve already switched to the Linux build but the behavior still persists. ReadMe.txt no longer contains error lines for both cases but still, logs are missing when the network profiler is on.

Here’s the code snippet:

Params.logParameters = TArray<FString>({ IFileManager::Get().ConvertToAbsolutePathForExternalAppForRead(*FGenericPlatformOutputDevices::GetAbsoluteLogFilename()) });
NETWORK_PROFILER(Params.logParameters.Add(IFileManager::Get().ConvertToAbsolutePathForExternalAppForRead(*FPaths::ProfilingDir())));

Params is the FProcessParameters structure. The first line always creates the array with the single entry - path to the log file (something like /local/game/MyGame/Saved/Logs/Instance_1.txt). The second line works only when network profiler is enabled and adds another entry - path to the profiler logs (something like /local/game/MyGame/Saved/Profiling). I expect when the network profiler is enabled to get its logs alongside with the game logs but there aren’t any.

Thanks for the help.

Can you let me know either a game session session id or fleet id and region so we can investigate further?

Our continuous delivery system removed the previous fleet, sorry.

I’ve created a separate one, it should survive longer.

Game session ID with logs: arn:aws:gamelift:eu-central-1::gamesession/fleet-c38aed9c-c57d-4e3c-881d-492298925079/gsess-e247e406-11cb-48ab-9d2d-a27618705f76

Game session ID with network profiler: arn:aws:gamelift:eu-central-1::gamesession/fleet-c38aed9c-c57d-4e3c-881d-492298925079/gsess-b4b1b3f8-42aa-4eab-a3b7-91bb51b42d43

(I’m pretty sure I’ve sent this message but it doesn’t show up)

Our continuous delivery system deleted the fleet, sorry.

I created the separate one, it should survive longer.

Game session ID with logs: arn:aws:gamelift:eu-central-1::gamesession/fleet-c38aed9c-c57d-4e3c-881d-492298925079/gsess-e247e406-11cb-48ab-9d2d-a27618705f76

Game session ID with network profiler: arn:aws:gamelift:eu-central-1::gamesession/fleet-c38aed9c-c57d-4e3c-881d-492298925079/gsess-b4b1b3f8-42aa-4eab-a3b7-91bb51b42d43

Here you go.

Region: eu-central-1

Fleet ID: fleet-53f6c120-b555-40ce-baf3-4e934b8f425f

Game session ID with logs: arn:aws:gamelift:eu-central-1::gamesession/fleet-53f6c120-b555-40ce-baf3-4e934b8f425f/gsess-f451f38f-ed36-4e46-9a4f-32a04ee430c7

Game session ID with network profiler: arn:aws:gamelift:eu-central-1::gamesession/fleet-53f6c120-b555-40ce-baf3-4e934b8f425f/gsess-46cb9802-c781-489e-a06e-7ddf0d05b290

UPD:

Our continuous delivery system has deleted the fleet, sorry.

I created a separate one, it should survive longer.

Game session ID with logs: arn:aws:gamelift:eu-central-1::gamesession/fleet-c38aed9c-c57d-4e3c-881d-492298925079/gsess-e247e406-11cb-48ab-9d2d-a27618705f76

Game session ID with network profiler: arn:aws:gamelift:eu-central-1::gamesession/fleet-c38aed9c-c57d-4e3c-881d-492298925079/gsess-b4b1b3f8-42aa-4eab-a3b7-91bb51b42d43

@Pip any updates on this case?

@ZX.Diablo Did you ever get a resolution for this. I am observing a similar error myself, although in my case for the same fleet and build, some game sessions have all logs and no errors and some contain the Internal Error. I am wondering with mine whether it is something to do with the length of the file path as they can get quite long with guids.

IMHO GameSession log upload can have some trickiness to it:

  • Ensure you are setting the right log paths in your ProcessParams

  • Ensure your game sessions terminate cleanly (Metrics on your GameLift dashboard should show this)

  • Keep logs as small as is useful, if they get too large you may start hitting log limits with GameLift - “See the AWS Service Limits page for maximum log file sizes. Log files that exceed this limit are not saved.”. Max Log upload size per game session is 200 MB

  • Also note that if you are terminating game sessions via calls to ProcessEnding and you have large logs, there may not be enough time to get them off the box before the process is recycled.

No, unfortunately.
But we had ended active testing phase and no longer need to collect profiler logs.
So, I guess, it’s up to you to collect new debug data for Amazon staff =)