Add support for FiveM closes #55

This commit is contained in:
mmorrison 2017-08-10 06:49:42 -05:00
parent c30339d866
commit 4c18b6a3fd
6 changed files with 55 additions and 28 deletions

22
lib/HexUtil.js Normal file
View file

@ -0,0 +1,22 @@
class HexUtil {
static debugDump(buffer) {
let hexLine = '';
let chrLine = '';
let out = '';
for(let i = 0; i < buffer.length; i++) {
const sliced = buffer.slice(i,i+1);
hexLine += sliced.toString('hex')+' ';
let chr = sliced.toString();
if(chr < ' ' || chr > '~') chr = ' ';
chrLine += chr+' ';
if(hexLine.length > 60 || i === buffer.length - 1) {
out += hexLine + '\n';
out += chrLine + '\n';
hexLine = chrLine = '';
}
}
return out;
}
}
module.exports = HexUtil;

View file

@ -1,5 +1,6 @@
const dgram = require('dgram'),
TypeResolver = require('./typeresolver');
TypeResolver = require('./typeresolver'),
HexUtil = require('./HexUtil');
const activeQueries = [];
@ -7,7 +8,10 @@ const udpSocket = dgram.createSocket('udp4');
udpSocket.unref();
udpSocket.bind(21943);
udpSocket.on('message', (buffer, rinfo) => {
if(Gamedig.debug) console.log(rinfo.address+':'+rinfo.port+" <--UDP "+buffer.toString('hex'));
if(Gamedig.debug) {
console.log(rinfo.address+':'+rinfo.port+" <--UDP");
console.log(HexUtil.debugDump(buffer));
}
for(const query of activeQueries) {
if(
query.options.address !== rinfo.address