mirror of
https://github.com/skylord123/node-red-contrib-gamedig.git
synced 2025-04-18 20:13:06 -06:00
- update version to 2.1.2
- fixed server type list - bump gamedig to 4.0.6
This commit is contained in:
parent
e2e8119d7f
commit
9d200b60a1
921
package-lock.json
generated
921
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "node-red-contrib-gamedig",
|
"name": "node-red-contrib-gamedig",
|
||||||
"version": "2.1.1",
|
"version": "2.1.2",
|
||||||
"description": "Query for the status of any game server using node-red",
|
"description": "Query for the status of any game server using node-red",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@ -23,6 +23,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"gamedig": "^3.0.0"
|
"gamedig": "^4.0.6"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30,12 +30,13 @@
|
|||||||
oneditprepare: function() {
|
oneditprepare: function() {
|
||||||
$.getJSON('/gamedig/types', function(data) {
|
$.getJSON('/gamedig/types', function(data) {
|
||||||
let html = '<table>' +
|
let html = '<table>' +
|
||||||
'<thead id="query-game-server-types-table"><tr><td><strong>Type</strong></td><td><strong>Name</strong></td></tr></thead>' +
|
'<thead id="query-game-server-types-table"><tr><td><strong>Type</strong></td><td><strong>Name</strong></td><td><strong>Protocol</strong></td></tr></thead>' +
|
||||||
'<tbody id="query-game-server-type-rows">';
|
'<tbody id="query-game-server-type-rows">';
|
||||||
for(var type in data) {
|
for(let game of data) {
|
||||||
html += "<tr class=\"query-game-server-type-row\">" +
|
html += "<tr class=\"query-game-server-type-row\">" +
|
||||||
"<td>"+type+"</td>" +
|
"<td>"+game['type']+"</td>" +
|
||||||
"<td>"+data[type]+"</td>" +
|
"<td>"+game['name']+"</td>" +
|
||||||
|
"<td>"+game['protocol']+"</td>" +
|
||||||
"</tr>";
|
"</tr>";
|
||||||
}
|
}
|
||||||
html += '</tbody>' +
|
html += '</tbody>' +
|
||||||
|
@ -83,20 +83,31 @@ module.exports = function(RED) {
|
|||||||
// gamedig has no way of listing available server types
|
// gamedig has no way of listing available server types
|
||||||
// so we just use regex to parse the info from the README
|
// so we just use regex to parse the info from the README
|
||||||
// this could break so we also reference the gamedig repo
|
// this could break so we also reference the gamedig repo
|
||||||
let availableTypes = fs.readFileSync(require.resolve("gamedig/README.md"))
|
let availableTypesContent = fs.readFileSync(require.resolve("gamedig/games.txt"), 'utf-8')
|
||||||
.toString()
|
results = [];
|
||||||
.matchAll(/^\| `(.*)` * \| ([a-zA-Z: (0-9)\-'.]*)/gm),
|
|
||||||
results = {};
|
|
||||||
|
|
||||||
for (const match of availableTypes) {
|
availableTypesContent
|
||||||
if(match[1].indexOf("`<br>`") >= 0) {
|
.split(/\r?\n/)
|
||||||
let names = match[1].split("`<br>`");
|
.forEach(line => {
|
||||||
results[names[0]] = match[2];
|
if(
|
||||||
results[names[1]] = match[2];
|
line.trim().length === 0
|
||||||
} else {
|
|| line.trim().length === 0
|
||||||
results[match[1]] = match[2];
|
|| line.trim().startsWith('#')
|
||||||
}
|
) {
|
||||||
}
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// examples:
|
||||||
|
// avp2|Aliens versus Predator 2 (2001)|gamespy1|port=27888
|
||||||
|
// avp2010|Aliens vs. Predator (2010)|valve|port=27015
|
||||||
|
|
||||||
|
let [game_type, game_name, game_protocol] = line.split('|');
|
||||||
|
results.push({
|
||||||
|
'name': game_type,
|
||||||
|
'type': game_type,
|
||||||
|
'protocol': game_protocol
|
||||||
|
});
|
||||||
|
});
|
||||||
res.json(results);
|
res.json(results);
|
||||||
});
|
});
|
||||||
};
|
};
|
Loading…
x
Reference in New Issue
Block a user