fix inverted remainingTime value passed into #pingAll

This commit is contained in:
Nick Krecklow 2020-05-14 20:56:59 -05:00
parent 0e5859a829
commit 05c2e0a13f
No known key found for this signature in database
GPG Key ID: 5F149FDE156FFA94
2 changed files with 7 additions and 5 deletions

@ -37,7 +37,9 @@ class DNSResolver {
callbackFired = true callbackFired = true
// Send currentTime - startTime to provide remaining connectionTime allowance // Send currentTime - startTime to provide remaining connectionTime allowance
callback(ip || this._ip, port || this._port, TimeTracker.getEpochMillis() - startTime) const remainingTime = config.rates.connectTimeout - (TimeTracker.getEpochMillis() - startTime)
callback(ip || this._ip, port || this._port, remainingTime)
} }
} }
@ -52,12 +54,12 @@ class DNSResolver {
// Test if the error indicates a miss, or if the records returned are empty // Test if the error indicates a miss, or if the records returned are empty
if ((err && (err.code === 'ENOTFOUND' || err.code === 'ENODATA')) || !records || records.length === 0) { if ((err && (err.code === 'ENOTFOUND' || err.code === 'ENODATA')) || !records || records.length === 0) {
// Compare config.skipSrvTimeout directly since SKIP_SRV_TIMEOUT has an or'd value // Compare config.skipSrvTimeout directly since SKIP_SRV_TIMEOUT has an or'd value
// isValidSkipSrvTimeout == whether the config has a valid skipSrvTimeout value set // isSkipSrvTimeoutDisabled == whether the config has a valid skipSrvTimeout value set
const isValidSkipSrvTimeout = typeof config.skipSrvTimeout === 'number' && config.skipSrvTimeout > 0 const isSkipSrvTimeoutDisabled = typeof config.skipSrvTimeout === 'number' && config.skipSrvTimeout === 0
// Only activate _skipSrv if the skipSrvTimeout value is either NaN or > 0 // Only activate _skipSrv if the skipSrvTimeout value is either NaN or > 0
// 0 represents a disabled flag // 0 represents a disabled flag
if (!this._isSkipSrv() && isValidSkipSrvTimeout) { if (!this._isSkipSrv() && !isSkipSrvTimeoutDisabled) {
this._skipSrv() this._skipSrv()
logger.log('warn', 'No SRV records were resolved for %s. Minetrack will skip attempting to resolve %s SRV records for %d minutes.', this._ip, this._ip, SKIP_SRV_TIMEOUT / (60 * 1000)) logger.log('warn', 'No SRV records were resolved for %s. Minetrack will skip attempting to resolve %s SRV records for %d minutes.', this._ip, this._ip, SKIP_SRV_TIMEOUT / (60 * 1000))

@ -9,7 +9,7 @@ const config = require('../config')
function ping (serverRegistration, timeout, callback, version) { function ping (serverRegistration, timeout, callback, version) {
switch (serverRegistration.data.type) { switch (serverRegistration.data.type) {
case 'PC': case 'PC':
serverRegistration.dnsResolver.unfurlSrv((host, port, remainingTimeout) => { serverRegistration.dnsResolver.resolve((host, port, remainingTimeout) => {
const server = new minecraftJavaPing.MinecraftServer(host, port || 25565) const server = new minecraftJavaPing.MinecraftServer(host, port || 25565)
server.ping(remainingTimeout, version, (err, res) => { server.ping(remainingTimeout, version, (err, res) => {