open-match2

command module
v0.0.0-...-bc43ca2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 30, 2024 License: Apache-2.0 Imports: 54 Imported by: 0

README

Open Match

Open Match is an open source game matchmaking framework that simplifies building a scalable and extensible Matchmaker. It is designed to give the game developer full control over how to make matches while removing the burden of dealing with the challenges of running a production service at scale.

This repository is the public preview of the proposed second version of the "Core" Open Match golang application. The repository also contains protobuffer definition files (in /proto), and external-facing golang modules generated from those files (in /pkg). The subdirectories themselves contain further documentation, but at a high level:

  • main.go (also called om-core in places where it may not be obvious that it is part of Open Match) is the core Open Match 2 application. It serves all the Open Match 2 API endpoints from a single horizontally-scalable container image.
  • proto contains Protocol Buffer definitions used to produce libraries in your language of choice. Open Match 2 is written in golang but you can write your matchmaker in any language supported by gRPC.
  • pkg contains two external golang modules:
    • pkg/pb contains the compiled golang modules produced by protoc.
    • pkg/api contains the grpc-gateway reverse-proxy server which translates RESTful HTTP API calls into gRPC.

Documentation will be added to the project over time.

Contributing to Open Match

  • We aim to keep this application scope as small as possible.
  • Please don't send a PR without creating a discussion/issue about it first.
  • If proposed change does not have a clear benefit to the majority of users, it will probably not be accepted.

The Development guide contains instructions on getting the source code, making changes, testing and submitting a pull request to Open Match.

Support

Code of Conduct

Participation in this project comes under the Contributor Covenant Code of Conduct

License

Apache 2.0

Documentation

Overview

Copyright 2024 Google LLC

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Tries to use the guidelines at https://cloud.google.com/apis/design for the gRPC API where possible.

TODO: permissive deadlines for all RPC calls

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Tries to use the guidelines at https://cloud.google.com/apis/design for the gRPC API where possible.

Directories

Path Synopsis
internal
config
Package config contains convenience functions for reading and managing viper configs used by Open Match.
Package config contains convenience functions for reading and managing viper configs used by Open Match.
filter/testcases
Package testcases contains lists of ticket filtering test cases.
Package testcases contains lists of ticket filtering test cases.
logging
Package logging configures the Logrus logging library.
Package logging configures the Logrus logging library.
pkg
api
Package pb is a reverse proxy.
Package pb is a reverse proxy.
pb

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL