fix ut3 servers timing out

This commit is contained in:
Michael Morrison 2013-07-10 11:41:49 -05:00
parent 61d9b10ee2
commit b5ae623a69
2 changed files with 20 additions and 8 deletions

View file

@ -11,9 +11,9 @@ module.exports = require('./core').extend({
this.sendPacket(9,false,false,false,function(buffer) { this.sendPacket(9,false,false,false,function(buffer) {
var reader = self.reader(buffer); var reader = self.reader(buffer);
reader.skip(5); reader.skip(5);
var challenge = reader.string(); var challenge = parseInt(reader.string());
self.sendPacket(0,challenge,new Buffer([0,0,0,0]),true,function(buffer) { self.sendPacket(0,challenge,new Buffer([0xff,0xff,0xff,0x01]),true,function(buffer) {
var reader = self.reader(buffer); var reader = self.reader(buffer);
var state = { var state = {
@ -59,7 +59,7 @@ module.exports = require('./core').extend({
b.writeUInt8(0xFD, 1); b.writeUInt8(0xFD, 1);
b.writeUInt8(type, 2); b.writeUInt8(type, 2);
b.writeUInt32BE(this.sessionId, 3); b.writeUInt32BE(this.sessionId, 3);
if(challengeLength) b.writeUInt32BE(challenge, 7); if(challengeLength) b.writeInt32BE(challenge, 7);
if(payloadLength) payload.copy(b, 7+challengeLength); if(payloadLength) payload.copy(b, 7+challengeLength);
var numPackets = 0; var numPackets = 0;

View file

@ -7,12 +7,13 @@ module.exports = require('./gamespy3').extend({
this._super(state); this._super(state);
this.translateState(state,{ this.translateState(state,{
'OwningPlayerName': 'hostname', //'OwningPlayerName': 'hostname',
'p1073741825': 'mapname', 'mapname': false,
'p1073741825': 'map',
'p1073741826': 'gametype', 'p1073741826': 'gametype',
'p1073741827': 'servername', 'p1073741827': 'servername',
'p1073741828': 'custom_mutators', 'p1073741828': 'custom_mutators',
'gamemode': 'open', 'gamemode': 'joininprogress',
's32779': 'gamemode', 's32779': 'gamemode',
's0': 'bot_skill', 's0': 'bot_skill',
's6': 'pure_server', 's6': 'pure_server',
@ -23,13 +24,24 @@ module.exports = require('./gamespy3').extend({
'p268435705': 'time_limit', 'p268435705': 'time_limit',
'p268435703': 'numbots', 'p268435703': 'numbots',
'p268435717': 'stock_mutators', 'p268435717': 'stock_mutators',
'p1073741829': 'stock_mutators',
's1': false, 's1': false,
's9': false, 's9': false,
's11': false, 's11': false,
's12': false, 's12': false,
's13': false, 's13': false,
's14': false 's14': false,
'p268435706': false,
'p268435968': false,
'p268435969': false
}); });
state['custom_mutators'] = state['custom_mutators'].split('\x1c');
function split(a) {
var s = a.split('\x1c');
s = s.filter(function(e) { return e });
return s;
}
if('custom_mutators' in state) state['custom_mutators'] = split(state['custom_mutators']);
if('stock_mutators' in state) state['stock_mutators'] = split(state['stock_mutators']);
} }
}); });