syntax = "proto2"; import "steammessages_unified_base.proto"; option py_generic_services = true; message CSiteManagerClient_IncomingClient_Request { optional fixed64 site_instanceid = 1; optional fixed64 client_steamid = 2; optional fixed32 client_local_ip = 3; optional bytes connection_key = 4; } message CSiteManagerClient_IncomingClient_Response { } message CSiteLicense_ClientSeatCheckout_Notification { optional uint32 appid = 1; optional uint32 eresult = 2; } message CSiteLicense_InitiateAssociation_Request { optional fixed64 site_steamid = 1; optional fixed64 site_instanceid = 2; optional fixed32 client_local_ip = 3; } message CSiteLicense_InitiateAssociation_Response { optional bytes connection_key = 1; } message CSiteLicense_LCSAuthenticate_Request { optional fixed64 instanceid = 1; } message CSiteLicense_LCSAuthenticate_Response { optional uint64 site_id = 1; optional string site_name = 2; optional bool new_session = 3; } message CSiteLicense_LCSAssociateUser_Request { optional fixed64 steamid = 1; optional fixed32 local_ip = 2; optional fixed64 instanceid = 3; } message CSiteLicense_LCSAssociateUser_Response { } message CSiteLicense_ClientSeatCheckout_Request { optional fixed64 steamid = 1; optional fixed64 instanceid = 2; optional uint32 appid = 3; } message CSiteLicense_ClientSeatCheckout_Response { } message CSiteLicense_ClientGetAvailableSeats_Request { optional fixed64 steamid = 1; optional fixed64 instanceid = 2; optional uint32 appid = 3; } message CSiteLicense_ClientGetAvailableSeats_Response { optional uint32 available_seats = 1; } service SiteManagerClient { option (service_description) = "Local site manager client service"; option (service_execution_site) = k_EProtoExecutionSiteSteamClient; rpc IncomingClient (.CSiteManagerClient_IncomingClient_Request) returns (.CSiteManagerClient_IncomingClient_Response) { option (method_description) = "Rack informing site manager of new inbound client PSK connection"; } rpc ClientSeatCheckoutNotification (.CSiteLicense_ClientSeatCheckout_Notification) returns (.NoResponse) { option (method_description) = "Notify client directly about seat checkout result"; } } service SiteLicense { option (service_description) = "Site License service"; rpc InitiateAssociation (.CSiteLicense_InitiateAssociation_Request) returns (.CSiteLicense_InitiateAssociation_Response) { option (method_description) = "Client is requesting connetion info for local site"; } rpc LCSAuthenticate (.CSiteLicense_LCSAuthenticate_Request) returns (.CSiteLicense_LCSAuthenticate_Response) { option (method_description) = "Local cafe server authentication"; } rpc LCSAssociateUser (.CSiteLicense_LCSAssociateUser_Request) returns (.CSiteLicense_LCSAssociateUser_Response) { option (method_description) = "Local cafe server wants to grant user access to site"; } rpc ClientSeatCheckout (.CSiteLicense_ClientSeatCheckout_Request) returns (.CSiteLicense_ClientSeatCheckout_Response) { option (method_description) = "Client is requesting use of a site license seat"; } rpc ClientGetAvailableSeats (.CSiteLicense_ClientGetAvailableSeats_Request) returns (.CSiteLicense_ClientGetAvailableSeats_Response) { option (method_description) = "Client is requesting the number of currently available seats"; } }