Merge pull request from stith/patch-1

Connect to a server's SRV record if they specify one
This commit is contained in:
Xabier de Zuazo 2013-04-14 21:21:51 -07:00
commit a48d6dcdd8

View file

@ -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,17 @@ Client.prototype.setSocket = function(socket) {
Client.prototype.connect = function(port, host) {
var self = this;
self.setSocket(net.connect(port, host));
if (port == 25565) {
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));
}
});
} else {
self.setSocket(net.connect(port, host));
}
};
Client.prototype.end = function(reason) {