Jump to content
McKay Development

Argent1028

Member
  • Posts

    20
  • Joined

  • Last visited

Everything posted by Argent1028

  1. Hi, I refactored code to share cmlist between instances, this significantly increased auth performance, could you implement this snippet into steam-user ? const PROTOCOL_VERSION = 65580; const PRIVATE_IP_OBFUSCATION_MASK = 0xbaadf00d; // create global variable at the start of the file let cmListResponse // request cm list only if cmListResponse is undefined if (!cmListResponse) { try { cmListResponse = await this._apiRequest( 'GET', 'ISteamDirectory', 'GetCMListForConnect', 1, getCmListQueryString, 300 ); } catch (ex) { this.emit('debug', `GetCMListForConnect error: ${ex.message}`); if (++this._getCmListAttempts >= 10) { this.emit('error', ex); } else { setTimeout(() => this._doConnection()); } return; } }
  2. Could you please add it as an optional parameter to the client options as a quick fix? If the user passed cmList into client.options then use the list, otherwise load the list the same way as now. I believe this should significantly increase authorisation performance.
  3. Hi, you can match them by instanceid
  4. Thanks, but I'm facing another problem: it gets stuck in an infinite loop when trying to get a list of servers. I have 10 accounts, the first 5-7 were successfully logged in, but all subsequent ones are stuck in this place. Maybe it would be better to share the CM list among all Steam user instances like it were before ? I don't know why, but some accounts just couldn't load this list and got stuck at the GetCMListForConnect stage.
  5. Hi, Starting from version 5.0.2, a bug appeared: when using unstable proxies, authorization stops working and nothing happened, could you add some handlers to reject them properly, for example, emit client error to catch them inside client.error handler ? Uncaught (in promise) Error: socket hang up at connResetException (node:internal/errors:704:14) at Socket.socketOnEnd (node:_http_client:505:23) at Socket.emit (node:events:525:35) at endReadableNT (node:internal/streams/readable:1358:12) at process.processTicksAndRejections (node:internal/process/task_queues:83:21) node:_http_client:521 Uncaught (in promise) Error: Parse Error: Expected HTTP/ at Socket.socketOnData (node:_http_client:521:22) at Socket.emit (node:events:513:28) at addChunk (node:internal/streams/readable:315:12) at readableAddChunk (node:internal/streams/readable:289:9) at Readable.push (node:internal/streams/readable:228:10) at TCP.onStreamRead (node:internal/stream_base_commons:190:23) When I revert to 5.0.1, errors are thrown in the client.on('error') handler
  6. Hi, any updates on this ? Should I provide additional info ?
  7. When account lost steam connection it starts spam this error Uncaught TypeError: Cannot read properties of undefined (reading 'write') at TCPConnection.send at SteamUser._send client._connection_sesionKey === null client.Steamid !== null
  8. Hi, I have updates about the issue. I opened steam chat, there is a user with online state In-game, I called getPersonas method from my script for the user, it returned all properties as null, and in steam chat this user also goes offline. When I called client.relog() method, it updates the user information in both the script and the chat. Calling setPersona method has no effect. Do you have any idea how to fix this? Maybe the problem with the auto reconnect?
  9. Hi, I noticed that the issue with incorrect information occurs when the bot is running for a long time. I tried calling the getPersonas method on a specific user, it returns null all the time for all properties except the username. After logging in again, this method returns full information for the user. By the way, the problem sometimes occurs with specific users, most users still update correctly with full information. I mean 90% of users get updates properly and 10% of users return all properties as null until I restart script and full relog an account. Do you know why this is happening and how can I fix it?
  10. Account persona state is online. The issue happens even on initial getPersonas right after logon. Steam sends info that a user has persona_state 4 (Snooze), but in steam chat the user is Away or Offline. Are you sure the getPeronas method is identical to the Steam chat method? As I can see getPersonas trigger ClientRequestFriendData event, when steam chat trigger FriendsList.GetFriendsList#1 event.
  11. Hi, both the `client.getPersonas` method and `client.on('user')` event sometimes returns incorrect info, like online_state and rich_presence. Would it be better to replace this method with FriendsList.GetFriendsList#1 and listen for user updates in the same way as in Steam chat ?
  12. Hi there are too many errors happening after you added the timeouts. Authentication.BeginAuthSessionViaCredentials#1 timed out Authentication.GetPasswordRSAPublicKey#1 timed out Perhaps it would be better to increase the timeout to 5-10 seconds, or make this parameter optional ?
  13. Hi, thanks for adding the ssfn file provide feature, it works well. Would you like to name ssfn files in steam-user using login instead of steamid64 as before, and read ssfn files in steam-session if they exist, as in the steam-user module ?
  14. Thank you. Do you plan to reuse sentry files from the steam-user so that you don't have to re-enter the guard code from the mail every 200 days to refresh the refreshToken?
  15. It crashes even with your code because it's a TypeError. const { LoginSession, EAuthTokenPlatformType } = require('steam-session') const session = new LoginSession(EAuthTokenPlatformType.SteamClient, { httpProxy: 'http://127.0.0.1:8888' }) session.startWithCredentials({ accountName: 'accountName', password: 'password' }).then(a => { console.log(a) }) // TypeError: this._transport.sendRequest is not a function I guess this happens because the second parameter in the LoginSession is a transport, but if we pass httpProxy as the second parameter, the transport is undefined, so when it calls this.transport to send the request, it calls undefined because we passed an httpProxy instead of transport, isn't it ? I use 0.0.4-alpha P.S. It looks like the code in your repo is different from the npm package. I built your code from repo it works fine // LoginSession class from npm package constructor(platformType: EAuthTokenPlatformType, transport?: ITransport); // LoginSession class from github repo constructor(platformType: EAuthTokenPlatformType, options?: ConstructorOptions)
  16. Thank you for response. There is an error with httpProxy: // works const session = new LoginSession(EAuthTokenPlatformType.SteamClient) await session.startWithCredentials({ accountName password }) // Uncaught (in promise) TypeError: this._transport.sendRequest is not a function AuthenticationClient.ts:257 const session = new LoginSession(EAuthTokenPlatformType.SteamClient, { httpProxy: proxy }) await session.startWithCredentials({ accountName password }) And one more question. You said that's not possible with WebBrowser, but I use SteamClient type. Can I reuse sentry created by steam-user module to get refreshToken with this type, or maybe steam-session do it automatically like steam-user ?
  17. Hi, I have a question about how steam-session works with email guard. I've entered guard code via steam-user, it saved a sentry file. Until I started use steam-session it automatically read info from sentry files. How can I reuse created sentry files in this module to get refreshToken ?
  18. Hi, I found the bug with property rich_presence_string. You forgot to pass steamuser to the function _processUserPersona, so I get an error 'steamUser is not defined'. To fix it you should do these steps: _processUserPersona(user, steamUser) and then call this._processUserPersona(user, this). Also, the feature worked better in v. 4.13. For example, at current version it doesn't replace {} in presence string. Edit: One more error: Did not get localizations for requested language english
×
×
  • Create New...