Modern CS2/CS:GO Game Coordinator integration with the latest GameTracking-CS2 protobuf definitions. This package provides a simple API for interacting with the Counter-Strike 2 and CS:GO Game Coordinator, with full support for all modern CS2 features.
- Latest Protobuf Definitions - Always up-to-date with GameTracking-CS2
- Complete Field Support - All modern CS2 fields including
highlight_reel,wrapped_sticker,variations - Promise-Based API - Modern async/await support with backward-compatible callbacks
- Volatile Items - Support for rental items and temporary items
- XP Shop & Rewards - Redeem rewards and track XP progress
- Recurring Missions - Request and track mission schedules
- Premier Season - Access premier season data and leaderboards
- Enhanced Error Handling - Comprehensive error detection and validation
- 100% Backward Compatible - Drop-in replacement for
globaloffensive
npm install node-cs2const SteamUser = require('steam-user');
const NodeCS2 = require('node-cs2');
const user = new SteamUser();
const cs2 = new NodeCS2(user);
user.logOn({
accountName: 'your_username',
password: 'your_password'
});
user.on('loggedOn', () => {
user.gamesPlayed([730]); // CS2/CS:GO app ID
});
user.on('appLaunched', (appid) => {
if (appid == 730) {
cs2.helloGC();
}
});
cs2.on('connectedToGC', async () => {
// Inspect an item
const item = await cs2.inspectItem('76561198057249394', '2569415699', '7115007497');
console.log('Item:', item);
});// Promise style
const item = await cs2.inspectItem(owner, assetid, classid);
// Callback style
cs2.inspectItem(owner, assetid, classid, (item) => {
console.log(item);
});// Load volatile item contents
const items = await cs2.loadVolatileItemContents(volatileItemId);
// Claim volatile item reward
await cs2.claimVolatileItemReward(defindex);// Redeem free reward
await cs2.redeemFreeReward(generationTime, redeemableBalance, items);
// Listen for XP shop updates
cs2.on('xpShopNotification', (data) => {
console.log('XP:', data.current_xp, 'Level:', data.current_level);
});// Request mission schedule
const schema = await cs2.requestRecurringMissionSchedule();// Set leaderboard safe name
cs2.setLeaderboardSafeName('MySafeName');
// Listen for premier season data
cs2.on('premierSeasonSummary', (summary) => {
console.log('Premier season:', summary);
});// Open a crate
await cs2.openCrate(toolItemId, subjectItemId);
// Extract/encapsulate stickers
await cs2.extractSticker(itemId, stickerSlot);
await cs2.encapsulateSticker(stickerId);
// Apply/remove patches
await cs2.applyPatch(itemId, patchId, patchSlot);
await cs2.removePatch(itemId, patchSlot);
// Apply/remove keychains
await cs2.applyKeychain(itemId, keychainId, keychainSlot);
await cs2.removeKeychain(itemId, keychainSlot);- EXAMPLES.md - Comprehensive usage examples
- DETAILED_DOCUMENTATION.md - Complete API reference and technical details
- MEDIUM_PRIORITY_FEATURES.md - Feature implementation status
This package is 100% API compatible with the original globaloffensive package:
// Old
const GlobalOffensive = require('globaloffensive');
// New - just change the require!
const NodeCS2 = require('node-cs2');
// All your existing code works unchanged!
const cs2 = new NodeCS2(steamUser);- Missing Fields -
highlight_reelandwrapped_stickernow properly extracted - Modern CS2 Support - All new CS2 fields and arrays supported
- Error Handling - Comprehensive error detection and validation
- Code Quality - Deduplication, better maintainability
- Node.js >= 14.0.0
- steam-user >= 4.2.0
MIT License - see LICENSE file for details.
- Original Author: DoctorMcKay - Original
globaloffensivepackage - Protobuf Definitions: SteamDatabase GameTracking-CS2
- Fork Maintainer: sak0a
New Features:
- Added crate opening support (
openCrate()) - Added sticker operations (
extractSticker(),encapsulateSticker()) - Added patch operations (
applyPatch(),removePatch()) - Added keychain operations (
applyKeychain(),removeKeychain())
Improvements:
- All new methods support Promise and callback APIs
- Configurable timeouts for all operations
- Comprehensive error handling
New Features:
- Added 18 missing message IDs to
language.js - Added 10 missing notification types to
enums.js - Prepared library for high-priority feature implementations
Improvements:
- Complete coverage of CS2 message IDs from latest protobuf definitions
New Features:
- Promise-based API for async methods
- Configurable timeouts for all operations
- Support for
variationsarray - Enhanced error handling
Bug Fixes:
- Fixed missing
highlight_reelfield extraction - Fixed missing
wrapped_stickerfield extraction - Fixed protobuf decoding errors not being caught
- Fixed missing field validation
Improvements:
- Updated to latest GameTracking-CS2 protobuf definitions
- Code deduplication with reusable helper functions
- Better error handling throughout the codebase
Initial Release:
- Forked from
globaloffensivepackage - Updated protobuf definitions from GameTracking-CS2
- Fixed critical missing fields in item inspection
- Added support for modern CS2 features
For detailed release notes, see RELEASE_NOTES.md.
- Issues: GitHub Issues
- Examples: See EXAMPLES.md
- Documentation: See DETAILED_DOCUMENTATION.md