steamkit-protos 0.1.0

This crate is designed to be a bunch of tools for interacting with the Steam API.
Documentation
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";

option cc_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 CSiteManagerClient_TrackedPayments_Notification {
	message Payment {
		optional uint64 transid = 1;
		optional uint64 steamid = 2;
		optional int64 amount = 3;
		optional uint32 ecurrency = 4;
		optional int32 time_created = 5;
		optional int32 purchase_status = 6;
		optional string machine_name = 7;
		optional string persona_name = 8;
		optional string profile_url = 9;
		optional string avatar_url = 10;
	}

	optional fixed64 site_id = 1;
	repeated .CSiteManagerClient_TrackedPayments_Notification.Payment payments = 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;
	optional bool no_site_licenses = 4;
}

message CSiteLicense_LCSAssociateUser_Request {
	optional fixed64 steamid = 1;
	optional fixed32 local_ip = 2;
	optional fixed64 instanceid = 3;
	optional string machine_name = 4;
}

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

	rpc TrackedPaymentsNotification (.CSiteManagerClient_TrackedPayments_Notification) returns (.NoResponse) {
		option (method_description) = "Rack informing site manager of existing tracked payments";
	}
}

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