Jump to content
McKay Development

All Activity

This stream auto-updates

  1. Today
  2. Hello, not sure if you guys are still having problems. I found an open repository by a Russian user that successfully allows you to redeem the stars from the armory. https://github.com/gradinazz/cs2-stars
  3. I'm trying to make my own API calls for a game I play called The Outlast Trials to scrape data for a site I'm making. I have used Requestly to view network traffic of the game but for some reason it won't fully log me in to the game when I have Requestly capturing all system traffic so I can't view every call the game makes. I have been able to view the initial authentication though, which shows me my API key and I'm able to make calls for certain stat leaderboards because the game log file has occasional information about where it's sending API requests to. This is great for manually scraping data, but the API key only lasts 60 minutes. I have no way to refresh the token and I'm struggling to generate my own because of the Steam ticket. The authentication call looks like this, and returns a valid key when successful. url = "https://prod.rbg-services.com/auth/public/sessions" headers = { "accept": "*/*", "accept-encoding": "gzip", "accepts": "application/json", "content-type": "application/json", "host": "prod.rbg-services.com", "user-agent": "X-OPP-Client", } payload = { "steamApplicationId": 1304930, "platform": "steam", "applicationId": "0e67af76-2839-4451-880b-471a48757e09", "apiKey": "", "releaseKey": "vbrzgw2mGlM5Axa9Ier4ApOQYjuVfG", "language": "en", "acceptedPolicyDocuments": [], "platformAppId": "", "clientEnvironment": "prod", "eosIdToken": "", "ticket": "1400000057CCF54021E8213ACBC7851A01001001E1F3C669180000000100000005000000B97E69F3378D98133C0E9A0005000000B80000003800000004000000CBC7851A0100100162E913002F16BF26714B088A00000000DB88C7695B38E36901003F070F00010042103A0000000000914F34EA6FAFD8B191CDB648EAB978CCE7D52896BA455C2EC3092DEEFA2890393C7C13E04228CD368EF5724D2C921C12189D12220F25A1DB8D1E52B1AA8D139849A9FF5CFE8AA82787AE56D1D92F501135D20CE650F27408C923FDF71F82645835175DB5AC64E487F1412B765BE528989582557B7ED1E95D9C94A31CD6161156" } I've left out my eosIdToken because I've already figured out how to generate that but the ticket in that code was a valid ticket. I've noticed they all start with 14000000 I've tried using https://github.com/ValvePython/steam and the two methods, 'get_encrypted_app_ticket(1304930, b"")' and 'get_app_ticket(1304930)' but when I do this and convert the ticket to hex, I am given a much shorter string E0BB0AE58DF917D6F1D1B4308300C253039CCBED224918AFAD639B156E425CFD91575EE2521A6F122B9B2D74B23862D127DA156CB63D0D222D3D6470E8999413F0253E087A4CA727FA439BC8AA7DE2867F0EC7AF64DD88E2881CC9A079A61CFD003709A3B72A841B9D6C4718AA630E9B19E25A1905E651CFF38D13515C5BC034 for encrypted and 77D882516B73FE44CCD75225B0CCB5033B7D0B5AA6D67A28623057E31600E940B3817148BEE2E9EFD81BB283A57E231AB9A2876BA87626A2A57F1BC34051679518C0E92AF7621712E895E7D22B96EEB2A569A15448A8BFAAF4389F91E53FE43278944A16A9520A10462D7A0A7241F0CB7EE203588970BFE262300D9F41AB6C3 for non encrypted When I try these strings as the ticket, I'm returned "Unexpected response format when processing steam authentication. Params key not found in body." I'm not sure if the ticket includes other data before the Steam ticket but I'm super confused on what to do next. Any help is appreciated if this is even possible, I'm not very experienced with this stuff at all
  4. Yesterday
  5. Added asset properties to loadPartnerInventory response by @BRobin55 in #367 Full Changelog: v2.12.2...v2.13.0 View on GitHub
  6. https://github.com/DoctorMcKay/node-steamcommunity/releases/tag/v3.50.0
  7. Add asset_properties support to getInventoryContents by @DarkGL in #365 Full Changelog: v3.49.0...v3.50.0 View on GitHub
  8. Last week
  9. I'll get to it soon, hopefully tomorrow.
  10. Hey @DoctorMcKay, any reason, why this PR is not merged yet or do you plan to integrate it in a different way? https://github.com/DoctorMcKay/node-steamcommunity/pull/365 @Dr. McKay
  11. That embedded inspect link simply doesn't have a wear value in it.
  12. If value_bytes is 4 bytes, it's either a 32-bit int or a float. stored_as_integer in items_game.txt will tell you whether to read it as an int or as a float. The vast majority of attributes are either ints or floats. 2013, 2014, and 2025 are all stored as floats, so you should use Buffer.readFloatLE to read them.
  13. Earlier
  14. Same issue. 75->150->300->600->1000 not working I can fetch just by 300 chunks and merge it
  15. Hello, I'm using a local decoder + your solution introduced on 3.3, but there are items that don't have float/wear. For example, this protobuff: 657596FDE081DC647DE66145654D6355660DE6E5E5E5691561C1D44731 Is this a steam limitation(not sending the float) or something wrong? I noticed that this tends to happen on freshly acquired items(trade offers) after the 7-day hold
  16. I have several items in a tf2 backpack which have attributes I would like to read on backpack load. For example, I have a professional killstreak item which sheen and killstreaker I would like to read using node-tf2: "attribute": [{ "def_index":2013, "value":null, "value_bytes": { "type":"Buffer", "data": [0,160,250,68] } }, { "def_index":2014, "value":null, "value_bytes": { "type":"Buffer", "data":[0,0,192,64] } }, { "def_index":2025, "value":null, "value_bytes": { "type":"Buffer", "data":[0,0,64,64] } }] While I know that def_index is referring through the attribute's id in items_game.txt, I'm struggling to figure out how to convert the attribute's value_bytes into a human-readable value. Is there any documentation on this? Value_bytes also seems to be able to be something other than a single integer, such as when defined by fabricators to list their crafting recipe. I'd also like to know how to parse these as well.
  17. I published globaloffensive v3.3.0 last night, which makes inspectItem() work with the new masked inspect links.
  18. You need correctly authenticate and validate user into server
  19. Support for this new form of inspect link has been added to globaloffensive v3.3.0. While it's not actually required to connect to the GC to decode these, if you want to avoid making code changes (and support older styles of inspect links) then this will work as a drop-in upgrade.
  20. Hi, My guess is that they changed it when they made listed items on the Community Market remain in your inventory. Since there were previously two inspect link structures, one for the market and one for the inventory, they seem to have merged them into one general inspect link structure ("masked" inspect link) You can extract the asset ID from it (itemid), but I do not think the steamid ("ownerid") can be extracted from it. You can decode from the "Item certificate" (here being: 92826859045B28938A6E91B20991BA94A291AA016F546091D24895FAE5E29A90E5B003) To the protobuf (CEconItemPreviewDataBlock) and from there also the item details: { "defindex": 508, "inventory": 119, "itemid": "50082457082", "origin": 8, "paintindex": 411, "paintseed": 986, "paintwear": 1045544595, "paintwear_float": 0.20482854545116425, "quality": 3, "rarity": 6 } I "vibe-coded" also a repo for this: Repository So in short the repo does this: Hex-decodes the certificate. Uses the first byte as the XOR key. XORs every byte with that key. Drops the leading `00` byte. Drops the trailing 4-byte trailer/checksum. Returns the remaining bytes as the protobuf payload. Also i saw that, with this change, the market history (and trade history) no longer expose valid inspect links anymore only references to , at least for "skins"/non-common items.
  21. Hi. Now all inspect links are masked here is my libs to parse https://github.com/vlydev/cs2-masked-inspect-python https://github.com/vlydev/cs2-masked-inspect-js https://github.com/vlydev/cs2-masked-inspect-php https://github.com/vlydev/cs2-masked-inspect-csharp https://github.com/vlydev/cs2-masked-inspect-go https://github.com/vlydev/cs2-masked-inspect-rust https://github.com/vlydev/cs2-masked-inspect-kotlin https://github.com/vlydev/cs2-masked-inspect-ts
  22. Hello everybody. Did you notice that valve just changed the representation of cs inspect links? This is how it looks now: steam://run/730//+csgo_econ_action_preview%2092826859045B28938A6E91B20991BA94A291AA016F546091D24895FAE5E29A90E5B003 Any ideas how to get asset id, server inspect id or owner id from it? Any ideas why they did that?
  23. It's quite convenient that the inventory response now includes asset_properties. assets (100) descriptions (92) asset_properties (98) more_items 1 last_assetid "44889606861" total_inventory_count 983 success 1 rwgrsn-2 However, for huge inventories, Steam doesn't include them in the response, their cache needs to be warmed up. This is bad because for an inventory of 999 items, you need to make as many as 5 requests along the chain count=75->150->300->600->1000 . Whereas Steam does this in 2 requests: https://steamcommunity.com/inventory/_/730/2?l=en&count=75&preserve_bbcode=1&raw_asset_properties=1 https://steamcommunity.com/inventory/_/730/2?l=en&count=2000&preserve_bbcode=1&raw_asset_properties=1&start_assetid=44889606861 Any attempts to repeat the process with count=2000 on the second request don't give me a result with asset_properties. Same cookies, same delay, same headers Any thoughts?
  24. I tested using your method and was able to successfully retrieve the star balance, but the redemption times out - possibly due to protocol mismatch. Could you please share if you have any updated strategies? The following is the log: [Armory batch open] Request openCount(stars)=400 [Armory batch open] Reusing existing login session [Armory] getArmoryBalance source: xpShop (type_id 6), redeemable_balance=400 [Armory batch open] balanceBefore=400 openCount=400, 4 stars per item → redeem count=100 [Armory batch open] Redeem 1/100 defindex=4028 Armory: Sending GC UseItem(1025) defindex=4028 payloadLen=3 payloadHex=08bc1f Armory: Timeout (no GC messages received in 30s, GC may not be responding to 1025) [Armory batch open] 1025 timeout, trying 9219... Armory: Sending GC 9219 ClientRedeemFreeReward defindex=4028 genTime=1773404500 balance=400 Armory: 9219 timeout (0 GC messages in 30s) [Armory batch open] 9219 timeout, trying 9209... Armory: Sending GC 9209 ClientRedeemMissionReward defindex=4028 balance=400 expectedCost=4 Armory: 9209 timeout [Armory batch open] Timeout 202, 0 items opened balanceAfter=400
  25. so the problem is that i received an item in my inventoy its not appearing on the incoming history but is appearing in the trade history whats causing this behaviour.
  26. still the same, out of 700 inspects more 400 get a timeout
  27. Hello, I am successfully creating valid auth session tickets using the createAuthSessionTicket api, but after a few minutes they get cancelled. Do I need to keep a client alive somehow for them to stay valid? Please forgive my ignorance. Best, James
  1. Load more activity
×
×
  • Create New...