Security News
The Dark Side of Open Source
At Node Congress, Socket CEO Feross Aboukhadijeh uncovers the darker aspects of open source, where applications that rely heavily on third-party dependencies can be exploited in supply chain attacks.
steamid
Advanced tools
Readme
This module provides a SteamID object which makes SteamID usage and conversion easy.
v2 requires Node.js version 12 or later.
Install it from npm:
$ npm install steamid
A SteamID is made up of four parts: its universe, its type, its instance, and its account ID.
There are enums for each type available under the root SteamID object.
SteamID.Universe = {
INVALID: 0,
PUBLIC: 1,
BETA: 2,
INTERNAL: 3,
DEV: 4
}
SteamID.Type = {
INVALID: 0,
INDIVIDUAL: 1,
MULTISEAT: 2,
GAMESERVER: 3,
ANON_GAMESERVER: 4,
PENDING: 5,
CONTENT_SERVER: 6,
CLAN: 7,
CHAT: 8,
P2P_SUPER_SEEDER: 9,
ANON_USER: 10
}
SteamID.Instance = {
ALL: 0,
DESKTOP: 1,
CONSOLE: 2,
WEB: 4
};
You can create a SteamID object from a Steam2 rendered ID, a Steam3 rendered ID, a SteamID64, or from the four parts that make up a SteamID.
const SteamID = require('steamid');
let sid = new SteamID('STEAM_0:0:23071901');
const SteamID = require('steamid');
let sid = new SteamID('[U:1:46143802]');
const SteamID = require('steamid');
let sid = new SteamID('76561198006409530');
// Or you can use a BigInt; new in steamid@2.0.0
let sid2 = new SteamID(76561198006409530n);
const SteamID = require('steamid');
let sid = new SteamID();
sid.universe = SteamID.Universe.PUBLIC;
sid.type = SteamID.Type.INDIVIDUAL;
sid.instance = SteamID.Instance.DESKTOP;
sid.accountid = 46143802;
There's a shorthand method for creating an individual SteamID with the desktop instance in the public universe given an accountid:
const SteamID = require('steamid');
let sid = SteamID.fromIndividualAccountID(46143802);
Once you have created a SteamID
object, you can access its properties (universe
, type
, instance
, and accountid
),
or you can convert it between rendered types.
Returns whether Steam would consider a given ID to be "valid". This does not check whether the given ID belongs to a real account that exists, nor does it check that the given ID is for an individual account or in the public universe.
Returns whether this SteamID is valid and belongs to an individual user in the public universe with a desktop instance. This is what most people think of when they think of a SteamID. Does not check whether the account actually exists.
Returns true
if the type
of this SteamID is CHAT
, and it's associated with a Steam group's chat room.
Returns true
if the type
of this SteamID is CHAT
, and it's associated with a Steam lobby.
Shorthand: steam2([newerFormat])
Returns the Steam2 rendered ID format for individual accounts. Throws an error if the type isn't individual.
If you pass true
for newerFormat
, the first digit will be 1 instead of 0 for the public universe.
Example:
const SteamID = require('steamid');
let sid = new SteamID('76561198006409530');
console.log(sid.getSteam2RenderedID()); // STEAM_0:0:23071901
console.log(sid.getSteam2RenderedID(true)); // STEAM_1:0:23071901
Shorthand: steam3()
Returns the Steam3 rendered ID format.
Examples:
const SteamID = require('steamid');
let sid = new SteamID(76561198006409530n);
console.log(sid.getSteam3RenderedID()); // [U:1:46143802]
let gid = new SteamID(103582791434202956n);
console.log(gid.getSteam3RenderedID()); // [g:1:4681548]
Alias: toString()
Returns the 64-bit representation of the SteamID, as a string.
Examples:
const SteamID = require('steamid');
let sid = new SteamID('[g:1:4681548]');
console.log(sid.getSteamID64()); // "103582791434202956"
let sid2 = new SteamID('STEAM_0:0:23071901');
console.log(sid2.getSteamID64()); // "76561198006409530"
Returns the 64-bit representation of the SteamID, as a BigInt.
Examples:
const SteamID = require('steamid');
let sid = new SteamID('[g:1:4681548]');
console.log(sid.getBigIntID()); // 103582791434202956n
let sid2 = new SteamID('STEAM_0:0:23071901');
console.log(sid2.getBigIntID()); // n76561198006409530n
Use npm test
to run the included test suite.
FAQs
Exposes a SteamID object class for easy SteamID management
The npm package steamid receives a total of 22,051 weekly downloads. As such, steamid popularity was classified as popular.
We found that steamid demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
At Node Congress, Socket CEO Feross Aboukhadijeh uncovers the darker aspects of open source, where applications that rely heavily on third-party dependencies can be exploited in supply chain attacks.
Research
Security News
The Socket Research team found this npm package includes code for collecting sensitive developer information, including your operating system username, Git username, and Git email.
Security News
OpenJS is warning of social engineering takeovers targeting open source projects after receiving a credible attempt on the foundation.