diff --git a/ArchiSteamFarm/ArchiHandler.cs b/ArchiSteamFarm/ArchiHandler.cs index fbeb64b77..aeef2b3e7 100644 --- a/ArchiSteamFarm/ArchiHandler.cs +++ b/ArchiSteamFarm/ArchiHandler.cs @@ -372,7 +372,11 @@ namespace ArchiSteamFarm { return; } - ClientMsgProtobuf request = new ClientMsgProtobuf(EMsg.ClientGamesPlayed); + ClientMsgProtobuf request = new ClientMsgProtobuf(EMsg.ClientGamesPlayedWithDataBlob) { + Body = { + client_os_type = (uint) Bot.OSType + } + }; byte maxGamesCount = MaxGamesPlayedConcurrently; diff --git a/ArchiSteamFarm/Bot.cs b/ArchiSteamFarm/Bot.cs index 2152dd846..3c984edb7 100755 --- a/ArchiSteamFarm/Bot.cs +++ b/ArchiSteamFarm/Bot.cs @@ -59,6 +59,7 @@ namespace ArchiSteamFarm { internal static ConcurrentDictionary Bots { get; private set; } internal static StringComparer BotsComparer { get; private set; } + internal static EOSType OSType { get; private set; } = EOSType.Unknown; private static readonly SemaphoreSlim BotsSemaphore = new SemaphoreSlim(1, 1); private static readonly SemaphoreSlim LoginSemaphore = new SemaphoreSlim(1, 1); @@ -1982,19 +1983,23 @@ namespace ArchiSteamFarm { InitConnectionFailureTimer(); - SteamUser.LogOn( - new SteamUser.LogOnDetails { - AuthCode = AuthCode, - CellID = ASF.GlobalDatabase.CellID, - LoginID = LoginID, - LoginKey = loginKey, - Password = password, - SentryFileHash = sentryFileHash, - ShouldRememberPassword = BotConfig.UseLoginKeys, - TwoFactorCode = TwoFactorCode, - Username = username - } - ); + SteamUser.LogOnDetails logOnDetails = new SteamUser.LogOnDetails { + AuthCode = AuthCode, + CellID = ASF.GlobalDatabase.CellID, + LoginID = LoginID, + LoginKey = loginKey, + Password = password, + SentryFileHash = sentryFileHash, + ShouldRememberPassword = BotConfig.UseLoginKeys, + TwoFactorCode = TwoFactorCode, + Username = username + }; + + if (OSType == EOSType.Unknown) { + OSType = logOnDetails.ClientOSType; + } + + SteamUser.LogOn(logOnDetails); } private async void OnDisconnected(SteamClient.DisconnectedCallback callback) {