steam-query
v0.0.10
Published
Tool for querying steam game servers.
Downloads
27
Readme
#Steam-Query
##Example
var steam = require('steam-query');
// Default query port is 27015. If there is an error, I assume it is because the server is offline (timeout)
steam.query('localhost', 27015, function(error, state){
if(error) console.log('Server is offline.');
else console.log(state);
});
##Methods
.query(host, queryport, callback(error, state))
host: string value of the IP address or hostname.
queryport: port used to query the server in question.
callback: returns error and the state object. If error is valid, state will be invalid.
.queryRaw(host, queryport, callback(error, result[]))
Same as above except for the return.
callback: returns error and the array of strings used during parsing in the normal method. Useful for figuring out the response if you are writing a method to parse for a different game.
##Current Fully Supported Games
- Citadel: Forged with Fire
##Current WIP Supported Games
- Dark and Light
##State Object
state.name: reported name of the server.
state.map: reported map.
state.game: reported game.
state.description: reported description. (unsure of how most games use this field)
state.players: current players. For citadel: the character for this will not appear if there are no players.
state.maxplayers: reported max players. For citadel: the character for this will appear on offset lines depending on current players.
state.type: reported type of server. I have only seen 'd' for dedicated.
state.os: reported operating system the server is running on. Have only seen 'w' for Windows.
state.version: For most steam games, I assume this will be reported correctly on it's own line. For citadel: it is added as a tag and then parsed from the tag list into this value.
state.tags: For other games, I assume this line will be tags for the game. For citadel, this value does not exist as it gets parsed out.
state.region: For citadel only. For unofficial servers, 'Private'.
state.password: For citadel only. True/False.