mirror of
https://github.com/googleforgames/open-match.git
synced 2025-03-28 17:56:35 +00:00
Compare commits
2 Commits
release-1.
...
release-0.
Author | SHA1 | Date | |
---|---|---|---|
4f521b41db | |||
3c6183241e |
Makefilecloudbuild.yaml
examples/scale
install/helm/open-match
Chart.yaml
charts
open-match-customize-0.0.0-dev.tgzopen-match-demo-0.0.0-dev.tgzopen-match-telemetry-0.0.0-dev.tgzopen-match-test-0.0.0-dev.tgz
subcharts
open-match-customize
open-match-demo
open-match-scale
open-match-telemetry
open-match-test
templates
values.yamlinternal/statestore
third_party/swaggerui
4
Makefile
4
Makefile
@ -52,7 +52,7 @@
|
|||||||
# If you want information on how to edit this file checkout,
|
# If you want information on how to edit this file checkout,
|
||||||
# http://makefiletutorial.com/
|
# http://makefiletutorial.com/
|
||||||
|
|
||||||
BASE_VERSION = 0.0.0-dev
|
BASE_VERSION = 0.7.0
|
||||||
SHORT_SHA = $(shell git rev-parse --short=7 HEAD | tr -d [:punct:])
|
SHORT_SHA = $(shell git rev-parse --short=7 HEAD | tr -d [:punct:])
|
||||||
BRANCH_NAME = $(shell git rev-parse --abbrev-ref HEAD | tr -d [:punct:])
|
BRANCH_NAME = $(shell git rev-parse --abbrev-ref HEAD | tr -d [:punct:])
|
||||||
VERSION = $(BASE_VERSION)-$(SHORT_SHA)
|
VERSION = $(BASE_VERSION)-$(SHORT_SHA)
|
||||||
@ -884,7 +884,7 @@ ci-reap-namespaces: build/toolchain/bin/reaper$(EXE_EXTENSION)
|
|||||||
presubmit: GOLANG_TEST_COUNT = 5
|
presubmit: GOLANG_TEST_COUNT = 5
|
||||||
presubmit: clean update-deps third_party/ assets lint build install-toolchain test md-test terraform-test
|
presubmit: clean update-deps third_party/ assets lint build install-toolchain test md-test terraform-test
|
||||||
|
|
||||||
build/release/: presubmit clean-install-yaml install/yaml/
|
build/release/: clean-install-yaml update-chart-deps install/yaml/
|
||||||
mkdir -p $(BUILD_DIR)/release/
|
mkdir -p $(BUILD_DIR)/release/
|
||||||
cp $(REPOSITORY_ROOT)/install/yaml/* $(BUILD_DIR)/release/
|
cp $(REPOSITORY_ROOT)/install/yaml/* $(BUILD_DIR)/release/
|
||||||
|
|
||||||
|
@ -163,7 +163,7 @@ artifacts:
|
|||||||
- install/yaml/05-jaeger-chart.yaml
|
- install/yaml/05-jaeger-chart.yaml
|
||||||
|
|
||||||
substitutions:
|
substitutions:
|
||||||
_OM_VERSION: "0.0.0-dev"
|
_OM_VERSION: "0.7.0"
|
||||||
_GCB_POST_SUBMIT: "0"
|
_GCB_POST_SUBMIT: "0"
|
||||||
_GCB_LATEST_VERSION: "undefined"
|
_GCB_LATEST_VERSION: "undefined"
|
||||||
logsBucket: 'gs://open-match-build-logs/'
|
logsBucket: 'gs://open-match-build-logs/'
|
||||||
|
@ -22,25 +22,25 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// multifilterProfiles generates a multiple profiles, each containing a single Pool
|
// multifilterProfiles generates a multiple profiles, each containing a single Pool
|
||||||
// that specifies multiple filters to pick a partitioned player population. Note
|
// that specifies multiple filters to pick a partitioned player population. Note
|
||||||
// that across all the profiles returned, the entire population is covered and given
|
// that across all the profiles returned, the entire population is covered and given
|
||||||
// the overlapping nature of filters, multiple profiles returned by this method may
|
// the overlapping nature of filters, multiple profiles returned by this method may
|
||||||
// match to the same set of players.
|
// match to the same set of players.
|
||||||
func multifilterProfiles(cfg config.View) []*pb.MatchProfile {
|
func multifilterProfiles(cfg config.View) []*pb.MatchProfile {
|
||||||
regions := cfg.GetStringSlice("testConfig.regions")
|
regions := cfg.GetStringSlice("testConfig.regions")
|
||||||
ratingFilters := makeRangeFilters(&rangeConfig{
|
ratingFilters := makeRangeFilters(&rangeConfig{
|
||||||
name: "Rating",
|
name: "Rating",
|
||||||
min: cfg.GetInt("testConfig.minRating"),
|
min: cfg.GetInt("testConfig.minRating"),
|
||||||
max: cfg.GetInt("testConfig.maxRating"),
|
max: cfg.GetInt("testConfig.maxRating"),
|
||||||
rangeSize: cfg.GetInt("testConfig.multifilter.rangeSize"),
|
rangeSize: cfg.GetInt("testConfig.multifilter.rangeSize"),
|
||||||
rangeOverlap: cfg.GetInt("testConfig.multifilter.rangeOverlap"),
|
rangeOverlap: cfg.GetInt("testConfig.multifilter.rangeOverlap"),
|
||||||
})
|
})
|
||||||
|
|
||||||
latencyFilters := makeRangeFilters(&rangeConfig{
|
latencyFilters := makeRangeFilters(&rangeConfig{
|
||||||
name: "Latency",
|
name: "Latency",
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 100,
|
max: 100,
|
||||||
rangeSize: 70,
|
rangeSize: 70,
|
||||||
rangeOverlap: 0,
|
rangeOverlap: 0,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -29,18 +29,18 @@ func multipoolProfiles(cfg config.View) []*pb.MatchProfile {
|
|||||||
characters := cfg.GetStringSlice("testConfig.characters")
|
characters := cfg.GetStringSlice("testConfig.characters")
|
||||||
regions := cfg.GetStringSlice("testConfig.regions")
|
regions := cfg.GetStringSlice("testConfig.regions")
|
||||||
ratingFilters := makeRangeFilters(&rangeConfig{
|
ratingFilters := makeRangeFilters(&rangeConfig{
|
||||||
name: "Rating",
|
name: "Rating",
|
||||||
min: cfg.GetInt("testConfig.minRating"),
|
min: cfg.GetInt("testConfig.minRating"),
|
||||||
max: cfg.GetInt("testConfig.maxRating"),
|
max: cfg.GetInt("testConfig.maxRating"),
|
||||||
rangeSize: cfg.GetInt("testConfig.multipool.rangeSize"),
|
rangeSize: cfg.GetInt("testConfig.multipool.rangeSize"),
|
||||||
rangeOverlap: cfg.GetInt("testConfig.multipool.rangeOverlap"),
|
rangeOverlap: cfg.GetInt("testConfig.multipool.rangeOverlap"),
|
||||||
})
|
})
|
||||||
|
|
||||||
latencyFilters := makeRangeFilters(&rangeConfig{
|
latencyFilters := makeRangeFilters(&rangeConfig{
|
||||||
name: "Latency",
|
name: "Latency",
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 100,
|
max: 100,
|
||||||
rangeSize: 70,
|
rangeSize: 70,
|
||||||
rangeOverlap: 0,
|
rangeOverlap: 0,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ type rangeConfig struct {
|
|||||||
rangeOverlap int
|
rangeOverlap int
|
||||||
}
|
}
|
||||||
|
|
||||||
// makeRosterSlots generates a roster with the specified name and with the
|
// makeRosterSlots generates a roster with the specified name and with the
|
||||||
// specified number of empty roster slots.
|
// specified number of empty roster slots.
|
||||||
func makeRosterSlots(name string, count int) *pb.Roster {
|
func makeRosterSlots(name string, count int) *pb.Roster {
|
||||||
roster := &pb.Roster{
|
roster := &pb.Roster{
|
||||||
@ -48,13 +48,13 @@ func makeRosterSlots(name string, count int) *pb.Roster {
|
|||||||
return roster
|
return roster
|
||||||
}
|
}
|
||||||
|
|
||||||
// makeRangeFilters generates multiple filters over a given range based on
|
// makeRangeFilters generates multiple filters over a given range based on
|
||||||
// the size of the range and the overlap specified for the filters.
|
// the size of the range and the overlap specified for the filters.
|
||||||
func makeRangeFilters(config *rangeConfig) []*rangeFilter {
|
func makeRangeFilters(config *rangeConfig) []*rangeFilter {
|
||||||
var filters []*rangeFilter
|
var filters []*rangeFilter
|
||||||
r := config.min
|
r := config.min
|
||||||
for r <= config.max {
|
for r <= config.max {
|
||||||
max := r+config.rangeSize
|
max := r + config.rangeSize
|
||||||
if max > config.max {
|
if max > config.max {
|
||||||
r = config.max
|
r = config.max
|
||||||
}
|
}
|
||||||
@ -64,9 +64,9 @@ func makeRangeFilters(config *rangeConfig) []*rangeFilter {
|
|||||||
min: r,
|
min: r,
|
||||||
max: max,
|
max: max,
|
||||||
})
|
})
|
||||||
|
|
||||||
r = r + 1 + (config.rangeSize - config.rangeOverlap)
|
r = r + 1 + (config.rangeSize - config.rangeOverlap)
|
||||||
}
|
}
|
||||||
|
|
||||||
return filters
|
return filters
|
||||||
}
|
}
|
||||||
|
@ -36,12 +36,12 @@ var (
|
|||||||
func Ticket(cfg config.View) *pb.Ticket {
|
func Ticket(cfg config.View) *pb.Ticket {
|
||||||
characters := cfg.GetStringSlice("testConfig.characters")
|
characters := cfg.GetStringSlice("testConfig.characters")
|
||||||
regions := cfg.GetStringSlice("testConfig.regions")
|
regions := cfg.GetStringSlice("testConfig.regions")
|
||||||
min:= cfg.GetFloat64("testConfig.minRating")
|
min := cfg.GetFloat64("testConfig.minRating")
|
||||||
max:= cfg.GetFloat64("testConfig.maxRating")
|
max := cfg.GetFloat64("testConfig.maxRating")
|
||||||
latencyMap := latency(regions)
|
latencyMap := latency(regions)
|
||||||
ticket := &pb.Ticket{
|
ticket := &pb.Ticket{
|
||||||
Properties: structs.Struct{
|
Properties: structs.Struct{
|
||||||
"mmr.rating": structs.Number(normalDist(40, min, max, 20)),
|
"mmr.rating": structs.Number(normalDist(40, min, max, 20)),
|
||||||
// TODO: Use string attribute value for the character attribute.
|
// TODO: Use string attribute value for the character attribute.
|
||||||
characters[rand.Intn(len(characters))]: structs.Number(float64(time.Now().Unix())),
|
characters[rand.Intn(len(characters))]: structs.Number(float64(time.Now().Unix())),
|
||||||
}.S(),
|
}.S(),
|
||||||
@ -53,7 +53,8 @@ func Ticket(cfg config.View) *pb.Ticket {
|
|||||||
|
|
||||||
return ticket
|
return ticket
|
||||||
}
|
}
|
||||||
// latency generates a latency mapping of each region to a latency value. It picks
|
|
||||||
|
// latency generates a latency mapping of each region to a latency value. It picks
|
||||||
// one region with latency between 0ms to 100ms and sets latencies to all other regions
|
// one region with latency between 0ms to 100ms and sets latencies to all other regions
|
||||||
// to a value between 100ms to 300ms.
|
// to a value between 100ms to 300ms.
|
||||||
func latency(regions []string) map[string]float64 {
|
func latency(regions []string) map[string]float64 {
|
||||||
|
@ -13,8 +13,8 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
appVersion: "0.0.0-dev"
|
appVersion: "0.7.0"
|
||||||
version: 0.0.0-dev
|
version: 0.7.0
|
||||||
name: open-match
|
name: open-match
|
||||||
description: Flexible, extensible, and scalable video game matchmaking.
|
description: Flexible, extensible, and scalable video game matchmaking.
|
||||||
keywords:
|
keywords:
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -26,7 +26,7 @@ evaluator:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
registry: gcr.io/open-match-public-images
|
registry: gcr.io/open-match-public-images
|
||||||
tag: 0.0.0-dev
|
tag: 0.7.0
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
|
|
||||||
configs:
|
configs:
|
||||||
|
@ -25,7 +25,7 @@ demo:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
registry: gcr.io/open-match-public-images
|
registry: gcr.io/open-match-public-images
|
||||||
tag: 0.0.0-dev
|
tag: 0.7.0
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
|
|
||||||
# TODO: Split tls configs into a separate config file. For now Open Match assumes core components share the same secure mode
|
# TODO: Split tls configs into a separate config file. For now Open Match assumes core components share the same secure mode
|
||||||
|
@ -26,7 +26,7 @@ scaleBackend:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
registry: gcr.io/open-match-public-images
|
registry: gcr.io/open-match-public-images
|
||||||
tag: 0.0.0-dev
|
tag: 0.7.0
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
|
|
||||||
configs:
|
configs:
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
registry: gcr.io/open-match-public-images
|
registry: gcr.io/open-match-public-images
|
||||||
tag: 0.0.0-dev
|
tag: 0.7.0
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
|
|
||||||
# https://github.com/helm/charts/tree/master/stable/prometheus
|
# https://github.com/helm/charts/tree/master/stable/prometheus
|
||||||
|
@ -36,5 +36,5 @@ kubernetes:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
registry: gcr.io/open-match-public-images
|
registry: gcr.io/open-match-public-images
|
||||||
tag: 0.0.0-dev
|
tag: 0.7.0
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
|
@ -74,7 +74,7 @@ data:
|
|||||||
httpport: "{{ .Values.evaluator.httpPort }}"
|
httpport: "{{ .Values.evaluator.httpPort }}"
|
||||||
|
|
||||||
synchronizer:
|
synchronizer:
|
||||||
enabled: false
|
enabled: true
|
||||||
registrationIntervalMs: 3000ms
|
registrationIntervalMs: 3000ms
|
||||||
proposalCollectionIntervalMs: 2000ms
|
proposalCollectionIntervalMs: 2000ms
|
||||||
|
|
||||||
|
@ -91,7 +91,7 @@ function: &function
|
|||||||
# Specifies a unified image registry, image tag, and imagePullPolicy for all components defined above.
|
# Specifies a unified image registry, image tag, and imagePullPolicy for all components defined above.
|
||||||
image:
|
image:
|
||||||
registry: gcr.io/open-match-public-images
|
registry: gcr.io/open-match-public-images
|
||||||
tag: 0.0.0-dev
|
tag: 0.7.0
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
|
|
||||||
# Specifies the supported customizable indices per Match
|
# Specifies the supported customizable indices per Match
|
||||||
|
@ -120,7 +120,7 @@ func TestExtractIndexFilters(t *testing.T) {
|
|||||||
description: "range",
|
description: "range",
|
||||||
pool: &pb.Pool{
|
pool: &pb.Pool{
|
||||||
FloatRangeFilters: []*pb.FloatRangeFilter{
|
FloatRangeFilters: []*pb.FloatRangeFilter{
|
||||||
&pb.FloatRangeFilter{
|
{
|
||||||
Attribute: "foo",
|
Attribute: "foo",
|
||||||
Min: -1,
|
Min: -1,
|
||||||
Max: 1,
|
Max: 1,
|
||||||
@ -139,7 +139,7 @@ func TestExtractIndexFilters(t *testing.T) {
|
|||||||
description: "bool false",
|
description: "bool false",
|
||||||
pool: &pb.Pool{
|
pool: &pb.Pool{
|
||||||
BoolEqualsFilters: []*pb.BoolEqualsFilter{
|
BoolEqualsFilters: []*pb.BoolEqualsFilter{
|
||||||
&pb.BoolEqualsFilter{
|
{
|
||||||
Attribute: "foo",
|
Attribute: "foo",
|
||||||
Value: false,
|
Value: false,
|
||||||
},
|
},
|
||||||
@ -157,7 +157,7 @@ func TestExtractIndexFilters(t *testing.T) {
|
|||||||
description: "bool true",
|
description: "bool true",
|
||||||
pool: &pb.Pool{
|
pool: &pb.Pool{
|
||||||
BoolEqualsFilters: []*pb.BoolEqualsFilter{
|
BoolEqualsFilters: []*pb.BoolEqualsFilter{
|
||||||
&pb.BoolEqualsFilter{
|
{
|
||||||
Attribute: "foo",
|
Attribute: "foo",
|
||||||
Value: true,
|
Value: true,
|
||||||
},
|
},
|
||||||
@ -175,7 +175,7 @@ func TestExtractIndexFilters(t *testing.T) {
|
|||||||
description: "string equals",
|
description: "string equals",
|
||||||
pool: &pb.Pool{
|
pool: &pb.Pool{
|
||||||
StringEqualsFilters: []*pb.StringEqualsFilter{
|
StringEqualsFilters: []*pb.StringEqualsFilter{
|
||||||
&pb.StringEqualsFilter{
|
{
|
||||||
Attribute: "foo",
|
Attribute: "foo",
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
},
|
},
|
||||||
|
12
third_party/swaggerui/config.json
vendored
12
third_party/swaggerui/config.json
vendored
@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
"urls": [
|
"urls": [
|
||||||
{"name": "Frontend", "url": "https://open-match.dev/api/v0.0.0-dev/frontend.swagger.json"},
|
{"name": "Frontend", "url": "https://open-match.dev/api/v0.7.0/frontend.swagger.json"},
|
||||||
{"name": "Backend", "url": "https://open-match.dev/api/v0.0.0-dev/backend.swagger.json"},
|
{"name": "Backend", "url": "https://open-match.dev/api/v0.7.0/backend.swagger.json"},
|
||||||
{"name": "Mmlogic", "url": "https://open-match.dev/api/v0.0.0-dev/mmlogic.swagger.json"},
|
{"name": "Mmlogic", "url": "https://open-match.dev/api/v0.7.0/mmlogic.swagger.json"},
|
||||||
{"name": "MatchFunction", "url": "https://open-match.dev/api/v0.0.0-dev/matchfunction.swagger.json"},
|
{"name": "MatchFunction", "url": "https://open-match.dev/api/v0.7.0/matchfunction.swagger.json"},
|
||||||
{"name": "Synchronizer", "url": "https://open-match.dev/api/v0.0.0-dev/synchronizer.swagger.json"},
|
{"name": "Synchronizer", "url": "https://open-match.dev/api/v0.7.0/synchronizer.swagger.json"},
|
||||||
{"name": "Evaluator", "url": "https://open-match.dev/api/v0.0.0-dev/evaluator.swagger.json"}
|
{"name": "Evaluator", "url": "https://open-match.dev/api/v0.7.0/evaluator.swagger.json"}
|
||||||
]
|
]
|
||||||
}
|
}
|
Reference in New Issue
Block a user