mirror of
https://github.com/gamedig/node-gamedig.git
synced 2024-11-19 02:00:38 +01:00
Added gameserver latency to returning data
This commit is contained in:
parent
ae8c13ba69
commit
618e19192c
2 changed files with 13 additions and 2 deletions
|
@ -34,7 +34,8 @@
|
|||
"request": "~2.51.0",
|
||||
"minimist": "~1.1.0",
|
||||
"varint": "~4.0.0",
|
||||
"moment": "~2.9.0"
|
||||
"moment": "~2.9.0",
|
||||
"jjg-ping": "~1.0.1"
|
||||
},
|
||||
"bin": {
|
||||
"gamedig": "bin/gamedig.js"
|
||||
|
|
|
@ -3,7 +3,8 @@ var EventEmitter = require('events').EventEmitter,
|
|||
net = require('net'),
|
||||
async = require('async'),
|
||||
Class = require('../lib/Class'),
|
||||
Reader = require('../lib/reader');
|
||||
Reader = require('../lib/reader'),
|
||||
ping = require('jjg-ping');
|
||||
|
||||
module.exports = Class.extend(EventEmitter,{
|
||||
init: function() {
|
||||
|
@ -18,6 +19,7 @@ module.exports = Class.extend(EventEmitter,{
|
|||
this.encoding = 'utf8';
|
||||
this.byteorder = 'le';
|
||||
this.delimiter = '\0';
|
||||
this.ping = 0;
|
||||
|
||||
var self = this;
|
||||
this.globalTimeoutTimer = setTimeout(function() {
|
||||
|
@ -68,6 +70,7 @@ module.exports = Class.extend(EventEmitter,{
|
|||
if('port_query' in this.options) state.query.port_query = this.options.port_query;
|
||||
state.query.type = this.type;
|
||||
if('pretty' in this) state.query.pretty = this.pretty;
|
||||
state.query.server_ping = this.ping;
|
||||
|
||||
this.reset();
|
||||
this.finished = true;
|
||||
|
@ -107,6 +110,13 @@ module.exports = Class.extend(EventEmitter,{
|
|||
self.parseDns(options.host,c);
|
||||
}
|
||||
},
|
||||
function(c) {
|
||||
// not sure if this is the best way to ping a host
|
||||
ping.system.ping(options.host, function(latency, status) {
|
||||
if(status) self.ping = latency;
|
||||
});
|
||||
c();
|
||||
},
|
||||
function(c) {
|
||||
// calculate query port if needed
|
||||
if(!('port_query' in options) && 'port' in options) {
|
||||
|
|
Loading…
Reference in a new issue