All Activity
- Past hour
-
There is anyway to generate or understand what it is responsible for server_secret in css ?
- Today
-
currency mismatch
-
You're far more than one step away. Joining a community server is not supported and never will be, as you'd have to implement VAC which nobody has been insane enough to try.
-
Thank you so much for your help! Your last tip was the key. We can see the "In-Game" status on the Steam profile, and the `connectedToGC` event fires correctly. Now we are facing the final step: making the bot connect to a specific community server by its IP address. We have tried a couple of logical approaches that failed, and we are a bit lost. Our failed logic was: 1. After `connectedToGC` fires, we first tried to find a function like `csgo.getServerDetails('ip:port', ...)` to get the server's SteamID, but that function doesn't exist. 2. Then, we tried a different approach by creating a lobby first with a function like `csgo.createLobby()` and then joining from there, but that function also doesn't exist. Our question is: What is the correct method or sequence of events within your libraries to make a logged-on client, which is already connected to the GC, join a specific game server by its IP address (e.g., `123.45.67.89:27015`)? We feel like we are just one step away. Any guidance you could provide would be incredible. Thank you again!
-
diegob reacted to a post in a topic: [node-globaloffensive] Connection to CS2 Game Coordinator times out
- Yesterday
-
Where are you getting a 'ready' event from? No such event exists in globaloffensive. It's connectedToGC.
- Last week
-
diegob reacted to a post in a topic: [node-globaloffensive] Connection to CS2 Game Coordinator times out
-
After following your last advice (removing my modifications), the script now works partially. My Steam profile correctly shows my account as "In-Game: Counter-Strike 2". However, the script itself still hangs. The `ready` event from `globaloffensive` never fires. The console shows a successful login, but nothing after that. It seems `steam-user` is working correctly, but the handshake with the Game Coordinator is still failing silently.
-
Werther joined the community
-
It wouldn't show as in-game on the profile unless you set your persona state to Online with the setPersona() method, although that wouldn't affect connecting to the GC. Are you still using your modifications to global offensive? Try getting rid of those, as those weren't your problem.
-
jerrey reacted to a post in a topic: After I successfully call the method this.client.gamesPlayed([730]), haveGCSession is false
-
diegob reacted to a post in a topic: [node-globaloffensive] Connection to CS2 Game Coordinator times out
-
I tested it on a brand new account with only the CS2 license. It shows in the 'Recently Played' activity that the game was launched, but it doesn't show that the game is currently running in the Steam status. Any idea?
-
Set your client's persona state to Online and then check the account's Steam profile to make sure it's actually launching CS. If it doesn't appear as in-game, you're doing something else wrong.
-
Init payload: { country: '', language: 8, currency: 0, line_items: [ { item_def_id: 5117, quantity: 1, cost_in_local_currency: 2200, purchase_type: 0 } ] } Init failed: 8 What am I doing wrong?
-
diegob reacted to a post in a topic: [node-globaloffensive] Connection to CS2 Game Coordinator times out
-
Hi Dr. McKay, I corrected the code to use the `gamesPlayed()` function call as you suggested. Unfortunately, the problem remains exactly the same: the connection to the Game Coordinator still times out. Is there any other possible code change you can think of that might solve this? Sorry to keep bothering you with this. I'm just really keen on getting this code to work.
-
filezilla reacted to a post in a topic: requestRichPresence returns empty object
-
This is normal if your steam-user client shut down without properly logging off recently. I believe what happens is the GC never receives a notification of the client disconnecting, so it keeps your session active even though you're no longer there. You can typically solve this by calling logOff() if you don't get a session in a reasonable time, then logging on again.
-
client.gamesPlayed = [730]; // Announce we are "playing" CS2 This is your problem. The correct usage is: client.gamesPlayed([730]);
-
dwqwd joined the community
-
Fixed this by updating the schema steammessages_clientserver_2.json "CMsgClientRichPresenceInfo": { "edition": "proto2", "fields": { "rich_presence": { "rule": "repeated", "type": ".CMsgClientRichPresenceInfo.RichPresence", "id": 1 } }, "nested": { "KV": { "fields": { "key": { "type": "string", "id": 1 }, "value": { "type": "string", "id": 2 } } }, "RichPresence": { "fields": { "steamid_user": { "type": "fixed64", "id": 1 }, "rich_presense": { "rule": "repeated", "type": ".CMsgClientRichPresenceInfo.KV", "id": 3 } } } } }, And make changes for requestRichPresence inside friends.js because it returns array of object now not bytes let response = {}; body.rich_presence = body.rich_presence || []; for (let rp of body.rich_presence) { let kv = rp.rich_presense; if (!kv || !rp.steamid_user || kv.length == 0) { continue; } response[rp.steamid_user] = { richPresence: kv, localizedString: null, }; } resolve({users: response});
-
diegob reacted to a post in a topic: [node-globaloffensive] Connection to CS2 Game Coordinator times out
-
Hi Dr. McKay, thanks again for the reply. Yes, I believe I'm logging on correctly, but I would really appreciate it if you could take a quick look at my minimal test script, just to be sure I'm not missing anything obvious. The code is pasted below. It always logs in successfully but then times out waiting for the Game Coordinator to respond. Thank you for your time. index.js
-
I'm running into a weird issue with the GC session in CS:GO. As you can see in the screenshot, I'm logged in, but haveGCSession is showing as false. The strange part is that it doesn't happen every time—sometimes it's true. Any idea what's going on? async loginGame(appId = 730){ logger.info('loginGC', this.config.steamId, ';', this.getClientGC().haveGCSession); if(!this.getClientGC().haveGCSession){ this.client.gamesPlayed([appId]); await sleep(1000) } return { code:200, success: true, data: null } } checkStatus(){ return { code:200, success: true, data: { isSteamConnected: !!this.client.steamID?.toString(), isGCClientConnected: this.getClientGC().haveGCSession } } }
-
I'm not aware of any other requirements like you describe. Are you sure that you're logging onto Steam correctly?
- Earlier
-
Thank you for that insight on GC bans. It was a very strong theory, but we have a confusing result that seems to contradict it. We ran the test one last time using a "clean" main account. This account has zero history of botting, scripting, or any automated activity – it has only ever been used for normal gameplay through the official Steam client. The result was exactly the same: a successful login, followed by a consistent timeout when trying to connect to the Game Coordinator. The `ready` event never fires. Since this happens even on a clean account, it suggests the issue isn't related to the account's *past* history. Is it possible that the GC now instantly flags any account that attempts a non-client login? Or is there any other subtle account requirement (like profile privacy settings, Steam Guard configuration, etc.) that could be causing the GC to silently refuse the connection? This is our final piece of the puzzle, and we're completely stuck. Any final thoughts you have would be incredibly helpful.
-
diegob reacted to a post in a topic: [node-globaloffensive] Connection to CS2 Game Coordinator times out
-
No, there's no other prerequisite. Were you previously using these accounts for something like requesting item data? I've heard reports of people having their accounts "banned" from connecting to the GC after doing so.
-
diegob reacted to a post in a topic: [node-globaloffensive] Connection to CS2 Game Coordinator times out
-
Thanks for the quick response, Dr. McKay. Yes, the accounts we're testing with do own a CS2 license. We've tried this with several accounts, including a main account that has owned the game for years, and also a newer account. To be certain, we even used the `client.requestFreeLicense([730])` method from `steam-user`, and the callback confirmed that the license was already owned on every account we tested. That's why we are so puzzled. Even with the license confirmed, every single connection attempt to the CS2 GC times out, and the `ready` event from `globaloffensive` never fires. This behavior is consistent across different PCs and different networks. Is there any other common prerequisite for the account that we might be missing? For example, does the account need to have Prime Status, or have launched CS2 at least once manually via the official client? We appreciate you taking the time to help us debug this.
-
They're likely to be protobuf objects that are defined in the CS2 protobufs. I don't have any source off-hand to map type_ids to protobuf definitions; your best bet is likely to just try parsing data using various definitions and see what looks right.
-
I'm currently trying to decode the out_of_date_subscribed_caches from the CS2 GC clientWelcome message. However, I don’t know where to find the definitions or type_ids needed to parse the object data. I noticed that Node-GlobalOffensive is only parsing type_id 1. I want to retrieve the current XP of the account as well as additional information. Therefore, I would like to parse all type_ids if possible. Here is the out_of_date_subscribed_caches: [ { objects: [ { object_data: [ new Uint8Array([8, 5, 24, 1, 32, 144, 250, 241, 198, 6, 40, 2]), ], type_id: 2, }, { object_data: [ new Uint8Array([8, 246, 220, 169, 198, 6, 16, 0, 24, 238, 165, 128, 128, 128, 128, 128, 128, 240, 1, 24, 197, 185, 213, 236, 172, 1, 24, 191, 128, 196, 169, 128, 128, 128, 128, 240, 1, 24, 199, 185, 213, 236, 172, 1]), ], type_id: 4, }, { object_data: [ new Uint8Array([8, 238, 146, 176, 198, 6, 16, 200, 1, 24, 224, 93, 24, 224, 93, 24, 224, 93, 24, 224, 93, 24, 224, 93]), ], type_id: 6, }, { object_data: [ new Uint8Array([8, 0, 101, 144, 66, 211, 104, 104, 131, 130, 128, 128, 6, 112, 5, 120, 5]), ], type_id: 7, }, { object_data: [ new Uint8Array([8, 161, 159, 128, 128, 128, 128, 128, 128, 240, 1, 16, 188, 197, 224, 214, 6, 24, 133, 128, 128, 128, 12, 32, 161, 31, 56, 4, 64, 24, 72, 8, 152, 1, 1]), new Uint8Array([8, 164, 128, 244, 131, 128, 128, 128, 128, 240, 1, 16, 188, 197, 224, 214, 6, 24, 133, 128, 128, 128, 12, 32, 36, 56, 1, 64, 24, 72, 8, 98, 8, 8, 6, 26, 4, 0, 0, 250, 66, 152, 1, 4]), new Uint8Array([8, 197, 185, 213, 236, 172, 1, 16, 188, 197, 224, 214, 6, 24, 1, 32, 13, 56, 4, 64, 0, 72, 24, 98, 9, 8, 149, 2, 26, 4, 1, 0, 0, 0, 98, 8, 8, 6, 26, 4, 0, 96, 159, 68, 98, 8, 8, 7, 26, 4, 176, 248, 62, 68, 98, 8, 8, 8, 26, 4, 221, 253, 49, 62, 152, 1, 1]), new Uint8Array([8, 199, 185, 213, 236, 172, 1, 16, 188, 197, 224, 214, 6, 24, 1, 32, 196, 10, 56, 4, 64, 0, 72, 24, 98, 9, 8, 149, 2, 26, 4, 1, 0, 0, 0, 98, 8, 8, 113, 26, 4, 175, 6, 0, 0, 98, 9, 8, 233, 1, 26, 4, 9, 0, 0, 0, 152, 1, 1]), ], type_id: 1, }, ], version: "29496881091084074", owner_soid: { type: 1, id: "76561XXXXXXXX", }, }, ]
-
FadingSky joined the community
-
sakitam joined the community
-
The latest version of globaloffensive is working fine for me. Do your accounts own a CS2 license?