UNPKG

@imeaces/mcping-tool

Version:
27 lines 845 B
import * as dns from "node:dns"; import { createPendingPromise } from "./lib.js"; export function resolveMinecraftServerSrvRecord(name, timeout = 5000) { const pendingPromise = createPendingPromise(); dns.resolveSrv("_minecraft._tcp." + name, onDnsReceive); // 超时设置 setTimeout(() => { pendingPromise.resolve(null); }, timeout); function onDnsReceive(e, r) { try { if (e || !r || r.length === 0) { pendingPromise.resolve(null); } else { let record = r[0]; let { name: ip, port } = record; pendingPromise.resolve({ ip, port }); } } catch { //nothing, just wait until timeout } } return pendingPromise.promise; } //# sourceMappingURL=srv.js.map