93 lines
2.5 KiB
Protocol Buffer
Executable File
93 lines
2.5 KiB
Protocol Buffer
Executable File
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 {
|
|
} |