Find a file
Michael Morrison e0f3f7ecbf Fix typo
2013-07-12 04:12:55 -05:00
protocols Massive revamp for standardization of output 2013-07-12 04:12:02 -05:00
Class.js initial commit 2013-07-10 05:02:48 -05:00
index.js Fix udp responses 2013-07-10 06:07:13 -05:00
LICENSE initial commit 2013-07-10 05:02:48 -05:00
package.json bump version to 0.1.1 2013-07-11 04:19:06 -05:00
reader.js remove iconv dependency 2013-07-10 07:20:05 -05:00
README.md Fix typo 2013-07-12 04:12:55 -05:00

node-GameDig - Game Server Query Library

Usage

npm install gamedig
var Gamedig = require('gamedig');
Gamedig.query(
	{
		type: 'minecraft',
		host: 'mc.example.com'
	},
	function(state) {
		if(state.error) console.log("Server is offline");
		else console.log(state);
	}
);

Callback Function

The callback function is "guaranteed" to be called exactly once.

If an error occurs, the returned object will contain an "error" key, indicating the issue. If the error key exists, it should be assumed that the game server is offline or unreachable.

Otherwise, the returned object is guaranteed to contain the following keys:

  • name
  • map
  • password (boolean)
  • maxplayers
  • players (may contain name, ping, score, team, address)
  • bots (same as players)
  • raw (contains special keys depending on the type of server queried - UNSTABLE)
  • notes (passed through from the input)
  • query (details about the query performed)
  • host
  • address
  • port
  • type
  • pretty (a "pretty" string describing the game)

It can usually be assumed that the number of players online is equal to the length of the players array. Some servers may return an additional player count number, which may be present in the unstable raw object.

Supported Games

  • Armagetron
  • Gamespy 3 Protocol
  • Minecraft
  • Unreal Tournament 3
  • GoldSrc Engine
  • Half Life: Death Match
  • Ricochet
  • Counter-Strike: 1.6
    • others
  • Nadeo Protocol
  • Trackmania Forever
  • Trackmania 2
  • Shootmania
  • (requires additional 'login' and 'password' parameters for User login on server)
  • Quake 2 Protocol
  • Quake 2
  • Quake 3 Protocol
  • Quake 3 Arena
  • Quake 3 Team Arena
  • Warsow
  • Source Engine
  • Counter-Strike: Source
  • Counter-Strike: Global Offensive
  • Team Fortress 2
    • others
  • Tshock Protocol
  • Terraria
  • Unreal 2 Protocol
  • Killing Floor
  • Unreal Tournament 2004

Unstable API

The contents of the returned state object may change slightly from build to build, as the API is still being formed.