mirror of
https://github.com/tribufu/node-gamedig
synced 2026-05-18 09:35:50 +00:00
Add Savage 2: A Tortured Soul (2008) (2.0.24)
This commit is contained in:
parent
81a3ec1019
commit
e99b3c1812
5 changed files with 38 additions and 3 deletions
31
protocols/savage2.js
Normal file
31
protocols/savage2.js
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
const Core = require('./core');
|
||||
|
||||
class Savage2 extends Core {
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
|
||||
async run(state) {
|
||||
const buffer = await this.udpSend('\x01',b => b);
|
||||
const reader = this.reader(buffer);
|
||||
|
||||
reader.skip(12);
|
||||
state.name = this.stripColorCodes(reader.string());
|
||||
state.players = reader.uint(1);
|
||||
state.maxplayers = reader.uint(1);
|
||||
state.raw.time = reader.string();
|
||||
state.map = reader.string();
|
||||
state.raw.nextmap = reader.string();
|
||||
state.raw.location = reader.string();
|
||||
state.raw.minplayers = reader.uint(1);
|
||||
state.raw.gametype = reader.string();
|
||||
state.raw.version = reader.string();
|
||||
state.raw.minlevel = reader.uint(1);
|
||||
}
|
||||
|
||||
stripColorCodes(str) {
|
||||
return str.replace(/\^./g,'');
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Savage2;
|
||||
Loading…
Add table
Add a link
Reference in a new issue