137 lines
3.9 KiB
Protocol Buffer
137 lines
3.9 KiB
Protocol Buffer
import "steammessages_base.proto";
|
|
import "steammessages_unified_base.steamclient.proto";
|
|
|
|
option cc_generic_services = true;
|
|
|
|
message CGameServers_GetServerList_Request {
|
|
optional string filter = 1;
|
|
optional uint32 limit = 2 [default = 100];
|
|
}
|
|
|
|
message CGameServers_GetServerList_Response {
|
|
message Server {
|
|
optional string addr = 1;
|
|
optional uint32 gameport = 2;
|
|
optional uint32 specport = 3;
|
|
optional fixed64 steamid = 4;
|
|
optional string name = 5;
|
|
optional uint32 appid = 6;
|
|
optional string gamedir = 7;
|
|
optional string version = 8;
|
|
optional string product = 9;
|
|
optional int32 region = 10;
|
|
optional int32 players = 11;
|
|
optional int32 max_players = 12;
|
|
optional int32 bots = 13;
|
|
optional string map = 14;
|
|
optional bool secure = 15;
|
|
optional bool dedicated = 16;
|
|
optional string os = 17;
|
|
optional string gametype = 18;
|
|
}
|
|
|
|
repeated .CGameServers_GetServerList_Response.Server servers = 1;
|
|
}
|
|
|
|
message CGameServers_GetServerSteamIDsByIP_Request {
|
|
repeated string server_ips = 1;
|
|
}
|
|
|
|
message CGameServers_IPsWithSteamIDs_Response {
|
|
message Server {
|
|
optional string addr = 1;
|
|
optional fixed64 steamid = 2;
|
|
}
|
|
|
|
repeated .CGameServers_IPsWithSteamIDs_Response.Server servers = 1;
|
|
}
|
|
|
|
message CGameServers_GetServerIPsBySteamID_Request {
|
|
repeated fixed64 server_steamids = 1;
|
|
}
|
|
|
|
message CGameServers_QueryByFakeIP_Request {
|
|
enum EQueryType {
|
|
Query_Invalid = 0;
|
|
Query_Ping = 1;
|
|
Query_Players = 2;
|
|
Query_Rules = 3;
|
|
}
|
|
|
|
optional uint32 fake_ip = 1;
|
|
optional uint32 fake_port = 2;
|
|
optional uint32 app_id = 3;
|
|
optional .CGameServers_QueryByFakeIP_Request.EQueryType query_type = 4 [default = Query_Invalid];
|
|
}
|
|
|
|
message CMsgGameServerPingQueryData {
|
|
optional .CMsgIPAddress server_ip = 1;
|
|
optional uint32 query_port = 2;
|
|
optional uint32 game_port = 3;
|
|
optional uint32 spectator_port = 4;
|
|
optional string spectator_server_name = 5;
|
|
optional string server_name = 6;
|
|
optional fixed64 steamid = 7;
|
|
optional uint32 app_id = 8;
|
|
optional string gamedir = 9;
|
|
optional string map = 10;
|
|
optional string game_description = 11;
|
|
optional string gametype = 12;
|
|
optional uint32 num_players = 13;
|
|
optional uint32 max_players = 14;
|
|
optional uint32 num_bots = 15;
|
|
optional bool password = 16;
|
|
optional bool secure = 17;
|
|
optional bool dedicated = 18;
|
|
optional string version = 19;
|
|
optional fixed32 sdr_popid = 20;
|
|
optional string sdr_location_string = 21;
|
|
}
|
|
|
|
message CMsgGameServerPlayersQueryData {
|
|
message Player {
|
|
optional string name = 1;
|
|
optional uint32 score = 2;
|
|
optional uint32 time_played = 3;
|
|
}
|
|
|
|
repeated .CMsgGameServerPlayersQueryData.Player players = 1;
|
|
}
|
|
|
|
message CMsgGameServerRulesQueryData {
|
|
message Rule {
|
|
optional string rule = 1;
|
|
optional string value = 2;
|
|
}
|
|
|
|
repeated .CMsgGameServerRulesQueryData.Rule rules = 1;
|
|
}
|
|
|
|
message CGameServers_GameServerQuery_Response {
|
|
optional .CMsgGameServerPingQueryData ping_data = 1;
|
|
optional .CMsgGameServerPlayersQueryData players_data = 2;
|
|
optional .CMsgGameServerRulesQueryData rules_data = 3;
|
|
}
|
|
|
|
message GameServerClient_QueryServerData_Request {
|
|
}
|
|
|
|
message GameServerClient_QueryServerData_Response {
|
|
optional .CMsgGameServerPingQueryData ping_data = 1;
|
|
optional .CMsgGameServerPlayersQueryData players_data = 2;
|
|
optional .CMsgGameServerRulesQueryData rules_data = 3;
|
|
}
|
|
|
|
service GameServers {
|
|
rpc GetServerList (.CGameServers_GetServerList_Request) returns (.CGameServers_GetServerList_Response);
|
|
rpc GetServerSteamIDsByIP (.CGameServers_GetServerSteamIDsByIP_Request) returns (.CGameServers_IPsWithSteamIDs_Response);
|
|
rpc GetServerIPsBySteamID (.CGameServers_GetServerIPsBySteamID_Request) returns (.CGameServers_IPsWithSteamIDs_Response);
|
|
rpc QueryByFakeIP (.CGameServers_QueryByFakeIP_Request) returns (.CGameServers_GameServerQuery_Response);
|
|
}
|
|
|
|
service GameServerClient {
|
|
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
|
|
|
|
rpc QueryServerData (.GameServerClient_QueryServerData_Request) returns (.GameServerClient_QueryServerData_Response);
|
|
}
|