Microsoft Azure PlayFab logo
    • Multiplayer
    • LiveOps
    • Data & Analytics
    • Add-ons
    • For Any Role

      • Engineer
      • Designer
      • Executive
      • Marketer
    • For Any Stage

      • Build
      • Improve
      • Grow
    • For Any Size

      • Solo
      • Indie
      • AAA
  • Runs on PlayFab
  • Pricing
    • Blog
    • Forums
    • Contact us
  • Sign up
  • Sign in
  • Ask a question
  • Spaces
    • PlayStream
    • Feature Requests
    • Add-on Marketplace
    • Bugs
    • API and SDK Questions
    • General Discussion
    • LiveOps
    • Topics
    • Questions
    • Articles
    • Ideas
    • Users
    • Badges
  • Home /
  • General Discussion /
avatar image
Question by Mathieu Deletrain · Feb 10 at 05:07 PM · Matchmakingmultiplayer

Multiplayer server 2.0 not able to access external REST API

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 :

  • I run a server instance locally, directly from windows -> crash dump is received in Sentry
  • I run a server instance locally, using MockAgent with "RunContainer": false -> crash dump is received in Sentry
  • I run a server instance locally, using MockAgent with "RunContainer": true -> crash dump is NOT received in Sentry
  • I deploy the server to PlayFab, have match maker spawn it using some clients -> crash dump is NOT received in Sentry


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 !

Comment

People who like this

0 Show 0
10 |1200 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image

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.

Comment

People who like this

0 Show 4 · Share
10 |1200 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Mathieu Deletrain · Feb 11 at 09:43 AM 0
Share

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 ?

avatar image Jay Zuo ♦ Mathieu Deletrain · Feb 17 at 10:43 AM 0
Share

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.

avatar image Mathieu Deletrain Jay Zuo ♦ · 2 days ago 0
Share

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 ?

Show more comments

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Navigation

Spaces
  • General Discussion
  • API and SDK Questions
  • Feature Requests
  • PlayStream
  • Bugs
  • Add-on Marketplace
  • LiveOps
  • Follow this Question

    Answers Answers and Comments

    5 People are following this question.

    avatar image avatar image avatar image avatar image avatar image

    Related Questions

    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

    PlayFab

    • Multiplayer
    • LiveOps
    • Data & Analytics
    • Runs on PlayFab
    • Pricing

    Solutions

    • For Any Role

      • Engineer
      • Designer
      • Executive
      • Marketer
    • For Any Stage

      • Build
      • Improve
      • Grow
    • For Any Size

      • Solo
      • Indie
      • AAA

    Engineers

    • Documentation
    • Quickstarts
    • API Reference
    • SDKs
    • Usage Limits

    Resources

    • Forums
    • Contact us
    • Blog
    • Service Health
    • Terms of Service
    • Attribution

    Follow us

    • Facebook
    • Twitter
    • LinkedIn
    • YouTube
    • Sitemap
    • Contact Microsoft
    • Privacy & cookies
    • Terms of use
    • Trademarks
    • Safety & eco
    • About our ads
    • © Microsoft 2020
    • Anonymous
    • Sign in
    • Create
    • Ask a question
    • Create an article
    • Post an idea
    • Spaces
    • PlayStream
    • Feature Requests
    • Add-on Marketplace
    • Bugs
    • API and SDK Questions
    • General Discussion
    • LiveOps
    • Explore
    • Topics
    • Questions
    • Articles
    • Ideas
    • Users
    • Badges