From d0664f37b4a1fee30459af014adf6f10e097bc11 Mon Sep 17 00:00:00 2001 From: Matt Stith Date: Sat, 13 Apr 2013 17:23:31 -0300 Subject: [PATCH] Connect to a server's SRV record if they specify one --- lib/client.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/client.js b/lib/client.js index 2131496..40a37a7 100644 --- a/lib/client.js +++ b/lib/client.js @@ -2,6 +2,7 @@ var net = require('net') , EventEmitter = require('events').EventEmitter , util = require('util') , protocol = require('./protocol') + , dns = require('dns') , createPacketBuffer = protocol.createPacketBuffer , parsePacket = protocol.parsePacket , debug = protocol.debug @@ -69,7 +70,13 @@ Client.prototype.setSocket = function(socket) { Client.prototype.connect = function(port, host) { var self = this; - self.setSocket(net.connect(port, host)); + dns.resolveSrv("_minecraft._tcp." + host, function(err, addresses) { + if (addresses) { + self.setSocket(net.connect(addresses[0].port, addresses[0].name)); + } else { + self.setSocket(net.connect(port, host)); + } + }); }; Client.prototype.end = function(reason) {