46 lines
905 B
Protocol Buffer
46 lines
905 B
Protocol Buffer
syntax = "proto3";
|
|
|
|
package grpc.planetwars.client_api;
|
|
|
|
// Provides the planetwars client API, allowing for remote play.
|
|
service ClientApiService {
|
|
rpc CreateMatch(CreateMatchRequest) returns (CreateMatchResponse);
|
|
rpc ConnectPlayer(stream PlayerApiClientMessage) returns (stream PlayerApiServerMessage);
|
|
}
|
|
|
|
message CreateMatchRequest {
|
|
string opponent_name = 1;
|
|
string map_name = 2;
|
|
}
|
|
|
|
message CreateMatchResponse {
|
|
int32 match_id = 1;
|
|
string player_key = 2;
|
|
string match_url = 3;
|
|
}
|
|
|
|
|
|
// Server messages
|
|
message PlayerApiServerMessage {
|
|
oneof server_message {
|
|
PlayerActionRequest action_request = 1;
|
|
}
|
|
}
|
|
|
|
message PlayerActionRequest {
|
|
int32 action_request_id = 1;
|
|
bytes content = 2;
|
|
}
|
|
|
|
|
|
// Player messages
|
|
message PlayerApiClientMessage {
|
|
oneof client_message {
|
|
PlayerAction action = 1;
|
|
}
|
|
}
|
|
|
|
message PlayerAction {
|
|
int32 action_request_id = 1;
|
|
bytes content = 2;
|
|
}
|