aboutsummaryrefslogtreecommitdiff
path: root/proto
diff options
context:
space:
mode:
Diffstat (limited to 'proto')
-rw-r--r--proto/bot_api.proto40
-rw-r--r--proto/client_api.proto45
2 files changed, 45 insertions, 40 deletions
diff --git a/proto/bot_api.proto b/proto/bot_api.proto
deleted file mode 100644
index 69a319a..0000000
--- a/proto/bot_api.proto
+++ /dev/null
@@ -1,40 +0,0 @@
-syntax = "proto3";
-
-package grpc.planetwars.bot_api;
-
-message ServerMessage {
- oneof server_message {
- PlayerRequest player_request = 1;
- }
-}
-message PlayerRequest {
- int32 request_id = 1;
- bytes content = 2;
-}
-
-message ClientMessage {
- oneof client_message {
- PlayerRequestResponse request_response = 1;
- }
-}
-
-message PlayerRequestResponse {
- int32 request_id = 1;
- bytes content = 2;
-}
-
-message MatchRequest {
- string opponent_name = 1;
-}
-
-message CreatedMatch {
- int32 match_id = 1;
- string player_key = 2;
- string match_url = 3;
-}
-
-service BotApiService {
- rpc CreateMatch(MatchRequest) returns (CreatedMatch);
- // server sends requests to the player, player responds
- rpc ConnectPlayer(stream ClientMessage) returns (stream ServerMessage);
-}
diff --git a/proto/client_api.proto b/proto/client_api.proto
new file mode 100644
index 0000000..3f1b956
--- /dev/null
+++ b/proto/client_api.proto
@@ -0,0 +1,45 @@
+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;
+}
+
+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;
+}