We have recently improved the way to find out why payloads exited with an error. You can see game server exit messages and codes in the web console and the payload history Grafana dashboard.
If a newly created payload exits before becoming Ready for any reason, other than scale down, it will enter Error state. Payloads in Error state are automatically restarted, as sometimes failures like this are transient. With each subsequent failed restart, the payload wil remain in Error state for longer.
Failure to properly start up can happen for many reasons, including a bug in the start-up logic or an unknown start-up command. We've added more information to the Error state message, including the exit code and reason, which should make it easier to differentiate between the different types of failures and rectify them.
This is also made available in the payload history, allowing you to search for payloads that have transitioned into Error state during their lifetime and diagnose the reason for this by viewing their logs.
Payloads that were previously Ready or Reserved, but exit with a non-zero exit code, won't go into Error state. They'll be considered Unhealthy and be terminated shortly after exiting. Unhealthy payloads indicate server crashes that potentially affected a game session, so it's good to identify and diagnose these. You can now use the payload history to identify payloads like these and view their exit information and logs.
We appreciate feedback on this and other topics. Please email us.