1- # @ node-3d/steam-api
1+ # Steam API for Node.js
22
33This is a part of [ Node3D] ( https://github.com/node-3d ) project.
44
55[ ![ NPM] ( https://badge.fury.io/js/@node-3d%2Fsteam-api.svg )] ( https://badge.fury.io/js/@node-3d%2Fsteam-api )
66[ ![ Lint] ( https://github.com/node-3d/steam-api/actions/workflows/lint.yml/badge.svg )] ( https://github.com/node-3d/steam-api/actions/workflows/lint.yml )
77[ ![ Test] ( https://github.com/node-3d/steam-api/actions/workflows/test.yml/badge.svg )] ( https://github.com/node-3d/steam-api/actions/workflows/test.yml )
8+ [ ![ Cpplint] ( https://github.com/node-3d/steam-api/actions/workflows/cpplint.yml/badge.svg )] ( https://github.com/node-3d/steam-api/actions/workflows/cpplint.yml )
89
9- [ WIP] Steamworks API bindings for Node.js.
10-
11- ## Install
12-
13- ``` bash
10+ ```
1411npm install @node-3d/steam-api
1512```
1613
17-
18-
19- Published packages include prebuilt native binaries.
20- A consumer install doesn't need a compiler or a local Steamworks SDK copy.
21-
22- ## Example
14+ ** Node.js** addon with ** Steamworks** client API bindings.
15+
16+ * Exposes typed ESM bindings grouped by Steamworks interface.
17+ * Covers lifecycle, callback pumping, app/user/friends helpers, matchmaking
18+ lobbies, P2P packet networking, auth tickets, DLC metadata, image utilities,
19+ UGC item helpers, and user stats/achievements.
20+ * Keeps API names close to Valve's Steamworks interfaces instead of exporting a
21+ Greenworks-style flat module.
22+ * Provides Greenworks migration notes in [ docs/GREENWORKS.md] ( docs/GREENWORKS.md ) .
23+ * Includes repository examples for read-only probes, read-write workflows, and
24+ a Spacewar AppID 480 Node3D/Core demo.
25+
26+ > Note: this ** addon uses N-API** , and therefore its Steam API binary is
27+ ABI-compatible across different Node.js versions. Published packages install
28+ prebuilt native binaries from this repository's GitHub releases. There is no
29+ compilation step or local Steamworks SDK requirement during ` npm install ` when
30+ matching archives are available.
31+
32+ Applications still need the normal Steamworks runtime context: the Steam client
33+ must be available where the app runs, and development builds launched outside
34+ Steam need an app id context such as ` steam_appid.txt ` in the current working
35+ directory.
2336
2437``` ts
2538import { steam , update , user , utils } from ' @node-3d/steam-api' ;
@@ -38,17 +51,13 @@ for (const event of update()) {
3851}
3952```
4053
41- ## API Surface
54+ ## API
4255
4356Migrating from Greenworks? See [ docs/GREENWORKS.md] ( docs/GREENWORKS.md ) for
4457capability mappings and migration notes.
4558
4659Development coverage is tracked in [ docs/CHECKLIST.md] ( docs/CHECKLIST.md ) .
4760
48- The initial binding covers lifecycle, callback pumping, app/user/friends
49- helpers, matchmaking lobbies, P2P packet networking, auth tickets, DLC metadata,
50- image utilities, UGC item helpers, and user stats/achievements.
51-
5261Methods are grouped by Steamworks interface rather than exported as one flat
5362module. This keeps names close to Valve's API documentation and avoids a second
5463Node3D-specific taxonomy for the full Steamworks surface.
0 commit comments