games.versions.getGameVersionById
Description
Returns a game version by its version ID.
Code Examples
Request
curl -X GET 'https://api.rivet.gg/cloud/games/{game_id}/versions/{version_id}'
Request Parameters
game_id
Path parameter, required
version_id
Path parameter, required
Response Body
version
object
(required)
A full version.
version.config
object
(required)
Cloud configuration for a given version.
version.config.cdn
object
CDN configuration for a given version.
version.config.cdn.build_command
string
Configures Rivet CLI behavior. Has no effect on server behavior.
version.config.cdn.build_env
map<string, string>
Configures Rivet CLI behavior. Has no effect on server behavior.
version.config.cdn.build_output
string
Configures Rivet CLI behavior. Has no effect on server behavior.
version.config.cdn.routes
array<object>
Multiple CDN version routes.
version.config.cdn.routes[*].glob
string
(required)
version.config.cdn.routes[*].middlewares
array<object>
(required)
Multiple CDN version middleware.
version.config.cdn.routes[*].middlewares[*].kind
object
(required)
version.config.cdn.routes[*].middlewares[*].kind.custom_headers
object
version.config.cdn.routes[*].middlewares[*].kind.custom_headers.headers
array<object>
(required)
version.config.cdn.routes[*].middlewares[*].kind.custom_headers.headers[*].name
string
(required)
version.config.cdn.routes[*].middlewares[*].kind.custom_headers.headers[*].value
string
(required)
version.config.cdn.routes[*].priority
integer
(required)
Unsigned 32 bit integer.
version.config.cdn.site_id
string
version.config.engine
object
version.config.engine.custom
object
version.config.engine.godot
object
version.config.engine.html5
object
version.config.engine.unity
object
version.config.engine.unreal
object
version.config.engine.unreal.game_module
string
(required)
Name of the Unreal module that holds the game code.
This is usually the value of $.Modules[0].Name
in the file MyProject.unproject
.
Configures Rivet CLI behavior. Has no effect on server behavior.
version.config.kv
object
KV configuration for a given version.
version.config.matchmaker
object
Matchmaker configuration for a given version.
version.config.matchmaker.captcha
object
Matchmaker captcha configuration.
version.config.matchmaker.captcha.hcaptcha
object
hCpatcha configuration.
version.config.matchmaker.captcha.hcaptcha.secret_key
string
Secret key for your hCaptcha application. Must be set.
version.config.matchmaker.captcha.hcaptcha.site_key
string
Site key for your hCaptcha application. Must be set.
version.config.matchmaker.captcha.requests_before_reverify
integer
(required)
Denotes how many requests a connection can make before it is required to reverify a captcha.
version.config.matchmaker.captcha.turnstile
object
Turnstile captcha configuration.
version.config.matchmaker.captcha.turnstile.secret_key
string
(required)
version.config.matchmaker.captcha.turnstile.site_key
string
(required)
version.config.matchmaker.captcha.verification_ttl
integer
(required)
Denotes how long a connection can continue to reconnect without having to reverify a captcha (in milliseconds).
version.config.matchmaker.dev_hostname
string
Configures Rivet CLI behavior. Has no effect on server behavior.
version.config.matchmaker.docker
object
A game mode runtime running through Docker.
version.config.matchmaker.docker.args
array<string>
version.config.matchmaker.docker.build_args
map<string, string>
Configures Rivet CLI behavior. Has no effect on server behavior.
version.config.matchmaker.docker.dockerfile
string
Configures Rivet CLI behavior. Has no effect on server behavior.
version.config.matchmaker.docker.env
map<string, string>
version.config.matchmaker.docker.image
string
Configures Rivet CLI behavior. Has no effect on server behavior.
version.config.matchmaker.docker.image_id
string
version.config.matchmaker.docker.network_mode
string
Configures 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.
version.config.matchmaker.docker.ports
map<string, object>
version.config.matchmaker.docker.ports.<port>.dev_port
integer
Configures Rivet CLI behavior. Has no effect on server behavior.
version.config.matchmaker.docker.ports.<port>.dev_port_range
object
Configures Rivet CLI behavior. Has no effect on server behavior.
version.config.matchmaker.docker.ports.<port>.dev_port_range.max
integer
(required)
Unsigned 32 bit integer.
version.config.matchmaker.docker.ports.<port>.dev_port_range.min
integer
(required)
Unsigned 32 bit integer.
version.config.matchmaker.docker.ports.<port>.dev_protocol
string
Configures Rivet CLI behavior. Has no effect on server behavior.
version.config.matchmaker.docker.ports.<port>.port
integer
The port number to connect to.
Related - cloud.version.matchmaker.PortProtocol - cloud.version.matchmaker.ProxyKind
version.config.matchmaker.docker.ports.<port>.port_range
object
Range of ports that can be connected to. Note that the port range values returned by /find
Related
- cloud.version.matchmaker.PortProtocol
- cloud.version.matchmaker.ProxyKind
version.config.matchmaker.docker.ports.<port>.port_range.max
integer
(required)
Unsigned 32 bit integer.
version.config.matchmaker.docker.ports.<port>.port_range.min
integer
(required)
Unsigned 32 bit integer.
version.config.matchmaker.docker.ports.<port>.protocol
string
Signifies 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
version.config.matchmaker.docker.ports.<port>.proxy
string
How this port should be proxied. Defaults to 'game-guard`.
version.config.matchmaker.game_modes
map<string, object>
A list of game modes.
version.config.matchmaker.game_modes.<game_mode>.actions
object
Configuration for the connection types allowed for a game mode.
version.config.matchmaker.game_modes.<game_mode>.actions.create
object
Configures the requirements and authentication for the /create endpoint. If this value is not set in the config, the /create endpoint is NOT enabled.
version.config.matchmaker.game_modes.<game_mode>.actions.create.enable_private
boolean
Defaults to true when unset.
version.config.matchmaker.game_modes.<game_mode>.actions.create.enable_public
boolean
Defaults to false when unset.
version.config.matchmaker.game_modes.<game_mode>.actions.create.enabled
boolean
(required)
Sets whether or not the /create endpoint is enabled.
version.config.matchmaker.game_modes.<game_mode>.actions.create.verification
object
Configuration 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.
version.config.matchmaker.game_modes.<game_mode>.actions.create.verification.headers
map<string, string>
(required)
version.config.matchmaker.game_modes.<game_mode>.actions.create.verification.url
string
(required)
version.config.matchmaker.game_modes.<game_mode>.actions.find
object
Configures the requirements and authentication for the /find endpoint. If this value is not set in the config, the /find endpoint is still enabled.
version.config.matchmaker.game_modes.<game_mode>.actions.find.enabled
boolean
(required)
Sets whether or not the /find endpoint is enabled.
version.config.matchmaker.game_modes.<game_mode>.actions.find.verification
object
Configuration 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.
version.config.matchmaker.game_modes.<game_mode>.actions.find.verification.headers
map<string, string>
(required)
version.config.matchmaker.game_modes.<game_mode>.actions.find.verification.url
string
(required)
version.config.matchmaker.game_modes.<game_mode>.actions.join
object
Configures the requirements and authentication for the /join endpoint. If this value is not set in the config, the /join endpoint is still enabled.
version.config.matchmaker.game_modes.<game_mode>.actions.join.enabled
boolean
(required)
Sets whether or not the /join endpoint is enabled.
version.config.matchmaker.game_modes.<game_mode>.actions.join.verification
object
Configuration 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.
version.config.matchmaker.game_modes.<game_mode>.actions.join.verification.headers
map<string, string>
(required)
version.config.matchmaker.game_modes.<game_mode>.actions.join.verification.url
string
(required)
version.config.matchmaker.game_modes.<game_mode>.allow_dynamic_max_players
boolean
version.config.matchmaker.game_modes.<game_mode>.docker
object
A game mode runtime running through Docker.
version.config.matchmaker.game_modes.<game_mode>.docker.args
array<string>
version.config.matchmaker.game_modes.<game_mode>.docker.build_args
map<string, string>
Configures Rivet CLI behavior. Has no effect on server behavior.
version.config.matchmaker.game_modes.<game_mode>.docker.dockerfile
string
Configures Rivet CLI behavior. Has no effect on server behavior.
version.config.matchmaker.game_modes.<game_mode>.docker.env
map<string, string>
version.config.matchmaker.game_modes.<game_mode>.docker.image
string
Configures Rivet CLI behavior. Has no effect on server behavior.
version.config.matchmaker.game_modes.<game_mode>.docker.image_id
string
version.config.matchmaker.game_modes.<game_mode>.docker.network_mode
string
Configures 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.
version.config.matchmaker.game_modes.<game_mode>.docker.ports
map<string, object>
version.config.matchmaker.game_modes.<game_mode>.docker.ports.<port>.dev_port
integer
Configures Rivet CLI behavior. Has no effect on server behavior.
version.config.matchmaker.game_modes.<game_mode>.docker.ports.<port>.dev_port_range
object
Configures Rivet CLI behavior. Has no effect on server behavior.
version.config.matchmaker.game_modes.<game_mode>.docker.ports.<port>.dev_port_range.max
integer
(required)
Unsigned 32 bit integer.
version.config.matchmaker.game_modes.<game_mode>.docker.ports.<port>.dev_port_range.min
integer
(required)
Unsigned 32 bit integer.
version.config.matchmaker.game_modes.<game_mode>.docker.ports.<port>.dev_protocol
string
Configures Rivet CLI behavior. Has no effect on server behavior.
version.config.matchmaker.game_modes.<game_mode>.docker.ports.<port>.port
integer
The port number to connect to.
Related - cloud.version.matchmaker.PortProtocol - cloud.version.matchmaker.ProxyKind
version.config.matchmaker.game_modes.<game_mode>.docker.ports.<port>.port_range
object
Range of ports that can be connected to. Note that the port range values returned by /find
Related
- cloud.version.matchmaker.PortProtocol
- cloud.version.matchmaker.ProxyKind
version.config.matchmaker.game_modes.<game_mode>.docker.ports.<port>.port_range.max
integer
(required)
Unsigned 32 bit integer.
version.config.matchmaker.game_modes.<game_mode>.docker.ports.<port>.port_range.min
integer
(required)
Unsigned 32 bit integer.
version.config.matchmaker.game_modes.<game_mode>.docker.ports.<port>.protocol
string
Signifies 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
version.config.matchmaker.game_modes.<game_mode>.docker.ports.<port>.proxy
string
How this port should be proxied. Defaults to 'game-guard`.
version.config.matchmaker.game_modes.<game_mode>.idle_lobbies
object
Configuration for how many idle lobbies a game version should have.
version.config.matchmaker.game_modes.<game_mode>.idle_lobbies.max
integer
(required)
version.config.matchmaker.game_modes.<game_mode>.idle_lobbies.min
integer
(required)
version.config.matchmaker.game_modes.<game_mode>.listable
boolean
version.config.matchmaker.game_modes.<game_mode>.max_players
integer
version.config.matchmaker.game_modes.<game_mode>.max_players_direct
integer
version.config.matchmaker.game_modes.<game_mode>.max_players_party
integer
version.config.matchmaker.game_modes.<game_mode>.regions
map<string, object>
version.config.matchmaker.game_modes.<game_mode>.regions.<region>.idle_lobbies
object
Configuration for how many idle lobbies a game version should have.
version.config.matchmaker.game_modes.<game_mode>.regions.<region>.idle_lobbies.max
integer
(required)
version.config.matchmaker.game_modes.<game_mode>.regions.<region>.idle_lobbies.min
integer
(required)
version.config.matchmaker.game_modes.<game_mode>.regions.<region>.tier
string
version.config.matchmaker.game_modes.<game_mode>.taggable
boolean
version.config.matchmaker.game_modes.<game_mode>.tier
string
version.config.matchmaker.idle_lobbies
object
Configuration for how many idle lobbies a game version should have.
version.config.matchmaker.idle_lobbies.max
integer
(required)
version.config.matchmaker.idle_lobbies.min
integer
(required)
version.config.matchmaker.max_players
integer
version.config.matchmaker.max_players_direct
integer
version.config.matchmaker.max_players_party
integer
version.config.matchmaker.regions
map<string, object>
version.config.matchmaker.regions.<region>.idle_lobbies
object
Configuration for how many idle lobbies a game version should have.
version.config.matchmaker.regions.<region>.idle_lobbies.max
integer
(required)
version.config.matchmaker.regions.<region>.idle_lobbies.min
integer
(required)
version.config.matchmaker.regions.<region>.tier
string
version.config.matchmaker.tier
string
version.config.scripts
map<string, string>
version.create_ts
string
(required)
RFC3339 timestamp.
version.display_name
string
(required)
Represent a resource's readable display name.
version.version_id
string
(required)