rivalry

module
v0.0.0-...-cf826ce Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2023 License: Apache-2.0

README

Protocol Documentation

Table of Contents

Top

api/v1/messages.proto

GameServer
Field Type Label Description
game_server_ip string game_server_ip is the IP address of the allocated GameServer, or empty if none is allocated
game_server_ports GameServerPort repeated game_server_ports maps labels to ports on the allocated GameServer

GameServerPort
Field Type Label Description
name string name of the port
port int32 port number

MatchRequestData
Field Type Label Description
doubles MatchRequestData.DoublesEntry repeated
strings MatchRequestData.StringsEntry repeated
tags string repeated
extra_data bytes

MatchRequestData.DoublesEntry
Field Type Label Description
key string
value double

MatchRequestData.StringsEntry
Field Type Label Description
key string
value string

RTT
Field Type Label Description
host string
milliseconds int64

Top

api/v1/external.proto

MatchRequest
Field Type Label Description
id string a UUID generated by the client
player_id string the ID of this player
party_data PartyData matchmaking data specific to the party
match_request_data MatchRequestData matchmaking data specific to this player
matchmaking_queue string A queue is a collection of tickets to be matched together, it controls how tickets are matched
rtts RTT repeated A list of latency data for game server instances

MatchResponse
Field Type Label Description
game_server GameServer

PartyData
Field Type Label Description
party_members string repeated a list of player ids that are in a party with this player

RivalryService
Method Name Request Type Response Type Description
Match MatchRequest MatchResponse stream route into matchmaking

Top

api/v1/match_logic.proto

MakeAssignmentRequest
Field Type Label Description
match Match

MakeAssignmentResponse
Field Type Label Description
game_server GameServer

MakeMatchesRequest
Field Type Label Description
submissions Submission repeated

MakeMatchesResponse
Field Type Label Description
match Match

Match
Field Type Label Description
match_id string A UUID that should be passed through the stack for tracing.
matchmaking_queue string Name of the matchmaking queue this match was created on.
match_request_ids string repeated Match Request IDs that belong to this match.
player_ids string repeated list of player ids linked to this request
rtts RTT repeated A list of average latency data for game server instances

Submission
Field Type Label Description
id string a UUID generated by the client
members string repeated list of player ids linked to this request
match_request_data MatchRequestData matchmaking data specific to this player / group
matchmaking_queue string A queue is a collection of tickets to be matched together, it controls how tickets are matched
rtts RTT repeated A list of latency data for game server instances
create_time int64 record the time the ticket was created in the db

AssignmentService
Method Name Request Type Response Type Description
MakeAssignment MakeAssignmentRequest MakeAssignmentResponse

MatchMakerService
Method Name Request Type Response Type Description
MakeMatches MakeMatchesRequest MakeMatchesResponse stream MakeMatches takes a MatchProfile and a map of pool names to ticket slices, and creates a slice of Match's from that information

Top

db/v1/documents.proto

GameServer
Field Type Label Description
game_server_ip string game_server_ip is the IP address of the allocated GameServer, or empty if none is allocated
game_server_ports GameServerPort repeated game_server_ports maps labels to ports on the allocated GameServer

GameServerPort
Field Type Label Description
name string name of the port
port int32 port number

MatchRequest
Field Type Label Description
id string a UUID generated by the client
members string repeated list of player ids linked to this request
match_request_data MatchRequestData matchmaking data specific to this player / group
matchmaking_queue string A queue is a collection of tickets to be matched together, it controls how tickets are matched
rtts RTT repeated A list of latency data for game server instances
create_time int64 record the time the ticket was created in the db
game_server GameServer the result of matchmaking

MatchRequestData
Field Type Label Description
doubles MatchRequestData.DoublesEntry repeated
strings MatchRequestData.StringsEntry repeated
tags string repeated
extra_data bytes

MatchRequestData.DoublesEntry
Field Type Label Description
key string
value double

MatchRequestData.StringsEntry
Field Type Label Description
key string
value string

RTT
Field Type Label Description
host string
milliseconds int64

Top

stream/v1/internal.proto

AccumulatedStreamTicket
Field Type Label Description
StreamTickets StreamTicket repeated

StreamTicket
Field Type Label Description
matchmaking_queue string which matchmaking queue the match requests belong to
match_request_id string the unique id of the match request
number_of_players int32 the number of players the match request represents

Scalar Value Types

.proto Type Notes C++ Java Python Go C# PHP Ruby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)

Directories

Path Synopsis
cmd
operator Module
examples
internal
db/kv/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
db/pubsub/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
db/stream/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
dlm
dlm/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
managers/customlogic/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
managers/matches/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
managers/tickets/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
pkg
pb/api/v1/mock
Package mock_pb is a generated GoMock package.
Package mock_pb is a generated GoMock package.
xk6
xk6-frontend Module

Jump to

Keyboard shortcuts

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