ValvePython / steam

☁️ Python package for interacting with Steam
http://steam.readthedocs.io
MIT License
1.05k stars 127 forks source link

[BUG] ClientUpdateMachineAuth never fires #439

Open DelusionalLogic opened 1 year ago

DelusionalLogic commented 1 year ago

Description I'm not seeing the ClientUpdateMachineAuth message, meaning the sentry file is never stored. I'm using a new burner steam account without any games, and email 2FA. Otherwise there's nothing special about the account, it's neither banned in games nor in the community. I am currently authenticated with a different account on the same computer on the real steam client.

The code is just the included example: https://github.com/ValvePython/steam/blob/26166e047b66a7be10bdf3c90e2e14de9283ab5a/recipes/1.Login/persistent_login.py

I'm running version 1.4.4

Steps to Reproduce the behavior

2023-05-13 13:40:59,397 | Attempting login
2023-05-13 13:40:59,397 | Connect initiated.
2023-05-13 13:40:59,397 | Attempting bootstrap via WebAPI
2023-05-13 13:40:59,399 | Starting new HTTPS connection (1): api.steampowered.com:443
2023-05-13 13:40:59,643 | https://api.steampowered.com:443 "GET /ISteamDirectory/GetCMList/v1/?cellid=0&format=json HTTP/1.1" 200 753
2023-05-13 13:40:59,643 | Received 100 servers from WebAPI
2023-05-13 13:40:59,644 | Added 100 new CM addresses.
2023-05-13 13:40:59,644 | Attempting connection to ('155.133.245.37', 27018)
2023-05-13 13:40:59,928 | Connected.
2023-05-13 13:40:59,928 | Emit event: 'connected'
2023-05-13 13:40:59,929 | Connected to ('155.133.245.37', 27018)
2023-05-13 13:41:00,214 | Incoming: <Msg(<EMsg.ChannelEncryptRequest: 1303> | ChannelEncryptRequest)>
2023-05-13 13:41:00,214 | Emit event: <EMsg.ChannelEncryptRequest: 1303>
2023-05-13 13:41:00,214 | Securing channel
2023-05-13 13:41:00,217 | Outgoing: <Msg(<EMsg.ChannelEncryptResponse: 1304> | ChannelEncryptResponse)>
2023-05-13 13:41:00,506 | Incoming: <Msg(<EMsg.ChannelEncryptResult: 1305> | ChannelEncryptResult)>
2023-05-13 13:41:00,506 | Emit event: <EMsg.ChannelEncryptResult: 1305>
2023-05-13 13:41:00,506 | Channel secured
2023-05-13 13:41:00,506 | Emit event: 'channel_secured'
2023-05-13 13:41:00,506 | Outgoing: <MsgProto(<EMsg.ClientLogon: 5514> | CMsgClientLogon)>
2023-05-13 13:41:01,116 | Connection error (reader).
2023-05-13 13:41:01,116 | Disconnected.
2023-05-13 13:41:01,116 | Incoming: <MsgProto(<EMsg.Multi: 1> | CMsgMulti)>
2023-05-13 13:41:01,116 | Emit event: <EMsg.Multi: 1>
2023-05-13 13:41:01,116 | Multi: Unpacking
2023-05-13 13:41:01,117 | Incoming: <MsgProto(<EMsg.ClientLogOnResponse: 751> | CMsgClientLogonResponse)>
2023-05-13 13:41:01,117 | Emit event: <EMsg.ClientLogOnResponse: 751>
2023-05-13 13:41:01,117 | Emit event: 'error'
2023-05-13 13:41:01,117 | Emit event: 'disconnected'
2023-05-13 13:41:01,117 | Emit event: 'auth_code_required'
2023-05-13 13:41:01,117 | Logon result: <EResult.AccountLogonDenied: 63>
2023-05-13 13:41:01,117 | Disconnected.
2023-05-13 13:41:29,158 | Attempting login
2023-05-13 13:41:29,158 | Connect initiated.
2023-05-13 13:41:29,158 | Attempting connection to ('155.133.230.34', 27018)
2023-05-13 13:41:29,185 | Connected.
2023-05-13 13:41:29,185 | Emit event: 'connected'
2023-05-13 13:41:29,185 | Connected to ('155.133.230.34', 27018)
2023-05-13 13:41:29,211 | Incoming: <Msg(<EMsg.ChannelEncryptRequest: 1303> | ChannelEncryptRequest)>
2023-05-13 13:41:29,212 | Emit event: <EMsg.ChannelEncryptRequest: 1303>
2023-05-13 13:41:29,212 | Securing channel
2023-05-13 13:41:29,212 | Outgoing: <Msg(<EMsg.ChannelEncryptResponse: 1304> | ChannelEncryptResponse)>
2023-05-13 13:41:29,242 | Incoming: <Msg(<EMsg.ChannelEncryptResult: 1305> | ChannelEncryptResult)>
2023-05-13 13:41:29,242 | Emit event: <EMsg.ChannelEncryptResult: 1305>
2023-05-13 13:41:29,242 | Channel secured
2023-05-13 13:41:29,242 | Emit event: 'channel_secured'
2023-05-13 13:41:29,242 | Outgoing: <MsgProto(<EMsg.ClientLogon: 5514> | CMsgClientLogon)>
2023-05-13 13:41:29,649 | Incoming: <MsgProto(<EMsg.Multi: 1> | CMsgMulti)>
2023-05-13 13:41:29,649 | Emit event: <EMsg.Multi: 1>
2023-05-13 13:41:29,649 | Multi: Unpacking
2023-05-13 13:41:29,649 | Multi: Decompressing payload (605 -> 1208)
2023-05-13 13:41:29,650 | Incoming: <MsgProto(<EMsg.ClientServersAvailable: 5501> | not parsed)>
2023-05-13 13:41:29,650 | Emit event: <EMsg.ClientServersAvailable: 5501>
2023-05-13 13:41:29,650 | Incoming: <MsgProto(<EMsg.ClientServersAvailable: 5501> | not parsed)>
2023-05-13 13:41:29,650 | Emit event: <EMsg.ClientServersAvailable: 5501>
2023-05-13 13:41:29,650 | Incoming: <MsgProto(<EMsg.ClientLogOnResponse: 751> | CMsgClientLogonResponse)>
2023-05-13 13:41:29,650 | Emit event: <EMsg.ClientLogOnResponse: 751>
2023-05-13 13:41:29,650 | Incoming: <MsgProto(<EMsg.ClientAccountInfo: 768> | not parsed)>
2023-05-13 13:41:29,650 | Emit event: <EMsg.ClientAccountInfo: 768>
2023-05-13 13:41:29,650 | Incoming: <MsgProto(<EMsg.ClientEmailAddrInfo: 5456> | not parsed)>
2023-05-13 13:41:29,650 | Emit event: <EMsg.ClientEmailAddrInfo: 5456>
2023-05-13 13:41:29,650 | Incoming: <MsgProto(<EMsg.ClientFriendsList: 767> | CMsgClientFriendsList)>
2023-05-13 13:41:29,650 | Emit event: <EMsg.ClientFriendsList: 767>
2023-05-13 13:41:29,650 | Incoming: <MsgProto(<EMsg.ClientPlayerNicknameList: 5587> | not parsed)>
2023-05-13 13:41:29,650 | Emit event: <EMsg.ClientPlayerNicknameList: 5587>
2023-05-13 13:41:29,650 | Incoming: <MsgProto(<EMsg.ClientLicenseList: 780> | CMsgClientLicenseList)>
2023-05-13 13:41:29,650 | Emit event: <EMsg.ClientLicenseList: 780>
2023-05-13 13:41:29,650 | Incoming: <Msg(<EMsg.ClientUpdateGuestPassesList: 798> | not parsed)>
2023-05-13 13:41:29,650 | Emit event: <EMsg.ClientUpdateGuestPassesList: 798>
2023-05-13 13:41:29,650 | Incoming: <MsgProto(<EMsg.ClientWalletInfoUpdate: 5528> | not parsed)>
2023-05-13 13:41:29,650 | Emit event: <EMsg.ClientWalletInfoUpdate: 5528>
2023-05-13 13:41:29,650 | Incoming: <MsgProto(<EMsg.ClientGameConnectTokens: 779> | not parsed)>
2023-05-13 13:41:29,650 | Emit event: <EMsg.ClientGameConnectTokens: 779>
2023-05-13 13:41:29,650 | Incoming: <MsgProto(<EMsg.ClientIsLimitedAccount: 5430> | not parsed)>
2023-05-13 13:41:29,650 | Emit event: <EMsg.ClientIsLimitedAccount: 5430>
2023-05-13 13:41:29,650 | Incoming: <MsgProto(<EMsg.ClientRequestedClientStats: 5480> | not parsed)>
2023-05-13 13:41:29,650 | Emit event: <EMsg.ClientRequestedClientStats: 5480>
2023-05-13 13:41:29,650 | Incoming: <MsgProto(<EMsg.ClientPlayingSessionState: 9600> | not parsed)>
2023-05-13 13:41:29,650 | Emit event: <EMsg.ClientPlayingSessionState: 9600>
2023-05-13 13:41:29,650 | Incoming: <Msg(<EMsg.ClientVACBanStatus: 782> | not parsed)>
2023-05-13 13:41:29,650 | Emit event: <EMsg.ClientVACBanStatus: 782>
2023-05-13 13:41:29,650 | Logon completed
2023-05-13 13:41:29,650 | Heartbeat started.
2023-05-13 13:41:29,650 | Emit event: 'logged_on'
2023-05-13 13:41:29,651 | Outgoing: <MsgProto(<EMsg.ClientRequestFriendData: 815> | CMsgClientRequestFriendData)>
2023-05-13 13:41:29,651 | Emit event: 'ready'
2023-05-13 13:41:29,651 | Outgoing: <MsgProto(<EMsg.ClientChangeStatus: 716> | CMsgClientChangeStatus)>
2023-05-13 13:41:29,651 | ------------------------------
2023-05-13 13:41:29,651 | Outgoing: <MsgProto(<EMsg.ClientRequestFriendData: 815> | CMsgClientRequestFriendData)>
2023-05-13 13:41:29,850 | Incoming: <MsgProto(<EMsg.Multi: 1> | CMsgMulti)>
2023-05-13 13:41:29,850 | Emit event: <EMsg.Multi: 1>
2023-05-13 13:41:29,850 | Multi: Unpacking
2023-05-13 13:41:29,850 | Incoming: <MsgProto(<EMsg.ServiceMethod: 146> | n/a)>
2023-05-13 13:41:29,850 | Emit event: <EMsg.ServiceMethod: 146>
2023-05-13 13:41:29,850 | Emit event: 'SteamNotificationClient.NotificationsReceived#1'
2023-05-13 13:41:29,899 | Incoming: <MsgProto(<EMsg.Multi: 1> | CMsgMulti)>
2023-05-13 13:41:29,899 | Emit event: <EMsg.Multi: 1>
2023-05-13 13:41:29,899 | Multi: Unpacking
2023-05-13 13:41:29,899 | Incoming: <MsgProto(<EMsg.ClientFriendsGroupsList: 5553> | not parsed)>
2023-05-13 13:41:29,899 | Emit event: <EMsg.ClientFriendsGroupsList: 5553>
2023-05-13 13:41:29,900 | Incoming: <MsgProto(<EMsg.ClientPersonaState: 766> | CMsgClientPersonaState)>
2023-05-13 13:41:29,900 | Emit event: <EMsg.ClientPersonaState: 766>
2023-05-13 13:41:30,004 | Incoming: <MsgProto(<EMsg.Multi: 1> | CMsgMulti)>
2023-05-13 13:41:30,004 | Emit event: <EMsg.Multi: 1>
2023-05-13 13:41:30,004 | Multi: Unpacking
2023-05-13 13:41:30,004 | Incoming: <MsgProto(<EMsg.ClientPersonaState: 766> | CMsgClientPersonaState)>
2023-05-13 13:41:30,004 | Emit event: <EMsg.ClientPersonaState: 766>
2023-05-13 13:41:30,004 | Last logon: None
2023-05-13 13:41:30,004 | Last logoff: None
2023-05-13 13:41:30,004 | Login key: None
2023-05-13 13:41:30,004 | ------------------------------
2023-05-13 13:41:30,004 | Outgoing: <MsgProto(<EMsg.ClientRequestWebAPIAuthenticateUserNonce: 5585> | CMsgClientRequestWebAPIAuthenticateUserNonce)>
2023-05-13 13:41:30,049 | Incoming: <MsgProto(<EMsg.Multi: 1> | CMsgMulti)>
2023-05-13 13:41:30,049 | Emit event: <EMsg.Multi: 1>
2023-05-13 13:41:30,050 | Multi: Unpacking
2023-05-13 13:41:30,050 | Multi: Decompressing payload (272 -> 405)
2023-05-13 13:41:30,050 | Incoming: <MsgProto(<EMsg.ClientPersonaState: 766> | CMsgClientPersonaState)>
2023-05-13 13:41:30,050 | Emit event: <EMsg.ClientPersonaState: 766>
2023-05-13 13:41:30,050 | Incoming: <MsgProto(<EMsg.ClientPersonaState: 766> | CMsgClientPersonaState)>
2023-05-13 13:41:30,050 | Emit event: <EMsg.ClientPersonaState: 766>
2023-05-13 13:41:30,050 | Incoming: <MsgProto(<EMsg.ClientClanState: 822> | not parsed)>
2023-05-13 13:41:30,050 | Emit event: <EMsg.ClientClanState: 822>
2023-05-13 13:41:30,250 | Incoming: <MsgProto(<EMsg.Multi: 1> | CMsgMulti)>
2023-05-13 13:41:30,251 | Emit event: <EMsg.Multi: 1>
2023-05-13 13:41:30,251 | Multi: Unpacking
2023-05-13 13:41:30,251 | Incoming: <MsgProto(<EMsg.ClientRequestWebAPIAuthenticateUserNonceResponse: 5586> | not parsed)>
2023-05-13 13:41:30,251 | Emit event: <EMsg.ClientRequestWebAPIAuthenticateUserNonceResponse: 5586>
2023-05-13 13:41:30,251 | Emit event: 'job_1'
2023-05-13 13:41:30,252 | Starting new HTTPS connection (1): api.steampowered.com:443
2023-05-13 13:41:30,513 | https://api.steampowered.com:443 "POST /ISteamUserAuth/AuthenticateUser/v1/ HTTP/1.1" 200 176
2023-05-13 13:41:30,516 | Starting new HTTPS connection (1): store.steampowered.com:443
2023-05-13 13:41:38,659 | Outgoing: <MsgProto(<EMsg.ClientHeartBeat: 703> | CMsgClientHeartBeat)>
2023-05-13 13:41:47,665 | Outgoing: <MsgProto(<EMsg.ClientHeartBeat: 703> | CMsgClientHeartBeat)>
2023-05-13 13:41:56,672 | Outgoing: <MsgProto(<EMsg.ClientHeartBeat: 703> | CMsgClientHeartBeat)>
2023-05-13 13:42:05,678 | Outgoing: <MsgProto(<EMsg.ClientHeartBeat: 703> | CMsgClientHeartBeat)>
2023-05-13 13:42:14,685 | Outgoing: <MsgProto(<EMsg.ClientHeartBeat: 703> | CMsgClientHeartBeat)>
2023-05-13 13:42:23,692 | Outgoing: <MsgProto(<EMsg.ClientHeartBeat: 703> | CMsgClientHeartBeat)>
2023-05-13 13:42:32,698 | Outgoing: <MsgProto(<EMsg.ClientHeartBeat: 703> | CMsgClientHeartBeat)>
2023-05-13 13:42:41,705 | Outgoing: <MsgProto(<EMsg.ClientHeartBeat: 703> | CMsgClientHeartBeat)>
2023-05-13 13:42:50,712 | Outgoing: <MsgProto(<EMsg.ClientHeartBeat: 703> | CMsgClientHeartBeat)>
2023-05-13 13:42:59,721 | Outgoing: <MsgProto(<EMsg.ClientHeartBeat: 703> | CMsgClientHeartBeat)>
2023-05-13 13:43:08,728 | Outgoing: <MsgProto(<EMsg.ClientHeartBeat: 703> | CMsgClientHeartBeat)>

Versions Report

steam: 1.4.4

Dependencies:
                 vdf: 3.4
            protobuf: 3.20.0
            requests: 2.25.1
          cachetools: 5.0.0
              gevent: 22.10.2
 gevent-eventemitter: 2.1
       pycryptodomex: 3.12.0
              enum34: Not Installed
       win-inet-pton: Not Installed

Python runtime:
          executable: /usr/bin/python
             version: 3.10.10 (main, Mar  5 2023, 22:26:53) [GCC 12.2.1 20230201]
            platform: linux

System info:
              system: Linux
             machine: x86_64
             release: 6.2.12-arch1-1
             version: #1 SMP PREEMPT_DYNAMIC Thu, 20 Apr 2023 16:11:55 +0000

santeri3700 commented 1 year ago

I'm experiencing the same issue (v1.4.4) with a good standing Steam account which uses the mobile app as the 2FA method. \ Sentry file is never created (even though client.set_credential_location(path) is called before login), EVENT_NEW_LOGIN_KEY is never fired and client.login_key remains None for infinity.

buddhapest commented 11 months ago

+1

SyberiaK commented 11 months ago

+1

Onuphrius commented 11 months ago

did anyone find a fix for this bug ?

buddhapest commented 11 months ago

pretty sure something changed on the Steam end. i'm having related issues with a home made library - the dologin endpoint no longer sends a webcookie either.

SyberiaK commented 11 months ago

https://github.com/DoctorMcKay/node-steam-user/issues/447#issuecomment-1649315077