diff --git a/Makefile b/Makefile index 2a705042..076ed27d 100644 --- a/Makefile +++ b/Makefile @@ -24,7 +24,7 @@ # If you want information on how to edit this file checkout, # http://makefiletutorial.com/ -BASE_VERSION = 1.0.0 +BASE_VERSION = 1.1.0 SHORT_SHA = $(shell git rev-parse --short=7 HEAD | tr -d [:punct:]) VERSION_SUFFIX = $(SHORT_SHA) BRANCH_NAME = $(shell git rev-parse --abbrev-ref HEAD | tr -d [:punct:]) @@ -204,6 +204,7 @@ node_modules/: build/toolchain/nodejs/ -rm -r $(REPOSITORY_ROOT)/package.json $(REPOSITORY_ROOT)/package-lock.json -rm -rf $(REPOSITORY_ROOT)/node_modules/ echo "{}" > $(REPOSITORY_ROOT)/package.json + $(NODEJS_BIN)/npm install postcss-scss $(NODEJS_BIN)/npm install postcss-cli autoprefixer $(TOOLCHAIN_DIR)/nodejs/bin/npm install postcss-cli autoprefixer diff --git a/cloudbuild.yaml b/cloudbuild.yaml index efdac8c4..6f0f1694 100644 --- a/cloudbuild.yaml +++ b/cloudbuild.yaml @@ -113,7 +113,7 @@ steps: path: '/go' substitutions: - _OM_VERSION: "1.0.0" + _OM_VERSION: "1.1.0" _GCB_POST_SUBMIT: "0" _GCB_LATEST_VERSION: "undefined" logsBucket: 'gs://open-match-site-build-logs/' diff --git a/site/config.toml b/site/config.toml index c94d90ea..29c6d998 100644 --- a/site/config.toml +++ b/site/config.toml @@ -74,7 +74,7 @@ github_docs_repo = "https://github.com/googleforgames/open-match-docs" gcs_engine_id = "008748710159674449076:sqoelpnrdoe" release_branch = "master" -release_version = "1.0.0" +release_version = "1.1.0" slack_link = "https://join.slack.com/t/open-match/shared_invite/enQtNDM1NjcxNTY4MTgzLTM5ZWQxNjc1YWI3MzJmN2RiMWJmYWI0ZjFiNzNkZmNkMWQ3YWU5OGVkNzA5Yzc4OGVkOGU5MTc0OTA5ZTA5NDU" # User interface configuration diff --git a/site/content/en/docs/Guides/Production/_index.md b/site/content/en/docs/Guides/Production/_index.md index e828c408..f9e27b3a 100644 --- a/site/content/en/docs/Guides/Production/_index.md +++ b/site/content/en/docs/Guides/Production/_index.md @@ -90,5 +90,5 @@ Open Match project provides a recommended helm config file for production setups helm install my-release -n open-match open-match/open-match -f values-production.yaml ``` -## Use Enovy or other load balancing solution if you plan to connect to Open Match via an out-of-cluster client -The above load balancing solution is sufficient if you have both the client and the server deployment within the same cluster. However, some game architectures may requires connecting to Open Match services from an out-of-cluster client. We recommend [Envoy](https://www.envoyproxy.io/) as a solution. Alternatives like Kubernetes Ingress or platform specific L7 Load Balancer can also work. \ No newline at end of file +## Use Envoy or other load balancing solution if you plan to connect to Open Match via an out-of-cluster client +The above load balancing solution is sufficient if you have both the client and the server deployment within the same cluster. However, some game architectures may require connecting to Open Match services from an out-of-cluster client. We recommend [Envoy](https://www.envoyproxy.io/) as a solution. Alternatives like Kubernetes Ingress or platform specific L7 Load Balancer can also work. \ No newline at end of file diff --git a/site/content/en/docs/Installation/helm.md b/site/content/en/docs/Installation/helm.md index 77845fac..7d11d823 100644 --- a/site/content/en/docs/Installation/helm.md +++ b/site/content/en/docs/Installation/helm.md @@ -80,42 +80,46 @@ The following tables lists the configurable parameters of the Open Match chart a | Parameter | Description | Default | | --------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ---------------------- | -| `query.portType` | Defines Kubernetes [ServiceTypes](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) for the QueryService | `ClusterIP` | -| `query.replicas` | Defines the number of pod replicas for QueryService's Kubernetes deployment | `3` | -| `frontend.portType` | Defines Kubernetes [ServiceTypes](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) for the FrontendService | `ClusterIP` | | -| `frontend.replicas` | Defines the number of pod replicas for FrontendService's Kubernetes deployment | `3` | -| `backend.portType` | Defines Kubernetes [ServiceTypes](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) for the BackendService | `ClusterIP` | | -| `backend.replicas` | Defines the number of pod replicas for BackendService's Kubernetes deployment | `3` | -| `image.pullPolicy` | Global `imagePullPolicy` for all Open Match service deployments | `Always` | -| `image.tag` | Global Docker image tag for all Open Match service deployments | `{{< param release_version >}}` | -| `open-match-core.enabled` | Turn on/off the installation of Open Match core services | `true` | -| `open-match-override.enabled` | Turn on/off the installation of `om-override-configmap` | `false` | -| `open-match-telemetry.enabled` | Turn on/off the installation of Open Match telemetry services | `false` | -| `open-match-scale.enabled` | Turn on/off the installation of Open Match scale testing setups | `false` | -| `global.kubernetes.serviceAccount` | Service account name for the Open Match core services | `open-match-unprivileged-service` | -| `global.kubernetes.service.portType` | Overrides the ServiceTypes for all Open Match core services | `` | -| `global.gcpProjectId` | Overrides the default gcp project id for use with stackdriver | `replace_with_your_project_id` | -| `global.tls.enabled` | Turn on/off TLS encryption for all Open Match traffics | `false` | -| `global.tls.server.mountPath` | The VolumeMount path for TLS server | `/app/secrets/tls/server` | -| `global.tls.rootca.mountPath` | The VolumeMount path for TLS CA | `/app/secrets/tls/rootca` | -| `global.logging.rpc.enabled` | Turn on/off RPC payload logging for all Open Match core services | `false` | -| `global.telemetry.zpages.enabled` | Turn on/off Open Match zPages instrument. | `true` | -| `global.telemetry.jaeger.enabled` | Turn on/off Open Match Jaeger exporter. Also install Jaeger if `open-match-telemetry.enabled` is set to true | `false` | -| `global.telemetry.jaeger.samplerFraction` | Configure a sampler that samples a given fraction of traces | `1` | -| `global.telemetry.jaeger.agentEndpoint` | AgentEndpoint instructs exporter to send spans to jaeger-agent at this address | `open-match-jaeger-agent:6831` | -| `global.telemetry.jaeger.collectorEndpoint` | CollectorEndpoint is the full url to the Jaeger HTTP Thrift collector | `open-match-jaeger-collector:14268/api/traces` | -| `global.telemetry.prometheus.enabled` | Turn on/off Open Match Prometheus exporter. Also install Prometheus if `open-match-telemetry.enabled` is set to true | `false` | -| `global.telemetry.prometheus.endpoint` | Bind the Prometheus exporters to the specified endpoint handler, also configures the `prometheus.io/path` k8s scraping annotations | `/metrics` | -| `global.telemetry.prometheus.serviceDiscovery` | If Prometheus is enabled and `serviceDiscover: true`, add the Prometheus scraping annotations to each Pod of the Open Match core services | `true` | -| `global.telemetry.stackdriverMetrics.enabled` | Turn on/off Open Match Stackdriver Metrics exporter. | `false` | -| `global.telemetry.stackdriverMetrics.prefix` | MetricPrefix overrides the prefix of a Stackdriver metric display names to help you better identifies your metrics | `open_match` | -| `global.telemetry.grafana.enabled` | Turn on/off Open Match Grafana exporter. Also install Grafana if `open-match-telemetry.enabled` is set to true | `false` | -| `global.telemetry.reportingPeriod` | Overrides the reporting periods of Open Match telemetry exporters | `1m` | -| `open-match-telemetry.grafana` | Inherits the values from [Grafana helm chart](https://github.com/helm/charts/tree/master/stable/grafana) | | -| `open-match-telemetry.jaeger` | Inherits the values from [Jaeger helm chart](https://github.com/helm/charts/tree/master/incubator/jaeger) | | -| `open-match-telemetry.prometheus` | Inherits the values from [Prometheus helm chart](https://github.com/helm/charts/tree/master/stable/prometheus) | | -| `redis` | Inherits the values from [Redis helm chart](https://github.com/helm/charts/tree/master/stable/redis) | | - +| `query.portType` | Defines Kubernetes [ServiceTypes](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) for the QueryService | `ClusterIP` | +| `query.replicas` | Defines the number of pod replicas for QueryService's Kubernetes deployment | `3` | +| `frontend.portType` | Defines Kubernetes [ServiceTypes](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) for the FrontendService | `ClusterIP` | +| `frontend.replicas` | Defines the number of pod replicas for FrontendService's Kubernetes deployment | `3` | +| `backend.portType` | Defines Kubernetes [ServiceTypes](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) for the BackendService | `ClusterIP` | +| `backend.replicas` | Defines the number of pod replicas for BackendService's Kubernetes deployment | `3` | +| `image.pullPolicy` | Global `imagePullPolicy` for all Open Match service deployments | `Always` | +| `image.tag` | Global Docker image tag for all Open Match service deployments | `{{< param release_version >}}` | +| `open-match-core.enabled` | Turn on/off the installation of Open Match core services | `true` | +| `open-match-core.registrationInterval` | Duration of registration window for evaluation/synchronization cycle. | `250ms` | +| `open-match-core.proposalCollectionInterval` | Length of time after match function has started before it will be canceled. | `20s` | +| `open-match-core.pendingReleaseTimeout` | Defines the time before a ticket returns to the pool after it was fetched. | `1m` | +| `open-match-core.assignedDeleteTimeout` | Time after a ticket has been assigned before it is automatically deleted. | `10m` | +| `open-match-core.queryPageSize` | Maximum number of tickets to return on a single QueryTicketsResponse. | `10000` | +| `open-match-override.enabled` | Turn on/off the installation of `om-override-configmap` | `false` | +| `open-match-telemetry.enabled` | Turn on/off the installation of Open Match telemetry services | `false` | +| `open-match-scale.enabled` | Turn on/off the installation of Open Match scale testing setups | `false` | +| `global.kubernetes.serviceAccount` | Service account name for the Open Match core services | `open-match-unprivileged-service` | +| `global.kubernetes.service.portType` | Overrides the ServiceTypes for all Open Match core services | `` | +| `global.gcpProjectId` | Overrides the default gcp project id for use with stackdriver | `replace_with_your_project_id` | +| `global.tls.enabled` | Turn on/off TLS encryption for all Open Match traffics | `false` | +| `global.tls.server.mountPath` | The VolumeMount path for TLS server | `/app/secrets/tls/server` | +| `global.tls.rootca.mountPath` | The VolumeMount path for TLS CA | `/app/secrets/tls/rootca` | +| `global.logging.rpc.enabled` | Turn on/off RPC payload logging for all Open Match core services | `false` | +| `global.telemetry.zpages.enabled` | Turn on/off Open Match zPages instrument. | `true` | +| `global.telemetry.jaeger.enabled` | Turn on/off Open Match Jaeger exporter. Also install Jaeger if `open-match-telemetry.enabled` is set to true | `false` | +| `global.telemetry.jaeger.samplerFraction` | Configure a sampler that samples a given fraction of traces | `1` | +| `global.telemetry.jaeger.agentEndpoint` | AgentEndpoint instructs exporter to send spans to jaeger-agent at this address | `open-match-jaeger-agent:6831` | +| `global.telemetry.jaeger.collectorEndpoint` | CollectorEndpoint is the full url to the Jaeger HTTP Thrift collector | `open-match-jaeger-collector:14268/api/traces` | +| `global.telemetry.prometheus.enabled` | Turn on/off Open Match Prometheus exporter. Also install Prometheus if `open-match-telemetry.enabled` is set to true | `false` | +| `global.telemetry.prometheus.endpoint` | Bind the Prometheus exporters to the specified endpoint handler, also configures the `prometheus.io/path` k8s scraping annotations | `/metrics` | +| `global.telemetry.prometheus.serviceDiscovery` | If Prometheus is enabled and `serviceDiscover: true`, add the Prometheus scraping annotations to each Pod of the Open Match core services | `true` | +| `global.telemetry.stackdriverMetrics.enabled` | Turn on/off Open Match Stackdriver Metrics exporter. | `false` | +| `global.telemetry.stackdriverMetrics.prefix` | MetricPrefix overrides the prefix of a Stackdriver metric display names to help you better identifies your metrics | `open_match` | +| `global.telemetry.grafana.enabled` | Turn on/off Open Match Grafana exporter. Also install Grafana if `open-match-telemetry.enabled` is set to true | `false` | +| `global.telemetry.reportingPeriod` | Overrides the reporting periods of Open Match telemetry exporters | `1m` | +| `open-match-telemetry.grafana` | Inherits the values from [Grafana helm chart](https://github.com/helm/charts/tree/master/stable/grafana) | | +| `open-match-telemetry.jaeger` | Inherits the values from [Jaeger helm chart](https://github.com/helm/charts/tree/master/incubator/jaeger) | | +| `open-match-telemetry.prometheus` | Inherits the values from [Prometheus helm chart](https://github.com/helm/charts/tree/master/stable/prometheus) | | +| `redis` | Inherits the values from [Redis helm chart](https://github.com/helm/charts/tree/master/stable/redis) | | ## What's Next Follow the [Getting Started]({{< ref "/docs/Getting Started" >}}) guide to see Open Match in action. diff --git a/site/content/en/docs/Reference/api.md b/site/content/en/docs/Reference/api.md index 7c25c1fd..7b858429 100644 --- a/site/content/en/docs/Reference/api.md +++ b/site/content/en/docs/Reference/api.md @@ -4,8 +4,7 @@ linkTitle: "Open Match API References" weight: 2 description: This document provides API references for Open Match services. ---- - +--- # Protocol Documentation @@ -39,9 +38,14 @@ description: - [DefaultEvaluationCriteria](#openmatch.DefaultEvaluationCriteria) - [api/frontend.proto](#api/frontend.proto) + - [AcknowledgeBackfillRequest](#openmatch.AcknowledgeBackfillRequest) + - [CreateBackfillRequest](#openmatch.CreateBackfillRequest) - [CreateTicketRequest](#openmatch.CreateTicketRequest) + - [DeleteBackfillRequest](#openmatch.DeleteBackfillRequest) - [DeleteTicketRequest](#openmatch.DeleteTicketRequest) + - [GetBackfillRequest](#openmatch.GetBackfillRequest) - [GetTicketRequest](#openmatch.GetTicketRequest) + - [UpdateBackfillRequest](#openmatch.UpdateBackfillRequest) - [WatchAssignmentsRequest](#openmatch.WatchAssignmentsRequest) - [WatchAssignmentsResponse](#openmatch.WatchAssignmentsResponse) @@ -56,6 +60,8 @@ description: - [api/messages.proto](#api/messages.proto) - [Assignment](#openmatch.Assignment) - [Assignment.ExtensionsEntry](#openmatch.Assignment.ExtensionsEntry) + - [Backfill](#openmatch.Backfill) + - [Backfill.ExtensionsEntry](#openmatch.Backfill.ExtensionsEntry) - [DoubleRangeFilter](#openmatch.DoubleRangeFilter) - [Match](#openmatch.Match) - [Match.ExtensionsEntry](#openmatch.Match.ExtensionsEntry) @@ -70,7 +76,11 @@ description: - [Ticket](#openmatch.Ticket) - [Ticket.ExtensionsEntry](#openmatch.Ticket.ExtensionsEntry) + - [DoubleRangeFilter.Exclude](#openmatch.DoubleRangeFilter.Exclude) + - [api/query.proto](#api/query.proto) + - [QueryBackfillsRequest](#openmatch.QueryBackfillsRequest) + - [QueryBackfillsResponse](#openmatch.QueryBackfillsResponse) - [QueryTicketIdsRequest](#openmatch.QueryTicketIdsRequest) - [QueryTicketIdsResponse](#openmatch.QueryTicketIdsResponse) - [QueryTicketsRequest](#openmatch.QueryTicketsRequest) @@ -283,12 +293,8 @@ The BackendService implements APIs to generate matches and handle ticket assignm | ----------- | ------------ | ------------- | ------------| | FetchMatches | [FetchMatchesRequest](#openmatch.FetchMatchesRequest) | [FetchMatchesResponse](#openmatch.FetchMatchesResponse) stream | FetchMatches triggers a MatchFunction with the specified MatchProfile and returns a set of matches generated by the Match Making Function, and accepted by the evaluator. Tickets in matches returned by FetchMatches are moved from active to pending, and will not be returned by query. | | AssignTickets | [AssignTicketsRequest](#openmatch.AssignTicketsRequest) | [AssignTicketsResponse](#openmatch.AssignTicketsResponse) | AssignTickets overwrites the Assignment field of the input TicketIds. | -| ReleaseTickets | [ReleaseTicketsRequest](#openmatch.ReleaseTicketsRequest) | [ReleaseTicketsResponse](#openmatch.ReleaseTicketsResponse) | ReleaseTickets moves tickets from the pending state, to the active state. This enables them to be returned by query, and find different matches. - -BETA FEATURE WARNING: This call and the associated Request and Response messages are not finalized and still subject to possible change or removal. | -| ReleaseAllTickets | [ReleaseAllTicketsRequest](#openmatch.ReleaseAllTicketsRequest) | [ReleaseAllTicketsResponse](#openmatch.ReleaseAllTicketsResponse) | ReleaseAllTickets moves all tickets from the pending state, to the active state. This enables them to be returned by query, and find different matches. - -BETA FEATURE WARNING: This call and the associated Request and Response messages are not finalized and still subject to possible change or removal. | +| ReleaseTickets | [ReleaseTicketsRequest](#openmatch.ReleaseTicketsRequest) | [ReleaseTicketsResponse](#openmatch.ReleaseTicketsResponse) | ReleaseTickets moves tickets from the pending state, to the active state. This enables them to be returned by query, and find different matches. BETA FEATURE WARNING: This call and the associated Request and Response messages are not finalized and still subject to possible change or removal. | +| ReleaseAllTickets | [ReleaseAllTicketsRequest](#openmatch.ReleaseAllTicketsRequest) | [ReleaseAllTicketsResponse](#openmatch.ReleaseAllTicketsResponse) | ReleaseAllTickets moves all tickets from the pending state, to the active state. This enables them to be returned by query, and find different matches. BETA FEATURE WARNING: This call and the associated Request and Response messages are not finalized and still subject to possible change or removal. | @@ -389,6 +395,39 @@ the default evaluator. + + +### AcknowledgeBackfillRequest +BETA FEATURE WARNING: This Request message is not finalized and still subject +to possible change or removal. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| backfill_id | [string](#string) | | An existing ID of Backfill to acknowledge. | +| assignment | [Assignment](#openmatch.Assignment) | | An updated Assignment of the requested Backfill. | + + + + + + + + +### CreateBackfillRequest +BETA FEATURE WARNING: This Request message is not finalized and still subject +to possible change or removal. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| backfill | [Backfill](#openmatch.Backfill) | | An empty Backfill object. | + + + + + + ### CreateTicketRequest @@ -404,6 +443,22 @@ the default evaluator. + + +### DeleteBackfillRequest +BETA FEATURE WARNING: This Request message is not finalized and still subject +to possible change or removal. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| backfill_id | [string](#string) | | An existing ID of Backfill to delete. | + + + + + + ### DeleteTicketRequest @@ -419,6 +474,22 @@ the default evaluator. + + +### GetBackfillRequest +BETA FEATURE WARNING: This Request message is not finalized and still subject +to possible change or removal. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| backfill_id | [string](#string) | | An existing ID of Backfill to retrieve. | + + + + + + ### GetTicketRequest @@ -434,6 +505,24 @@ the default evaluator. + + +### UpdateBackfillRequest +UpdateBackfillRequest - update searchFields, extensions and set assignment. + +BETA FEATURE WARNING: This Request message is not finalized and still subject +to possible change or removal. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| backfill | [Backfill](#openmatch.Backfill) | | A Backfill object with ID set and fields to update. | + + + + + + ### WatchAssignmentsRequest @@ -481,6 +570,11 @@ The FrontendService implements APIs to manage and query status of a Tickets. | DeleteTicket | [DeleteTicketRequest](#openmatch.DeleteTicketRequest) | [.google.protobuf.Empty](#google.protobuf.Empty) | DeleteTicket immediately stops Open Match from using the Ticket for matchmaking and removes the Ticket from state storage. The client should delete the Ticket when finished matchmaking with it. | | GetTicket | [GetTicketRequest](#openmatch.GetTicketRequest) | [Ticket](#openmatch.Ticket) | GetTicket get the Ticket associated with the specified TicketId. | | WatchAssignments | [WatchAssignmentsRequest](#openmatch.WatchAssignmentsRequest) | [WatchAssignmentsResponse](#openmatch.WatchAssignmentsResponse) stream | WatchAssignments stream back Assignment of the specified TicketId if it is updated. - If the Assignment is not updated, GetAssignment will retry using the configured backoff strategy. | +| AcknowledgeBackfill | [AcknowledgeBackfillRequest](#openmatch.AcknowledgeBackfillRequest) | [Backfill](#openmatch.Backfill) | AcknowledgeBackfill is used to notify OpenMatch about GameServer connection info This triggers an assignment process. BETA FEATURE WARNING: This call and the associated Request and Response messages are not finalized and still subject to possible change or removal. | +| CreateBackfill | [CreateBackfillRequest](#openmatch.CreateBackfillRequest) | [Backfill](#openmatch.Backfill) | CreateBackfill creates a new Backfill object. BETA FEATURE WARNING: This call and the associated Request and Response messages are not finalized and still subject to possible change or removal. | +| DeleteBackfill | [DeleteBackfillRequest](#openmatch.DeleteBackfillRequest) | [.google.protobuf.Empty](#google.protobuf.Empty) | DeleteBackfill receives a backfill ID and deletes its resource. Any tickets waiting for this backfill will be returned to the active pool, no longer pending. BETA FEATURE WARNING: This call and the associated Request and Response messages are not finalized and still subject to possible change or removal. | +| GetBackfill | [GetBackfillRequest](#openmatch.GetBackfillRequest) | [Backfill](#openmatch.Backfill) | GetBackfill returns a backfill object by its ID. BETA FEATURE WARNING: This call and the associated Request and Response messages are not finalized and still subject to possible change or removal. | +| UpdateBackfill | [UpdateBackfillRequest](#openmatch.UpdateBackfillRequest) | [Backfill](#openmatch.Backfill) | UpdateBackfill updates search_fields and extensions for the backfill with the provided id. Any tickets waiting for this backfill will be returned to the active pool, no longer pending. BETA FEATURE WARNING: This call and the associated Request and Response messages are not finalized and still subject to possible change or removal. | @@ -536,7 +630,7 @@ The MatchFunction service implements APIs to run user-defined matchmaking logics | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| -| Run | [RunRequest](#openmatch.RunRequest) | [RunResponse](#openmatch.RunResponse) stream | DO NOT CALL THIS FUNCTION MANUALLY. USE backend.FetchMatches INSTEAD. Run pulls Tickets that satisify Profile constraints from QueryService, runs matchmaking logics against them, then constructs and streams back match candidates to the Backend service. | +| Run | [RunRequest](#openmatch.RunRequest) | [RunResponse](#openmatch.RunResponse) stream | DO NOT CALL THIS FUNCTION MANUALLY. USE backend.FetchMatches INSTEAD. Run pulls Tickets that satisfy Profile constraints from QueryService, runs matchmaking logic against them, then constructs and streams back match candidates to the Backend service. | @@ -582,6 +676,44 @@ Open Match does not require or inspect any fields on assignment. + + +### Backfill +Represents a backfill entity which is used to fill partially full matches. + +BETA FEATURE WARNING: This call and the associated Request and Response +messages are not finalized and still subject to possible change or removal. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [string](#string) | | Id represents an auto-generated Id issued by Open Match. | +| search_fields | [SearchFields](#openmatch.SearchFields) | | Search fields are the fields which Open Match is aware of, and can be used when specifying filters. | +| extensions | [Backfill.ExtensionsEntry](#openmatch.Backfill.ExtensionsEntry) | repeated | Customized information not inspected by Open Match, to be used by the Match Function, evaluator, and components making calls to Open Match. Optional, depending on the requirements of the connected systems. | +| create_time | [google.protobuf.Timestamp](#google.protobuf.Timestamp) | | Create time is the time the Ticket was created. It is populated by Open Match at the time of Ticket creation. | +| generation | [int64](#int64) | | Generation gets incremented on GameServers update operations. Prevents the MMF from overriding a newer version from the game server. Do NOT read or write to this field, it is for internal tracking, and changing the value will cause bugs. | + + + + + + + + +### Backfill.ExtensionsEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [string](#string) | | | +| value | [google.protobuf.Any](#google.protobuf.Any) | | | + + + + + + ### DoubleRangeFilter @@ -605,6 +737,7 @@ does not match: | double_arg | [string](#string) | | Name of the ticket's search_fields.double_args this Filter operates on. | | max | [double](#double) | | Maximum value. | | min | [double](#double) | | Minimum value. | +| exclude | [DoubleRangeFilter.Exclude](#openmatch.DoubleRangeFilter.Exclude) | | Defines the bounds to apply when filtering tickets by their search_fields.double_args value. BETA FEATURE WARNING: This field and the associated values are not finalized and still subject to possible change or removal. | @@ -628,6 +761,8 @@ one ticket to be considered as valid. | match_function | [string](#string) | | Name of the match function that generated this Match. | | tickets | [Ticket](#openmatch.Ticket) | repeated | Tickets belonging to this match. | | extensions | [Match.ExtensionsEntry](#openmatch.Match.ExtensionsEntry) | repeated | Customized information not inspected by Open Match, to be used by the match making function, evaluator, and components making calls to Open Match. Optional, depending on the requirements of the connected systems. | +| backfill | [Backfill](#openmatch.Backfill) | | Backfill request which contains additional information to the match and contains an association to a GameServer. BETA FEATURE WARNING: This field is not finalized and still subject to possible change or removal. | +| allocate_gameserver | [bool](#bool) | | AllocateGameServer signalise Director that Backfill is new and it should allocate a GameServer, this Backfill would be assigned. BETA FEATURE WARNING: This field is not finalized and still subject to possible change or removal. | @@ -845,6 +980,20 @@ Ticket. + + + +### DoubleRangeFilter.Exclude + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| NONE | 0 | No bounds should be excluded when evaluating the filter, i.e.: MIN <= x <= MAX | +| MIN | 1 | Only the minimum bound should be excluded when evaluating the filter, i.e.: MIN < x <= MAX | +| MAX | 2 | Only the maximum bound should be excluded when evaluating the filter, i.e.: MIN <= x < MAX | +| BOTH | 3 | Both bounds should be excluded when evaluating the filter, i.e.: MIN < x < MAX | + + @@ -860,6 +1009,38 @@ Ticket. + + +### QueryBackfillsRequest +BETA FEATURE WARNING: This Request messages are not finalized and +still subject to possible change or removal. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pool | [Pool](#openmatch.Pool) | | The Pool representing the set of Filters to be queried. | + + + + + + + + +### QueryBackfillsResponse +BETA FEATURE WARNING: This Request messages are not finalized and +still subject to possible change or removal. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| backfills | [Backfill](#openmatch.Backfill) | repeated | Backfills that meet all the filtering criteria requested by the pool. | + + + + + + ### QueryTicketIdsRequest @@ -933,8 +1114,9 @@ The QueryService service implements helper APIs for Match Function to query Tick | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| -| QueryTickets | [QueryTicketsRequest](#openmatch.QueryTicketsRequest) | [QueryTicketsResponse](#openmatch.QueryTicketsResponse) stream | QueryTickets gets a list of Tickets that match all Filters of the input Pool. - If the Pool contains no Filters, QueryTickets will return all Tickets in the state storage. QueryTickets pages the Tickets by `queryPageSize` and stream back responses. - queryPageSize is default to 1000 if not set, and has a mininum of 10 and maximum of 10000. | -| QueryTicketIds | [QueryTicketIdsRequest](#openmatch.QueryTicketIdsRequest) | [QueryTicketIdsResponse](#openmatch.QueryTicketIdsResponse) stream | QueryTicketIds gets the list of TicketIDs that meet all the filtering criteria requested by the pool. - If the Pool contains no Filters, QueryTicketIds will return all TicketIDs in the state storage. QueryTicketIds pages the TicketIDs by `queryPageSize` and stream back responses. - queryPageSize is default to 1000 if not set, and has a mininum of 10 and maximum of 10000. | +| QueryTickets | [QueryTicketsRequest](#openmatch.QueryTicketsRequest) | [QueryTicketsResponse](#openmatch.QueryTicketsResponse) stream | QueryTickets gets a list of Tickets that match all Filters of the input Pool. - If the Pool contains no Filters, QueryTickets will return all Tickets in the state storage. QueryTickets pages the Tickets by `queryPageSize` and stream back responses. - queryPageSize is default to 1000 if not set, and has a minimum of 10 and maximum of 10000. | +| QueryTicketIds | [QueryTicketIdsRequest](#openmatch.QueryTicketIdsRequest) | [QueryTicketIdsResponse](#openmatch.QueryTicketIdsResponse) stream | QueryTicketIds gets the list of TicketIDs that meet all the filtering criteria requested by the pool. - If the Pool contains no Filters, QueryTicketIds will return all TicketIDs in the state storage. QueryTicketIds pages the TicketIDs by `queryPageSize` and stream back responses. - queryPageSize is default to 1000 if not set, and has a minimum of 10 and maximum of 10000. | +| QueryBackfills | [QueryBackfillsRequest](#openmatch.QueryBackfillsRequest) | [QueryBackfillsResponse](#openmatch.QueryBackfillsResponse) stream | QueryBackfills gets a list of Backfills. BETA FEATURE WARNING: This call and the associated Request and Response messages are not finalized and still subject to possible change or removal. | diff --git a/site/htmltest.yaml b/site/htmltest.yaml index 4f63d924..d968e84e 100644 --- a/site/htmltest.yaml +++ b/site/htmltest.yaml @@ -19,5 +19,6 @@ OutputDir: /tmp/open-match-site/ OutputLogFile: htmltest.log IgnoreURLs: - http://localhost + - https://twitter.com/Open_Match IgnoreDirs: - site/docs/reference/api \ No newline at end of file diff --git a/site/static/swaggerui/config.json b/site/static/swaggerui/config.json index 7227c5ad..de4b9d06 100644 --- a/site/static/swaggerui/config.json +++ b/site/static/swaggerui/config.json @@ -1,10 +1,10 @@ { "urls": [ - {"name": "Frontend", "url": "https://open-match.dev/api/v1.0.0/frontend.swagger.json"}, - {"name": "Backend", "url": "https://open-match.dev/api/v1.0.0/backend.swagger.json"}, - {"name": "Query", "url": "https://open-match.dev/api/v1.0.0/query.swagger.json"}, - {"name": "MatchFunction", "url": "https://open-match.dev/api/v1.0.0/matchfunction.swagger.json"}, - {"name": "Synchronizer", "url": "https://open-match.dev/api/v1.0.0/synchronizer.swagger.json"}, - {"name": "Evaluator", "url": "https://open-match.dev/api/v1.0.0/evaluator.swagger.json"} + {"name": "Frontend", "url": "https://open-match.dev/api/v1.1.0/frontend.swagger.json"}, + {"name": "Backend", "url": "https://open-match.dev/api/v1.1.0/backend.swagger.json"}, + {"name": "Query", "url": "https://open-match.dev/api/v1.1.0/query.swagger.json"}, + {"name": "MatchFunction", "url": "https://open-match.dev/api/v1.1.0/matchfunction.swagger.json"}, + {"name": "Synchronizer", "url": "https://open-match.dev/api/v1.1.0/synchronizer.swagger.json"}, + {"name": "Evaluator", "url": "https://open-match.dev/api/v1.1.0/evaluator.swagger.json"} ] } \ No newline at end of file