steamworks-ffi-node 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -4
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/SteamAPICore.d.ts +12 -53
- package/dist/internal/SteamAPICore.d.ts.map +1 -1
- package/dist/internal/SteamAPICore.js +18 -65
- package/dist/internal/SteamAPICore.js.map +1 -1
- package/dist/internal/SteamAppsManager.d.ts +523 -0
- package/dist/internal/SteamAppsManager.d.ts.map +1 -0
- package/dist/internal/SteamAppsManager.js +998 -0
- package/dist/internal/SteamAppsManager.js.map +1 -0
- package/dist/internal/SteamCallbackPoller.d.ts +77 -0
- package/dist/internal/SteamCallbackPoller.d.ts.map +1 -1
- package/dist/internal/SteamCallbackPoller.js +200 -0
- package/dist/internal/SteamCallbackPoller.js.map +1 -1
- package/dist/internal/SteamCloudManager.d.ts +86 -1
- package/dist/internal/SteamCloudManager.d.ts.map +1 -1
- package/dist/internal/SteamCloudManager.js +142 -0
- package/dist/internal/SteamCloudManager.js.map +1 -1
- package/dist/internal/SteamLibraryLoader.d.ts +155 -2
- package/dist/internal/SteamLibraryLoader.d.ts.map +1 -1
- package/dist/internal/SteamLibraryLoader.js +230 -3
- package/dist/internal/SteamLibraryLoader.js.map +1 -1
- package/dist/internal/SteamMatchmakingManager.d.ts +743 -0
- package/dist/internal/SteamMatchmakingManager.d.ts.map +1 -0
- package/dist/internal/SteamMatchmakingManager.js +1400 -0
- package/dist/internal/SteamMatchmakingManager.js.map +1 -0
- package/dist/internal/SteamNetworkingSocketsManager.d.ts +447 -0
- package/dist/internal/SteamNetworkingSocketsManager.d.ts.map +1 -0
- package/dist/internal/SteamNetworkingSocketsManager.js +1050 -0
- package/dist/internal/SteamNetworkingSocketsManager.js.map +1 -0
- package/dist/internal/SteamNetworkingUtilsManager.d.ts +369 -0
- package/dist/internal/SteamNetworkingUtilsManager.d.ts.map +1 -0
- package/dist/internal/SteamNetworkingUtilsManager.js +655 -0
- package/dist/internal/SteamNetworkingUtilsManager.js.map +1 -0
- package/dist/internal/SteamScreenshotManager.d.ts +327 -0
- package/dist/internal/SteamScreenshotManager.d.ts.map +1 -0
- package/dist/internal/SteamScreenshotManager.js +459 -0
- package/dist/internal/SteamScreenshotManager.js.map +1 -0
- package/dist/internal/SteamUtilsManager.d.ts +564 -0
- package/dist/internal/SteamUtilsManager.d.ts.map +1 -0
- package/dist/internal/SteamUtilsManager.js +966 -0
- package/dist/internal/SteamUtilsManager.js.map +1 -0
- package/dist/internal/SteamWorkshopManager.d.ts +24 -0
- package/dist/internal/SteamWorkshopManager.d.ts.map +1 -1
- package/dist/internal/SteamWorkshopManager.js +74 -0
- package/dist/internal/SteamWorkshopManager.js.map +1 -1
- package/dist/internal/callbackTypes/SteamCallbackIds.d.ts +10 -0
- package/dist/internal/callbackTypes/SteamCallbackIds.d.ts.map +1 -1
- package/dist/internal/callbackTypes/SteamCallbackIds.js +17 -1
- package/dist/internal/callbackTypes/SteamCallbackIds.js.map +1 -1
- package/dist/internal/callbackTypes/SteamCallbackTypes.d.ts +74 -0
- package/dist/internal/callbackTypes/SteamCallbackTypes.d.ts.map +1 -1
- package/dist/steam.d.ts +261 -0
- package/dist/steam.d.ts.map +1 -1
- package/dist/steam.js +22 -1
- package/dist/steam.js.map +1 -1
- package/dist/types/apps.d.ts +119 -0
- package/dist/types/apps.d.ts.map +1 -0
- package/dist/types/apps.js +26 -0
- package/dist/types/apps.js.map +1 -0
- package/dist/types/cloud.d.ts +11 -11
- package/dist/types/cloud.d.ts.map +1 -1
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +10 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/matchmaking.d.ts +365 -0
- package/dist/types/matchmaking.d.ts.map +1 -0
- package/dist/types/matchmaking.js +135 -0
- package/dist/types/matchmaking.js.map +1 -0
- package/dist/types/networking.d.ts +444 -0
- package/dist/types/networking.d.ts.map +1 -0
- package/dist/types/networking.js +364 -0
- package/dist/types/networking.js.map +1 -0
- package/dist/types/screenshots.d.ts +63 -0
- package/dist/types/screenshots.d.ts.map +1 -0
- package/dist/types/screenshots.js +44 -0
- package/dist/types/screenshots.js.map +1 -0
- package/dist/types/utils.d.ts +126 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/dist/types/utils.js +112 -0
- package/dist/types/utils.js.map +1 -0
- package/dist/types/workshop.d.ts +8 -0
- package/dist/types/workshop.d.ts.map +1 -1
- package/dist/types/workshop.js.map +1 -1
- package/docs/README.md +111 -12
- package/package.json +19 -1
package/README.md
CHANGED
|
@@ -37,12 +37,24 @@ A TypeScript/JavaScript wrapper for the Steamworks SDK using Koffi FFI, designed
|
|
|
37
37
|
|
|
38
38
|
> 🎉 **NEW: Overlay API** - 7 functions for complete Steam overlay control! [See Documentation](https://github.com/ArtyProf/steamworks-ffi-node/blob/main/docs/OVERLAY_MANAGER.md)
|
|
39
39
|
|
|
40
|
-
> 🎉 **NEW: Cloud Storage API** -
|
|
40
|
+
> 🎉 **NEW: Cloud Storage API** - 17 functions for complete Steam Cloud (Remote Storage) integration including batch writes! [See Documentation](https://github.com/ArtyProf/steamworks-ffi-node/blob/main/docs/CLOUD_MANAGER.md)
|
|
41
41
|
|
|
42
|
-
> 🎉 **NEW: Workshop API** -
|
|
42
|
+
> 🎉 **NEW: Workshop API** - 30 functions for complete Steam Workshop/UGC integration including item deletion! [See Documentation](https://github.com/ArtyProf/steamworks-ffi-node/blob/main/docs/WORKSHOP_MANAGER.md)
|
|
43
43
|
|
|
44
44
|
> 🎉 **NEW: Input API** - 35+ functions for complete Steam Input (controller) support! [See Documentation](https://github.com/ArtyProf/steamworks-ffi-node/blob/main/docs/INPUT_MANAGER.md) ⚠️ Tested with virtual gamepad only
|
|
45
45
|
|
|
46
|
+
> 🎉 **NEW: Screenshots API** - 9 functions for Steam Screenshots integration! [See Documentation](https://github.com/ArtyProf/steamworks-ffi-node/blob/main/docs/SCREENSHOT_MANAGER.md)
|
|
47
|
+
|
|
48
|
+
> 🎉 **NEW: Apps/DLC API** - 28 functions for DLC ownership, app metadata, and beta branches! [See Documentation](https://github.com/ArtyProf/steamworks-ffi-node/blob/main/docs/APPS_MANAGER.md)
|
|
49
|
+
|
|
50
|
+
> 🎉 **NEW: Matchmaking API** - 30+ functions for multiplayer lobby matchmaking! [See Documentation](https://github.com/ArtyProf/steamworks-ffi-node/blob/main/docs/MATCHMAKING_MANAGER.md) ⚠️ Requires two Steam accounts for testing
|
|
51
|
+
|
|
52
|
+
> 🎉 **NEW: Utils API** - 29 functions for system info, Steam Deck detection, image loading, and text filtering! [See Documentation](https://github.com/ArtyProf/steamworks-ffi-node/blob/main/docs/UTILS_MANAGER.md)
|
|
53
|
+
|
|
54
|
+
> 🎉 **NEW: Networking Utils API** - 15 functions for ping location, relay network, and data center information! [See Documentation](https://github.com/ArtyProf/steamworks-ffi-node/blob/main/docs/NETWORKING_UTILS_MANAGER.md)
|
|
55
|
+
|
|
56
|
+
> 🎉 **NEW: Networking Sockets API** - 34 functions for P2P connections, reliable messaging, and multi-player networking! [See Documentation](https://github.com/ArtyProf/steamworks-ffi-node/blob/main/docs/NETWORKING_SOCKETS_MANAGER.md) ⚠️ Requires two Steam accounts for testing
|
|
57
|
+
|
|
46
58
|
## Features
|
|
47
59
|
|
|
48
60
|
- **Core API**: Essential Steam application functions
|
|
@@ -84,24 +96,67 @@ A TypeScript/JavaScript wrapper for the Steamworks SDK using Koffi FFI, designed
|
|
|
84
96
|
- ✅ Open overlay web browser to URLs
|
|
85
97
|
- ✅ Open store pages with purchase options
|
|
86
98
|
- ✅ Show invite dialogs for multiplayer sessions
|
|
87
|
-
- **Cloud Storage API**: Complete Steam Cloud (Remote Storage) integration (
|
|
99
|
+
- **Cloud Storage API**: Complete Steam Cloud (Remote Storage) integration (17 functions)
|
|
88
100
|
- ✅ File operations (write, read, delete, check existence)
|
|
89
101
|
- ✅ File metadata (size, timestamp, persistence status)
|
|
90
102
|
- ✅ File listing (count, iterate, get all with details)
|
|
91
103
|
- ✅ Quota management (track storage usage and limits)
|
|
92
104
|
- ✅ Cloud settings (check/toggle cloud sync for account and app)
|
|
93
|
-
-
|
|
105
|
+
- ✅ Batch writes (atomic multi-file operations)
|
|
106
|
+
- **Workshop API**: Complete Steam Workshop/UGC integration (30 functions)
|
|
94
107
|
- ✅ Subscription management (subscribe, unsubscribe, list items)
|
|
95
108
|
- ✅ Item state & information (download progress, installation info)
|
|
96
109
|
- ✅ Query operations (text search, browse, filter Workshop content)
|
|
97
110
|
- ✅ Item creation & update (create, upload, manage your Workshop items)
|
|
98
111
|
- ✅ Voting & favorites (vote on items, manage favorites)
|
|
112
|
+
- ✅ Item deletion (permanently delete your Workshop items)
|
|
99
113
|
- **Input API**: Complete Steam Input (controller) support (35+ functions) ⚠️ _Tested with virtual gamepad only_
|
|
100
114
|
- ✅ Controller detection (Xbox, PlayStation, Switch, Steam Controller, Steam Deck)
|
|
101
115
|
- ✅ Action sets and layers (menu controls, gameplay controls, etc.)
|
|
102
116
|
- ✅ Digital actions (buttons) and analog actions (sticks/triggers)
|
|
103
117
|
- ✅ Motion data (gyro, accelerometer for supported controllers)
|
|
104
118
|
- ✅ Haptics (vibration, LED control for DualShock/DualSense)
|
|
119
|
+
- **Screenshots API**: Steam Screenshots integration (9 functions)
|
|
120
|
+
- ✅ Screenshot capture (programmatic and user-triggered)
|
|
121
|
+
- ✅ Add existing images to Steam library
|
|
122
|
+
- ✅ Location and user tagging (geotag, tag friends)
|
|
123
|
+
- ✅ Workshop integration (tag published files)
|
|
124
|
+
- ✅ Screenshot hooks (intercept F12 screenshots)
|
|
125
|
+
- ✅ VR screenshot support
|
|
126
|
+
- **Apps/DLC API**: Complete DLC and app ownership (28 functions)
|
|
127
|
+
- ✅ DLC ownership and installation checks
|
|
128
|
+
- ✅ Install/uninstall optional DLC
|
|
129
|
+
- ✅ App ownership verification (free weekend, Family Sharing)
|
|
130
|
+
- ✅ Beta branch management
|
|
131
|
+
- ✅ App metadata (languages, build info, install paths)
|
|
132
|
+
- ✅ Launch parameters and timed trials
|
|
133
|
+
- **Matchmaking API**: Complete multiplayer lobby matchmaking (30+ functions) ⚠️ _Requires two Steam accounts for testing_
|
|
134
|
+
- ✅ Lobby creation (public, private, friends-only, invisible)
|
|
135
|
+
- ✅ Lobby searching with filters (string, numerical, distance)
|
|
136
|
+
- ✅ Lobby joining and leaving
|
|
137
|
+
- ✅ Lobby data (get/set metadata for searching and game state)
|
|
138
|
+
- ✅ Member management (list, limit, ownership transfer)
|
|
139
|
+
- ✅ Lobby chat (send/receive messages)
|
|
140
|
+
- ✅ Game server association
|
|
141
|
+
- **Utils API**: Complete Steam utilities and system information (29 functions)
|
|
142
|
+
- ✅ System information (battery level, IP country, server time)
|
|
143
|
+
- ✅ Steam Deck and Big Picture mode detection
|
|
144
|
+
- ✅ Overlay notification positioning
|
|
145
|
+
- ✅ Image loading from Steam cache (avatars, achievement icons)
|
|
146
|
+
- ✅ Gamepad text input dialogs
|
|
147
|
+
- ✅ Text filtering for user-generated content
|
|
148
|
+
- **Networking Utils API**: Complete Steam networking utilities (15 functions)
|
|
149
|
+
- ✅ Relay network initialization and monitoring
|
|
150
|
+
- ✅ Ping location for matchmaking (share with other players)
|
|
151
|
+
- ✅ Ping estimation between players (without sending packets)
|
|
152
|
+
- ✅ Data center (POP) information and ping times
|
|
153
|
+
- **Networking Sockets API**: Complete P2P networking (34 functions) ⚠️ _Requires two Steam accounts for testing_
|
|
154
|
+
- ✅ P2P connections (connect to players via Steam ID)
|
|
155
|
+
- ✅ Listen sockets (accept incoming connections)
|
|
156
|
+
- ✅ Reliable and unreliable messaging
|
|
157
|
+
- ✅ Poll groups (efficiently handle multiple connections)
|
|
158
|
+
- ✅ Connection status (state, ping, quality metrics)
|
|
159
|
+
- ✅ High-precision local timestamps
|
|
105
160
|
- **Steamworks Integration**: Direct FFI calls to Steamworks C++ SDK
|
|
106
161
|
- **Cross-Platform**: Windows, macOS, and Linux support
|
|
107
162
|
- **Easy Setup**: Simple installation with clear SDK setup guide
|
|
@@ -456,6 +511,12 @@ Complete documentation for all APIs is available in the [docs folder](https://gi
|
|
|
456
511
|
- **[Cloud Storage Manager](https://github.com/ArtyProf/steamworks-ffi-node/blob/main/docs/CLOUD_MANAGER.md)** - Steam Cloud file operations (14 functions)
|
|
457
512
|
- **[Workshop Manager](https://github.com/ArtyProf/steamworks-ffi-node/blob/main/docs/WORKSHOP_MANAGER.md)** - Steam Workshop/UGC operations (29 functions)
|
|
458
513
|
- **[Input Manager](https://github.com/ArtyProf/steamworks-ffi-node/blob/main/docs/INPUT_MANAGER.md)** - Steam Input controller support (35+ functions) ⚠️ _Virtual gamepad testing only_
|
|
514
|
+
- **[Apps Manager](https://github.com/ArtyProf/steamworks-ffi-node/blob/main/docs/APPS_MANAGER.md)** - DLC and app ownership (28 functions)
|
|
515
|
+
- **[Screenshot Manager](https://github.com/ArtyProf/steamworks-ffi-node/blob/main/docs/SCREENSHOT_MANAGER.md)** - Steam Screenshots integration (9 functions)
|
|
516
|
+
- **[Matchmaking Manager](https://github.com/ArtyProf/steamworks-ffi-node/blob/main/docs/MATCHMAKING_MANAGER.md)** - Multiplayer lobby matchmaking (30+ functions) ⚠️ _Requires two Steam accounts_
|
|
517
|
+
- **[Utils Manager](https://github.com/ArtyProf/steamworks-ffi-node/blob/main/docs/UTILS_MANAGER.md)** - System info, Steam Deck detection, image loading (29 functions)
|
|
518
|
+
- **[Networking Utils Manager](https://github.com/ArtyProf/steamworks-ffi-node/blob/main/docs/NETWORKING_UTILS_MANAGER.md)** - Ping location, relay network, data centers (15 functions)
|
|
519
|
+
- **[Networking Sockets Manager](https://github.com/ArtyProf/steamworks-ffi-node/blob/main/docs/NETWORKING_SOCKETS_MANAGER.md)** - P2P connections, reliable messaging (19 functions) ⚠️ _Requires two Steam accounts_
|
|
459
520
|
|
|
460
521
|
## Steamworks Integration
|
|
461
522
|
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,9 @@ export { SteamRichPresenceManager } from './internal/SteamRichPresenceManager';
|
|
|
7
7
|
export { SteamOverlayManager } from './internal/SteamOverlayManager';
|
|
8
8
|
export { SteamCloudManager } from './internal/SteamCloudManager';
|
|
9
9
|
export { SteamWorkshopManager } from './internal/SteamWorkshopManager';
|
|
10
|
+
export { SteamMatchmakingManager } from './internal/SteamMatchmakingManager';
|
|
11
|
+
export { SteamNetworkingUtilsManager } from './internal/SteamNetworkingUtilsManager';
|
|
12
|
+
export { SteamNetworkingSocketsManager } from './internal/SteamNetworkingSocketsManager';
|
|
10
13
|
export * from './types';
|
|
11
14
|
export default SteamworksSDK;
|
|
12
15
|
export { SteamworksSDK };
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,SAAS,CAAC;AAGpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,SAAS,CAAC;AAGpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AAGzF,cAAc,SAAS,CAAC;AAGxB,eAAe,aAAa,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.SteamworksSDK = exports.SteamWorkshopManager = exports.SteamCloudManager = exports.SteamOverlayManager = exports.SteamRichPresenceManager = exports.SteamFriendsManager = exports.SteamLeaderboardManager = exports.SteamStatsManager = exports.SteamAchievementManager = void 0;
|
|
20
|
+
exports.SteamworksSDK = exports.SteamNetworkingSocketsManager = exports.SteamNetworkingUtilsManager = exports.SteamMatchmakingManager = exports.SteamWorkshopManager = exports.SteamCloudManager = exports.SteamOverlayManager = exports.SteamRichPresenceManager = exports.SteamFriendsManager = exports.SteamLeaderboardManager = exports.SteamStatsManager = exports.SteamAchievementManager = void 0;
|
|
21
21
|
const steam_1 = __importDefault(require("./steam"));
|
|
22
22
|
exports.SteamworksSDK = steam_1.default;
|
|
23
23
|
// Export manager classes for advanced usage
|
|
@@ -37,6 +37,12 @@ var SteamCloudManager_1 = require("./internal/SteamCloudManager");
|
|
|
37
37
|
Object.defineProperty(exports, "SteamCloudManager", { enumerable: true, get: function () { return SteamCloudManager_1.SteamCloudManager; } });
|
|
38
38
|
var SteamWorkshopManager_1 = require("./internal/SteamWorkshopManager");
|
|
39
39
|
Object.defineProperty(exports, "SteamWorkshopManager", { enumerable: true, get: function () { return SteamWorkshopManager_1.SteamWorkshopManager; } });
|
|
40
|
+
var SteamMatchmakingManager_1 = require("./internal/SteamMatchmakingManager");
|
|
41
|
+
Object.defineProperty(exports, "SteamMatchmakingManager", { enumerable: true, get: function () { return SteamMatchmakingManager_1.SteamMatchmakingManager; } });
|
|
42
|
+
var SteamNetworkingUtilsManager_1 = require("./internal/SteamNetworkingUtilsManager");
|
|
43
|
+
Object.defineProperty(exports, "SteamNetworkingUtilsManager", { enumerable: true, get: function () { return SteamNetworkingUtilsManager_1.SteamNetworkingUtilsManager; } });
|
|
44
|
+
var SteamNetworkingSocketsManager_1 = require("./internal/SteamNetworkingSocketsManager");
|
|
45
|
+
Object.defineProperty(exports, "SteamNetworkingSocketsManager", { enumerable: true, get: function () { return SteamNetworkingSocketsManager_1.SteamNetworkingSocketsManager; } });
|
|
40
46
|
// Export all types from organized structure
|
|
41
47
|
__exportStar(require("./types"), exports);
|
|
42
48
|
// Export main Steam class as both default and named export
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,oDAAoC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,oDAAoC;AAoB3B,wBApBF,eAAa,CAoBE;AAlBtB,4CAA4C;AAC5C,8EAA6E;AAApE,kIAAA,uBAAuB,OAAA;AAChC,kEAAiE;AAAxD,sHAAA,iBAAiB,OAAA;AAC1B,8EAA6E;AAApE,kIAAA,uBAAuB,OAAA;AAChC,sEAAqE;AAA5D,0HAAA,mBAAmB,OAAA;AAC5B,gFAA+E;AAAtE,oIAAA,wBAAwB,OAAA;AACjC,sEAAqE;AAA5D,0HAAA,mBAAmB,OAAA;AAC5B,kEAAiE;AAAxD,sHAAA,iBAAiB,OAAA;AAC1B,wEAAuE;AAA9D,4HAAA,oBAAoB,OAAA;AAC7B,8EAA6E;AAApE,kIAAA,uBAAuB,OAAA;AAChC,sFAAqF;AAA5E,0IAAA,2BAA2B,OAAA;AACpC,0FAAyF;AAAhF,8IAAA,6BAA6B,OAAA;AAEtC,4CAA4C;AAC5C,0CAAwB;AAExB,2DAA2D;AAC3D,kBAAe,eAAa,CAAC"}
|
|
@@ -46,6 +46,8 @@ export declare class SteamAPICore {
|
|
|
46
46
|
private remoteStorageInterface;
|
|
47
47
|
/** Pointer to the ISteamUGC interface */
|
|
48
48
|
private ugcInterface;
|
|
49
|
+
/** Pointer to the ISteamMatchmaking interface */
|
|
50
|
+
private matchmakingInterface;
|
|
49
51
|
/**
|
|
50
52
|
* Creates a new SteamAPICore instance
|
|
51
53
|
*
|
|
@@ -348,68 +350,25 @@ export declare class SteamAPICore {
|
|
|
348
350
|
*/
|
|
349
351
|
getAppsInterface(): any;
|
|
350
352
|
/**
|
|
351
|
-
* Get the
|
|
353
|
+
* Get the ISteamMatchmaking interface pointer
|
|
352
354
|
*
|
|
353
|
-
*
|
|
354
|
-
*
|
|
355
|
+
* Provides access to the Matchmaking interface for lobby operations
|
|
356
|
+
* including creating, joining, and managing game lobbies.
|
|
355
357
|
*
|
|
356
|
-
* @returns
|
|
358
|
+
* @returns Pointer to ISteamMatchmaking interface, or null if not initialized
|
|
357
359
|
*
|
|
358
360
|
* @example
|
|
359
361
|
* ```typescript
|
|
360
|
-
* const
|
|
361
|
-
*
|
|
362
|
-
*
|
|
363
|
-
* // Use language to load appropriate localization
|
|
364
|
-
* if (language === 'french') {
|
|
365
|
-
* loadFrenchTranslations();
|
|
366
|
-
* } else if (language === 'german') {
|
|
367
|
-
* loadGermanTranslations();
|
|
368
|
-
* } else {
|
|
369
|
-
* loadEnglishTranslations();
|
|
362
|
+
* const matchmaking = apiCore.getMatchmakingInterface();
|
|
363
|
+
* if (matchmaking) {
|
|
364
|
+
* // Use interface for lobby operations
|
|
370
365
|
* }
|
|
371
366
|
* ```
|
|
372
367
|
*
|
|
373
368
|
* @remarks
|
|
374
|
-
*
|
|
375
|
-
* -
|
|
376
|
-
* - 'french' - French
|
|
377
|
-
* - 'german' - German
|
|
378
|
-
* - 'spanish' - Spanish (Spain)
|
|
379
|
-
* - 'latam' - Spanish (Latin America)
|
|
380
|
-
* - 'italian' - Italian
|
|
381
|
-
* - 'japanese' - Japanese
|
|
382
|
-
* - 'korean' - Korean
|
|
383
|
-
* - 'portuguese' - Portuguese
|
|
384
|
-
* - 'brazilian' - Portuguese (Brazil)
|
|
385
|
-
* - 'russian' - Russian
|
|
386
|
-
* - 'schinese' - Simplified Chinese
|
|
387
|
-
* - 'tchinese' - Traditional Chinese
|
|
388
|
-
* - 'thai' - Thai
|
|
389
|
-
* - 'polish' - Polish
|
|
390
|
-
* - 'danish' - Danish
|
|
391
|
-
* - 'dutch' - Dutch
|
|
392
|
-
* - 'finnish' - Finnish
|
|
393
|
-
* - 'norwegian' - Norwegian
|
|
394
|
-
* - 'swedish' - Swedish
|
|
395
|
-
* - 'hungarian' - Hungarian
|
|
396
|
-
* - 'czech' - Czech
|
|
397
|
-
* - 'romanian' - Romanian
|
|
398
|
-
* - 'turkish' - Turkish
|
|
399
|
-
* - 'arabic' - Arabic
|
|
400
|
-
* - 'bulgarian' - Bulgarian
|
|
401
|
-
* - 'greek' - Greek
|
|
402
|
-
* - 'ukrainian' - Ukrainian
|
|
403
|
-
* - 'vietnamese' - Vietnamese
|
|
404
|
-
*
|
|
405
|
-
* Returns 'english' as fallback if:
|
|
406
|
-
* - Steam API is not initialized
|
|
407
|
-
* - Apps interface is unavailable
|
|
408
|
-
* - An error occurs retrieving the language
|
|
409
|
-
*
|
|
410
|
-
* Steamworks SDK Functions:
|
|
411
|
-
* - `SteamAPI_ISteamApps_GetCurrentGameLanguage()` - Get current language
|
|
369
|
+
* - Returns null if Steam API is not initialized
|
|
370
|
+
* - This is a native pointer for use with FFI calls
|
|
412
371
|
*/
|
|
413
|
-
|
|
372
|
+
getMatchmakingInterface(): any;
|
|
414
373
|
}
|
|
415
374
|
//# sourceMappingURL=SteamAPICore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SteamAPICore.d.ts","sourceRoot":"","sources":["../../src/internal/SteamAPICore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,YAAY;IACvB,kDAAkD;IAClD,OAAO,CAAC,aAAa,CAAqB;IAE1C,8DAA8D;IAC9D,OAAO,CAAC,WAAW,CAAkB;IAErC,4CAA4C;IAC5C,OAAO,CAAC,KAAK,CAAa;IAE1B,+CAA+C;IAC/C,OAAO,CAAC,kBAAkB,CAAa;IAEvC,0CAA0C;IAC1C,OAAO,CAAC,aAAa,CAAa;IAElC,2CAA2C;IAC3C,OAAO,CAAC,cAAc,CAAa;IAEnC,0CAA0C;IAC1C,OAAO,CAAC,aAAa,CAAa;IAElC,6CAA6C;IAC7C,OAAO,CAAC,gBAAgB,CAAa;IAErC,mDAAmD;IACnD,OAAO,CAAC,sBAAsB,CAAa;IAE3C,yCAAyC;IACzC,OAAO,CAAC,YAAY,CAAa;IAEjC;;;;OAIG;gBACS,aAAa,EAAE,kBAAkB;IAI7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"SteamAPICore.d.ts","sourceRoot":"","sources":["../../src/internal/SteamAPICore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,YAAY;IACvB,kDAAkD;IAClD,OAAO,CAAC,aAAa,CAAqB;IAE1C,8DAA8D;IAC9D,OAAO,CAAC,WAAW,CAAkB;IAErC,4CAA4C;IAC5C,OAAO,CAAC,KAAK,CAAa;IAE1B,+CAA+C;IAC/C,OAAO,CAAC,kBAAkB,CAAa;IAEvC,0CAA0C;IAC1C,OAAO,CAAC,aAAa,CAAa;IAElC,2CAA2C;IAC3C,OAAO,CAAC,cAAc,CAAa;IAEnC,0CAA0C;IAC1C,OAAO,CAAC,aAAa,CAAa;IAElC,6CAA6C;IAC7C,OAAO,CAAC,gBAAgB,CAAa;IAErC,mDAAmD;IACnD,OAAO,CAAC,sBAAsB,CAAa;IAE3C,yCAAyC;IACzC,OAAO,CAAC,YAAY,CAAa;IAEjC,iDAAiD;IACjD,OAAO,CAAC,oBAAoB,CAAa;IAEzC;;;;OAIG;gBACS,aAAa,EAAE,kBAAkB;IAI7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO;IAuGxC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,IAAI,IAAI;IAahB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,SAAS,IAAI,WAAW;IAmBxB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,YAAY,IAAI,IAAI;IAUpB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,cAAc,IAAI,OAAO;IAYzB;;;;;;;;;;;;;;OAcG;IACH,aAAa,IAAI,OAAO;IAIxB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,qBAAqB,IAAI,GAAG;IAI5B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gBAAgB,IAAI,GAAG;IAIvB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,iBAAiB,IAAI,GAAG;IAIxB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,mBAAmB,IAAI,GAAG;IAI1B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,yBAAyB,IAAI,GAAG;IAIhC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,IAAI,GAAG;IAItB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gBAAgB,IAAI,GAAG;IAIvB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,uBAAuB,IAAI,GAAG;CAI/B"}
|
|
@@ -86,6 +86,8 @@ class SteamAPICore {
|
|
|
86
86
|
this.remoteStorageInterface = null;
|
|
87
87
|
/** Pointer to the ISteamUGC interface */
|
|
88
88
|
this.ugcInterface = null;
|
|
89
|
+
/** Pointer to the ISteamMatchmaking interface */
|
|
90
|
+
this.matchmakingInterface = null;
|
|
89
91
|
this.libraryLoader = libraryLoader;
|
|
90
92
|
}
|
|
91
93
|
/**
|
|
@@ -179,6 +181,11 @@ class SteamAPICore {
|
|
|
179
181
|
if (!this.ugcInterface || this.ugcInterface === null) {
|
|
180
182
|
console.warn('[Steamworks] WARNING: Failed to get SteamUGC interface');
|
|
181
183
|
}
|
|
184
|
+
// Get Matchmaking interface
|
|
185
|
+
this.matchmakingInterface = this.libraryLoader.SteamAPI_SteamMatchmaking_v009();
|
|
186
|
+
if (!this.matchmakingInterface || this.matchmakingInterface === null) {
|
|
187
|
+
console.warn('[Steamworks] WARNING: Failed to get SteamMatchmaking interface');
|
|
188
|
+
}
|
|
182
189
|
// Request current stats from Steam servers
|
|
183
190
|
console.log('[Steamworks] Requesting current stats from Steam...');
|
|
184
191
|
const statsRequested = this.libraryLoader.SteamAPI_ISteamUserStats_RequestCurrentStats(this.userStatsInterface, 0);
|
|
@@ -522,81 +529,27 @@ class SteamAPICore {
|
|
|
522
529
|
return this.appsInterface;
|
|
523
530
|
}
|
|
524
531
|
/**
|
|
525
|
-
* Get the
|
|
532
|
+
* Get the ISteamMatchmaking interface pointer
|
|
526
533
|
*
|
|
527
|
-
*
|
|
528
|
-
*
|
|
534
|
+
* Provides access to the Matchmaking interface for lobby operations
|
|
535
|
+
* including creating, joining, and managing game lobbies.
|
|
529
536
|
*
|
|
530
|
-
* @returns
|
|
537
|
+
* @returns Pointer to ISteamMatchmaking interface, or null if not initialized
|
|
531
538
|
*
|
|
532
539
|
* @example
|
|
533
540
|
* ```typescript
|
|
534
|
-
* const
|
|
535
|
-
*
|
|
536
|
-
*
|
|
537
|
-
* // Use language to load appropriate localization
|
|
538
|
-
* if (language === 'french') {
|
|
539
|
-
* loadFrenchTranslations();
|
|
540
|
-
* } else if (language === 'german') {
|
|
541
|
-
* loadGermanTranslations();
|
|
542
|
-
* } else {
|
|
543
|
-
* loadEnglishTranslations();
|
|
541
|
+
* const matchmaking = apiCore.getMatchmakingInterface();
|
|
542
|
+
* if (matchmaking) {
|
|
543
|
+
* // Use interface for lobby operations
|
|
544
544
|
* }
|
|
545
545
|
* ```
|
|
546
546
|
*
|
|
547
547
|
* @remarks
|
|
548
|
-
*
|
|
549
|
-
* -
|
|
550
|
-
* - 'french' - French
|
|
551
|
-
* - 'german' - German
|
|
552
|
-
* - 'spanish' - Spanish (Spain)
|
|
553
|
-
* - 'latam' - Spanish (Latin America)
|
|
554
|
-
* - 'italian' - Italian
|
|
555
|
-
* - 'japanese' - Japanese
|
|
556
|
-
* - 'korean' - Korean
|
|
557
|
-
* - 'portuguese' - Portuguese
|
|
558
|
-
* - 'brazilian' - Portuguese (Brazil)
|
|
559
|
-
* - 'russian' - Russian
|
|
560
|
-
* - 'schinese' - Simplified Chinese
|
|
561
|
-
* - 'tchinese' - Traditional Chinese
|
|
562
|
-
* - 'thai' - Thai
|
|
563
|
-
* - 'polish' - Polish
|
|
564
|
-
* - 'danish' - Danish
|
|
565
|
-
* - 'dutch' - Dutch
|
|
566
|
-
* - 'finnish' - Finnish
|
|
567
|
-
* - 'norwegian' - Norwegian
|
|
568
|
-
* - 'swedish' - Swedish
|
|
569
|
-
* - 'hungarian' - Hungarian
|
|
570
|
-
* - 'czech' - Czech
|
|
571
|
-
* - 'romanian' - Romanian
|
|
572
|
-
* - 'turkish' - Turkish
|
|
573
|
-
* - 'arabic' - Arabic
|
|
574
|
-
* - 'bulgarian' - Bulgarian
|
|
575
|
-
* - 'greek' - Greek
|
|
576
|
-
* - 'ukrainian' - Ukrainian
|
|
577
|
-
* - 'vietnamese' - Vietnamese
|
|
578
|
-
*
|
|
579
|
-
* Returns 'english' as fallback if:
|
|
580
|
-
* - Steam API is not initialized
|
|
581
|
-
* - Apps interface is unavailable
|
|
582
|
-
* - An error occurs retrieving the language
|
|
583
|
-
*
|
|
584
|
-
* Steamworks SDK Functions:
|
|
585
|
-
* - `SteamAPI_ISteamApps_GetCurrentGameLanguage()` - Get current language
|
|
548
|
+
* - Returns null if Steam API is not initialized
|
|
549
|
+
* - This is a native pointer for use with FFI calls
|
|
586
550
|
*/
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
console.warn('[Steamworks] Cannot get language: Steam API not initialized or Apps interface unavailable');
|
|
590
|
-
return 'english';
|
|
591
|
-
}
|
|
592
|
-
try {
|
|
593
|
-
const language = this.libraryLoader.SteamAPI_ISteamApps_GetCurrentGameLanguage(this.appsInterface);
|
|
594
|
-
return language || 'english';
|
|
595
|
-
}
|
|
596
|
-
catch (error) {
|
|
597
|
-
console.warn('[Steamworks] Failed to get current game language:', error.message);
|
|
598
|
-
return 'english';
|
|
599
|
-
}
|
|
551
|
+
getMatchmakingInterface() {
|
|
552
|
+
return this.matchmakingInterface;
|
|
600
553
|
}
|
|
601
554
|
}
|
|
602
555
|
exports.SteamAPICore = SteamAPICore;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SteamAPICore.js","sourceRoot":"","sources":["../../src/internal/SteamAPICore.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAI7B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAa,YAAY;
|
|
1
|
+
{"version":3,"file":"SteamAPICore.js","sourceRoot":"","sources":["../../src/internal/SteamAPICore.ts"],"names":[],"mappings":"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"}
|