diff --git a/lib/dns.js b/lib/dns.js index a0b7332..0eff328 100644 --- a/lib/dns.js +++ b/lib/dns.js @@ -37,7 +37,9 @@ class DNSResolver { callbackFired = true // 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 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 - // isValidSkipSrvTimeout == whether the config has a valid skipSrvTimeout value set - const isValidSkipSrvTimeout = typeof config.skipSrvTimeout === 'number' && config.skipSrvTimeout > 0 + // isSkipSrvTimeoutDisabled == whether the config has a valid skipSrvTimeout value set + const isSkipSrvTimeoutDisabled = typeof config.skipSrvTimeout === 'number' && config.skipSrvTimeout === 0 // Only activate _skipSrv if the skipSrvTimeout value is either NaN or > 0 // 0 represents a disabled flag - if (!this._isSkipSrv() && isValidSkipSrvTimeout) { + if (!this._isSkipSrv() && !isSkipSrvTimeoutDisabled) { 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)) diff --git a/lib/ping.js b/lib/ping.js index 12901a0..11a69b2 100644 --- a/lib/ping.js +++ b/lib/ping.js @@ -9,7 +9,7 @@ const config = require('../config') function ping (serverRegistration, timeout, callback, version) { switch (serverRegistration.data.type) { case 'PC': - serverRegistration.dnsResolver.unfurlSrv((host, port, remainingTimeout) => { + serverRegistration.dnsResolver.resolve((host, port, remainingTimeout) => { const server = new minecraftJavaPing.MinecraftServer(host, port || 25565) server.ping(remainingTimeout, version, (err, res) => {