Errors


API Bad Body

API_BAD_BODY

The request body could not be deserialized or has an unknown size.


API Bad Body

API_BODY_TOO_LARGE

The request body could not be deserialized or has an unknown size.


API Bad Content Length

API_BAD_CONTENT_LENGTH

The Content-Length header or a content_length property in the body could not be deserialized. This is most likely due to a negative value being passed or a value out of bounds of a standard signed 64-bit integer.


API Bad Header

API_BAD_HEADER

A request header could not be deserialized.


API Bad Headers

API_BAD_HEADERS

The request headers could not be deserialized.


API Bad Query

API_BAD_QUERY

The request query could not be deserialized.


API Bad Query Parameter

API_BAD_QUERY_PARAMETER

An invalid parameter value was passed to a given query parameter. This is usually when an unknown enum variant is passed to an enum parameter.


API CORS Header Not Allowed

API_CORS_HEADER_NOT_ALLOWED

The request has a header which is not allowed by the CORS policy set by the requested API.


API CORS Method Not Allowed

API_CORS_METHOD_NOT_ALLOWED

The request uses a method which is not allowed by the CORS policy set by the requested API.


API CORS Origin Not Allowed

API_CORS_ORIGIN_NOT_ALLOWED

The request comes from an origin which is not allowed by the CORS policy set by the requested API.


API Forbidden

API_FORBIDDEN

The user is not allowed to access the requested resource.


API Invalid IP

API_INVALID_IP

The remote address provided by the x-forwarded-for header is not a valid IP address.


API Method Not Allowed

API_METHOD_NOT_ALLOWED

The request uses a method which is not allowed by the requested API. This differs from "API CORS Method Not Allowed" in that it was not caused by CORS validation.


API Missing Header

API_MISSING_HEADER

A request header is required but missing.


API Not Found

API_NOT_FOUND

The requested endpoint was not found.


API Rate Limit

API_RATE_LIMIT

The user has sent too many requests and has triggered a rate limit.


API Unauthorized

API_UNAUTHORIZED

The user is not authorized for the reason given, or the user did not provide a bearer token to authenticate with.

A bearer token is a token in the Authorization header that follows the form Authorization: Bearer <token>. The prefix, "Bearer ", is required.


Billing Not Enabled

BILLING_NOT_ENABLED

Billing is not enabled.


Captcha Failed

CAPTCHA_CAPTCHA_FAILED

The captcha response did not pass the given Captcha.


Captcha Invalid

CAPTCHA_CAPTCHA_INVALID

The given captcha does not apply to this resource.


Captcha Required

CAPTCHA_CAPTCHA_REQUIRED

A captcha was required but not provided in the request.


CDN Invalid Auth User Password

CDN_INVALID_AUTH_USER_PASSWORD

The provided auth user password is invalid. This is usually caused by invalid encryption.


CDN Invalid Domain

CDN_INVALID_DOMAIN

The provided domain is invalid.


CDN Too Many Auth Users

CDN_TOO_MANY_AUTH_USERS

The limit for auth users on a namespace has been reached.


CDN Too Many Domains

CDN_TOO_MANY_DOMAINS

The limit for custom domains on a namespace has been reached.


Cloud Invalid Config

CLOUD_INVALID_CONFIG

The given config was invalid.


Cloudflare Error

CLOUDFLARE_ERROR

An error was returned by a cloudflare API and has been re-routed to this error response.


Cluster Not Found

CLUSTER_NOT_FOUND

The requested cluster was not found.


Datacenter Not Found

CLUSTER_DATACENTER_NOT_FOUND

The requested datacenter was not found.


Datacenter Not In Cluster

CLUSTER_DATACENTER_NOT_IN_CLUSTER

The requested datacenter is not part of the requested cluster.


CLOUD_DEVICE_LINK_ALREADY_COMPLETE

Entitlement Expired

CLAIMS_ENTITLEMENT_EXPIRED

The requestee's entitlement claims are no longer valid and must be refreshed or recreated.


Failed to consume group invite

GROUP_FAILED_TO_CONSUME_INVITE

An attempt to use a group invite failed for an unknown reason.


Feature Disabled

FEATURE_DISABLED

A feature required to use/access this resource is disabled.


Game Mode Not Found

MATCHMAKER_GAME_MODE_NOT_FOUND

A game mode could not be found for the given game mode label.


Game Not Found

GAME_NOT_FOUND

The requested game could not be found.


Generic Token Error

TOKEN_ERROR

Placeholder token error that is not yet made into a concrete error.


Glob Invalid

GLOB_INVALID

Invalid glob pattern given


Group Already Member

GROUP_ALREADY_MEMBER

The identity is already a member of the request/related group.


Group cannot request join

GROUP_CANNOT_REQUEST_JOIN

Cannot create a join request for this group. This is usually because the group is of "open" publicity and can simply be joined instead.


Group Deactivated

GROUP_DEACTIVATED

The developer group has been deactivated. Please contact support if you believe this is a mistake.

Reason: NoPaymentMethod

A developer group requires a payment method for using Rivet services.

How to check your billing info:

  1. Visit https://hub.rivet.gg/
  2. Select the game you are experiencing this error with.
  3. Click Settings in the top right corner of your game's banner.
  4. Click Billing in the left sidebar.

Reason: PaymentFailed

One of the payments made by the developer group has failed. Please view the billing page to investigate further.

How to check your billing info:

  1. Visit https://hub.rivet.gg/
  2. Select the game you are experiencing this error with.
  3. Click Settings in the top right corner of your game's banner.
  4. Click Billing in the left sidebar.

If needed, feel free to contact support for further assistance.

Reason: Banned

The developer group has been banned from using Rivet services. Please contact support if you believe this is a mistake.

No reason given

If this error did not come with a reason, contact the developer group to let them know you have experienced the error.


Group Full

GROUP_FULL

The group is full and another member cannot be added.


Group Insufficient Permissions

GROUP_INSUFFICIENT_PERMISSIONS

The identity that created this request does not have sufficient permissions in the related group.


Group Invalid Developer Status

GROUP_ENTERPRISE_RESTRICTION

The current developer status of the given group prevents this action.


Group invite code already used

GROUP_INVITE_CODE_ALREADY_USED

Invite code max use limit reached.


Group invite code expired

GROUP_INVITE_CODE_EXPIRED

The given invite code is expired.


Group invite code invalid

GROUP_INVITE_CODE_INVALID

The given invite code is invalid.


Group invite code revoked

GROUP_INVITE_CODE_REVOKED

The given invite code is revoked.


Group Join Request Already Exists

GROUP_JOIN_REQUEST_ALREADY_EXISTS

A group the user is requesting to join already has a join request from that user.


Group Member Banned

GROUP_MEMBER_BANNED

The identity that created this request is banned from the related group.


Group Not Found

GROUP_NOT_FOUND

A group with the given ID could not be found.


Group Not Joinable

GROUP_NOT_JOINABLE

The group attempting to be joined does not allow anyone to join it.


Group Not Member

GROUP_NOT_MEMBER

The identity is not a member of the request/related group.


Hostname Taken

CLOUD_HOSTNAME_TAKEN

The given hostname has already been taken.


Identity Not Admin

IDENTITY_NOT_ADMIN

The identity requesting this endpoint is not an admin.


Identity Not Found

IDENTITY_NOT_FOUND

The requested identity does not exist or is not visible to whoever is requesting.


Identity Not Registered

IDENTITY_NOT_REGISTERED

The identity that created this request is not registered.


KV Batch Too Large

KV_BATCH_TOO_LARGE

Too many keys were provided in the batch. Try providing fewer keys.


KV Entries Missing

KV_ENTRIES_MISSING

No entries were passed to the requested KV endpoint.


KV Key Validation Error

KV_KEY_VALIDATION_ERROR

A key passed to one of the KV endpoints was invalid.

The maximum length for a key is 512 characters.


KV Keys Missing

KV_KEYS_MISSING

No keys were passed to the requested KV endpoint.


KV Value Too Long

KV_VALUE_TOO_LONG

The encoded value was longer than 262,144 bytes.


Matchmaker Auto Create Failed

MATCHMAKER_AUTO_CREATE_FAILED

Could not find a valid game mode and region pair for automatic lobby creation.


Matchmaker Custom Lobbies Disabled

MATCHMAKER_CUSTOM_LOBBIES_DISABLED

Custom lobbies are not allowed for the selected game mode.


Matchmaker Custom Lobby Config Invalid

MATCHMAKER_CUSTOM_LOBBY_CONFIG_INVALID

The given custom lobby config is invalid. This is most likely because it exceeds the maximum size limit of 16KiB.


Publicity errors

You may encounter an error such as "public" publicity not allowed with this custom game mode. This occurs when the publicity of the /create request is not allowed by the custom game mode config configured for this game.

Given this rivet.yaml:

matchmaker:
    game_modes:
        default:
            actions:
                create:
                    enabled: true
                    enable_public: false # Optional
                    enable_private: true # Optional
YAML

The following request will not work because enable_public is false:

import { RivetClient } from "@rivet-gg/api";
const RIVET = new RivetClient({ token: addYourTokenHere });

// Make request
await RIVET.matchmaker.lobbies.create({
	gameMode: "default",
	publicity: "public",
});
JavaScript

Read more about custom game configs here.


Matchmaker Custom Lobby Limit Reached

MATCHMAKER_CUSTOM_LOBBY_LIMIT_REACHED

User cannot create any more custom lobbies.


Matchmaker Dynamic Max Players Disabled

MATCHMAKER_DYNAMIC_MAX_PLAYERS_DISABLED

Dynamic max player count is not enabled for the given game mode.


Matchmaker Dynamic Max Players Invalid

MATCHMAKER_DYNAMIC_MAX_PLAYERS_INVALID

The given max player count is invalid for the given game mode. This is usually because the player count is below 1 or above the maximum specified in the game mode config.


Matchmaker Find Disabled

MATCHMAKER_FIND_DISABLED

The find endpoint has been disabled by the developer.


Matchmaker Identity Required

MATCHMAKER_IDENTITY_REQUIRED

This resource can not be accessed without an identity.

If you are a developer seeing this error, make sure your API calls to matchmaker endpoints include a bearer token with game user entitlements.


Matchmaker Invalid Version Config

MATCHMAKER_INVALID_VERSION_CONFIG

The given version config was invalid.


Matchmaker Join Disabled

MATCHMAKER_JOIN_DISABLED

The join endpoint has been disabled by the developer.


Matchmaker Lobby Closed

MATCHMAKER_LOBBY_CLOSED

The given lobby is not accepting new players.

Look for any unexpected requests made to PUT /matchmaker/lobbies/closed.


Matchmaker Lobby Full

MATCHMAKER_LOBBY_FULL

The given lobby is full.

If desired, you can increase the player limit independently for players joining with a direct link and players joining as members of a party in the matchmaker configuration.


Matchmaker Lobby Not Found

MATCHMAKER_LOBBY_NOT_FOUND

A lobby could not be found for the direct seek request.

Check that the lobby ID is valid.


Matchmaker Lobby Not Started

MATCHMAKER_LOBBY_NOT_STARTED

A lobby has not started so this operation could not be completed yet.


Matchmaker Lobby Stopped

MATCHMAKER_LOBBY_STOPPED

The given lobby has been stopped.


Matchmaker No Available Lobbies

MATCHMAKER_NO_AVAILABLE_LOBBIES

No lobbies could be found for the given lobby group.

If you want to automatically create a new lobby when no lobbies are found, check that prevent_auto_create_lobby is not set.


Matchmaker No Game Mode Provided

MATCHMAKER_NO_GAME_MODE_PROVIDED

No game modes provided in request. Must have at least one game mode.


Matchmaker Player Already Connected

MATCHMAKER_PLAYER_ALREADY_CONNECTED

The player has already connected to a server and cannot be connected again.

If you need to let a player reconnect to a server, create a new player by joining the same lobby directly with JoinLobby.


Matchmaker Player In Different Lobby

MATCHMAKER_PLAYER_IN_DIFFERENT_LOBBY

The player is in a different lobby.


Matchmaker Player Registration Expired

MATCHMAKER_PLAYER_REGISTRATION_EXPIRED

The player took too long to connect to the server.

When this happens, the matchmaker releases the spot that was reserved for the player for someone else to use.


Matchmaker Player Removed

MATCHMAKER_PLAYER_REMOVED

Attempted an operation on a player that has already been removed from the lobby.


Matchmaker Region Not Enabled For Game Mode

MATCHMAKER_REGION_NOT_ENABLED_FOR_GAME_MODE

The region is not enabled for the game mode.

Check that the provided region is enabled for the game mode in the game mode configuration on the Rivet dashboard.


Matchmaker Region Not Found

MATCHMAKER_REGION_NOT_FOUND

The region(s) provided were not found.


Matchmaker Registration Required

MATCHMAKER_REGISTRATION_REQUIRED

This resource can not be accessed without a registered identity.

If you are a developer seeing this error, make sure your API calls to matchmaker endpoints include a bearer token with game user entitlements, and the given game user is registered on Rivet.


Matchmaker Tag Name Too Long

MATCHMAKER_TAG_NAME_TOO_LONG

A given tag name was too long. Maximum length 128.


Matchmaker Tag Too Long

MATCHMAKER_TAG_TOO_LONG

A given tag was too long. Maximum length 512.


Matchmaker Tags Disabled

MATCHMAKER_TAGS_DISABLED

Tags are not allowed with the given game mode. They must be enabled in the version config.


Matchmaker Too Many Lobbies

MATCHMAKER_TOO_MANY_LOBBIES

The maximum lobby count has been reached and no more lobbies can be created.

Increase your maximum lobby count in the namespace config on the Rivet dashboard.


Matchmaker Too Many Players From Source

MATCHMAKER_TOO_MANY_PLAYERS_FROM_SOURCE

There are too many players given from the given source IP.

To increase this value, change the maximum players per IP in your namespace configuration in the Rivet dashboard.


Matchmaker Too Many Tags

MATCHMAKER_TOO_MANY_TAGS

Too many lobby tags provided. Maximum 8.


Matchmaker Verification Failed

MATCHMAKER_VERIFICATION_FAILED

The user did not pass external matchmaker verification.


Matchmaker Verification Request Failed

MATCHMAKER_VERIFICATION_REQUEST_FAILED

The external matchmaker verification system failed or returned an invalid response. This is not an error that has been caused by the user.

If you are a developer seeing this error, check to see if your external matchmaker verification server is correctly responding to Rivet's requests.


Missing Entitlement

CLAIMS_MISSING_ENTITLEMENT

A required entitlement claim is missing.


Multiple Server Port Routers

SERVERS_MULTIPLE_PORT_ROUTERS

Multiple server port routers were provided.


Multiple Server Runtimes

SERVERS_MULTIPLE_RUNTIMES

Multiple server runtimes were provided.


Must Specify Routing Type

SERVERS_MUST_SPECIFY_ROUTING_TYPE

Must specify either game_guard or host routing type.


No Port Routers

SERVERS_NO_PORT_ROUTERS

No port routers were provided.


No Server Runtime

SERVERS_NO_RUNTIME

No server runtime were provided.


NSFW Content Detected in Upload

UPLOAD_NSFW_CONTENT_DETECTED

NSFW content was detected in the uploaded content.


OpenGB Environment Not Found

OPENGB_ENV_NOT_FOUND

The requested environment could not be found.


OpenGB Environment Update Failed

OPENGB_ENV_UPDATE_FAILED

The environment could not be updated for the provided reason.


OpenGB Invalid Neon Project Config

OPENGB_INVALID_NEON_PROJECT_CONFIG

The Neon project config given was invalid. See https://api-docs.neon.tech/reference/updateproject for more info.


OpenGB Invalid Variable

OPENGB_INVALID_VARIABLE

A provided environment variable is invalid.


OpenGB Module DB Not Found

OPENGB_MODULE_DB_NOT_FOUND

The requested module database could not be found.


OpenGB Project Not Found

OPENGB_PROJECT_NOT_FOUND

The requested project could not be found.


Refresh Token Not Found

TOKEN_REFRESH_NOT_FOUND

The refresh token could not be found.


Script Not Found

CLI_SCRIPT_NOT_FOUND

Add the script under the scripts config in rivet.yaml.


Server Not Found

SERVERS_SERVER_NOT_FOUND

Server not found for the given ID.


Token Exchange Failed

TOKEN_EXCHANGE_FAILED

The given token could not be exchanged.


Token Expired

TOKEN_EXPIRED

The given token has expired and can no longer be used.


Token Invalid

TOKEN_INVALID

The given token could not be parsed.


Token is invalid: invalid signature

The given token does not match the official Rivet signature for signing tokens. If you are using the Rivet CLI, ensure that the token you are using belongs to the same cluster that it was created from.


Token is invalid: invalid separator count

The given token has an invalid amount of separators (.). Inspect your token to make sure it has either 2 or 3 segments separated by .'s. This can be caused by improperly copying and pasting the token when using it.


Token is invalid: invalid algorithm

The algorithm specified in the token is not allowed by Rivet. This likely signified a breaking change with how tokens are parsed and should never show up.


Token structure

A token will look something like this:

label.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

where every x is a random base64 valid character.

The label has no functionality and only serves to differentiate tokens easily for the user. It and the following . are optional.


Token Revoked

TOKEN_REVOKED

The token is consumed or revoked.

This may be because the token has been manually revoked or already used to refresh another token.


Too Many Pending Hostnames

CLOUD_TOO_MANY_PENDING_HOSTNAMES_FOR_GROUP

The limit for pending hostnames for the given group has been reached. Please wait until they have been resolved before attempting to add another hostname.


Unsupported Host Protocol

SERVERS_UNSUPPORTED_HOST_PROTOCOL

Host protocol must use the TCP or UDP protocol.


Upload Invalid

UPLOAD_INVALID

Upload is invalid.


Upload Too Large

UPLOAD_TOO_LARGE

The given upload was too large.


UUID Invalid

UUID_INVALID

An invalid UUID was provided and could not be parsed.


Validation Error

VALIDATION_ERROR

The given resource did not pass validation and was rejected.


Wrong Identity

IDENTITY_WRONG_IDENTITY

The given resource is not available for the current identity.