diff options
author | Ilion Beyst <ilion.beyst@gmail.com> | 2022-07-25 22:16:50 +0200 |
---|---|---|
committer | Ilion Beyst <ilion.beyst@gmail.com> | 2022-07-25 22:16:50 +0200 |
commit | 67276bd0bbac15fe087edafd59d164c686509b35 (patch) | |
tree | b844126c3d0987c4beb12cb60a968a9f53fc6ce9 /proto/client_api.proto | |
parent | 93c4306b1015594bb6d7e08d03138c12229ac598 (diff) | |
download | planetwars.dev-67276bd0bbac15fe087edafd59d164c686509b35.tar.xz planetwars.dev-67276bd0bbac15fe087edafd59d164c686509b35.zip |
rename bot_api to client_api
Diffstat (limited to 'proto/client_api.proto')
-rw-r--r-- | proto/client_api.proto | 45 |
1 files changed, 45 insertions, 0 deletions
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; +} |