Jump to content
McKay Development

Dr. McKay

Administrator
  • Posts

    3656
  • Joined

  • Last visited

Everything posted by Dr. McKay

  1. Okay, here's the flow of how this works: CS:GO client sends a GCStorePurchaseInit to the GC with the items you want to buy You get back a GCStorePurchaseInitResponse containing a result (1 = OK) and a transaction ID (64-bit, even though it can currently fit into 32 bits) Concurrently, you get a ClientMicroTxnAuthRequest message via Steam. Discard the first byte of the payload (seems to be 1 in the dump you sent, not sure if that's always the case or what the significance of it is), then decode the remainder of the payload as Binary KeyValues (require('binarykvparser').parse(payload.toBuffer().slice(1))). The interesting stuff in there is the total/BillingTotal and transID (orderid is there if you want to make sure it matches what the GC sent back). Grab the transID and send it back in ClientMicroTxnAuthorize (little-endian encoded, as always) and append a 32-bit value of 2 (unsure what the significance of this is, or if it ever changes from 2. Could perhaps be an authorization result, where 1 is deny or something). You'll get back ClientMicroTxnAuthorizeResponse with a payload containing a 32-bit eresult value (1 = OK), and a 1-byte unknown value of 0. If successful, If successful, send GCStorePurchaseFinalize to the GC containing the transaction ID you from the GC before (not transID) to get your items.
  2. All I can say is that your cookies don't appear to be valid. Did you change IPs? It appears that Steam locks sessions to a particular IP.
  3. https://github.com/DoctorMcKay/node-steam-tradeoffer-manager/wiki/TradeOffer#getuserdetailscallback
  4. Remove listeners if you're done with it. But it being emitted is an indicator that something is still trying to do something even when you've logged off.
  5. Would you mind sending me your NetHook dump? It would probably be a good idea to zip it up, encrypt the zip, attach the zip to a reply here, and PM me the password. You can't attach files to PMs. Also, for what purpose are you doing this?
  6. https://github.com/DoctorMcKay/node-steamcommunity/wiki/SteamCommunity#logindetails-callback callback -> steamguard
  7. Please read about asynchronous JavaScript and callbacks. getPersonas does not return anything useful, you need to provide a callback and wait for the response there.
  8. How often is your internet going down? You could periodically make some request that results in a response, and reconnect if you don't get a response in x time after y attempts.
  9. Wrong module. You aren't using steam-tradeoffer-manager. https://httpstatuses.com/429
  10. The first error means that the data is temporarily unavailable, and you should try again. It's Steam's fault. The second error: https://steamerrors.com/26
  11. When Steam goes down the application will be notified of the connection being closed. Experimental does mean that there could be problems, yes.
  12. Your cookies need to be valid, of course. You also need to send more data when accepting a trade offer. For example, you need to include the offer ID in the POST fields, along with some other stuff.
  13. Linux/Unix doesn't seem to think it very important to notify applications of closed TCP connections when the network goes down. You could use node-steam-client's experimental UDP support if this is a situation that will affect you regularly: var SteamClient = require('steam-client'); var client = new SteamClient.CMClient(SteamClient.EConnectionProtocol.UDP); var user = new SteamUser(client);
  14. https://github.com/DoctorMcKay/node-steamcommunity/wiki/SteamCommunity#getconfirmationstime-key-callback
  15. This isn't really the right place to ask for SteamBot help.
  16. loggedOn will be emitted when it reconnects.
  17. You don't need to delete all those properties; steam-tradeoffer-manager will just ignore them. You need to provide a callback to offer.send()
  18. That's slightly tricky with async requests. You may want to use a module like https://www.npmjs.com/package/async
  19. I have never attempted to sign into Steam from PHP. I believe there might be libraries out there that do it, but I can't help you there.
  20. autoRelogin will handle all cases in which it gets disconnected from Steam, including if your Internet goes down. It can't actually tell the difference, really. Steam being unavailable is Steam being unavailable, regardless of whose end the problem is on.
  21. I don't believe there's currently an API or an existing module/library that will do that for you, sorry.
  22. Are you logged in? You need to be logged in to use that.
  23. You can handle trade offers with steam-tradeoffer-manager.
  24. You'll need to either get more IP addresses or make less requests.
×
×
  • Create New...