mirror of
https://github.com/tribufu/node-gamedig
synced 2026-06-01 09:42:41 +00:00
fix ut3 servers timing out
This commit is contained in:
parent
61d9b10ee2
commit
b5ae623a69
2 changed files with 20 additions and 8 deletions
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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']);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue