mirror of
https://github.com/tribufu/node-gamedig
synced 2026-06-01 09:42:41 +00:00
feat: add requestPlayers option (#624)
* feat: add option * docs: alter readme
This commit is contained in:
parent
0fe87c52eb
commit
e74ae933b3
5 changed files with 11 additions and 3 deletions
|
|
@ -4,6 +4,7 @@
|
||||||
* Fix: `Deus Ex` using the wrong protocol (#621)
|
* Fix: `Deus Ex` using the wrong protocol (#621)
|
||||||
* Fix: `Soldier ff Fortune` using the wrong protocol (#623)
|
* Fix: `Soldier ff Fortune` using the wrong protocol (#623)
|
||||||
* Feat: For the Quake2 protocol `version`'s field, also look for `version` in the raw object
|
* Feat: For the Quake2 protocol `version`'s field, also look for `version` in the raw object
|
||||||
|
* Feat: Add option `requestPlayers`, defaults to `true`.
|
||||||
|
|
||||||
## 5.1.2
|
## 5.1.2
|
||||||
* Added Vintage Story support via the master server (#606)
|
* Added Vintage Story support via the master server (#606)
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,7 @@ Confused on how this works, or you want to see more? Checkout the [examples](/ex
|
||||||
| **ipFamily** | number | 0 | IP family/version returned when looking up hostnames via DNS, can be 0 (IPv4 and IPv6), 4 (IPv4 only) or 6 (IPv6 only). |
|
| **ipFamily** | number | 0 | IP family/version returned when looking up hostnames via DNS, can be 0 (IPv4 and IPv6), 4 (IPv4 only) or 6 (IPv6 only). |
|
||||||
| **debug** | boolean | false | Enables massive amounts of debug logging to stdout. |
|
| **debug** | boolean | false | Enables massive amounts of debug logging to stdout. |
|
||||||
| **requestRules** | boolean | false | Valve games only. Additional 'rules' may be fetched into the `raw` key. |
|
| **requestRules** | boolean | false | Valve games only. Additional 'rules' may be fetched into the `raw` key. |
|
||||||
|
| **requestPlayers** | boolean | true | Valve games only. Disable this if you don't want to fetch players data. |
|
||||||
| **requestRulesRequired** | boolean | false | Valve games only. `requestRules` is always required to have a response or the query will timeout. |
|
| **requestRulesRequired** | boolean | false | Valve games only. `requestRules` is always required to have a response or the query will timeout. |
|
||||||
| **requestPlayersRequired** | boolean | false | Valve games only. Querying players is always required to have a response or the query will timeout. Some [games](GAMES_LIST.md) may not provide a players response. |
|
| **requestPlayersRequired** | boolean | false | Valve games only. Querying players is always required to have a response or the query will timeout. Some [games](GAMES_LIST.md) may not provide a players response. |
|
||||||
| **stripColors** | boolean | true | Enables stripping colors for protocols: unreal2, savage2, quake3, nadeo, gamespy2, doom3, armagetron. |
|
| **stripColors** | boolean | true | Enables stripping colors for protocols: unreal2, savage2, quake3, nadeo, gamespy2, doom3, armagetron. |
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,12 @@ import Minimist from 'minimist'
|
||||||
import { GameDig } from './../lib/index.js'
|
import { GameDig } from './../lib/index.js'
|
||||||
|
|
||||||
const argv = Minimist(process.argv.slice(2), {
|
const argv = Minimist(process.argv.slice(2), {
|
||||||
boolean: ['pretty', 'debug', 'givenPortOnly', 'requestRules', 'requestRulesRequired', 'requestPlayersRequired', 'stripColors', 'portCache', 'noBreadthOrder', 'checkOldIDs'],
|
boolean: ['pretty', 'debug', 'givenPortOnly', 'requestRules', 'requestPlayers', 'requestRulesRequired', 'requestPlayersRequired', 'stripColors', 'portCache', 'noBreadthOrder', 'checkOldIDs'],
|
||||||
string: ['guildId', 'serverId', 'listenUdpPort', 'ipFamily', 'token'],
|
string: ['guildId', 'serverId', 'listenUdpPort', 'ipFamily', 'token'],
|
||||||
default: {
|
default: {
|
||||||
stripColors: true,
|
stripColors: true,
|
||||||
portCache: true
|
portCache: true,
|
||||||
|
requestPlayers: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,8 @@ const defaultOptions = {
|
||||||
stripColors: true,
|
stripColors: true,
|
||||||
portCache: true,
|
portCache: true,
|
||||||
noBreadthOrder: false,
|
noBreadthOrder: false,
|
||||||
ipFamily: 0
|
ipFamily: 0,
|
||||||
|
requestPlayers: true
|
||||||
}
|
}
|
||||||
|
|
||||||
export default class QueryRunner {
|
export default class QueryRunner {
|
||||||
|
|
|
||||||
|
|
@ -163,6 +163,10 @@ export default class valve extends Core {
|
||||||
async queryPlayers (/** Results */ state) {
|
async queryPlayers (/** Results */ state) {
|
||||||
state.raw.players = []
|
state.raw.players = []
|
||||||
|
|
||||||
|
if (!this.options.requestPlayers) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
this.logger.debug('Requesting player list ...')
|
this.logger.debug('Requesting player list ...')
|
||||||
const b = await this.sendPacket(
|
const b = await this.sendPacket(
|
||||||
this.goldsrcInfo ? undefined : 0x55,
|
this.goldsrcInfo ? undefined : 0x55,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue