Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 30 additions & 2 deletions fern/definition/cloud/version/matchmaker/common.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,16 @@ imports:

types:
PortRange:
docs: Range of ports that can be connected to.
docs: >-
Range of ports that can be connected to.

If configured, `network_mode` must equal `host`.

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](https://rivet.gg/docs/dynamic-servers/concepts/host-bridge-networking).

Only available on Rivet Open Source & Enterprise.
properties:
min:
docs: Unsigned 32 bit integer.
Expand All @@ -16,7 +25,12 @@ types:
type: integer

PortProtocol:
docs: A port protocol.
docs: >-
Type of network traffic to allow access to this port.

Configuring `https` or `tcp_tls` will provide TLS termination for you via Game Guard.

`https` and `tcp_tls` must have `proxy_kind` set to `game_guard`.
enum:
- http
- https
Expand All @@ -25,6 +39,12 @@ types:
- udp

ProxyKind:
docs: >-
Range of ports that can be connected to.

`game_guard` (default) proxies all traffic through [Game Guard](https://rivet.gg/docs/dynamic-servers/concepts/game-guard) to mitigate DDoS attacks and provide TLS termination.

`none` sends traffic directly to the game server. If configured, `network_mode` must equal `host`. Read more about host networking [here](https://rivet.gg/docs/dynamic-servers/concepts/host-bridge-networking). Only available on Rivet Open Source & Enterprise.
enum:
- none
- game_guard
Expand Down Expand Up @@ -77,6 +97,14 @@ types:
secret_key: string

NetworkMode:
docs: >-
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](https://rivet.gg/docs/dynamic-servers/concepts/host-bridge-networking).
enum:
- bridge
- host
3 changes: 2 additions & 1 deletion fern/definition/matchmaker/common.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,11 @@ types:
The port number for this lobby. Will be null if using a port range.
port_range:
type: optional<JoinPortRange>
is_tls:
type: boolean
docs: >
Whether or not this lobby port uses TLS. You cannot mix a non-TLS and TLS
ports.
is_tls: boolean

JoinPortRange:
docs: Inclusive range of ports that can be connected to.
Expand Down
15 changes: 14 additions & 1 deletion sdks/full/go/cloud/version/matchmaker/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,10 @@ func (c *CaptchaTurnstile) String() string {
return fmt.Sprintf("%#v", c)
}

// 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](https://rivet.gg/docs/dynamic-servers/concepts/host-bridge-networking).
type NetworkMode string

const (
Expand All @@ -162,7 +166,9 @@ func (n NetworkMode) Ptr() *NetworkMode {
return &n
}

// A port protocol.
// Type of network traffic to allow access to this port.
// Configuring `https` or `tcp_tls` will provide TLS termination for you via Game Guard.
// `https` and `tcp_tls` must have `proxy_kind` set to `game_guard`.
type PortProtocol string

const (
Expand Down Expand Up @@ -195,6 +201,10 @@ func (p PortProtocol) Ptr() *PortProtocol {
}

// Range of ports that can be connected to.
// If configured, `network_mode` must equal `host`.
// 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](https://rivet.gg/docs/dynamic-servers/concepts/host-bridge-networking).
// Only available on Rivet Open Source & Enterprise.
type PortRange struct {
// Unsigned 32 bit integer.
Min int `json:"min"`
Expand Down Expand Up @@ -227,6 +237,9 @@ func (p *PortRange) String() string {
return fmt.Sprintf("%#v", p)
}

// Range of ports that can be connected to.
// `game_guard` (default) proxies all traffic through [Game Guard](https://rivet.gg/docs/dynamic-servers/concepts/game-guard) to mitigate DDoS attacks and provide TLS termination.
// `none` sends traffic directly to the game server. If configured, `network_mode` must equal `host`. Read more about host networking [here](https://rivet.gg/docs/dynamic-servers/concepts/host-bridge-networking). Only available on Rivet Open Source & Enterprise.
type ProxyKind string

const (
Expand Down
6 changes: 3 additions & 3 deletions sdks/full/go/matchmaker/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -112,10 +112,10 @@ type JoinPort struct {
Host *string `json:"host,omitempty"`
Hostname string `json:"hostname"`
// The port number for this lobby. Will be null if using a port range.
Port *int `json:"port,omitempty"`
// Whether or not this lobby port uses TLS. You cannot mix a non-TLS and TLS ports.
Port *int `json:"port,omitempty"`
PortRange *JoinPortRange `json:"port_range,omitempty"`
IsTls bool `json:"is_tls"`
// Whether or not this lobby port uses TLS. You cannot mix a non-TLS and TLS ports.
IsTls bool `json:"is_tls"`

_rawJSON json.RawMessage
}
Expand Down
47 changes: 43 additions & 4 deletions sdks/full/openapi/openapi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10896,7 +10896,18 @@ components:
- game_module
CloudVersionMatchmakerPortRange:
type: object
description: Range of ports that can be connected to.
description: >-
Range of ports that can be connected to.

If configured, `network_mode` must equal `host`.

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](https://rivet.gg/docs/dynamic-servers/concepts/host-bridge-networking).

Only available on Rivet Open Source & Enterprise.
properties:
min:
type: integer
Expand All @@ -10915,12 +10926,29 @@ components:
- tcp
- tcp_tls
- udp
description: A port protocol.
description: >-
Type of network traffic to allow access to this port.

Configuring `https` or `tcp_tls` will provide TLS termination for you
via Game Guard.

`https` and `tcp_tls` must have `proxy_kind` set to `game_guard`.
CloudVersionMatchmakerProxyKind:
type: string
enum:
- none
- game_guard
description: >-
Range of ports that can be connected to.

`game_guard` (default) proxies all traffic through [Game
Guard](https://rivet.gg/docs/dynamic-servers/concepts/game-guard) to
mitigate DDoS attacks and provide TLS termination.

`none` sends traffic directly to the game server. If configured,
`network_mode` must equal `host`. Read more about host networking
[here](https://rivet.gg/docs/dynamic-servers/concepts/host-bridge-networking).
Only available on Rivet Open Source & Enterprise.
CloudVersionMatchmakerCaptcha:
type: object
description: Matchmaker captcha configuration.
Expand Down Expand Up @@ -10982,6 +11010,17 @@ components:
enum:
- bridge
- host
description: >-
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](https://rivet.gg/docs/dynamic-servers/concepts/host-bridge-networking).
CloudVersionMatchmakerGameMode:
type: object
description: A game mode.
Expand Down Expand Up @@ -12511,11 +12550,11 @@ components:
description: The port number for this lobby. Will be null if using a port range.
port_range:
$ref: '#/components/schemas/MatchmakerJoinPortRange'
is_tls:
type: boolean
description: >-
Whether or not this lobby port uses TLS. You cannot mix a non-TLS
and TLS ports.
is_tls:
type: boolean
required:
- hostname
- is_tls
Expand Down
39 changes: 35 additions & 4 deletions sdks/full/openapi_compat/openapi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2399,12 +2399,26 @@ components:
- proxy_protocol
type: object
CloudVersionMatchmakerNetworkMode:
description: '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](https://rivet.gg/docs/dynamic-servers/concepts/host-bridge-networking).'
enum:
- bridge
- host
type: string
CloudVersionMatchmakerPortProtocol:
description: A port protocol.
description: 'Type of network traffic to allow access to this port.

Configuring `https` or `tcp_tls` will provide TLS termination for you via
Game Guard.

`https` and `tcp_tls` must have `proxy_kind` set to `game_guard`.'
enum:
- http
- https
Expand All @@ -2413,7 +2427,16 @@ components:
- udp
type: string
CloudVersionMatchmakerPortRange:
description: Range of ports that can be connected to.
description: 'Range of ports that can be connected to.

If configured, `network_mode` must equal `host`.

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](https://rivet.gg/docs/dynamic-servers/concepts/host-bridge-networking).

Only available on Rivet Open Source & Enterprise.'
properties:
max:
description: Unsigned 32 bit integer.
Expand All @@ -2426,6 +2449,14 @@ components:
- max
type: object
CloudVersionMatchmakerProxyKind:
description: 'Range of ports that can be connected to.

`game_guard` (default) proxies all traffic through [Game Guard](https://rivet.gg/docs/dynamic-servers/concepts/game-guard)
to mitigate DDoS attacks and provide TLS termination.

`none` sends traffic directly to the game server. If configured, `network_mode`
must equal `host`. Read more about host networking [here](https://rivet.gg/docs/dynamic-servers/concepts/host-bridge-networking).
Only available on Rivet Open Source & Enterprise.'
enum:
- none
- game_guard
Expand Down Expand Up @@ -4006,15 +4037,15 @@ components:
hostname:
type: string
is_tls:
description: Whether or not this lobby port uses TLS. You cannot mix a non-TLS
and TLS ports.
type: boolean
port:
description: The port number for this lobby. Will be null if using a port
range.
type: integer
port_range:
$ref: '#/components/schemas/MatchmakerJoinPortRange'
description: Whether or not this lobby port uses TLS. You cannot mix a non-TLS
and TLS ports.
required:
- hostname
- is_tls
Expand Down
2 changes: 1 addition & 1 deletion sdks/full/rust-cli/docs/MatchmakerJoinPort.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**host** | Option<**String**> | The host for the given port. Will be null if using a port range. | [optional]
**hostname** | **String** | |
**is_tls** | **bool** | |
**is_tls** | **bool** | Whether or not this lobby port uses TLS. You cannot mix a non-TLS and TLS ports. |
**port** | Option<**i32**> | The port number for this lobby. Will be null if using a port range. | [optional]
**port_range** | Option<[**crate::models::MatchmakerJoinPortRange**](MatchmakerJoinPortRange.md)> | | [optional]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@
* Generated by: https://openapi-generator.tech
*/

/// CloudVersionMatchmakerNetworkMode : 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](https://rivet.gg/docs/dynamic-servers/concepts/host-bridge-networking).

///
/// 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](https://rivet.gg/docs/dynamic-servers/concepts/host-bridge-networking).
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub enum CloudVersionMatchmakerNetworkMode {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
* Generated by: https://openapi-generator.tech
*/

/// CloudVersionMatchmakerPortProtocol : A port protocol.
/// CloudVersionMatchmakerPortProtocol : Type of network traffic to allow access to this port. Configuring `https` or `tcp_tls` will provide TLS termination for you via Game Guard. `https` and `tcp_tls` must have `proxy_kind` set to `game_guard`.

/// A port protocol.
/// Type of network traffic to allow access to this port. Configuring `https` or `tcp_tls` will provide TLS termination for you via Game Guard. `https` and `tcp_tls` must have `proxy_kind` set to `game_guard`.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub enum CloudVersionMatchmakerPortProtocol {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* Generated by: https://openapi-generator.tech
*/

/// CloudVersionMatchmakerPortRange : Range of ports that can be connected to.
/// CloudVersionMatchmakerPortRange : Range of ports that can be connected to. If configured, `network_mode` must equal `host`. 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](https://rivet.gg/docs/dynamic-servers/concepts/host-bridge-networking). Only available on Rivet Open Source & Enterprise.



Expand All @@ -24,7 +24,7 @@ pub struct CloudVersionMatchmakerPortRange {
}

impl CloudVersionMatchmakerPortRange {
/// Range of ports that can be connected to.
/// Range of ports that can be connected to. If configured, `network_mode` must equal `host`. 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](https://rivet.gg/docs/dynamic-servers/concepts/host-bridge-networking). Only available on Rivet Open Source & Enterprise.
pub fn new(max: i32, min: i32) -> CloudVersionMatchmakerPortRange {
CloudVersionMatchmakerPortRange {
max,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@
* Generated by: https://openapi-generator.tech
*/

/// CloudVersionMatchmakerProxyKind : Range of ports that can be connected to. `game_guard` (default) proxies all traffic through [Game Guard](https://rivet.gg/docs/dynamic-servers/concepts/game-guard) to mitigate DDoS attacks and provide TLS termination. `none` sends traffic directly to the game server. If configured, `network_mode` must equal `host`. Read more about host networking [here](https://rivet.gg/docs/dynamic-servers/concepts/host-bridge-networking). Only available on Rivet Open Source & Enterprise.

///
/// Range of ports that can be connected to. `game_guard` (default) proxies all traffic through [Game Guard](https://rivet.gg/docs/dynamic-servers/concepts/game-guard) to mitigate DDoS attacks and provide TLS termination. `none` sends traffic directly to the game server. If configured, `network_mode` must equal `host`. Read more about host networking [here](https://rivet.gg/docs/dynamic-servers/concepts/host-bridge-networking). Only available on Rivet Open Source & Enterprise.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub enum CloudVersionMatchmakerProxyKind {
Expand Down
1 change: 1 addition & 0 deletions sdks/full/rust-cli/src/models/matchmaker_join_port.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ pub struct MatchmakerJoinPort {
pub host: Option<String>,
#[serde(rename = "hostname")]
pub hostname: String,
/// Whether or not this lobby port uses TLS. You cannot mix a non-TLS and TLS ports.
#[serde(rename = "is_tls")]
pub is_tls: bool,
/// The port number for this lobby. Will be null if using a port range.
Expand Down
2 changes: 1 addition & 1 deletion sdks/full/rust/docs/MatchmakerJoinPort.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**host** | Option<**String**> | The host for the given port. Will be null if using a port range. | [optional]
**hostname** | **String** | |
**is_tls** | **bool** | |
**is_tls** | **bool** | Whether or not this lobby port uses TLS. You cannot mix a non-TLS and TLS ports. |
**port** | Option<**i32**> | The port number for this lobby. Will be null if using a port range. | [optional]
**port_range** | Option<[**crate::models::MatchmakerJoinPortRange**](MatchmakerJoinPortRange.md)> | | [optional]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@
* Generated by: https://openapi-generator.tech
*/

/// CloudVersionMatchmakerNetworkMode : 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](https://rivet.gg/docs/dynamic-servers/concepts/host-bridge-networking).

///
/// 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](https://rivet.gg/docs/dynamic-servers/concepts/host-bridge-networking).
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum CloudVersionMatchmakerNetworkMode {
#[serde(rename = "bridge")]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
* Generated by: https://openapi-generator.tech
*/

/// CloudVersionMatchmakerPortProtocol : A port protocol.
/// CloudVersionMatchmakerPortProtocol : Type of network traffic to allow access to this port. Configuring `https` or `tcp_tls` will provide TLS termination for you via Game Guard. `https` and `tcp_tls` must have `proxy_kind` set to `game_guard`.

/// A port protocol.
/// Type of network traffic to allow access to this port. Configuring `https` or `tcp_tls` will provide TLS termination for you via Game Guard. `https` and `tcp_tls` must have `proxy_kind` set to `game_guard`.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum CloudVersionMatchmakerPortProtocol {
#[serde(rename = "http")]
Expand Down
Loading