SteamKit2 is a .NET library designed to interoperate with Valve's Steam network. It aims to provide a simple, yet extensible, interface to perform various actions on the network.
System.IO.Hashing
SteamKit2.WebUI.Internal
protobufsBREAKING CHANGES
SteamApps.GetLegacyGameKey
. (#1071)SteamUser.PlayingSessionStateCallback
. (#1109)LogOnDetails.MachineName
. (#1183)BalanceDelayed
and LongBalanceDelayed
in WalletInfoCallback
. (#1240)WebAPIUserNonce
, RequestWebAPIUserNonce
, SendMachineAuthResponse
, UpdateMachineAuthCallback
. (#1270)Bug Fixes
machine_id
on Windows to be consistent with the Steam client. (#1167)PersonaStateCallback
. (#1067)GenerateAccessTokenForAppAsync
. (#1268)BalanceDelayed
and LongBalanceDelayed
in WalletInfoCallback
. (#1240)WebAPIUserNonce
, RequestWebAPIUserNonce
, SendMachineAuthResponse
, UpdateMachineAuthCallback
. (#1270)Bug Fixes
machine_id
on Windows to be consistent with the Steam client. (#1167)DuplicateRequest
in SendSteamGuardCodeAsync
. (#1212)SteamApps.GetLegacyGameKey
. (#1071)SteamUser.PlayingSessionStateCallback
. (#1109)LogOnDetails.MachineName
. (#1183)Bug Fixes
PersonaStateCallback
. (#1067)BREAKING CHANGES:
CallProtobufAsync<T>
method to WebAPI to deserialize response as Protobuf instead of KeyValues. (#1021)SteamChinaOnly
flag to CDN server objects. (#1021)SteamUser.VanityUrlChangedCallback
. (#1035)SteamApps.PurchaseResponseCallback
. (#1033)SteamApps.RedeemGuestPassResponseCallback
. (#1033)SteamContent
handler. (#1022, #1060)ClientMsgProtoBuf<T>.Body
. (#1036)Exception
object rather than just the message. (#1052)SteamUnifiedMessages
to use the newer message protocol under the hood. (#1036)Bug Fixes
CMClient.Send
. (#913)AsyncJob
registration. (#926)IsolatedStorageServerListProvider
.IDebugNetworkListener
not being given encryption handshake messages. (#1038)UnobservedTaskException
event being triggered on .NET 6 if a TCP connection times out. (#1050)DisconnectedCallback.UserInitiated
being true when a connection was terminated due to an internal error. (#1053)SmartCMServerList
getting fixated on the first CM server when all servers are marked as bad.BREAKING CHANGES
SteamWorkshop.EnumerateUserPublishedFiles
and its associated callback has been removed. (#973)SteamWorkshop.EnumerateUserSubscribedFiles
and its associated callback has been removed. (#973)SteamApps.PICSRequest
has been changed from a class to a struct, and only_public
has been removed. (#911)SteamApps.PICSGetProductInfo
. For any caller that suppliedonlyPublic
will now be passed to themetaDataOnly
. Please audit your code for any calls to PICSGetProductInfo
as the compiler willSteamApps.GetPICSProductInfo
signature to now use PICSRequest
objects. (#1009)SteamClient.AddHandler
will now throw an ArgumentNullException
if the handler is null, rather than crashing on a NullReferenceException
. (#1049)ArgumentException
if the method
parameter is null
, rather than crashing on a NullReferenceException
. (#1049)CDNClient
has been heavily refactored and is now SteamKit2.CDN.Client
. (#1022)ClientMsgProtobuf
can now only be constructed from a PacketClientMsgProtobuf
. (#1036)IClientMsg.Deserialize(...)
and implementations. (#1036)ServiceMethodResponse.ResponseRaw
. (#1036)CDN.Server.AllowedAppIds
is now not-nullable. Check for empty instead. (#1021)CallProtobufAsync<T>
method to WebAPI to deserialize response as Protobuf instead of KeyValues. (#1021)SteamChinaOnly
flag to CDN server objects. (#1021)SteamUser.VanityUrlChangedCallback
. (#1035)SteamApps.PurchaseResponseCallback
. (#1033)SteamApps.RedeemGuestPassResponseCallback
. (#1033)SteamContent
handler. (#1022, #1060)ClientMsgProtoBuf<T>.Body
. (#1036)Exception
object rather than just the message. (#1052)SteamUnifiedMessages
to use the newer message protocol under the hood. (#1036)IDebugNetworkListener
not being given encryption handshake messages. (#1038)UnobservedTaskException
event being triggered on .NET 6 if a TCP connection times out. (#1050)DisconnectedCallback.UserInitiated
being true when a connection was terminated due to an internal error. (#1053)BREAKING CHANGES
SteamApps.GetPICSProductInfo
signature to now use PICSRequest
objects. (#1009)SteamClient.AddHandler
will now throw an ArgumentNullException
if the handler is null, rather than crashing on a NullReferenceException
. (#1049)ArgumentException
if the method
parameter is null
, rather than crashing on a NullReferenceException
. (#1049)CDNClient
has been heavily refactored and is now SteamKit2.CDN.Client
. (#1022)ClientMsgProtobuf
can now only be constructed from a PacketClientMsgProtobuf
. (#1036)IClientMsg.Deserialize(...)
and implementations. (#1036)ServiceMethodResponse.ResponseRaw
. (#1036)CDN.Server.AllowedAppIds
is now not-nullable. Check for empty instead. (#1021)BREAKING CHANGES
SteamWorkshop.EnumerateUserPublishedFiles
and its associated callback has been removed. (#973)SteamWorkshop.EnumerateUserSubscribedFiles
and its associated callback has been removed. (#973)SteamApps.PICSRequest
has been changed from a class to a struct, and only_public
has been removed. (#911)SteamApps.PICSGetProductInfo
. For any caller that supplied
three unnamed arguments, this is a source-breaking change as the value for onlyPublic
will now be passed to the
method parameter metaDataOnly
. Please audit your code for any calls to PICSGetProductInfo
as the compiler will
not warn you about this change. (#911)preferred_server
, use_as_proxy
, proxy_request_path
and allowed_app_ids
.proxyServer
parameter.Bug Fixes
CMClient.Send
. (#913)AsyncJob
registration. (#926)IsolatedStorageServerListProvider
.