Hi !
We are in the process of developing a multiplayer game with server hosted on PlayFab using the match maker and multiplayer server 2.0 API.
In an attempt to get sensible information about server crashes, we use the Sentry service to collect crash dumps.
In order to test the feature, I can force the server to crash. Depending on how the server is running I can see two different outcomes :
It looks like crash dumps cannot exit the container...
It is my understanding that crash dumps are sent using a HTTP REST API so I don't see what could prevent them to be sent by a containerized server except maybe some restriction on network configuration.
Is there something to be configured so that the reports can reach their destination ?
Thanks for your answers !
Answer by Jay Zuo · Feb 11 at 08:51 AM
I'm not familiar with Sentry, but if the crash dumps are sent using a HTTP REST API, then there should be no configuration needed. Form Sentry's documentation, it seems you can send messages to Sentry with something like
SentrySdk.CaptureMessage("Something went wrong");
I'd suggest testing with this to see if the network is working.
One thing needs to mention is that while in container, if your main process exits (no matter it's exited as expected or crashed), the container will also exit, all resources will be recycled. Not sure if this behavior will impact Sentry.
You can test your server instance locally with RunContainer": true. If it can pass the local test, there should be no issue after deployed to PlayFab.
Hi,
Thank you for your answer.
As stated above I did the local test using "RunContainer": true and the message is not received by Sentry (while it is when using "RunContainer": false).
One thing I should mention, the game is based on UE4 which has its own crash handler that can send crash dumps to any URL using an HTTP request. It just happens our URL points to Sentry's end point but there is nothing more Sentry related.
Could that be the case the container intercepts the crash and / or stops before the HTTP requests as a chance to exit ?
Thanks for your sharing. Unfortunately, I'm also not familiar with UE4 crash handler. Is it a separate client runs when the main process crashed? If so, then it's possible the container recycled before the HTTP requests were sent by the crash handler.
I just checked and it happens this is a separate client.
Would it be possible to make the container wait for a list of processes to end before exiting ?
Simple process to auto connect and scale the servers? 1 Answer
Can PlayFab Be Used for Real-Time HTML Games?,PlayFab for Multiplayer Realtime HTML Games 1 Answer
Manual Game Session via groups 0 Answers
How can Players select their teams when matchmaking? 1 Answer
Multiplayer Server + Matchmaking with other backends 1 Answer