All Activity
- Yesterday
-
You're asking a few different questions, so let me clarify how Steam views "devices". The machine ID that's by default generated from your account name is sent in the logon message. To my knowledge, it isn't really used for anything except maybe family sharing. The "DESKTOP-xxxxxx" names you see on your authorized devices page are controlled by the machineName you supply to the logOn() method. If you don't provide one, then it's auto-generated as you see. A "new device" for purposes of trading is determined by the machine auth token. If you use a previously-issued machine auth token to log on, then you won't need to provide an email Steam Guard code and it'll be counted as a previously-authorized device for purposes of trading restrictions. Logging in with username + password is what generates a new entry in the authorized devices page. Saving and using a refresh token to login more than once is the same thing as checking the "remember me" box when you log into the Steam client; it's treated as the same session and thus isn't counted as a new device when you log in after the first time. You won't generate new entries on the authorized devices page by reusing a refresh token.
-
Hi, by default steam-user generates machine ID based on account name, however after some time working with this library my steam account has a lot of different "Authorised devices" on steam settings page with names like "DESKTOP-<foobar>". All the time I was using log+pass+shared secret for logon Does machineID affect authorised devices? Does it mean that from Steam perspective every login is performed from different device? Will such behaviour affect steam account in terms of new update related to trade lock from new device? And main question - how can I authorise from same "device" for each logon request? Information from this block https://github.com/DoctorMcKay/node-steam-user?tab=readme-ov-file#machine-auth-tokens can be used for this purpose? How to do the same with authorisation via refresh token?
- Last week
-
The balance is showing as a negative number.
HypeLevels replied to miaomiaomiao's topic in node-steam-user
The reason this is happening is because balance is a 32 bit integer. Ur balance goes above the 32 bit integer limit so what it is doing is when it overflows over the INT_MAX (2147483647) it "resets" to INT_MIN (-2147483647) and adds the remainder of Balance - INT_MAX which is (15012313) back to INT_MIN which makes it -2132471336. Just use balance64 and you should be good but if you NEED to use balance you can just do balance + 2 + 2 * INT_MAX -
Currently I use steam-session with platform type SteamClient in order to get a refreshToken that I then pass to logOn but that causes my application to crash with the following message: RangeError: "length" is outside of buffer bounds at Buffer.proto.utf8Write (node:internal/buffer:1066:13) at Op.writeStringBuffer [as fn] (C:\Users\John\Desktop\steam\node_modules\protobufjs\src\writer_buffer.js:61:13) at BufferWriter.finish (C:\Users\John\Desktop\steam\node_modules\protobufjs\src\writer.js:453:14) at Function._encodeProto (C:\Users\John\Desktop\steam\node_modules\steam-user\components\03-messages.js:344:29) at SteamUser._send (C:\Users\John\Desktop\steam\node_modules\steam-user\components\03-messages.js:432:29) at SteamUser._sendLogOn (C:\Users\John\Desktop\steam\node_modules\steam-user\components\09-logon.js:347:8) at SteamUser.<anonymous> (C:\Users\John\Desktop\steam\node_modules\steam-user\components\02-connection.js:116:7) at C:\Users\John\Desktop\steam\node_modules\steam-user\components\classes\HandlerManager.js:35:12 at Array.forEach (<anonymous>) at HandlerManager.emit (C:\Users\John\Desktop\steam\node_modules\steam-user\components\classes\HandlerManager.js:34:12) { code: 'ERR_BUFFER_OUT_OF_BOUNDS' This happens before loggedOn event is triggered as well. Edit: This is caused by Node 22.7.0, upgrade to 22.8.0 or downgrade to LTS
-
zhangdashan started following node-steam How to decode family PIN
-
What is its API? How to use refreshToken to obtain decoding after logging in? This is another open source code written in c++ https://github.com/Ne3tCode/SPPRTool/
-
zhangdashan joined the community
-
TheMaster started following Current Ratelimits For get inventory contents
-
Hello @tre0521 ☺️ If you send a cmsg client friend profile info message via steam user but do not receive a response; it appears it could be due to message formatting issues. You can try making changes to steam's API. Make that the message is properly encoded and verified.
- Earlier
-
Atlas joined the community
-
gradinaz joined the community
-
Hello @abcdef☺️☺️ It is dependent on the individual setting of your project. node tf2 is developed for specific functions; those linked to the team fortress 2 game; so converting its methods to a different framework and project might require changes.
-
c0de started following achievements
-
Theres any way to get game's achievements with node-steam-user?
-
Everleigh joined the community
-
@Dr. McKay
-
i want to validate if a user entered rhe identity secrect correctly so my plan that i implemented was that i will create a api key and handle the confrim mation to see if the api key creates but as th apikey is already created and the steam servers are constantly replying Busy Iwant to know if there is a easy way of verifying this Currrent code async function createSteamApiKey() { return new Promise((resolve, reject) => { const retryDelay = 30000; // 30 seconds const retryLimit = 1; // Retry limit let retryCount = 0; function attemptCreateKey() { if (retryCount >= retryLimit) { console.log(`Retry limit exceeded. Setting isbusy to true.`); isbusy = true; // Permanently set isbusy to true return resolve(false); // Resolve the promise to stop further execution } console.log(`Attempting to create Web API key (Attempt ${retryCount + 1})...`); const options = { domain: "localhost", identitySecret: identity }; community.createWebApiKey(options, (err, result) => { if (err) { if (err.eresult === 10) { // Busy error console.log("API busy, retrying in 30 seconds..."); retryCount++; return setTimeout(attemptCreateKey, retryDelay); } return reject(err); // Handle other errors } if (result.confirmationRequired) { console.log("Mobile confirmation is required to create the Web API key."); return resolve({ confirmationRequired: true, finalizeOptions: result.finalizeOptions }); } console.log("API key created successfully: " + result.apiKey); isbusy = false; // Reset isbusy to false if successful resolve(result.apiKey); // Resolve the promise with API key }); } attemptCreateKey(); // Start the attempt }); } Update: the steamservers only return buys if we try to create a api on top of a api the thing that was writtten in the docs has now been set to true i read the doc idk if i am blind but i didnt saw a function to delete/revoke the webapi
-
#485 Added handling for new Steam notifications notificationsReceived event markNotificationsRead() markAllNotificationsRead() Full Changelog: v5.1.0...v5.2.0 View on GitHub
-
steamRefresh_steam cookies are now included for login.steampowered.com when calling getWebCookies() under EAuthTokenPlatformType.WebBrowser (thanks @Sadzurami in #39) #41 Fixed crash that occurs rarely with message "Received unexpected non-protobuf message 751" Full Changelog: v1.8.0...v1.9.0 View on GitHub
-
#471 Fixed incorrect documentation for getUserOwnedApps return type (thanks @simonkovtyk in #484) #477 Fixed uncaught exceptions when reading and writing messages via TCP (thanks @Sadzurami in #475) #476 Fixed machineName in logOn() not being reported to Steam during login #487 Fixed unhandled rejection when webLogOn() fails (thanks @Sadzurami in #473) #488 Fixed webCompatibilityMode not properly filtering CMs by port (thanks @Sadzurami in #490) Added missing playingState property docs by (thanks @Sadzurami in #476) Added support for more options in getUserOwnedapps (thanks @HarryVGI in #472) Fixed incorrect documentation for getSteamGuardDetails (thanks @quesswho in #470) Fixed corrupted unicode characters in readme (thanks @Ziocash in #465) New Contributors @simonkovtyk made their first contribution in #484 @HarryVGI made their first contribution in #472 @quesswho made their first contribution in #470 @Ziocash made their first contribution in #465 Full Changelog: v5.0.10...v5.1.0 View on GitHub
-
Added machineFriendlyName option to LoginSession's constructor options View on GitHub
-
It should, yeah.
-
abcdef started following how to open a container in cs2?
-
will it be fine to try the same method used in node-tf2?
-
TheMaster changed their profile photo
-
fixed for now i guess
-
Found it, 233 has a misleading name but it is actually the graffiti tint If anyone else needs this, yes, grafittis do have stickers, and their 0th (1st) sticker sticker_id is the graffiti, then you put that things item_name into csgo_english.txt and you get its name, like '1701 is Keep The Change'
-
abcdef joined the community
-
I already tried checking attributes, but I don't understand at all how to read them properly array is the item.attribute, and result below is my attempt at .toString()'ing the value_bytes and I don't think thats how you decode that if I'm reading this stuff right, then info from items_game.txt: attribute 277 is "free reward status", 113 is apparently 'sticker slot 0 id'??, 223 is 'tournament mvp account id'???? after reading them with Buffer.readInt8() they give 1, -83 and 4, so still no info about tint
-
Thank you for clarification!
-
steam-session can approve QR login attempts, but not standard password logins.
-
read the mobile access token thingy
-
Indeed. I would like to replicate the same functionality. Automatically approve logins.