All Activity
- Today
-
Memory leak in steamUser when using enablePicsCache / picsCacheAll
Dr. McKay replied to FloatingF's topic in node-steam-user
It's not really a memory leak, it's by design. picsCacheAll is especially going to consume lots of memory since it caches all app data it ever comes across. You really shouldn't use picsCacheAll in any app that lives longer than a few hours, and you should avoid using picsCache in general unless you really need it. For what purpose do you need the pics cache? - Yesterday
-
I’m using the functions `enablePicsCache` and `picsCacheAll` in `steamUser`. However, I believe these two features eventually lead to a memory leak. Is this a known issue or intended behavior? The `picsCache` keeps growing over time (this becomes especially noticeable when running 5 or more bots simultaneously), until after a few days the JavaScript Heap runs out of memory and crashes, since the Cache cannot be garbage collected. When these functions are not enabled, this memory leak does not occur. In Chrome DevTools, most of the consumed memory can also be traced back to `picsCache`. Is there a way to store this `picsCache` on disk (or in some other form of persistent storage) instead of keeping it in memory, in order to prevent the memory leak?
-
FloatingF joined the community
- Last week
-
Tried calling CMsgClientRichPresenceRequest through Steamworks with nethook attached, and CMsgClientRichPresenceRequest is still working and not null
-
aussietopescorts joined the community
-
Well thats not good
-
flameoflust69 joined the community
-
Yeah, it seems CMsgClientRichPresenceRequest isn't working. You can listen to user event if your bot is friends with the target account. Another limitation is that it can't check invisible users
-
Vinnyard joined the community
-
Kot joined the community
-
How to confirm bought items with steam-tradeoffer-manager?
Kot replied to Wolvi's topic in node-steam-tradeoffer-manager
Hello. How you solution problem ? -
filezilla reacted to a post in a topic: requestRichPresence returns empty object
-
Yeah same for me seems like something is outdated or steam privated it
-
filezilla joined the community
-
gerzy started following requestRichPresence returns empty object
-
I’ve been using requestRichPresence without issues, but after today’s Steam maintenance (3rd September 2025), it no longer returns any data. Expected result (before today): { "users": { "76561198006409530": { "richPresence": { "status": "Playing CS:GO", "version": "13765", "time": "15.851017", "game:state": "lobby", "steam_display": "#display_Menu", "connect": "+gcconnectG02C0193A" }, "localizedString": "Playing CS:GO" } } } Result after maintenance: { "users": { } } node-steam-user version: 5.2.3 Node.js version: 22.11.0
-
gerzy joined the community
- Earlier
-
We can say that for my accounts, because I get the maFile and the full login and password of the account. I kind of started getting account statuses by listening to accountLimitations, but for some reason it returns a response after authorization for a very long time, about 30-60 seconds, sometimes it happens even longer.
-
I have got many gost items in steam csgo gamecoordinator. Ref this code https://github.com/DoctorMcKay/node-globaloffensive/blob/master/handlers.js If postion>0,is it an valid item?
-
Matt joined the community
-
node-globaloffensive, inspectItem - Parsing masked inspect links
Matt replied to stepan__sykora's topic in General
You're correct that it's a hex string of the protobuf object bytes. To parse it, just drop the leading null byte and trailing four checksum bytes, then deserialize to the CEconItemPreviewDataBlock proto object. See here for an example using SteamKit. Note that not all fields are optional still. For example, CSFloat appears to remove the itemid to help preserve a hidden seller's identity. -
guys i'm dump, doctormckay's lib still good, the reason is third application
-
Hi! I’m building an automated Steam account manager and need to reliably fetch all possible account status flags for a given account, including: VAC bans (vacBanned) Trade bans and restrictions (tradeBanState, “red warning” banners) Market restrictions (e.g. “not allowed to use the Community Market”, cooldowns, etc.) Limited account status (isLimitedAccount) Any “red warning”/security flags shown on the profile (e.g. “This account has been restricted”, “Community banned”, etc.) I’m currently using node-steamcommunity and my code looks like this const SteamCommunity = require('steamcommunity'); const community = new SteamCommunity(); community.setCookies(cookies); // cookies from steam-session (WebBrowser) community.getSteamUser(steamId, (err, user) => { if (err) { // Often get: 'The specified profile could not be found.' // Sometimes get HTTP 302 redirect to /id/<customURL> // Sometimes get empty user object console.warn('getSteamUser error', err); return; } // Trying to read: // user.vacBanned, user.tradeBanState, user.isLimitedAccount // But sometimes these fields are missing or user is undefined console.log('User status:', { vacBanned: user.vacBanned, tradeBanState: user.tradeBanState, isLimitedAccount: user.isLimitedAccount, // ...other fields? }); }); Questions: What is the most reliable way to get all these status flags for any account (including limited, banned, restricted, etc.)? Is there a better method or recommended workflow to avoid “profile not found” errors and reliably get all status fields? How do I detect “red warning” banners (community ban, trade ban, market ban) if getSteamUser fails or returns incomplete data? Any best practices for cookies/session setup to maximize success rate? Thanks for any advice or code examples! 💙
-
Using IEconItems_440 instead of CEconItems
Dr. McKay replied to Crit12's topic in node-steam-tradeoffer-manager
No, you'd need to use that API yourself. IEconItems_440 is a TF2-specific API and steam-tradeoffer-manager is general for all Steam assets. -
Crit12 started following Using IEconItems_440 instead of CEconItems
-
I'm trying to get the defindex and original id of tf2 items in a trade; is there anywhere where I can plug in the use of IEconItems_440 over the use of CEconItems?
-
Crit12 joined the community
-
Best way to check if Client is still logged in ?
mjavad_mllw replied to mjavad_mllw's topic in node-steam-user
thanks sir But I have a problem with my bot. Whenever the bot logs out for any reason, it doesn't log back in because when I send a trade request or check my inventory etc., steamID is empty. any idea on this ? -
Sounds like it.
-
Best way to check if Client is still logged in ?
Dr. McKay replied to mjavad_mllw's topic in node-steam-user
Read the docs please. You should not call logOn() inside of the disconnected event as steam-user will handle reconnecting automatically. Checking the steamID property is how you can tell whether you're currently logged in or not. -
How to check for steam guard mobile?
Ultra_Om replied to rahimi0151's topic in node-steam-tradeoffer-manager
There are no alternative ways, or at least find out the number of days left? Send offer, extract data, then cancel offer. -
Hi, I'm getting Malformed login response error when calling getWebCookies() and using refreshToken for signing in. I also checked the case when I login using the credentials, 'authenticated' event is fired, but a bit later Malformed login response error is thrown. This all happens when using http proxy(for some of the proxies), is this the issue on proxies side?
-
mjavad_mllw started following Best way to check if Client is still logged in ?
-
what is the best way to check if my client is still logged in ? and if the client logged out how to relogin again ? btw i have sth like this but it does not work: // this should relogin again but wont work client.on("disconnected", (eresult, msg) => { console.log(`Disconnected from Steam: ${msg} (${eresult})`); setTimeout(() => { if (client.steamID === null) { try { client.logOn(logOnOptions); } catch (error) { console.error(error); } } }, 5000); }); // the way i check if client is logged in or not function isLoggedIn() { return client.steamID; }
-
I believe you wouldn't receive that message if there are no other playing sessions.