games.versions.validateGameVersion
Description
Validates information used to create a new game version.
Code Examples
Request Parameters
game_id
required path parameter
Request Body
display_name
stringRepresent a resource's readable display name.
config
objectCloud configuration for a given version.
config.scripts
union of empty object and stringconfig.engine
objectconfig.engine.unity
empty objectconfig.engine.unreal
objectconfig.engine.unreal.game_module
stringName of the Unreal module that holds the game code. This is usually the value of
$.Modules[0].Name
in the fileMyProject.unproject
. Configures Rivet CLI behavior. Has no effect on server behavior.
config.engine.godot
empty objectconfig.engine.html5
empty objectconfig.engine.custom
empty object
config.cdn
objectCDN configuration for a given version.
config.cdn.build_command
stringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.cdn.build_output
stringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.cdn.build_env
union of empty object and stringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.cdn.site_id
stringconfig.cdn.routes
array of objectsMultiple CDN version routes.
config.cdn.routes.glob
stringconfig.cdn.routes.priority
numberUnsigned 32 bit integer.
config.cdn.routes.middlewares
array of objectsMultiple CDN version middleware.
config.cdn.routes.middlewares.kind
objectconfig.cdn.routes.middlewares.kind.custom_headers
objectconfig.cdn.routes.middlewares.kind.custom_headers.headers
array of objectsconfig.cdn.routes.middlewares.kind.custom_headers.headers.name
stringconfig.cdn.routes.middlewares.kind.custom_headers.headers.value
string
config.matchmaker
objectMatchmaker configuration for a given version.
config.matchmaker.game_modes
union of empty object and objectA list of game modes.
config.matchmaker.game_modes.regions
union of empty object and objectconfig.matchmaker.game_modes.regions.tier
stringconfig.matchmaker.game_modes.regions.idle_lobbies
objectConfiguration for how many idle lobbies a game version should have.
config.matchmaker.game_modes.regions.idle_lobbies.min
numberconfig.matchmaker.game_modes.regions.idle_lobbies.max
number
config.matchmaker.game_modes.max_players
numberconfig.matchmaker.game_modes.max_players_direct
numberconfig.matchmaker.game_modes.max_players_party
numberconfig.matchmaker.game_modes.docker
objectA game mode runtime running through Docker.
config.matchmaker.game_modes.docker.dockerfile
stringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.game_modes.docker.build_args
union of empty object and stringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.game_modes.docker.image
stringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.game_modes.docker.image_id
stringconfig.matchmaker.game_modes.docker.args
array of stringsconfig.matchmaker.game_modes.docker.env
union of empty object and stringconfig.matchmaker.game_modes.docker.network_mode
stringConfigures how the container's network is isolated from the host.
bridge
(default) networking isolates the container's network from the host & other containers.host
networking removes isolation between the container and the host. Only available in Rivet Open Source & Enterprise. Read more about bridge vs host networking here.config.matchmaker.game_modes.docker.ports
union of empty object and objectconfig.matchmaker.game_modes.docker.ports.port
numberThe port number to connect to.
Related - cloud.version.matchmaker.PortProtocol - cloud.version.matchmaker.ProxyKind
config.matchmaker.game_modes.docker.ports.port_range
objectRange of ports that can be connected to. If configured,
network_mode
must equalhost
. Port ranges may overlap between containers, it is the responsibility of the developer to ensure ports are available before using. Read more about host networking here. Only available on Rivet Open Source & Enterprise.Related
- cloud.version.matchmaker.PortProtocol
- cloud.version.matchmaker.ProxyKind
config.matchmaker.game_modes.docker.ports.port_range.min
numberUnsigned 32 bit integer.
config.matchmaker.game_modes.docker.ports.port_range.max
numberUnsigned 32 bit integer.
config.matchmaker.game_modes.docker.ports.protocol
stringSignifies the protocol of the port. Note that when proxying through GameGuard (via
ProxyKind
), the port number returned by/find
,/join
, and/create
will not be the same as the port number configured in the config:- With HTTP, the port will always be 80. The hostname of the port correctly routes the incoming connection to the correct port being used by the game server.
- With HTTPS, the port will always be 443. The hostname of the port correctly routes the incoming connection to the correct port being used by the game server.
- Using TCP/UDP, the port will be a random number between 26000 and 31999. This gets automatically routed to the correct port being used by the game server.
Related - cloud.version.matchmaker.GameModeRuntimeDockerPort - cloud.version.matchmaker.ProxyKind - /docs/dynamic-servers/concepts/game-guard - matchmaker.lobbies.find
config.matchmaker.game_modes.docker.ports.proxy
stringHow this port should be proxied. Defaults to 'game-guard`.
config.matchmaker.game_modes.docker.ports.dev_port
numberConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.game_modes.docker.ports.dev_port_range
objectConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.game_modes.docker.ports.dev_port_range.min
numberUnsigned 32 bit integer.
config.matchmaker.game_modes.docker.ports.dev_port_range.max
numberUnsigned 32 bit integer.
config.matchmaker.game_modes.docker.ports.dev_protocol
stringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.game_modes.listable
booleanconfig.matchmaker.game_modes.taggable
booleanconfig.matchmaker.game_modes.allow_dynamic_max_players
booleanconfig.matchmaker.game_modes.actions
objectConfiguration for the connection types allowed for a game mode.
config.matchmaker.game_modes.actions.find
objectConfigures the requirements and authentication for the /find endpoint. If this value is not set in the config, the /find endpoint is still enabled.
config.matchmaker.game_modes.actions.find.enabled
booleanSets whether or not the /find endpoint is enabled.
config.matchmaker.game_modes.actions.find.identity_requirement
any valueconfig.matchmaker.game_modes.actions.find.verification
objectConfiguration that tells Rivet where to send validation requests and with what headers. When set, Rivet will send the
verification_data
property (given by the user in the find/join/create endpoint) to the given url along with the headers provided and some information about the requested lobby. The response of this request will determine if the user can join that lobby or not.config.matchmaker.game_modes.actions.find.verification.url
stringconfig.matchmaker.game_modes.actions.find.verification.headers
union of empty object and string
config.matchmaker.game_modes.actions.join
objectConfigures the requirements and authentication for the /join endpoint. If this value is not set in the config, the /join endpoint is still enabled.
config.matchmaker.game_modes.actions.join.enabled
booleanSets whether or not the /join endpoint is enabled.
config.matchmaker.game_modes.actions.join.identity_requirement
any valueconfig.matchmaker.game_modes.actions.join.verification
objectConfiguration that tells Rivet where to send validation requests and with what headers. When set, Rivet will send the
verification_data
property (given by the user in the find/join/create endpoint) to the given url along with the headers provided and some information about the requested lobby. The response of this request will determine if the user can join that lobby or not.config.matchmaker.game_modes.actions.join.verification.url
stringconfig.matchmaker.game_modes.actions.join.verification.headers
union of empty object and string
config.matchmaker.game_modes.actions.create
objectConfigures the requirements and authentication for the /create endpoint. If this value is not set in the config, the /create endpoint is NOT enabled.
config.matchmaker.game_modes.actions.create.enabled
booleanSets whether or not the /create endpoint is enabled.
config.matchmaker.game_modes.actions.create.identity_requirement
any valueconfig.matchmaker.game_modes.actions.create.verification
objectConfiguration that tells Rivet where to send validation requests and with what headers. When set, Rivet will send the
verification_data
property (given by the user in the find/join/create endpoint) to the given url along with the headers provided and some information about the requested lobby. The response of this request will determine if the user can join that lobby or not.config.matchmaker.game_modes.actions.create.verification.url
stringconfig.matchmaker.game_modes.actions.create.verification.headers
union of empty object and string
config.matchmaker.game_modes.actions.create.enable_public
booleanDefaults to false when unset.
config.matchmaker.game_modes.actions.create.enable_private
booleanDefaults to true when unset.
config.matchmaker.game_modes.actions.create.max_lobbies_per_identity
any value
config.matchmaker.game_modes.tier
stringconfig.matchmaker.game_modes.idle_lobbies
objectConfiguration for how many idle lobbies a game version should have.
config.matchmaker.game_modes.idle_lobbies.min
numberconfig.matchmaker.game_modes.idle_lobbies.max
number
config.matchmaker.captcha
objectMatchmaker captcha configuration.
config.matchmaker.captcha.requests_before_reverify
numberDenotes how many requests a connection can make before it is required to reverify a captcha.
config.matchmaker.captcha.verification_ttl
numberDenotes how long a connection can continue to reconnect without having to reverify a captcha (in milliseconds).
config.matchmaker.captcha.hcaptcha
objecthCpatcha configuration.
config.matchmaker.captcha.hcaptcha.level
any valueconfig.matchmaker.captcha.hcaptcha.site_key
stringSite key for your hCaptcha application. Must be set.
config.matchmaker.captcha.hcaptcha.secret_key
stringSecret key for your hCaptcha application. Must be set.
config.matchmaker.captcha.turnstile
objectTurnstile captcha configuration.
config.matchmaker.captcha.turnstile.site_key
stringconfig.matchmaker.captcha.turnstile.secret_key
string
config.matchmaker.dev_hostname
stringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.regions
union of empty object and objectconfig.matchmaker.regions.tier
stringconfig.matchmaker.regions.idle_lobbies
objectConfiguration for how many idle lobbies a game version should have.
config.matchmaker.regions.idle_lobbies.min
numberconfig.matchmaker.regions.idle_lobbies.max
number
config.matchmaker.max_players
numberconfig.matchmaker.max_players_direct
numberconfig.matchmaker.max_players_party
numberconfig.matchmaker.docker
objectA game mode runtime running through Docker.
config.matchmaker.docker.dockerfile
stringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.docker.build_args
union of empty object and stringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.docker.image
stringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.docker.image_id
stringconfig.matchmaker.docker.args
array of stringsconfig.matchmaker.docker.env
union of empty object and stringconfig.matchmaker.docker.network_mode
stringConfigures how the container's network is isolated from the host.
bridge
(default) networking isolates the container's network from the host & other containers.host
networking removes isolation between the container and the host. Only available in Rivet Open Source & Enterprise. Read more about bridge vs host networking here.config.matchmaker.docker.ports
union of empty object and objectconfig.matchmaker.docker.ports.port
numberThe port number to connect to.
Related - cloud.version.matchmaker.PortProtocol - cloud.version.matchmaker.ProxyKind
config.matchmaker.docker.ports.port_range
objectRange of ports that can be connected to. If configured,
network_mode
must equalhost
. Port ranges may overlap between containers, it is the responsibility of the developer to ensure ports are available before using. Read more about host networking here. Only available on Rivet Open Source & Enterprise.Related
- cloud.version.matchmaker.PortProtocol
- cloud.version.matchmaker.ProxyKind
config.matchmaker.docker.ports.port_range.min
numberUnsigned 32 bit integer.
config.matchmaker.docker.ports.port_range.max
numberUnsigned 32 bit integer.
config.matchmaker.docker.ports.protocol
stringSignifies the protocol of the port. Note that when proxying through GameGuard (via
ProxyKind
), the port number returned by/find
,/join
, and/create
will not be the same as the port number configured in the config:- With HTTP, the port will always be 80. The hostname of the port correctly routes the incoming connection to the correct port being used by the game server.
- With HTTPS, the port will always be 443. The hostname of the port correctly routes the incoming connection to the correct port being used by the game server.
- Using TCP/UDP, the port will be a random number between 26000 and 31999. This gets automatically routed to the correct port being used by the game server.
Related - cloud.version.matchmaker.GameModeRuntimeDockerPort - cloud.version.matchmaker.ProxyKind - /docs/dynamic-servers/concepts/game-guard - matchmaker.lobbies.find
config.matchmaker.docker.ports.proxy
stringHow this port should be proxied. Defaults to 'game-guard`.
config.matchmaker.docker.ports.dev_port
numberConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.docker.ports.dev_port_range
objectConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.docker.ports.dev_port_range.min
numberUnsigned 32 bit integer.
config.matchmaker.docker.ports.dev_port_range.max
numberUnsigned 32 bit integer.
config.matchmaker.docker.ports.dev_protocol
stringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.tier
stringconfig.matchmaker.idle_lobbies
objectConfiguration for how many idle lobbies a game version should have.
config.matchmaker.idle_lobbies.min
numberconfig.matchmaker.idle_lobbies.max
number
config.matchmaker.lobby_groups
any value
config.kv
empty objectKV configuration for a given version.
config.identity
any value
Response Body
errors
array of objectsA list of validation errors.
errors.path
array of stringsA list of strings denoting the origin of a validation error.