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;

enum EValveIndexComponent {
	k_EValveIndexComponentUnknown = 0;
	k_EValveIndexComponentHMD = 1;
	k_EValveIndexComponentLeftKnuckle = 2;
	k_EValveIndexComponentRightKnuckle = 3;
}

message CAccountHardware_RegisterSteamController_Request {
	optional string serial_number = 1;
	optional string controller_code = 2;
}

message CAccountHardware_RegisterSteamController_Response {
}

message CAccountHardware_CompleteSteamControllerRegistration_Request {
	optional string serial_number = 1;
	optional string controller_code = 2;
}

message CAccountHardware_CompleteSteamControllerRegistration_Response {
}

message CAccountHardware_QueryAccountsRegisteredToSerial_Request {
	optional string serial_number = 1;
	optional string controller_code = 2;
}

message CAccountHardware_QueryAccountsRegisteredToSerial_Accounts {
	optional uint32 accountid = 1;
	optional bool registration_complete = 2;
}

message CAccountHardware_QueryAccountsRegisteredToSerial_Response {
	repeated .CAccountHardware_QueryAccountsRegisteredToSerial_Accounts accounts = 1;
}

message CAccountHardware_SteamControllerSetConfig_ControllerConfig {
	optional string appidorname = 1;
	optional uint64 publishedfileid = 2;
	optional string templatename = 3;
}

message CAccountHardware_SteamControllerSetConfig_Request {
	optional string serial_number = 1;
	optional string controller_code = 2;
	optional uint32 accountid = 3;
	repeated .CAccountHardware_SteamControllerSetConfig_ControllerConfig configurations = 4;
	optional int32 controller_type = 5 [default = 2];
	optional bool only_for_this_serial = 6 [default = false];
}

message CAccountHardware_SteamControllerSetConfig_Response {
}

message CAccountHardware_SteamControllerGetConfig_Request {
	optional string serial_number = 1;
	optional string controller_code = 2;
	optional uint32 accountid = 3;
	optional string appidorname = 4;
	optional int32 controller_type = 5 [default = 2];
	optional bool only_for_this_serial = 6 [default = false];
}

message CAccountHardware_SteamControllerGetConfig_ControllerConfig {
	optional string appidorname = 1;
	optional uint64 publishedfileid = 2;
	optional string templatename = 3;
	optional string serial_number = 4;
	optional bool autosave = 5 [default = false];
}

message CAccountHardware_SteamControllerGetConfig_Response {
	repeated .CAccountHardware_SteamControllerGetConfig_ControllerConfig configurations = 1;
}

message CAccountHardware_DeRegisterSteamController_Request {
	optional string serial_number = 1;
	optional string controller_code = 2;
	optional uint32 accountid = 3;
}

message CAccountHardware_DeRegisterSteamController_Response {
}

message CAccountHardware_SetPersonalizationFile_Request {
	optional string serial_number = 1;
	optional uint64 publishedfileid = 2;
	optional uint32 accountid = 3;
}

message CAccountHardware_SetPersonalizationFile_Response {
}

message CAccountHardware_GetPersonalizationFile_Request {
	optional string serial_number = 1;
	optional uint32 accountid = 2;
}

message CAccountHardware_GetPersonalizationFile_Response {
	optional uint64 publishedfileid = 1;
}

message CAccountHardware_VRCompatibilityCheck_Request {
	message Pair {
		optional string key = 1;
		optional string value = 2;
	}

	optional string product_name = 1 [(description) = "Name of product we're checking"];
	repeated .CAccountHardware_VRCompatibilityCheck_Request.Pair values = 2 [(description) = "Values from client system probe"];
}

message CAccountHardware_VRCompatibilityCheck_Response {
	message Pair {
		optional string key = 1;
		optional string value = 2;
	}

	message ComponentDisplay {
		optional string name = 1 [(description) = "Name of component (OS, RAM, GPU, etc.)"];
		optional string image = 2 [(description) = "Name of icon to use"];
		optional string value = 3 [(description) = "String value to report"];
	}

	repeated .CAccountHardware_VRCompatibilityCheck_Response.Pair values = 1 [(description) = "Top-level values reported to client"];
	repeated .CAccountHardware_VRCompatibilityCheck_Response.ComponentDisplay components = 2 [(description) = "Specific values to display"];
}

message CAccountHardware_RegisterValveIndexComponent_Request {
	optional string serial_number = 1;
	optional string manufacturer_serial_number = 2;
	optional string component_code = 3;
	optional .EValveIndexComponent component_type = 4 [default = k_EValveIndexComponentUnknown];
	optional int32 estimated_time_registered = 5;
}

message CAccountHardware_RegisterValveIndexComponent_Response {
}

message CAccountHardware_GetSteamDeckComponents_Request {
	optional string serial_number = 1;
	optional string controller_code = 2;
}

message CAccountHardware_GetSteamDeckComponents_Response {
	optional string json_components = 1;
}

service AccountHardware {
	option (service_description) = "A service to use account hardware related methods";

	rpc RegisterSteamController (.CAccountHardware_RegisterSteamController_Request) returns (.CAccountHardware_RegisterSteamController_Response) {
		option (method_description) = "Records a serial number and the calling user's account info for warranty purposes.";
	}

	rpc CompleteSteamControllerRegistration (.CAccountHardware_CompleteSteamControllerRegistration_Request) returns (.CAccountHardware_CompleteSteamControllerRegistration_Response) {
		option (method_description) = "Marks a controller's registration as complete";
	}

	rpc QueryAccountsRegisteredToController (.CAccountHardware_QueryAccountsRegisteredToSerial_Request) returns (.CAccountHardware_QueryAccountsRegisteredToSerial_Response) {
		option (method_description) = "Sends back a list of accounts registered to a controller.";
	}

	rpc SetDesiredControllerConfigForApp (.CAccountHardware_SteamControllerSetConfig_Request) returns (.CAccountHardware_SteamControllerSetConfig_Response) {
		option (method_description) = "Sets a desired controller config for an app";
	}

	rpc GetDesiredControllerConfigForApp (.CAccountHardware_SteamControllerGetConfig_Request) returns (.CAccountHardware_SteamControllerGetConfig_Response) {
		option (method_description) = "Gets a desired controller config for an app";
	}

	rpc DeRegisterSteamController (.CAccountHardware_DeRegisterSteamController_Request) returns (.CAccountHardware_DeRegisterSteamController_Response) {
		option (method_description) = "De registers a controller";
	}

	rpc SetControllerPersonalizationFile (.CAccountHardware_SetPersonalizationFile_Request) returns (.CAccountHardware_SetPersonalizationFile_Response) {
		option (method_description) = "Stores the file ID of the personalization file";
	}

	rpc GetControllerPersonalizationFile (.CAccountHardware_GetPersonalizationFile_Request) returns (.CAccountHardware_GetPersonalizationFile_Response) {
		option (method_description) = "Gets the file ID of the personalization file";
	}

	rpc VRCompatibilityCheck (.CAccountHardware_VRCompatibilityCheck_Request) returns (.CAccountHardware_VRCompatibilityCheck_Response) {
		option (method_description) = "Check system info for compatibility with VR";
	}

	rpc RegisterValveIndexComponent (.CAccountHardware_RegisterValveIndexComponent_Request) returns (.CAccountHardware_RegisterValveIndexComponent_Response) {
		option (method_description) = "Registers a valve index component to a customer";
	}

	rpc GetSteamDeckComponents (.CAccountHardware_GetSteamDeckComponents_Request) returns (.CAccountHardware_GetSteamDeckComponents_Response) {
		option (method_description) = "Returns the components that went into the given Steam Deck";
	}
}