2019-01-07 01:52:03 +01:00
|
|
|
const Gamespy3 = require('./gamespy3');
|
|
|
|
|
2014-10-29 08:02:03 +01:00
|
|
|
// supposedly, gamespy3 is the "official" query protocol for jcmp,
|
2019-01-10 13:03:07 +01:00
|
|
|
// but it's broken (requires useOnlySingleSplit), and may not include some player names
|
2019-01-07 01:52:03 +01:00
|
|
|
class Jc2mp extends Gamespy3 {
|
2017-08-09 12:32:09 +02:00
|
|
|
constructor() {
|
|
|
|
super();
|
|
|
|
this.useOnlySingleSplit = true;
|
2019-01-09 12:35:11 +01:00
|
|
|
this.isJc2mp = true;
|
2019-01-10 13:03:07 +01:00
|
|
|
this.encoding = 'utf8';
|
2017-08-09 12:32:09 +02:00
|
|
|
}
|
2019-01-09 12:35:11 +01:00
|
|
|
async run(state) {
|
2019-01-10 13:03:07 +01:00
|
|
|
await super.run(state);
|
2017-08-09 12:32:09 +02:00
|
|
|
if(!state.players.length && parseInt(state.raw.numplayers)) {
|
2021-12-10 01:08:36 +01:00
|
|
|
state.players.setNum(parseInt(state.raw.numplayers));
|
2017-08-09 12:32:09 +02:00
|
|
|
}
|
|
|
|
}
|
2017-08-09 11:05:55 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = Jc2mp;
|