PlayFab Multiplayer C++ SDK Error Codes
The following error codes are used by the PlayFab Multiplayer, Lobby and Matchmaking APIs and can be used for debugging purposes. For diagnostics, the error messages can also be retrieved at runtime via PFMultiplayerGetErrorMessage.
For additional guidance on handling these errors, check out Handling Lobby and Matchmaking C++ SDK errors
Multiplayer
Hex | Dec | Description |
---|---|---|
0x89236400 | -1994169344 | The PlayFabMultiplayer library must be initialized. |
0x89236401 | -1994169343 | Only one PlayFabMultiplayer instance may exist at a time. |
0x89236402 | -1994169342 | No PlayFab entity token was associated with the provided entity key. Use PFMultiplayerSetEntityToken to associate a PlayFab entity token with a PlayFab entity key before passing that entity key to the API. |
0x89236403 | -1994169341 | The provided multiplayer thread ID is invalid/unknown. |
0x89236404 | -1994169340 | The provided PlayFab entity key is malformed or otherwise invalid. |
0x89236405 | -1994169339 | The Microsoft Game Core XNetworking feature is unavailable |
0x89236406 | -1994169338 | The PlayFab Multiplayer library could not be initialized because the Game Core Network stack was not initialized. Use the Microsoft Game Core XNetworkingGetConnectivityHint API to determine when the network stack is initialized. |
0x89236408 | -1994169336 | The operation was canceled due to the title suspending. |
0x89236409 | -1994169335 | An unexpected error code was returned by the PlayFab service with a 4XX response code. |
0x8923640A | -1994169334 | An unexpected error code was returned by the PlayFab service with a 5XX response code. |
0x8923640B | -1994169333 | The Entity ID is invalid. |
0x8923640C | -1994169332 | The Entity Type is invalid or unsupported. |
0x8923640D | -1994169331 | A request rate limit was exceeded. The request was not automatically retried again because retries are disabled or the retry-after period was too long. |
Lobby
Hex | Dec | Description |
---|---|---|
0x89236200 | -1994169856 | Cannot create local user; local user limit reached. |
0x89236202 | -1994169854 | A user with the provided entity ID already exists. |
0x89236203 | -1994169853 | Requested, provided, or configured Lobby owner migration policy is invalid. |
0x89236204 | -1994169852 | Requested, provided, or configured Lobby access policy is invalid. |
0x89236205 | -1994169851 | Requested object is still pending asynchronous creation. |
0x89236206 | -1994169850 | The provided max member count value is outside of the allowed range of values. |
0x89236207 | -1994169849 | Provided lobby property count exceeds maximum allowed. |
0x89236208 | -1994169848 | An unexpected error was encountered. |
0x89236209 | -1994169847 | Failed to parse json data. |
0x8923620B | -1994169845 | A parameter or value provided to the PlayFab service was invalid. |
0x8923620C | -1994169844 | An unexpected error code was returned by the PlayFab service. |
0x8923620D | -1994169843 | The provided entity token has expired. |
0x8923620E | -1994169842 | The user is not authorized to execute the operation. |
0x89236212 | -1994169838 | An unknown error code was returned by the PlayFab service. |
0x89236213 | -1994169837 | The PlayFab entity token is malformed or otherwise invalid. |
0x89236214 | -1994169836 | The specified Lobby entity ID is invalid. |
0x89236215 | -1994169835 | The provided property bag contains duplicate property keys. |
0x89236216 | -1994169834 | A Lobby request rate limit was exceeded. The request was not automatically retried again because retries are disabled or the retry-after period was too long. |
0x89236217 | -1994169833 | The owner of the lobby is not a member of the lobby. |
0x8923621A | -1994169830 | The operation could not be completed because the entity provided was not locally authenticated. Please login the entity first and provide the library a token using SetEntityToken. |
0x8923621B | -1994169829 | The provided Lobby state change type is invalid/unknown. |
0x8923621C | -1994169828 | The provided Lobby state change result is invalid/unknown. |
0x8923621D | -1994169827 | The provided Lobby disconnect reason is invalid/unknown. |
0x8923621E | -1994169826 | The PlayFab service returned unexpected 'bad request' error. |
0x8923621F | -1994169825 | The provided Lobby thread ID is invalid/unknown. |
0x89236220 | -1994169824 | The operation could not be completed because the entity provided was not a member of the lobby. |
0x89236221 | -1994169823 | The PlayFab service returned an invalid/malformed response. |
0x89236222 | -1994169822 | Either a lobby update or a member update must be provided. |
0x89236223 | -1994169821 | Updates cannot be queued after disconnecting from the lobby. |
0x89236224 | -1994169820 | The provided lobby join request contained an invalid property deletion. |
0x89236225 | -1994169819 | The requested user was already a member of the lobby. |
0x89236226 | -1994169818 | The requested lobby does not exist. |
0x89236227 | -1994169817 | The requested lobby was not in a joinable state. |
0x89236228 | -1994169816 | The provided Lobby member removed reason is invalid/unknown. |
0x89236229 | -1994169815 | The operation could not be completed because the acting member was not the owner. |
0x8923622A | -1994169814 | Lobby member cannot self-promote to owner while owner is still connected using current owner migration policy. |
0x8923622B | -1994169813 | The arrangement string version is not supported. |
0x8923622C | -1994169812 | An arrangement string for the specified entity key was not found in the packed arrangement string. |
0x8923622D | -1994169811 | The arrangement string is an invalid format and could not be parsed. |
0x8923622E | -1994169810 | Requested, provided, or configured Lobby invite listener status is invalid. |
0x8923622F | -1994169809 | The invite listener is already set and must be stopped before resetting. |
0x89236230 | -1994169808 | The invite listener is not set and so cannot be stopped. |
0x89236231 | -1994169807 | Requested, provided, or configured Lobby membership lock is invalid. |
0x89236232 | -1994169806 | The member cannot rejoin the lobby because they have been banned. |
0x89236233 | -1994169805 | The member cannot join the lobby because they are already concurrently a member of the maximum number of allowed lobbies. |
0x89236234 | -1994169804 | The owner cannot promote disconnected member to owner if owner migration policy is Automatic. |
0x89236235 | -1994169803 | The connection status is invalid. |
Matchmaking
Hex | Dec | Description |
---|---|---|
0x89236300 | -1994169600 | The provided matchmaking ticket status is invalid/unknown. |
0x89236301 | -1994169599 | The provided matchmaking ticket result is invalid/unknown. |
0x89236302 | -1994169598 | The provided matchmaking ticket cancel reason is invalid/unknown. |
0x89236303 | -1994169597 | The provided matchmaking state change type is invalid/unknown. |
0x89236304 | -1994169596 | The ticket was canceled due to a cancelation request. |
0x89236305 | -1994169595 | The ticket was canceled due to a service error. |
0x89236306 | -1994169594 | The ticket was canceled because the timeout elapsed before a match could be found. |
0x89236307 | -1994169593 | The ticket was canceled for an unknown reason. |
0x89236308 | -1994169592 | Duplicate users are not allowed in the ticket parameters. |
0x89236309 | -1994169591 | At least one local user must be specified in the ticket parameters. |
0x8923630A | -1994169590 | There were too many users in the ticket for the queue. |
0x8923630B | -1994169589 | The ticket is already completed. |
0x8923630C | -1994169588 | An unrecoverable failure was encountered when attempting to cancel the ticket. |
0x8923630D | -1994169587 | One of the users is a member of too many tickets. |
0x8923630F | -1994169585 | A matchmaking request rate limit was exceeded. The request was not automatically retried again because retries are disabled or the retry-after period was too long. |
0x89236310 | -1994169584 | The timeout elapsed without the service completing the ticket. |
0x89236311 | -1994169583 | The calling entity is invalid. |
0x89236312 | -1994169582 | One of the users in the ticket has invalid attributes. |
0x89236313 | -1994169581 | The queue was not found. |
0x89236314 | -1994169580 | The match was not found. |
0x89236315 | -1994169579 | The ticket was not found. |
0x89236316 | -1994169578 | The user already joined the ticket. |
0x89236317 | -1994169577 | The queue config is invalid. |
0x89236318 | -1994169576 | One of the users in the ticket has an invalid entity profile. |
0x89236319 | -1994169575 | Matchmaking is not enabled for this title. |
0x8923631A | -1994169574 | One of the users in the ticket has attributes that are too large. |
0x8923631B | -1994169573 | One of the ticket attributes is invalid. |
0x8923631C | -1994169572 | The user has not joined the ticket. |
0x8923631D | -1994169571 | The number of queues has exceeded the limit for this title. |
0x8923631E | -1994169570 | The API called does not match the type of ticket requested. |
0x8923631F | -1994169569 | The request was malformed. |
0x89236320 | -1994169568 | Match details can only be provided when the ticket is in the matched state. |
0x89236321 | -1994169567 | The provided multiplayer protocol type is invalid. |
Global HRESULT error codes
The following HRESULT errors are gobal error codes and can also be raised by underlying libraries:
Global
Name | Hex | Dec |
---|---|---|
E_NOTIMPL | 0x80004001 | -2147467263 |
E_OUTOFMEMORY | 0x8007000E | -2147024882 |
E_INVALIDARG | 0x80070057 | -2147024809 |
E_ABORT | 0x80004004 | -2147467260 |
E_FAIL | 0x80004005 | -2147467259 |
E_ACCESSDENIED | 0x80070005 | -2147024891 |
E_PENDING | 0x8000000A | -2147483638 |
E_UNEXPECTED | 0x8000FFFF | -2147418113 |
E_POINTER | 0x80004003 | -2147467261 |
E_TIME_CRITICAL_THREAD | 0x800701A0 | -2147024480 |
E_NO_TASK_QUEUE | 0x800701AB | -2147024469 |
E_NOT_SUPPORTED | 0x80070032 | -2147024846 |
E_NOT_SUFFICIENT_BUFFER | 0x8007007A | -2147024774 |
E_NOINTERFACE | 0x80004002 | -2147467262 |
E_BOUNDS | 0x8000000B | -2147483637 |
E_ILLEGAL_METHOD_CALL | 0x8000000E | -2147483634 |
HTTP Client
Name | Hex | Dec |
---|---|---|
HTTP_E_STATUS_AMBIGUOUS | 0x8019012C | -2145844948 |
HTTP_E_STATUS_BAD_GATEWAY | 0x801901F6 | -2145844746 |
HTTP_E_STATUS_BAD_METHOD | 0x80190195 | -2145844843 |
HTTP_E_STATUS_BAD_REQUEST | 0x80190190 | -2145844848 |
HTTP_E_STATUS_CONFLICT | 0x80190199 | -2145844839 |
HTTP_E_STATUS_DENIED | 0x80190191 | -2145844847 |
HTTP_E_STATUS_EXPECTATION_FAILED | 0x801901A1 | -2145844831 |
HTTP_E_STATUS_429_TOO_MANY_REQUESTS | 0x801901AD | -2145844819 |
HTTP_E_STATUS_FORBIDDEN | 0x80190193 | -2145844845 |
HTTP_E_STATUS_GATEWAY_TIMEOUT | 0x801901F8 | -2145844744 |
HTTP_E_STATUS_GONE | 0x8019019A | -2145844838 |
HTTP_E_STATUS_LENGTH_REQUIRED | 0x8019019B | -2145844837 |
HTTP_E_STATUS_MOVED | 0x8019012D | -2145844947 |
HTTP_E_STATUS_NONE_ACCEPTABLE | 0x80190196 | -2145844842 |
HTTP_E_STATUS_NOT_FOUND | 0x80190194 | -2145844844 |
HTTP_E_STATUS_NOT_MODIFIED | 0x80190130 | -2145844944 |
HTTP_E_STATUS_NOT_SUPPORTED | 0x801901F5 | -2145844747 |
HTTP_E_STATUS_PAYMENT_REQ | 0x80190192 | -2145844846 |
HTTP_E_STATUS_PRECOND_FAILED | 0x8019019C | -2145844836 |
HTTP_E_STATUS_PROXY_AUTH_REQ | 0x80190197 | -2145844841 |
HTTP_E_STATUS_RANGE_NOT_SATISFIABLE | 0x801901A0 | -2145844832 |
HTTP_E_STATUS_REDIRECT | 0x8019012E | -2145844946 |
HTTP_E_STATUS_REDIRECT_KEEP_VERB | 0x80190133 | -2145844941 |
HTTP_E_STATUS_REDIRECT_METHOD | 0x8019012F | -2145844945 |
HTTP_E_STATUS_REQUEST_TIMEOUT | 0x80190198 | -2145844840 |
HTTP_E_STATUS_REQUEST_TOO_LARGE | 0x8019019D | -2145844835 |
HTTP_E_STATUS_SERVER_ERROR | 0x801901F4 | -2145844748 |
HTTP_E_STATUS_SERVICE_UNAVAIL | 0x801901F7 | -2145844745 |
HTTP_E_STATUS_UNEXPECTED | 0x80190001 | -2145845247 |
HTTP_E_STATUS_UNEXPECTED_SERVER_ERROR | 0x80190005 | -2145845243 |
HTTP_E_STATUS_UNSUPPORTED_MEDIA | 0x8019019F | -2145844833 |
HTTP_E_STATUS_URI_TOO_LONG | 0x8019019E | -2145844834 |
HTTP_E_STATUS_USE_PROXY | 0x80190131 | -2145844943 |
HTTP_E_STATUS_VERSION_NOT_SUP | 0x801901F9 | -2145844743 |
ONL_E_ACTION_REQUIRED | 0x8086000C | -2138701812 |
WEB_E_INVALID_JSON_STRING | 0x83750007 | -2089484281 |
WEB_E_UNEXPECTED_CONTENT | 0x83750005 | -2089484283 |