node package manager




This is a node interface to the protocol for querying Source based servers. More information on the protocol can be found here:

It currently only supports the A2S_INFO method, which is really the guts of it. If you have a need for A2S_PLAYER feel free to add it in and shoot us a pull request. If that's beyond you, feel free to let us know and we may add it.

Created by Pinion.


npm install srcds-info


var srcds = require('srcds-info');
client = srcds('', 21045);'', 27017, function(err, info) {
    if (err) {
    else {


srcds(server, port[, options]);

Returns a client object for querying. Options is optional. Currently the only option is "timeout" which lets you change how long to wait for a response before emitting an error. The default is 10 seconds.;

Queries the given server and calls the callback with either an information object or an error. The object has the following properties: { ip: string, port: number, serverName: string, map: string, gameType: string, gameName: string, appID: number, numPlayers: number, maxPlayers: number, numBots: number, dedicated: string(dedicated, listen, SourceTV), os: string(Linux, Windows), pw: boolean, secure: boolean }

Sometimes servers will send back a blank info response. This seems to be a protection against an old DOS attack. If a stripped packet is received, an 'error' will be returned with an object containing ip and port properties.


Cleans up the connection associated with a client.