Search Unity

  1. If you have experience with import & exporting custom (.unitypackage) packages, please help complete a survey (open until May 15, 2024).
    Dismiss Notice
  2. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice

Other Matchmaker all tickets time out

Discussion in 'Matchmaker' started by MidnightGameDeveloper, Jan 16, 2023.

  1. MidnightGameDeveloper

    MidnightGameDeveloper

    Joined:
    Apr 26, 2014
    Posts:
    123
    Hello,
    since today all my matchmaker tickets time out. I haven't made any changes to my game or the services. There are enough servers available. Is there a problem with matchmaker? The Service Status page says everything is working fine, but it's not for me.
     
  2. JonnyL_Unity

    JonnyL_Unity

    Unity Technologies

    Joined:
    Jan 5, 2023
    Posts:
    3
    Thanks for raising this with us. We have identified an issue on our side that our engineering team are actively looking into.

    You can keep tabs on the status of the investigation on our service status page: https://status.unity.com/incidents/112573
     
    MidnightGameDeveloper likes this.
  3. jackw_unity

    jackw_unity

    Unity Technologies

    Joined:
    Oct 12, 2022
    Posts:
    11
    Hi MidnightGameDeveloper,

    Our engineering team have taken action and resolved the issue and we have updated the above incident. We will be working to make sure we avoid this happening again.
     
    MidnightGameDeveloper likes this.
  4. DeathPro

    DeathPro

    Joined:
    Jul 28, 2018
    Posts:
    91
    Yesterday the unity matchmaker was working properly. But today somehow all tickets timeout. Even the multiplay-matchmaker sample does not work. I did not touch the working code. I opened a ticket about this.


    MatchmakerStatistic2.png MatchmakingCantFindAMatch.PNG
     
  5. Kouznetsov

    Kouznetsov

    Joined:
    Aug 25, 2014
    Posts:
    9
    The same thing seems to keep happening here as well. I'm in an early stage of development but matchmaking has been working fine all day, but now all of them are timing out.
    Even by using the sample scene provided with the Matchmaker package.
     
  6. airburst_studios

    airburst_studios

    Joined:
    Jan 7, 2023
    Posts:
    37
    Funny. I am trying to get matchmaking working all the time adjusting everything I know. So it's a big conincidence that exactly when I put my hands on matchmaking nothing works. I think I will wait a day until Unity fixed the issues and pick the thing back up afterwards.

    My tickets also timeout but also there is a HTTP 429 Too Many Request happening. See my logs (my polling frequency is 8seconds):


    Code (Boo):
    1. Initializing Unity Multiplay SDK...
    2. Unity Multiplay SDK initialized.
    3. Find duel via Matchmaker
    4. Create player: Ixv3db8vjRel9sU1YOdzaAJaeQAf
    5. Create matchmaking ticket
    6. Polling for matchmaking ticket status
    7. Waiting for match...
    8. Polling for matchmaking ticket status
    9. Waiting for match...
    10. Polling for matchmaking ticket status
    11. Waiting for match...
    12. Polling for matchmaking ticket status
    13. Waiting for match...
    14. Polling for matchmaking ticket status
    15. Waiting for match...
    16. Polling for matchmaking ticket status
    17. Waiting for match...
    18. Polling for matchmaking ticket status
    19. Waiting for match...
    20. Polling for matchmaking ticket status
    21. Waiting for match...
    22. Polling for matchmaking ticket status
    23. Waiting for match...
    24. Polling for matchmaking ticket status
    25. Waiting for match...
    26. Polling for matchmaking ticket status
    27. Waiting for match...
    28. Polling for matchmaking ticket status
    29. Waiting for match...
    30. Polling for matchmaking ticket status
    31. Waiting for match...
    32. Polling for matchmaking ticket status
    33. Waiting for match...
    34. Polling for matchmaking ticket status
    35. Waiting for match...
    36. Polling for matchmaking ticket status
    37. Waiting for match...
    38. Polling for matchmaking ticket status
    39. [Matchmaker]: RateLimited (21429)
    40. Title: Too Many Requests
    41. Errors: Rate limit has been exceeded
    42. #0 operator delete[](void*, std::nothrow_t const&)
    43. #1 operator delete[](void*, std::nothrow_t const&)
    44. #2 ???
    45. #3  (Mono JIT Code) (wrapper managed-to-native) UnityEngine.DebugLogHandler:Internal_Log (UnityEngine.LogType,UnityEngine.LogOption,string,UnityEngine.Object)
    46. #4  (Mono JIT Code) UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[])
    47. #5  (Mono JIT Code) UnityEngine.Logger:LogError (string,object)
    48. #6  (Mono JIT Code) Unity.Services.Matchmaker.Logger:LogError (object)
    49. #7  (Mono JIT Code) Unity.Services.Matchmaker.WrappedMatchmakerService:ResolveErrorWrapping (Unity.Services.Matchmaker.MatchmakerExceptionReason,System.Exception)
    50. #8  (Mono JIT Code) Unity.Services.Matchmaker.WrappedMatchmakerService/<TryCatchRequest>d__14`2<TRequest_REF, TReturn_REF>:MoveNext ()
    51. #9  (Mono JIT Code) System.Runtime.CompilerServices.AsyncMethodBuilderCore/MoveNextRunner:InvokeMoveNext (object)
    52. #10  (Mono JIT Code) System.Threading.ExecutionContext:RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
    53. #11  (Mono JIT Code) System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
    54. #12  (Mono JIT Code) System.Runtime.CompilerServices.AsyncMethodBuilderCore/MoveNextRunner:Run ()
    55. #13  (Mono JIT Code) System.Threading.Tasks.AwaitTaskContinuation:InvokeAction (object)
    56. #14  (Mono JIT Code) System.Threading.Tasks.AwaitTaskContinuation:RunCallback (System.Threading.ContextCallback,object,System.Threading.Tasks.Task&)
    57. #15  (Mono JIT Code) System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation:Run (System.Threading.Tasks.Task,bool)
    58. #16  (Mono JIT Code) System.Threading.Tasks.Task:FinishContinuations ()
    59. #17  (Mono JIT Code) System.Threading.Tasks.Task:FinishStageThree ()
    60. #18  (Mono JIT Code) System.Threading.Tasks.Task:FinishStageTwo ()
    61. #19  (Mono JIT Code) System.Threading.Tasks.Task:Finish (bool)
    62. #20  (Mono JIT Code) System.Threading.Tasks.Task:TrySetException (object)
    63. #21  (Mono JIT Code) System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1<TResult_REF>:SetException (System.Exception)
    64. #22  (Mono JIT Code) Unity.Services.Matchmaker.Apis.Tickets.TicketsApiClient/<GetTicketStatusAsync>d__9:MoveNext ()
    65. #23  (Mono JIT Code) System.Runtime.CompilerServices.AsyncMethodBuilderCore/MoveNextRunner:InvokeMoveNext (object)
    66. #24  (Mono JIT Code) System.Threading.ExecutionContext:RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
    67. #25  (Mono JIT Code) System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
    68. #26  (Mono JIT Code) System.Runtime.CompilerServices.AsyncMethodBuilderCore/MoveNextRunner:Run ()
    69. #27  (Mono JIT Code) System.Threading.Tasks.AwaitTaskContinuation:InvokeAction (object)
    70. #28  (Mono JIT Code) System.Threading.Tasks.AwaitTaskContinuation:RunCallback (System.Threading.ContextCallback,object,System.Threading.Tasks.Task&)
    71. #29  (Mono JIT Code) System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation:Run (System.Threading.Tasks.Task,bool)
    72. #30  (Mono JIT Code) System.Threading.Tasks.Task:FinishContinuations ()
    73. #31  (Mono JIT Code) System.Threading.Tasks.Task:FinishStageThree ()
    74. #32  (Mono JIT Code) System.Threading.Tasks.Task`1<TResult_REF>:TrySetResult (TResult_REF)
    75. #33  (Mono JIT Code) System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1<TResult_REF>:SetResult (TResult_REF)
    76. #34  (Mono JIT Code) Unity.Services.Matchmaker.Http.HttpClient/<MakeRequestAsync>d__1:MoveNext ()
    77. #35  (Mono JIT Code) System.Runtime.CompilerServices.AsyncMethodBuilderCore/MoveNextRunner:InvokeMoveNext (object)
    78. #36  (Mono JIT Code) System.Threading.ExecutionContext:RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
    79. #37  (Mono JIT Code) System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
    80. #38  (Mono JIT Code) System.Runtime.CompilerServices.AsyncMethodBuilderCore/MoveNextRunner:Run ()
    81. #39  (Mono JIT Code) System.Threading.Tasks.AwaitTaskContinuation:InvokeAction (object)
    82. #40  (Mono JIT Code) System.Threading.Tasks.AwaitTaskContinuation:RunCallback (System.Threading.ContextCallback,object,System.Threading.Tasks.Task&)
    83. #41  (Mono JIT Code) System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation:Run (System.Threading.Tasks.Task,bool)
    84. #42  (Mono JIT Code) System.Threading.Tasks.Task:FinishContinuations ()
    85. #43  (Mono JIT Code) System.Threading.Tasks.Task:FinishStageThree ()
    86. #44  (Mono JIT Code) System.Threading.Tasks.Task`1<TResult_REF>:TrySetResult (TResult_REF)
    87. #45  (Mono JIT Code) System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1<TResult_REF>:SetResult (TResult_REF)
    88. #46  (Mono JIT Code) Unity.Services.Matchmaker.Http.HttpClient/<CreateWebRequestAsync>d__3:MoveNext ()
    89. #47  (Mono JIT Code) System.Runtime.CompilerServices.AsyncMethodBuilderCore/MoveNextRunner:InvokeMoveNext (object)
    90. #48  (Mono JIT Code) System.Threading.ExecutionContext:RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
    91. #49  (Mono JIT Code) System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
    92. #50  (Mono JIT Code) System.Runtime.CompilerServices.AsyncMethodBuilderCore/MoveNextRunner:Run ()
    93. #51  (Mono JIT Code) System.Threading.Tasks.AwaitTaskContinuation:InvokeAction (object)
    94. #52  (Mono JIT Code) System.Threading.Tasks.AwaitTaskContinuation:RunCallback (System.Threading.ContextCallback,object,System.Threading.Tasks.Task&)
    95. #53  (Mono JIT Code) System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation:Run (System.Threading.Tasks.Task,bool)
    96. #54  (Mono JIT Code) System.Threading.Tasks.Task:FinishContinuations ()
    97. #55  (Mono JIT Code) System.Threading.Tasks.Task:FinishStageThree ()
    98. #56  (Mono JIT Code) System.Threading.Tasks.Task`1<TResult_REF>:TrySetResult (TResult_REF)
    99. #57  (Mono JIT Code) System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1<TResult_REF>:SetResult (TResult_REF)
    100. #58  (Mono JIT Code) Unity.Services.Matchmaker.Http.HttpClient/<CreateHttpClientResponse>d__4:MoveNext ()
    101. #59  (Mono JIT Code) System.Runtime.CompilerServices.AsyncMethodBuilderCore/MoveNextRunner:InvokeMoveNext (object)
    102. #60  (Mono JIT Code) System.Threading.ExecutionContext:RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
    103. #61  (Mono JIT Code) System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
    104. #62  (Mono JIT Code) System.Runtime.CompilerServices.AsyncMethodBuilderCore/MoveNextRunner:Run ()
    105. #63  (Mono JIT Code) System.Threading.Tasks.AwaitTaskContinuation:InvokeAction (object)
    106. #64  (Mono JIT Code) System.Threading.Tasks.AwaitTaskContinuation:RunCallback (System.Threading.ContextCallback,object,System.Threading.Tasks.Task&)
    107. #65  (Mono JIT Code) System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation:Run (System.Threading.Tasks.Task,bool)
    108. #66  (Mono JIT Code) System.Threading.Tasks.Task:FinishContinuations ()
    109. #67  (Mono JIT Code) System.Threading.Tasks.Task:FinishStageThree ()
    110. #68  (Mono JIT Code) System.Threading.Tasks.Task`1<TResult_REF>:TrySetResult (TResult_REF)
    111. #69  (Mono JIT Code) System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1<TResult_REF>:SetResult (TResult_REF)
    112. #70  (Mono JIT Code) Unity.Services.Matchmaker.Http.HttpClient/<>c__DisplayClass4_0/<<CreateHttpClientResponse>b__0>d:MoveNext ()
    113. #71  (Mono JIT Code) System.Runtime.CompilerServices.AsyncMethodBuilderCore/MoveNextRunner:InvokeMoveNext (object)
    114. #72  (Mono JIT Code) System.Threading.ExecutionContext:RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
    115. #73  (Mono JIT Code) System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
    116. #74  (Mono JIT Code) System.Runtime.CompilerServices.AsyncMethodBuilderCore/MoveNextRunner:Run ()
    117. #75  (Mono JIT Code) System.Threading.Tasks.AwaitTaskContinuation:InvokeAction (object)
    118. #76  (Mono JIT Code) System.Threading.Tasks.AwaitTaskContinuation:RunCallback (System.Threading.ContextCallback,object,System.Threading.Tasks.Task&)
    119. #77  (Mono JIT Code) System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation:Run (System.Threading.Tasks.Task,bool)
    120. #78  (Mono JIT Code) System.Threading.Tasks.Task:FinishContinuations ()
    121. #79  (Mono JIT Code) System.Threading.Tasks.Task:FinishStageThree ()
    122. #80  (Mono JIT Code) System.Threading.Tasks.Task`1<TResult_REF>:TrySetResult (TResult_REF)
    123. #81  (Mono JIT Code) System.Threading.Tasks.TaskCompletionSource`1<TResult_REF>:TrySetResult (TResult_REF)
    124. #82  (Mono JIT Code) System.Threading.Tasks.TaskCompletionSource`1<TResult_REF>:SetResult (TResult_REF)
    125. #83  (Mono JIT Code) Unity.Services.Matchmaker.Http.UnityWebRequestHelpers/<>c__DisplayClass0_0:<GetAwaiter>b__0 (UnityEngine.AsyncOperation)
    126. #84  (Mono JIT Code) UnityEngine.AsyncOperation:InvokeCompletionEvent ()
    127. #85  (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
    128. #86 mono_get_runtime_build_info
    129. #87 mono_runtime_invoke
    130. #88 mono_runtime_invoke
    131. #89 operator delete[](void*, std::nothrow_t const&)
    132. #90 operator delete[](void*, std::nothrow_t const&)
    133. #91 operator delete[](void*, std::nothrow_t const&)
    134. #92 operator delete[](void*, std::nothrow_t const&)
    135. #93 operator delete[](void*, std::nothrow_t const&)
    136. #94 operator delete[](void*, std::nothrow_t const&)
    137. #95 operator delete[](void*, std::nothrow_t const&)
    138. #96 operator delete[](void*, std::nothrow_t const&)
    139. #97 operator delete[](void*, std::nothrow_t const&)
    140. #98 operator delete[](void*, std::nothrow_t const&)
    141. #99 __NSFireTimer
    142. #100 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__
    143. #101 __CFRunLoopDoTimer
    144. #102 __CFRunLoopDoTimers
    145. #103 __CFRunLoopRun
    146. #104 CFRunLoopRunSpecific
    147. #105 RunCurrentEventLoopInMode
    148. #106 ReceiveNextEventCommon
    149. #107 _BlockUntilNextEventMatchingListInModeWithFilter
    150. #108 _DPSNextEvent
    151. #109 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:]
    152. #110 -[NSApplication run]
    153. #111 NSApplicationMain
    154. #112 PlayerMain(int, char const**)
    155. #113 ???
    156.  
    In my case matchmaking never matches two tickets. I have a simple ruleset that should match as soon as two players look for a match:

    Code (Boo):
    1. {
    2.   "Name": "Duel",
    3.   "DefaultQosRegion": "8ca6d32c-0985-4c7f-a4dd-cb482cbcf3a8",
    4.   "BackfillEnabled": false,
    5.   "MatchDefinition": {
    6.     "Teams": [
    7.       {
    8.         "Name": "Bear",
    9.         "TeamCount": {
    10.           "Min": 1,
    11.           "Max": 1
    12.         },
    13.         "PlayerCount": {
    14.           "Min": 1,
    15.           "Max": 1
    16.         }
    17.       },
    18.       {
    19.         "Name": "Wolf",
    20.         "TeamCount": {
    21.           "Min": 1,
    22.           "Max": 1
    23.         },
    24.         "PlayerCount": {
    25.           "Min": 1,
    26.           "Max": 1
    27.         }
    28.       }
    29.     ]
    30.   }
    31. }
     
  7. romhaviv

    romhaviv

    Joined:
    Apr 22, 2019
    Posts:
    17
    We're trying to use the match making solution as well (using this demo: https://github.com/Unity-Technologies/com.unity.services.samples.matchplay#run-as-a-client)

    What we found out is, if we try to open it from multiple exes in the same PC we get that the exact same error as @airburst_studios.


    [Matchmaker]: RateLimited (21429)
    Title: Too Many Requests
    Errors: Rate limit has been exceeded


    but if we run one instance from the editor and the other from exe it seems to work.. (or from different devices..) does it make sense?

    We also encountered some other problems:
    - when all players left the server - the server stays "Allocated".. and I've been refreshing it for more than a hour
    - concurrent users metric is not synced with the actual state of the server..

    been playing with it all day (using the demo code!) and even tho all configurations seemed really promising we ended up having a really bad experience that made me lost trust in this product and consider other solutions.. :\

    Hope unity can come up with some explainations
     
  8. lucy-unity

    lucy-unity

    Unity Technologies

    Joined:
    Apr 7, 2021
    Posts:
    18
    Polling for matchmaking tickets is rate limited to 1 per second per playerId. If the multiple exes being run are using the same playerId, they will be rate limited.

    The matchmaker does not automatically make a deallocation request when all players have left. The game server logic should handle this. Calling Application.Quit() should be sufficient.

    For the metrics, are you experiencing a delay or are they just completely off?