Added givenPortOnly user option

Allows user to disable gamedig's default behavior of adding query attempts using the default query port(-offset)
This commit is contained in:
cetteup 2020-08-24 20:27:44 +02:00
parent b99abcd8b3
commit a362d1d113
3 changed files with 9 additions and 3 deletions

View file

@ -43,6 +43,7 @@ this query port may work instead. (defaults to protocol default port)
will cause many queries to take longer even if the server is online. (default 2000)
* **attemptTimeout**: number - Milliseconds allowed for an entire query attempt. This timeout is not commonly hit,
as the socketTimeout typically fires first. (default 10000)
* **givenPortOnly**: boolean - Only attempt to query server on given port. (default false)
* **debug**: boolean - Enables massive amounts of debug logging to stdout. (default false)
### Return Value

7
bin/gamedig.js Normal file → Executable file
View file

@ -4,13 +4,15 @@ const Minimist = require('minimist'),
Gamedig = require('..');
const argv = Minimist(process.argv.slice(2), {
boolean: ['pretty','debug']
boolean: ['pretty','debug','givenPortOnly']
});
const debug = argv.debug;
delete argv.debug;
const pretty = !!argv.pretty || debug;
delete argv.pretty;
const givenPortOnly = argv.givenPortOnly;
delete argv.givenPortOnly;
const options = {};
for(const key of Object.keys(argv)) {
@ -34,6 +36,9 @@ if (argv._.length >= 1) {
if (debug) {
options.debug = true;
}
if (givenPortOnly) {
options.givenPortOnly = true;
}
Gamedig.query(options)
.then((state) => {

View file

@ -30,7 +30,7 @@ class QueryRunner {
const attempts = [];
if (userOptions.port) {
if (gameQueryPortOffset) {
if (gameQueryPortOffset && !userOptions.givenPortOnly) {
attempts.push({
...defaultOptions,
...gameOptions,
@ -38,7 +38,7 @@ class QueryRunner {
port: userOptions.port + gameQueryPortOffset
});
}
if (userOptions.port === gameOptions.port && gameQueryPort) {
if (userOptions.port === gameOptions.port && gameQueryPort && !userOptions.givenPortOnly) {
attempts.push({
...defaultOptions,
...gameOptions,