diff --git a/CHANGELOG.md b/CHANGELOG.md
index b31ee53..95802d4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,7 @@
## To Be Released...
## 5.X.Y
* Docs: Arma Reforger query setup note (#670, thanks @xCausxn)
+* Fix: Grand Theft Auto V - FiveM wrap the players query in a try block as it doesn't provide the data by default anymore (#674, thanks @xCausxn)
## 5.2.0
* Fix: Palworld not respecting query output players schema (#666)
diff --git a/GAMES_LIST.md b/GAMES_LIST.md
index 5e455b5..8204176 100644
--- a/GAMES_LIST.md
+++ b/GAMES_LIST.md
@@ -143,7 +143,7 @@
| goldeneyesource | GoldenEye: Source | [Valve Protocol](#valve) |
| groundbreach | Ground Breach | [Valve Protocol](#valve) |
| gta5am | Grand Theft Auto V - alt:V Multiplayer | [Notes](#gta5am) |
-| gta5f | Grand Theft Auto V - FiveM | |
+| gta5f | Grand Theft Auto V - FiveM | [Notes](#gta5f) |
| gta5r | Grand Theft Auto V - RageMP | [Notes](#gta5r) |
| gtasam | Grand Theft Auto: San Andreas Multiplayer | |
| gtasamta | Grand Theft Auto: San Andreas - Multi Theft Auto | |
@@ -535,3 +535,6 @@ The query is done via the lightweight query option but also safely tries to util
### Soldat
Requires `Allow_Download` and `Logging` to be `1` in the server config.
+
+### Grand Theft Auto V - FiveM
+Requires the `sv_exposePlayerIdentifiersInHttpEndpoint` convar to be `1` for the query to return players' data.
diff --git a/lib/games.js b/lib/games.js
index 5aedecb..81f6bdf 100644
--- a/lib/games.js
+++ b/lib/games.js
@@ -1303,7 +1303,8 @@ export const games = {
protocol: 'fivem'
},
extra: {
- old_id: 'fivem'
+ old_id: 'fivem',
+ doc_notes: 'gta5f'
}
},
gta5r: {
diff --git a/protocols/fivem.js b/protocols/fivem.js
index 377c041..460275b 100644
--- a/protocols/fivem.js
+++ b/protocols/fivem.js
@@ -20,7 +20,8 @@ export default class fivem extends quake2 {
if ('version' in state.raw.info) state.version = state.raw.info.version
}
- {
+ try {
+ // TODO: #674, eventually add `requestPlayers` and `requestPlayersRequired`.
const json = await this.request({
url: 'http://' + this.options.address + ':' + this.options.port + '/players.json',
responseType: 'json'
@@ -29,6 +30,6 @@ export default class fivem extends quake2 {
for (const player of json) {
state.players.push({ name: player.name, ping: player.ping })
}
- }
+ } catch (_) {}
}
}