misc.mcserver: more srv resolving logic
This commit is contained in:
parent
94f5ee7887
commit
c6083ea062
1 changed files with 5 additions and 2 deletions
|
@ -2,7 +2,7 @@ const Command = require("../../lib/command.js");
|
|||
const logger = require("../../lib/logger.js");
|
||||
|
||||
const net = require("node:net");
|
||||
const {resolveSrv} = require("node:dns/promises");
|
||||
const {resolveCname, resolveSrv} = require("node:dns/promises");
|
||||
|
||||
function readVarInt(data) {
|
||||
var result = 0;
|
||||
|
@ -193,10 +193,13 @@ mcserver.callback = async function (msg, line) {
|
|||
const port = split[1] ?? 25565;
|
||||
|
||||
try {
|
||||
const addrs = await resolveSrv(ip);
|
||||
const addrs = await resolveSrv("_tcp." + ip);
|
||||
if (addrs.length > 0) {
|
||||
const mcAddr = addrs.find((a) => a.port == port);
|
||||
if (mcAddr?.name) ip = mcAddr.name;
|
||||
} else {
|
||||
const addrs = await resolveCname("_tcp." + ip);
|
||||
if (addrs.length > 0) ip = addrs[0];
|
||||
}
|
||||
} catch {
|
||||
// noop
|
||||
|
|
Loading…
Reference in a new issue