⭐️ games.versions.createGameVersion
Description
Creates a new game version.
Code Examples
Request Parameters
game_id
required path parameterRequest Body
display_namestringRepresent a resource's readable display name.
configobjectCloud configuration for a given version.
config.scriptsunion of empty object and stringconfig.engineobjectconfig.engine.unityempty objectconfig.engine.unrealobjectconfig.engine.unreal.game_modulestringName of the Unreal module that holds the game code. This is usually the value of
$.Modules[0].Namein the fileMyProject.unproject. Configures Rivet CLI behavior. Has no effect on server behavior.
config.engine.godotempty objectconfig.engine.html5empty objectconfig.engine.customempty object
config.cdnobjectCDN configuration for a given version.
config.cdn.build_commandstringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.cdn.build_outputstringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.cdn.build_envunion of empty object and stringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.cdn.site_idstringconfig.cdn.routesarray of objectsMultiple CDN version routes.
config.cdn.routes.globstringconfig.cdn.routes.prioritynumberUnsigned 32 bit integer.
config.cdn.routes.middlewaresarray of objectsMultiple CDN version middleware.
config.cdn.routes.middlewares.kindobjectconfig.cdn.routes.middlewares.kind.custom_headersobjectconfig.cdn.routes.middlewares.kind.custom_headers.headersarray of objectsconfig.cdn.routes.middlewares.kind.custom_headers.headers.namestringconfig.cdn.routes.middlewares.kind.custom_headers.headers.valuestring
config.matchmakerobjectMatchmaker configuration for a given version.
config.matchmaker.game_modesunion of empty object and objectA list of game modes.
config.matchmaker.game_modes.regionsunion of empty object and objectconfig.matchmaker.game_modes.regions.tierstringconfig.matchmaker.game_modes.regions.idle_lobbiesobjectConfiguration for how many idle lobbies a game version should have.
config.matchmaker.game_modes.regions.idle_lobbies.minnumberconfig.matchmaker.game_modes.regions.idle_lobbies.maxnumber
config.matchmaker.game_modes.max_playersnumberconfig.matchmaker.game_modes.max_players_directnumberconfig.matchmaker.game_modes.max_players_partynumberconfig.matchmaker.game_modes.dockerobjectA game mode runtime running through Docker.
config.matchmaker.game_modes.docker.dockerfilestringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.game_modes.docker.build_argsunion of empty object and stringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.game_modes.docker.imagestringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.game_modes.docker.image_idstringconfig.matchmaker.game_modes.docker.argsarray of stringsconfig.matchmaker.game_modes.docker.envunion of empty object and stringconfig.matchmaker.game_modes.docker.network_modestringConfigures how the container's network is isolated from the host.
bridge(default) networking isolates the container's network from the host & other containers.hostnetworking 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.portsunion of empty object and objectconfig.matchmaker.game_modes.docker.ports.portnumberThe port number to connect to.
Related - cloud.version.matchmaker.PortProtocol - cloud.version.matchmaker.ProxyKind
config.matchmaker.game_modes.docker.ports.port_rangeobjectRange of ports that can be connected to. If configured,
network_modemust 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.minnumberUnsigned 32 bit integer.
config.matchmaker.game_modes.docker.ports.port_range.maxnumberUnsigned 32 bit integer.
config.matchmaker.game_modes.docker.ports.protocolstringSignifies the protocol of the port. Note that when proxying through GameGuard (via
ProxyKind), the port number returned by/find,/join, and/createwill 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.proxystringHow this port should be proxied. Defaults to 'game-guard`.
config.matchmaker.game_modes.docker.ports.dev_portnumberConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.game_modes.docker.ports.dev_port_rangeobjectConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.game_modes.docker.ports.dev_port_range.minnumberUnsigned 32 bit integer.
config.matchmaker.game_modes.docker.ports.dev_port_range.maxnumberUnsigned 32 bit integer.
config.matchmaker.game_modes.docker.ports.dev_protocolstringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.game_modes.listablebooleanconfig.matchmaker.game_modes.taggablebooleanconfig.matchmaker.game_modes.allow_dynamic_max_playersbooleanconfig.matchmaker.game_modes.actionsobjectConfiguration for the connection types allowed for a game mode.
config.matchmaker.game_modes.actions.findobjectConfigures 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.enabledbooleanSets whether or not the /find endpoint is enabled.
config.matchmaker.game_modes.actions.find.identity_requirementany valueconfig.matchmaker.game_modes.actions.find.verificationobjectConfiguration that tells Rivet where to send validation requests and with what headers. When set, Rivet will send the
verification_dataproperty (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.urlstringconfig.matchmaker.game_modes.actions.find.verification.headersunion of empty object and string
config.matchmaker.game_modes.actions.joinobjectConfigures 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.enabledbooleanSets whether or not the /join endpoint is enabled.
config.matchmaker.game_modes.actions.join.identity_requirementany valueconfig.matchmaker.game_modes.actions.join.verificationobjectConfiguration that tells Rivet where to send validation requests and with what headers. When set, Rivet will send the
verification_dataproperty (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.urlstringconfig.matchmaker.game_modes.actions.join.verification.headersunion of empty object and string
config.matchmaker.game_modes.actions.createobjectConfigures 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.enabledbooleanSets whether or not the /create endpoint is enabled.
config.matchmaker.game_modes.actions.create.identity_requirementany valueconfig.matchmaker.game_modes.actions.create.verificationobjectConfiguration that tells Rivet where to send validation requests and with what headers. When set, Rivet will send the
verification_dataproperty (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.urlstringconfig.matchmaker.game_modes.actions.create.verification.headersunion of empty object and string
config.matchmaker.game_modes.actions.create.enable_publicbooleanDefaults to false when unset.
config.matchmaker.game_modes.actions.create.enable_privatebooleanDefaults to true when unset.
config.matchmaker.game_modes.actions.create.max_lobbies_per_identityany value
config.matchmaker.game_modes.tierstringconfig.matchmaker.game_modes.idle_lobbiesobjectConfiguration for how many idle lobbies a game version should have.
config.matchmaker.game_modes.idle_lobbies.minnumberconfig.matchmaker.game_modes.idle_lobbies.maxnumber
config.matchmaker.captchaobjectMatchmaker captcha configuration.
config.matchmaker.captcha.requests_before_reverifynumberDenotes how many requests a connection can make before it is required to reverify a captcha.
config.matchmaker.captcha.verification_ttlnumberDenotes how long a connection can continue to reconnect without having to reverify a captcha (in milliseconds).
config.matchmaker.captcha.hcaptchaobjecthCpatcha configuration.
config.matchmaker.captcha.hcaptcha.levelany valueconfig.matchmaker.captcha.hcaptcha.site_keystringSite key for your hCaptcha application. Must be set.
config.matchmaker.captcha.hcaptcha.secret_keystringSecret key for your hCaptcha application. Must be set.
config.matchmaker.captcha.turnstileobjectTurnstile captcha configuration.
config.matchmaker.captcha.turnstile.site_keystringconfig.matchmaker.captcha.turnstile.secret_keystring
config.matchmaker.dev_hostnamestringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.regionsunion of empty object and objectconfig.matchmaker.regions.tierstringconfig.matchmaker.regions.idle_lobbiesobjectConfiguration for how many idle lobbies a game version should have.
config.matchmaker.regions.idle_lobbies.minnumberconfig.matchmaker.regions.idle_lobbies.maxnumber
config.matchmaker.max_playersnumberconfig.matchmaker.max_players_directnumberconfig.matchmaker.max_players_partynumberconfig.matchmaker.dockerobjectA game mode runtime running through Docker.
config.matchmaker.docker.dockerfilestringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.docker.build_argsunion of empty object and stringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.docker.imagestringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.docker.image_idstringconfig.matchmaker.docker.argsarray of stringsconfig.matchmaker.docker.envunion of empty object and stringconfig.matchmaker.docker.network_modestringConfigures how the container's network is isolated from the host.
bridge(default) networking isolates the container's network from the host & other containers.hostnetworking 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.portsunion of empty object and objectconfig.matchmaker.docker.ports.portnumberThe port number to connect to.
Related - cloud.version.matchmaker.PortProtocol - cloud.version.matchmaker.ProxyKind
config.matchmaker.docker.ports.port_rangeobjectRange of ports that can be connected to. If configured,
network_modemust 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.minnumberUnsigned 32 bit integer.
config.matchmaker.docker.ports.port_range.maxnumberUnsigned 32 bit integer.
config.matchmaker.docker.ports.protocolstringSignifies the protocol of the port. Note that when proxying through GameGuard (via
ProxyKind), the port number returned by/find,/join, and/createwill 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.proxystringHow this port should be proxied. Defaults to 'game-guard`.
config.matchmaker.docker.ports.dev_portnumberConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.docker.ports.dev_port_rangeobjectConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.docker.ports.dev_port_range.minnumberUnsigned 32 bit integer.
config.matchmaker.docker.ports.dev_port_range.maxnumberUnsigned 32 bit integer.
config.matchmaker.docker.ports.dev_protocolstringConfigures Rivet CLI behavior. Has no effect on server behavior.
config.matchmaker.tierstringconfig.matchmaker.idle_lobbiesobjectConfiguration for how many idle lobbies a game version should have.
config.matchmaker.idle_lobbies.minnumberconfig.matchmaker.idle_lobbies.maxnumber
config.matchmaker.lobby_groupsany value
config.kvempty objectKV configuration for a given version.
config.identityany value
Response Body
version_idstring