This is a node interface to the protocol for querying Source based servers. More information on the protocol can be found here:
https://developer.valvesoftware.com/wiki/Server_Queries
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('27.50.71.3', 21045);
client.info(function(err, info) {
if (err) {
console.error(err)
}
else {
console.log(info);
}
client.close();
});
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.