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); }