- Newest
- Most votes
- Most comments
The SERVER_PROCESS_PROCESS_EXIT_TIMEOUT error you're experiencing is likely due to the server process not exiting cleanly within the expected time frame after calling ProcessEnding(). This can happen for a few reasons:
-
The server might be taking too long to shut down completely. GameLift expects the process to exit within 30 seconds after calling ProcessEnding().
-
There might be some lingering tasks or operations that are preventing the server from shutting down promptly.
-
The Destroy() method might not be called immediately after ProcessEnding(), which is necessary for a clean shutdown.
To resolve this issue, try the following:
-
Ensure you're calling ProcessEnding(), then Destroy(), and finally exiting the process, in that exact order. This sequence is crucial for a clean shutdown.
-
Check if there are any long-running tasks or operations that might be delaying the shutdown process. Try to complete or terminate these before calling ProcessEnding().
-
Implement a timeout mechanism in your shutdown process. If the server doesn't exit within a certain timeframe (less than 30 seconds), force it to terminate.
-
Add more detailed logging around the shutdown process to identify any potential bottlenecks or issues preventing a clean exit.
-
If possible, profile your shutdown process to see where it might be getting stuck or taking too long.
If you've implemented these suggestions and are still facing issues, it might be worth opening a support case with AWS Premium Support for a more in-depth investigation, as they would have access to more detailed logs and information about your specific setup.
Sources
Event - Amazon GameLift
Gamelift ProcessEnding and Destroy via suggested sample, but reported SERVER_PROCESS_PROCESS_EXIT_TIMEOUT | AWS re:Post
Relevant content
- asked 2 years ago
