syntax = "proto3"; package dcs.net.v0; import "dcs/common/v0/common.proto"; option csharp_namespace = "RurouniJones.Dcs.Grpc.V0.Net"; option go_package = "github.com/DCS-gRPC/go-bindings/dcs/v0/net"; service NetService { // https://wiki.hoggitworld.com/view/DCS_func_send_chat_to rpc SendChatTo(SendChatToRequest) returns (SendChatToResponse) {} // https://wiki.hoggitworld.com/view/DCS_func_send_chat rpc SendChat(SendChatRequest) returns (SendChatResponse) {} // returns a list of all connected players. // https://wiki.hoggitworld.com/view/DCS_func_get_player_info rpc GetPlayers(GetPlayersRequest) returns (GetPlayersResponse) {} // Kick a specified player from the server with a message // https://wiki.hoggitworld.com/view/DCS_func_kick rpc KickPlayer(KickPlayerRequest) returns (KickPlayerResponse) {} // Force a player into a slot / coalition. // To move the player back into spectators, use the following pseudo: // `ForcePlayerSlot({ player_id: ..., coalition: NEUTRAL, slot_id: "" })` rpc ForcePlayerSlot(ForcePlayerSlotRequest) returns (ForcePlayerSlotResponse) {} } message SendChatToRequest { // the message to send in the chat string message = 1; // the target player of the direct message uint32 target_player_id = 2; } message SendChatToResponse { } message SendChatRequest { // the message to send in the chat string message = 1; // which coalition? DCS only supports ALL or NEUTRAL // (only applicable to send_chat) dcs.common.v0.Coalition coalition = 2; } message SendChatResponse { } message GetPlayersRequest { } message GetPlayersResponse { message GetPlayerInfo { // the player id uint32 id = 1; // player's online name string name = 2; // coalition which player is slotted in dcs.common.v0.Coalition coalition = 3; // the slot identifier string slot = 4; // the ping of the player uint32 ping = 5; // the connection ip address and port the client // has established with the server string remote_address = 6; // the unique identifier for the player string ucid = 7; // abbreviated language (locale) e.g. "en" string locale = 8; } // list of all the players connected to the server repeated GetPlayerInfo players = 1; } message ForcePlayerSlotRequest { uint32 player_id = 1; dcs.common.v0.Coalition coalition = 2; string slot_id = 3; } message ForcePlayerSlotResponse { } message KickPlayerRequest { uint32 id = 1; string message = 2; } message KickPlayerResponse { }