From 4f4ff2c9fd3fc4bbe0adf64cbe47e42a49fc8bc7 Mon Sep 17 00:00:00 2001 From: Nathan Flurry Date: Wed, 28 Feb 2024 07:08:03 +0000 Subject: [PATCH] Update docs on host networking (#496) Fixes WEB-129 --- .../cloud/version/matchmaker/common.yml | 32 ++++++++++++- fern/definition/matchmaker/common.yml | 3 +- .../full/go/cloud/version/matchmaker/types.go | 15 +++++- sdks/full/go/matchmaker/types.go | 6 +-- sdks/full/openapi/openapi.yml | 47 +++++++++++++++++-- sdks/full/openapi_compat/openapi.yml | 39 +++++++++++++-- sdks/full/rust-cli/docs/MatchmakerJoinPort.md | 2 +- .../cloud_version_matchmaker_network_mode.rs | 3 +- .../cloud_version_matchmaker_port_protocol.rs | 4 +- .../cloud_version_matchmaker_port_range.rs | 4 +- .../cloud_version_matchmaker_proxy_kind.rs | 3 +- .../src/models/matchmaker_join_port.rs | 1 + sdks/full/rust/docs/MatchmakerJoinPort.md | 2 +- .../cloud_version_matchmaker_network_mode.rs | 3 +- .../cloud_version_matchmaker_port_protocol.rs | 4 +- .../cloud_version_matchmaker_port_range.rs | 4 +- .../cloud_version_matchmaker_proxy_kind.rs | 3 +- .../rust/src/models/matchmaker_join_port.rs | 1 + sdks/full/typescript/archive.tgz | 4 +- sdks/runtime/go/matchmaker/types.go | 6 +-- sdks/runtime/openapi/openapi.yml | 4 +- sdks/runtime/openapi_compat/openapi.yml | 4 +- sdks/runtime/rust/docs/MatchmakerJoinPort.md | 2 +- .../rust/src/models/matchmaker_join_port.rs | 1 + sdks/runtime/typescript/archive.tgz | 4 +- 25 files changed, 160 insertions(+), 41 deletions(-) diff --git a/fern/definition/cloud/version/matchmaker/common.yml b/fern/definition/cloud/version/matchmaker/common.yml index a4eae16d14..14cc194e70 100644 --- a/fern/definition/cloud/version/matchmaker/common.yml +++ b/fern/definition/cloud/version/matchmaker/common.yml @@ -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. @@ -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 @@ -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 @@ -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 diff --git a/fern/definition/matchmaker/common.yml b/fern/definition/matchmaker/common.yml index c7f60cb9bc..2a32505a48 100644 --- a/fern/definition/matchmaker/common.yml +++ b/fern/definition/matchmaker/common.yml @@ -64,10 +64,11 @@ types: The port number for this lobby. Will be null if using a port range. port_range: type: optional + 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. diff --git a/sdks/full/go/cloud/version/matchmaker/types.go b/sdks/full/go/cloud/version/matchmaker/types.go index 6fa149db26..976de1c19a 100644 --- a/sdks/full/go/cloud/version/matchmaker/types.go +++ b/sdks/full/go/cloud/version/matchmaker/types.go @@ -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 ( @@ -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 ( @@ -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"` @@ -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 ( diff --git a/sdks/full/go/matchmaker/types.go b/sdks/full/go/matchmaker/types.go index 3fac4ac025..b172126aeb 100644 --- a/sdks/full/go/matchmaker/types.go +++ b/sdks/full/go/matchmaker/types.go @@ -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 } diff --git a/sdks/full/openapi/openapi.yml b/sdks/full/openapi/openapi.yml index 5e9dbe9617..64c4a4c0ec 100644 --- a/sdks/full/openapi/openapi.yml +++ b/sdks/full/openapi/openapi.yml @@ -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 @@ -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. @@ -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. @@ -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 diff --git a/sdks/full/openapi_compat/openapi.yml b/sdks/full/openapi_compat/openapi.yml index 6790cc9bfb..502ae594f0 100644 --- a/sdks/full/openapi_compat/openapi.yml +++ b/sdks/full/openapi_compat/openapi.yml @@ -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 @@ -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. @@ -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 @@ -4006,6 +4037,8 @@ 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 @@ -4013,8 +4046,6 @@ components: 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 diff --git a/sdks/full/rust-cli/docs/MatchmakerJoinPort.md b/sdks/full/rust-cli/docs/MatchmakerJoinPort.md index 48dcaeb9f9..d32c534f6b 100644 --- a/sdks/full/rust-cli/docs/MatchmakerJoinPort.md +++ b/sdks/full/rust-cli/docs/MatchmakerJoinPort.md @@ -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] diff --git a/sdks/full/rust-cli/src/models/cloud_version_matchmaker_network_mode.rs b/sdks/full/rust-cli/src/models/cloud_version_matchmaker_network_mode.rs index 7530a5dd3a..c2c49c0fe2 100644 --- a/sdks/full/rust-cli/src/models/cloud_version_matchmaker_network_mode.rs +++ b/sdks/full/rust-cli/src/models/cloud_version_matchmaker_network_mode.rs @@ -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 { diff --git a/sdks/full/rust-cli/src/models/cloud_version_matchmaker_port_protocol.rs b/sdks/full/rust-cli/src/models/cloud_version_matchmaker_port_protocol.rs index 4cfa39d453..c711c3b87e 100644 --- a/sdks/full/rust-cli/src/models/cloud_version_matchmaker_port_protocol.rs +++ b/sdks/full/rust-cli/src/models/cloud_version_matchmaker_port_protocol.rs @@ -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 { diff --git a/sdks/full/rust-cli/src/models/cloud_version_matchmaker_port_range.rs b/sdks/full/rust-cli/src/models/cloud_version_matchmaker_port_range.rs index 704237b276..f2d6f86023 100644 --- a/sdks/full/rust-cli/src/models/cloud_version_matchmaker_port_range.rs +++ b/sdks/full/rust-cli/src/models/cloud_version_matchmaker_port_range.rs @@ -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. @@ -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, diff --git a/sdks/full/rust-cli/src/models/cloud_version_matchmaker_proxy_kind.rs b/sdks/full/rust-cli/src/models/cloud_version_matchmaker_proxy_kind.rs index c5285fdb4f..52fe3d467d 100644 --- a/sdks/full/rust-cli/src/models/cloud_version_matchmaker_proxy_kind.rs +++ b/sdks/full/rust-cli/src/models/cloud_version_matchmaker_proxy_kind.rs @@ -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 { diff --git a/sdks/full/rust-cli/src/models/matchmaker_join_port.rs b/sdks/full/rust-cli/src/models/matchmaker_join_port.rs index 900b3980e7..86e07f170a 100644 --- a/sdks/full/rust-cli/src/models/matchmaker_join_port.rs +++ b/sdks/full/rust-cli/src/models/matchmaker_join_port.rs @@ -18,6 +18,7 @@ pub struct MatchmakerJoinPort { pub host: Option, #[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. diff --git a/sdks/full/rust/docs/MatchmakerJoinPort.md b/sdks/full/rust/docs/MatchmakerJoinPort.md index 48dcaeb9f9..d32c534f6b 100644 --- a/sdks/full/rust/docs/MatchmakerJoinPort.md +++ b/sdks/full/rust/docs/MatchmakerJoinPort.md @@ -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] diff --git a/sdks/full/rust/src/models/cloud_version_matchmaker_network_mode.rs b/sdks/full/rust/src/models/cloud_version_matchmaker_network_mode.rs index 5e66386d94..01ac9c3c9e 100644 --- a/sdks/full/rust/src/models/cloud_version_matchmaker_network_mode.rs +++ b/sdks/full/rust/src/models/cloud_version_matchmaker_network_mode.rs @@ -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")] diff --git a/sdks/full/rust/src/models/cloud_version_matchmaker_port_protocol.rs b/sdks/full/rust/src/models/cloud_version_matchmaker_port_protocol.rs index 8f73590d65..6d539cb495 100644 --- a/sdks/full/rust/src/models/cloud_version_matchmaker_port_protocol.rs +++ b/sdks/full/rust/src/models/cloud_version_matchmaker_port_protocol.rs @@ -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")] diff --git a/sdks/full/rust/src/models/cloud_version_matchmaker_port_range.rs b/sdks/full/rust/src/models/cloud_version_matchmaker_port_range.rs index dca913903f..0dc6966322 100644 --- a/sdks/full/rust/src/models/cloud_version_matchmaker_port_range.rs +++ b/sdks/full/rust/src/models/cloud_version_matchmaker_port_range.rs @@ -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. @@ -23,7 +23,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, diff --git a/sdks/full/rust/src/models/cloud_version_matchmaker_proxy_kind.rs b/sdks/full/rust/src/models/cloud_version_matchmaker_proxy_kind.rs index 351946b5d3..d4c2f20eac 100644 --- a/sdks/full/rust/src/models/cloud_version_matchmaker_proxy_kind.rs +++ b/sdks/full/rust/src/models/cloud_version_matchmaker_proxy_kind.rs @@ -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)] pub enum CloudVersionMatchmakerProxyKind { #[serde(rename = "none")] diff --git a/sdks/full/rust/src/models/matchmaker_join_port.rs b/sdks/full/rust/src/models/matchmaker_join_port.rs index 900b3980e7..86e07f170a 100644 --- a/sdks/full/rust/src/models/matchmaker_join_port.rs +++ b/sdks/full/rust/src/models/matchmaker_join_port.rs @@ -18,6 +18,7 @@ pub struct MatchmakerJoinPort { pub host: Option, #[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. diff --git a/sdks/full/typescript/archive.tgz b/sdks/full/typescript/archive.tgz index 251eace015..f259e6543f 100644 --- a/sdks/full/typescript/archive.tgz +++ b/sdks/full/typescript/archive.tgz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7394b064705ff31dd4c30ad27b3905584f76fe37dee313c93435266db3b2cf3a -size 622530 +oid sha256:7af7ef55fa7de4e210995e5285ec9b0bda5cac7b36a4aa66ea89f93963ee223e +size 620901 diff --git a/sdks/runtime/go/matchmaker/types.go b/sdks/runtime/go/matchmaker/types.go index 3fac4ac025..b172126aeb 100644 --- a/sdks/runtime/go/matchmaker/types.go +++ b/sdks/runtime/go/matchmaker/types.go @@ -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 } diff --git a/sdks/runtime/openapi/openapi.yml b/sdks/runtime/openapi/openapi.yml index d8f7f4c257..b81c9b33c5 100644 --- a/sdks/runtime/openapi/openapi.yml +++ b/sdks/runtime/openapi/openapi.yml @@ -1654,11 +1654,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 diff --git a/sdks/runtime/openapi_compat/openapi.yml b/sdks/runtime/openapi_compat/openapi.yml index e4c8bc3aa2..b3c953aa49 100644 --- a/sdks/runtime/openapi_compat/openapi.yml +++ b/sdks/runtime/openapi_compat/openapi.yml @@ -307,6 +307,8 @@ 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 @@ -314,8 +316,6 @@ components: 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 diff --git a/sdks/runtime/rust/docs/MatchmakerJoinPort.md b/sdks/runtime/rust/docs/MatchmakerJoinPort.md index 48dcaeb9f9..d32c534f6b 100644 --- a/sdks/runtime/rust/docs/MatchmakerJoinPort.md +++ b/sdks/runtime/rust/docs/MatchmakerJoinPort.md @@ -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] diff --git a/sdks/runtime/rust/src/models/matchmaker_join_port.rs b/sdks/runtime/rust/src/models/matchmaker_join_port.rs index 900b3980e7..86e07f170a 100644 --- a/sdks/runtime/rust/src/models/matchmaker_join_port.rs +++ b/sdks/runtime/rust/src/models/matchmaker_join_port.rs @@ -18,6 +18,7 @@ pub struct MatchmakerJoinPort { pub host: Option, #[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. diff --git a/sdks/runtime/typescript/archive.tgz b/sdks/runtime/typescript/archive.tgz index 64f6ebab0d..19dd5aed7f 100644 --- a/sdks/runtime/typescript/archive.tgz +++ b/sdks/runtime/typescript/archive.tgz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b03e19e121aff42245b7dfbb8443259ce59788a4a8d6fdbab54b04c5517ffaea -size 371799 +oid sha256:c6a6ebe3724f08a24f0338753a426262cff0af22c5ce0035a2dbc097d9ec40f8 +size 371621