Skip to content
Closed
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
10 changes: 8 additions & 2 deletions sdks/full/go/cloud/version/matchmaker/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,11 @@ func (p PortProtocol) Ptr() *PortProtocol {
return &p
}

// Range of ports that can be connected to. Note that the port range values returned by /find
// 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.
//
// ### Related
//
Expand Down Expand Up @@ -246,7 +250,9 @@ func (p *PortRange) String() string {
return fmt.Sprintf("%#v", p)
}

// Denotes what type of proxying to use for ports. Rivet GameGuard adds DoS and DDoS mitigation to incoming connections.
// 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.
//
// ### Related - /docs/dynamic-servers/concepts/game-guard - cloud.version.matchmaker.PortProtocol
type ProxyKind string
Expand Down
25 changes: 21 additions & 4 deletions sdks/full/openapi/openapi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11015,8 +11015,17 @@ components:
CloudVersionMatchmakerPortRange:
type: object
description: >-
Range of ports that can be connected to. Note that the port range values
returned by /find
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.


### Related
Expand Down Expand Up @@ -11070,8 +11079,16 @@ components:
- none
- game_guard
description: >-
Denotes what type of proxying to use for ports. Rivet GameGuard adds DoS
and DDoS mitigation to incoming connections.
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.


### Related - /docs/dynamic-servers/concepts/game-guard -
Expand Down
22 changes: 18 additions & 4 deletions sdks/full/openapi_compat/openapi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2416,8 +2416,16 @@ components:
- udp
type: string
CloudVersionMatchmakerPortRange:
description: 'Range of ports that can be connected to. Note that the port range
values returned by /find
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.


### Related
Expand All @@ -2438,8 +2446,14 @@ components:
- max
type: object
CloudVersionMatchmakerProxyKind:
description: 'Denotes what type of proxying to use for ports. Rivet GameGuard
adds DoS and DDoS mitigation to incoming connections.
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.


### Related - /docs/dynamic-servers/concepts/game-guard - cloud.version.matchmaker.PortProtocol'
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. Note that the port range values returned by /find ### Related - cloud.version.matchmaker.PortProtocol - cloud.version.matchmaker.ProxyKind
/// 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. ### Related - cloud.version.matchmaker.PortProtocol - cloud.version.matchmaker.ProxyKind



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

impl CloudVersionMatchmakerPortRange {
/// 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
/// 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. ### Related - cloud.version.matchmaker.PortProtocol - cloud.version.matchmaker.ProxyKind
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,9 +8,9 @@
* Generated by: https://openapi-generator.tech
*/

/// CloudVersionMatchmakerProxyKind : Denotes what type of proxying to use for ports. Rivet GameGuard adds DoS and DDoS mitigation to incoming connections. ### Related - /docs/dynamic-servers/concepts/game-guard - cloud.version.matchmaker.PortProtocol
/// 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. ### Related - /docs/dynamic-servers/concepts/game-guard - cloud.version.matchmaker.PortProtocol

/// Denotes what type of proxying to use for ports. Rivet GameGuard adds DoS and DDoS mitigation to incoming connections. ### Related - /docs/dynamic-servers/concepts/game-guard - cloud.version.matchmaker.PortProtocol
/// 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. ### Related - /docs/dynamic-servers/concepts/game-guard - cloud.version.matchmaker.PortProtocol
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub enum CloudVersionMatchmakerProxyKind {
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. Note that the port range values returned by /find ### Related - cloud.version.matchmaker.PortProtocol - cloud.version.matchmaker.ProxyKind
/// 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. ### Related - cloud.version.matchmaker.PortProtocol - cloud.version.matchmaker.ProxyKind



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

impl CloudVersionMatchmakerPortRange {
/// 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
/// 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. ### Related - cloud.version.matchmaker.PortProtocol - cloud.version.matchmaker.ProxyKind
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,9 +8,9 @@
* Generated by: https://openapi-generator.tech
*/

/// CloudVersionMatchmakerProxyKind : Denotes what type of proxying to use for ports. Rivet GameGuard adds DoS and DDoS mitigation to incoming connections. ### Related - /docs/dynamic-servers/concepts/game-guard - cloud.version.matchmaker.PortProtocol
/// 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. ### Related - /docs/dynamic-servers/concepts/game-guard - cloud.version.matchmaker.PortProtocol

/// Denotes what type of proxying to use for ports. Rivet GameGuard adds DoS and DDoS mitigation to incoming connections. ### Related - /docs/dynamic-servers/concepts/game-guard - cloud.version.matchmaker.PortProtocol
/// 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. ### Related - /docs/dynamic-servers/concepts/game-guard - cloud.version.matchmaker.PortProtocol
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum CloudVersionMatchmakerProxyKind {
#[serde(rename = "none")]
Expand Down
4 changes: 2 additions & 2 deletions sdks/full/typescript/archive.tgz
Git LFS file not shown
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ export class Cluster {
method: "GET",
headers: {
Authorization: await this._getAuthorizationHeader(),
"X-Fern-Language": "JavaScript",
},
contentType: "application/json",
queryParameters: _queryParams,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ export class Servers {
method: "GET",
headers: {
Authorization: await this._getAuthorizationHeader(),
"X-Fern-Language": "JavaScript",
},
contentType: "application/json",
timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 180000,
Expand Down
42 changes: 42 additions & 0 deletions sdks/runtime/go/matchmaker/lobbies/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ func NewClient(opts ...core.ClientOption) *Client {
}

// Marks the current lobby as ready to accept connections. Players will not be able to connect to this lobby until the lobby is flagged as ready.
// This endpoint requires a [lobby token](/docs/general/concepts/token-types#matchmaker-lobby) for authentication, or a [development namespace token](/docs/general/concepts/token-types#namespace-development) for mock responses. When running on Rivet servers, you can access the given lobby token from the [`RIVET_TOKEN`](/docs/matchmaker/concepts/lobby-env) environment variable.
func (c *Client) Ready(ctx context.Context) error {
baseURL := "https://api.rivet.gg"
if c.baseURL != "" {
Expand Down Expand Up @@ -115,6 +116,11 @@ func (c *Client) Ready(ctx context.Context) error {
// join using the /join endpoint (this can be disabled by the developer by rejecting all new connections
// after setting the lobby to closed).
// Does not shutdown the lobby.
//
// This endpoint requires a [lobby token](/docs/general/concepts/token-types#matchmaker-lobby) for
// authentication, or a [development namespace token](/docs/general/concepts/token-types#namespace-development)
// for mock responses. When running on Rivet servers, you can access the given lobby token from the
// [`RIVET_TOKEN`](/docs/matchmaker/concepts/lobby-env) environment variable.
func (c *Client) SetClosed(ctx context.Context, request *matchmaker.SetLobbyClosedRequest) error {
baseURL := "https://api.rivet.gg"
if c.baseURL != "" {
Expand Down Expand Up @@ -191,6 +197,12 @@ func (c *Client) SetClosed(ctx context.Context, request *matchmaker.SetLobbyClos
return nil
}

// Sets the state JSON of the current lobby.
//
// This endpoint requires a [lobby token](/docs/general/concepts/token-types#matchmaker-lobby) for
// authentication, or a [development namespace token](/docs/general/concepts/token-types#namespace-development)
// for mock responses. When running on Rivet servers, you can access the given lobby token from the
// [`RIVET_TOKEN`](/docs/matchmaker/concepts/lobby-env) environment variable.
func (c *Client) SetState(ctx context.Context, request interface{}) error {
baseURL := "https://api.rivet.gg"
if c.baseURL != "" {
Expand Down Expand Up @@ -267,6 +279,12 @@ func (c *Client) SetState(ctx context.Context, request interface{}) error {
return nil
}

// Get the state of any lobby.
//
// This endpoint requires a [lobby token](/docs/general/concepts/token-types#matchmaker-lobby) for
// authentication, or a [development namespace token](/docs/general/concepts/token-types#namespace-development)
// for mock responses. When running on Rivet servers, you can access the given lobby token from the
// [`RIVET_TOKEN`](/docs/matchmaker/concepts/lobby-env) environment variable.
func (c *Client) GetState(ctx context.Context, lobbyId uuid.UUID) (interface{}, error) {
baseURL := "https://api.rivet.gg"
if c.baseURL != "" {
Expand Down Expand Up @@ -348,6 +366,12 @@ func (c *Client) GetState(ctx context.Context, lobbyId uuid.UUID) (interface{},
// Finds a lobby based on the given criteria.
// If a lobby is not found and `prevent_auto_create_lobby` is `false`,
// a new lobby will be created.
//
// When [tokenless authentication](/docs/general/concepts/tokenless-authentication/web) is enabled in
// your game namespace, this endpoint does not require a token to authenticate. Otherwise, a
// [development namespace token](/docs/general/concepts/token-types#namespace-development) can be used
// for mock responses and a [public namespace token](/docs/general/concepts/token-types#namespace-public)
// can be used for general authentication.
func (c *Client) Find(ctx context.Context, request *matchmaker.FindLobbyRequest) (*matchmaker.FindLobbyResponse, error) {
baseURL := "https://api.rivet.gg"
if c.baseURL != "" {
Expand Down Expand Up @@ -434,6 +458,12 @@ func (c *Client) Find(ctx context.Context, request *matchmaker.FindLobbyRequest)
// Joins a specific lobby.
// This request will use the direct player count configured for the
// lobby group.
//
// When [tokenless authentication](/docs/general/concepts/tokenless-authentication/web) is enabled in
// your game namespace, this endpoint does not require a token to authenticate. Otherwise, a
// [development namespace token](/docs/general/concepts/token-types#namespace-development) can be used
// for mock responses and a [public namespace token](/docs/general/concepts/token-types#namespace-public)
// can be used for general authentication.
func (c *Client) Join(ctx context.Context, request *matchmaker.JoinLobbyRequest) (*matchmaker.JoinLobbyResponse, error) {
baseURL := "https://api.rivet.gg"
if c.baseURL != "" {
Expand Down Expand Up @@ -513,6 +543,12 @@ func (c *Client) Join(ctx context.Context, request *matchmaker.JoinLobbyRequest)
}

// Creates a custom lobby.
//
// When [tokenless authentication](/docs/general/concepts/tokenless-authentication/web) is enabled in
// your game namespace, this endpoint does not require a token to authenticate. Otherwise, a
// [development namespace token](/docs/general/concepts/token-types#namespace-development) can be used
// for mock responses and a [public namespace token](/docs/general/concepts/token-types#namespace-public)
// can be used for general authentication.
func (c *Client) Create(ctx context.Context, request *matchmaker.CreateLobbyRequest) (*matchmaker.CreateLobbyResponse, error) {
baseURL := "https://api.rivet.gg"
if c.baseURL != "" {
Expand Down Expand Up @@ -592,6 +628,12 @@ func (c *Client) Create(ctx context.Context, request *matchmaker.CreateLobbyRequ
}

// Lists all open lobbies.
//
// When [tokenless authentication](/docs/general/concepts/tokenless-authentication/web) is enabled in
// your game namespace, this endpoint does not require a token to authenticate. Otherwise, a
// [development namespace token](/docs/general/concepts/token-types#namespace-development) can be used
// for mock responses and a [public namespace token](/docs/general/concepts/token-types#namespace-public)
// can be used for general authentication.
func (c *Client) List(ctx context.Context, request *matchmaker.ListLobbiesRequest) (*matchmaker.ListLobbiesResponse, error) {
baseURL := "https://api.rivet.gg"
if c.baseURL != "" {
Expand Down
6 changes: 3 additions & 3 deletions sdks/runtime/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
Loading