- Più recenti
- Maggior numero di voti
- Maggior numero di commenti
Hello,
Accessing the instance does also not work for me
Did you follow this doc (Connect to an instance (server SDK 5) section) https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html#fleets-remote-access-connect When trying to access the instance? There're some changes for SDK 5 vs SDK4
why does it create no log file anymore?
If you were previously using LogPaths parameter to assign the log path, the parameter is no longer used. Please refer to https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-initialize to provide logPath when calling ProcessReady()
instead.
Hopefully with instance and log access and you will be able to find the cause of the start game session issue
Contenuto pertinente
- AWS UFFICIALEAggiornata 3 anni fa
- AWS UFFICIALEAggiornata 2 anni fa
Hi fzehao, thanks for your answer!
"Did you follow this doc[...]?" Yes, I followed the steps for SDK 5. E.g. if I manipulate a token in the "export AWS_*" step, it even tells me that I'm not authorized (expected).
"If you were previously using LogPaths parameter to assign the log path[...]" I was not even aware of this parameter before ^^, so yes, I'm using ProcessReady() to provide the logPath, like I did before with SDK 4. I changed nothing there.
PS: What I also tried, was adding an amazon-cloudwatch-agent.json (together with a install.sh) to the build before the upload, which observes the logPath, so I can see the results in Cloudwatch. This worked with SDK 4, but not SDK 5. Usually with SDK 4 I could even see my log messages, which were created when initSDK() was called. But with SDK 5 there is "nothing" -which is weird, because the fleet is active.
For SDK5, the new shared credentials feature was recently added to support CloudWatch Agent: https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateFleet.html#gamelift-CreateFleet-request-InstanceRoleCredentialsProvider https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html
For the instance access issue, according to ssm doc, the issue might occur when the compute is in a different region. Did you call
aws ssm start-session
with the right --region <aws-region> flag? Also a sanity check, is the instance still active while trying to access it?"For SDK5, the new shared credentials feature was recently added to support CloudWatch Agent" I followed this tutorial to set it up: https://aws.amazon.com/de/blogs/gametech/game-server-observability-with-amazon-gamelift-and-amazon-cloudwatch/ I went through the link you provided, but I don't think there is much difference. I added now "--instance-role-credentials-provider SHARED_CREDENTIAL_FILE" as parameter to the "create-fleet" command, but it didn't change anything (Before I had already added --instance-role-arn) But let's assume that the error reported by the terminated gameSession is correct: "Error: Missing file/directory /local/game/logs/myserver.log" Then anyways, if there is no log file, then it can't be observed. "Did you call aws ssm start-session with the right --region <aws-region> flag?" Yup I did (My region for everything is "eu-central-1") "Also a sanity check, is the instance still active while trying to access it?" Yes, it is still active after trying to access it. I don't know how exactly it works under the hood. If my SDK-5 dll is somehow broken, or there are missing dll's, should I still be able to connect to the instance? Or is the SDK dll responsible for that?
You should still be able to access the instance if the dll is broken. In this case, I recommend reaching out to AWS support with information like the fleet id so the service team can help investigate the issue