mirror of
https://github.com/gamedig/node-gamedig.git
synced 2024-09-20 17:31:31 +02:00
Add Eco
(2018) support. (#363)
* Add initial working eco query * Add default port and add the game to games.txt * Add to changelog * Fix request Info object and add to raw the object * Rearrange some code to be more readable
This commit is contained in:
parent
17f91904ab
commit
328d518d5b
@ -8,6 +8,7 @@
|
|||||||
* Moved the library a `module`.
|
* Moved the library a `module`.
|
||||||
* CLI: Resolved incorrect error message when querying with a non-existent protocol name.
|
* CLI: Resolved incorrect error message when querying with a non-existent protocol name.
|
||||||
* Replaced deprecated internal `punycode` with the [punycode](https://www.npmjs.com/package/punycode) package.
|
* Replaced deprecated internal `punycode` with the [punycode](https://www.npmjs.com/package/punycode) package.
|
||||||
|
* Eco (2018) - Added support (requested by @dgibbs64).
|
||||||
|
|
||||||
### 4.1.0
|
### 4.1.0
|
||||||
* Replace `compressjs` dependency by `seek-bzip` to solve some possible import issues.
|
* Replace `compressjs` dependency by `seek-bzip` to solve some possible import issues.
|
||||||
|
@ -96,6 +96,7 @@
|
|||||||
| `doom3` | Doom 3 (2004) | |
|
| `doom3` | Doom 3 (2004) | |
|
||||||
| `dota2` | Dota 2 (2013) | [Valve Protocol](#valve) |
|
| `dota2` | Dota 2 (2013) | [Valve Protocol](#valve) |
|
||||||
| `drakan` | Drakan: Order of the Flame (1999) | |
|
| `drakan` | Drakan: Order of the Flame (1999) | |
|
||||||
|
| `eco` | Eco (2018) | |
|
||||||
| `empyrion` | Empyrion - Galactic Survival (2015) | [Valve Protocol](#valve) |
|
| `empyrion` | Empyrion - Galactic Survival (2015) | [Valve Protocol](#valve) |
|
||||||
| `etqw` | Enemy Territory: Quake Wars (2007) | |
|
| `etqw` | Enemy Territory: Quake Wars (2007) | |
|
||||||
| `fear` | F.E.A.R. (2005) | |
|
| `fear` | F.E.A.R. (2005) | |
|
||||||
|
@ -108,6 +108,7 @@ doom3|Doom 3 (2004)|doom3|port=27666
|
|||||||
dota2|Dota 2 (2013)|valve|port=27015
|
dota2|Dota 2 (2013)|valve|port=27015
|
||||||
drakan|Drakan: Order of the Flame (1999)|gamespy1|port=27045,port_query_offset=1
|
drakan|Drakan: Order of the Flame (1999)|gamespy1|port=27045,port_query_offset=1
|
||||||
dst|Don't Starve Together (2016)|valve|port=10999,port_query=27016
|
dst|Don't Starve Together (2016)|valve|port=10999,port_query=27016
|
||||||
|
eco|Eco (2018)|eco|port=3000,port_query_offset=1
|
||||||
empyrion|Empyrion - Galactic Survival (2015)|valve|port=30000,port_query_offset=1
|
empyrion|Empyrion - Galactic Survival (2015)|valve|port=30000,port_query_offset=1
|
||||||
etqw|Enemy Territory: Quake Wars (2007)|doom3|port=3074,port_query=27733
|
etqw|Enemy Territory: Quake Wars (2007)|doom3|port=3074,port_query=27733
|
||||||
fear|F.E.A.R. (2005)|gamespy2|port_query=27888
|
fear|F.E.A.R. (2005)|gamespy2|port_query=27888
|
||||||
|
19
protocols/eco.js
Normal file
19
protocols/eco.js
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
import Core from './core.js';
|
||||||
|
|
||||||
|
export default class eco extends Core {
|
||||||
|
async run(state) {
|
||||||
|
if (!this.options.port) this.options.port = 3001;
|
||||||
|
|
||||||
|
const request = await this.request({
|
||||||
|
url: `http://${this.options.address}:${this.options.port}/frontpage`,
|
||||||
|
responseType: 'json'
|
||||||
|
});
|
||||||
|
const serverInfo = request.Info;
|
||||||
|
|
||||||
|
state.name = serverInfo.Description;
|
||||||
|
state.maxplayers = serverInfo.TotalPlayers;
|
||||||
|
state.password = serverInfo.HasPassword;
|
||||||
|
state.gamePort = serverInfo.GamePort;
|
||||||
|
state.raw = serverInfo;
|
||||||
|
}
|
||||||
|
}
|
@ -6,6 +6,7 @@ import buildandshoot from "./buildandshoot.js";
|
|||||||
import cs2d from "./cs2d.js";
|
import cs2d from "./cs2d.js";
|
||||||
import discord from "./discord.js";
|
import discord from "./discord.js";
|
||||||
import doom3 from "./doom3.js";
|
import doom3 from "./doom3.js";
|
||||||
|
import eco from "./eco.js";
|
||||||
import ffow from "./ffow.js";
|
import ffow from "./ffow.js";
|
||||||
import fivem from "./fivem.js";
|
import fivem from "./fivem.js";
|
||||||
import gamespy1 from "./gamespy1.js";
|
import gamespy1 from "./gamespy1.js";
|
||||||
@ -45,7 +46,7 @@ import vcmp from "./vcmp.js";
|
|||||||
import ventrilo from "./ventrilo.js";
|
import ventrilo from "./ventrilo.js";
|
||||||
import warsow from "./warsow.js";
|
import warsow from "./warsow.js";
|
||||||
|
|
||||||
export { armagetron, ase, assettocorsa, battlefield, buildandshoot, cs2d, discord, doom3, ffow, fivem, gamespy1,
|
export { armagetron, ase, assettocorsa, battlefield, buildandshoot, cs2d, discord, doom3, eco, ffow, fivem, gamespy1,
|
||||||
gamespy2, gamespy3, geneshift, goldsrc, hexen2, jc2mp, kspdmp, mafia2mp, mafia2online, minecraft,
|
gamespy2, gamespy3, geneshift, goldsrc, hexen2, jc2mp, kspdmp, mafia2mp, mafia2online, minecraft,
|
||||||
minecraftbedrock, minecraftvanilla, mumble, mumbleping, nadeo, openttd, quake1, quake2, quake3, rfactor, samp,
|
minecraftbedrock, minecraftvanilla, mumble, mumbleping, nadeo, openttd, quake1, quake2, quake3, rfactor, samp,
|
||||||
savage2, starmade, starsiege, teamspeak2, teamspeak3, terraria, tribes1, tribes1master, unreal2, ut3, valve,
|
savage2, starmade, starsiege, teamspeak2, teamspeak3, terraria, tribes1, tribes1master, unreal2, ut3, valve,
|
||||||
|
Loading…
Reference in New Issue
Block a user