Skip to content

Commit 55f5cda

Browse files
committed
Update to OM 1.0.0
1 parent f510818 commit 55f5cda

File tree

5 files changed

+45
-27
lines changed

5 files changed

+45
-27
lines changed

src/OpenMatch/OpenMatch.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<TargetFramework>netstandard2.1</TargetFramework>
55
<PackageId>OpenMatch.Api</PackageId>
66
<Title>OpenMatch Api</Title>
7-
<Version>0.10.0</Version>
7+
<Version>1.0.0</Version>
88
<PackageDescription>C# API for OpenMatch</PackageDescription>
99
<Authors>FrozenStorm Interactive</Authors>
1010
<PackageLicenseFile>License</PackageLicenseFile>
@@ -26,9 +26,9 @@
2626
</ItemGroup>
2727

2828
<ItemGroup>
29-
<PackageReference Include="Grpc.Net.Client" Version="2.27.0" />
30-
<PackageReference Include="Google.Protobuf" Version="3.11.4" />
31-
<PackageReference Include="Grpc.Tools" Version="2.27.0" />
29+
<PackageReference Include="Grpc.Net.Client" Version="2.29.0" />
30+
<PackageReference Include="Google.Protobuf" Version="3.12.3" />
31+
<PackageReference Include="Grpc.Tools" Version="2.29.0" />
3232
</ItemGroup>
3333

3434
</Project>

src/OpenMatch/proto/api/backend.proto

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,10 @@ message ReleaseTicketsRequest{
8888

8989
message ReleaseTicketsResponse {}
9090

91+
message ReleaseAllTicketsRequest{}
92+
93+
message ReleaseAllTicketsResponse {}
94+
9195
// AssignmentGroup contains an Assignment and the Tickets to which it should be applied.
9296
message AssignmentGroup{
9397
// TicketIds is a list of strings representing Open Match generated Ids which apply to an Assignment.
@@ -120,9 +124,11 @@ message AssignTicketsResponse {
120124

121125
// The BackendService implements APIs to generate matches and handle ticket assignments.
122126
service BackendService {
123-
// FetchMatches triggers a MatchFunction with the specified MatchProfile and returns a set of match proposals that
124-
// match the description of that MatchProfile.
125-
// FetchMatches immediately returns an error if it encounters any execution failures.
127+
// FetchMatches triggers a MatchFunction with the specified MatchProfile and
128+
// returns a set of matches generated by the Match Making Function, and
129+
// accepted by the evaluator.
130+
// Tickets in matches returned by FetchMatches are moved from active to
131+
// pending, and will not be returned by query.
126132
rpc FetchMatches(FetchMatchesRequest) returns (stream FetchMatchesResponse) {
127133
option (google.api.http) = {
128134
post: "/v1/backendservice/matches:fetch"
@@ -138,9 +144,8 @@ service BackendService {
138144
};
139145
}
140146

141-
// ReleaseTickets removes the submitted tickets from the list that prevents tickets
142-
// that are awaiting assignment from appearing in MMF queries, effectively putting them back into
143-
// the matchmaking pool
147+
// ReleaseTickets moves tickets from the pending state, to the active state.
148+
// This enables them to be returned by query, and find different matches.
144149
//
145150
// BETA FEATURE WARNING: This call and the associated Request and Response
146151
// messages are not finalized and still subject to possible change or removal.
@@ -150,4 +155,17 @@ service BackendService {
150155
body: "*"
151156
};
152157
}
158+
159+
// ReleaseAllTickets moves all tickets from the pending state, to the active
160+
// state. This enables them to be returned by query, and find different
161+
// matches.
162+
//
163+
// BETA FEATURE WARNING: This call and the associated Request and Response
164+
// messages are not finalized and still subject to possible change or removal.
165+
rpc ReleaseAllTickets(ReleaseAllTicketsRequest) returns (ReleaseAllTicketsResponse) {
166+
option (google.api.http) = {
167+
post: "/v1/backendservice/tickets:releaseall"
168+
body: "*"
169+
};
170+
}
153171
}

src/OpenMatch/proto/api/frontend.proto

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,9 +95,7 @@ service FrontendService {
9595
}
9696

9797
// DeleteTicket immediately stops Open Match from using the Ticket for matchmaking and removes the Ticket from state storage.
98-
// The client must delete the Ticket when finished matchmaking with it.
99-
// - If SearchFields exist in a Ticket, DeleteTicket will deindex the fields lazily.
100-
// Users may still be able to assign/get a ticket after calling DeleteTicket on it.
98+
// The client should delete the Ticket when finished matchmaking with it.
10199
rpc DeleteTicket(DeleteTicketRequest) returns (google.protobuf.Empty) {
102100
option (google.api.http) = {
103101
delete: "/v1/frontendservice/tickets/{ticket_id}"

src/OpenMatch/proto/api/messages.proto

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,18 @@ import "google/rpc/status.proto";
2121
import "google/protobuf/any.proto";
2222
import "google/protobuf/timestamp.proto";
2323

24-
// A Ticket is a basic matchmaking entity in Open Match. A Ticket represents either an
25-
// individual 'Player' or a 'Group' of players. Open Match will not interpret
26-
// what the Ticket represents but just treat it as a matchmaking unit with a set
27-
// of SearchFields. Open Match stores the Ticket in state storage and enables an
28-
// Assignment to be associated with this Ticket.
24+
// A Ticket is a basic matchmaking entity in Open Match. A Ticket may represent
25+
// an individual 'Player', a 'Group' of players, or any other concepts unique to
26+
// your use case. Open Match will not interpret what the Ticket represents but
27+
// just treat it as a matchmaking unit with a set of SearchFields. Open Match
28+
// stores the Ticket in state storage and enables an Assignment to be set on the
29+
// Ticket.
2930
message Ticket {
3031
// Id represents an auto-generated Id issued by Open Match.
3132
string id = 1;
3233

33-
// An Assignment represents a game server assignment associated with a Ticket.
34+
// An Assignment represents a game server assignment associated with a Ticket,
35+
// or whatever finalized matched state means for your use case.
3436
// Open Match does not require or inspect any fields on Assignment.
3537
Assignment assignment = 3;
3638

@@ -43,8 +45,8 @@ message Ticket {
4345
// Optional, depending on the requirements of the connected systems.
4446
map<string, google.protobuf.Any> extensions = 5;
4547

46-
// Create time represents the time at which this Ticket was created. It is
47-
// populated by Open Match at the time of Ticket creation.
48+
// Create time is the time the Ticket was created. It is populated by Open
49+
// Match at the time of Ticket creation.
4850
google.protobuf.Timestamp create_time = 6;
4951

5052
// Deprecated fields.
@@ -64,8 +66,8 @@ message SearchFields {
6466
repeated string tags = 3;
6567
}
6668

67-
// An Assignment represents a game server assignment associated with a Ticket. Open
68-
// match does not require or inspect any fields on assignment.
69+
// An Assignment represents a game server assignment associated with a Ticket.
70+
// Open Match does not require or inspect any fields on assignment.
6971
message Assignment {
7072
// Connection information for this Assignment.
7173
string connection = 1;

src/OpenMatch/proto/api/query.proto

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ message QueryTicketIdsResponse {
7979
service QueryService {
8080
// QueryTickets gets a list of Tickets that match all Filters of the input Pool.
8181
// - If the Pool contains no Filters, QueryTickets will return all Tickets in the state storage.
82-
// QueryTickets pages the Tickets by `storage.pool.size` and stream back responses.
83-
// - storage.pool.size is default to 1000 if not set, and has a mininum of 10 and maximum of 10000.
82+
// QueryTickets pages the Tickets by `queryPageSize` and stream back responses.
83+
// - queryPageSize is default to 1000 if not set, and has a mininum of 10 and maximum of 10000.
8484
rpc QueryTickets(QueryTicketsRequest) returns (stream QueryTicketsResponse) {
8585
option (google.api.http) = {
8686
post: "/v1/queryservice/tickets:query"
@@ -90,8 +90,8 @@ service QueryService {
9090

9191
// QueryTicketIds gets the list of TicketIDs that meet all the filtering criteria requested by the pool.
9292
// - If the Pool contains no Filters, QueryTicketIds will return all TicketIDs in the state storage.
93-
// QueryTicketIds pages the TicketIDs by `storage.pool.size` and stream back responses.
94-
// - storage.pool.size is default to 1000 if not set, and has a mininum of 10 and maximum of 10000.
93+
// QueryTicketIds pages the TicketIDs by `queryPageSize` and stream back responses.
94+
// - queryPageSize is default to 1000 if not set, and has a mininum of 10 and maximum of 10000.
9595
rpc QueryTicketIds(QueryTicketIdsRequest) returns (stream QueryTicketIdsResponse) {
9696
option (google.api.http) = {
9797
post: "/v1/queryservice/ticketids:query"

0 commit comments

Comments
 (0)