feat: Renown add support (#684)

* add renown support

* add changelog entry
This commit is contained in:
Anthony 2025-03-22 13:25:41 -07:00 committed by GitHub
parent e6b959a4d7
commit 099f7107cf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 32 additions and 2 deletions

View file

@ -7,6 +7,7 @@
* Fix: Minetest - server filtering replace missing field ip with address (By @hjri #678)
* Docs: Arma Reforger does not provide players data (#680)
* Feat: Farming Simulator add response to raw object (#682)
* Feat: Renown (2025) - Added support (#684 By @anthonyphysgun)
## 5.2.0
* Fix: Palworld not respecting query output players schema (#666)

View file

@ -248,6 +248,7 @@
| redorchestra | Red Orchestra | |
| redorchestra2 | Red Orchestra 2 | [Valve Protocol](#valve) |
| renegade10 | Renegade X | |
| renown | Renown | [EOS Protocol](#epic) |
| rfactor | rFactor | |
| rfactor2 | rFactor 2 | [Valve Protocol](#valve) |
| ricochet | Ricochet | [Valve Protocol](#valve) |

View file

@ -2451,6 +2451,13 @@ export const games = {
protocol: 'renegadex'
}
},
renown: {
name: 'Renown',
release_year: 2025,
options: {
protocol: 'renown'
}
},
rdr2r: {
name: 'Red Dead Redemption 2 - RedM',
release_year: 2018,

View file

@ -43,6 +43,7 @@ import quake2 from './quake2.js'
import quake3 from './quake3.js'
import renegadex from './renegadex.js'
import renegadexmaster from './renegadexmaster.js'
import renown from './renown.js'
import rfactor from './rfactor.js'
import samp from './samp.js'
import satisfactory from './satisfactory.js'
@ -75,7 +76,7 @@ import vintagestory from './vintagestory.js'
export {
armagetron, ase, asa, assettocorsa, battlefield, brokeprotocol, brokeprotocolmaster, buildandshoot, cs2d, discord, doom3, eco, epic, factorio, farmingsimulator, ffow,
fivem, gamespy1, gamespy2, gamespy3, geneshift, goldsrc, gtasao, hawakening, hawakeningmaster, hexen2, jc2mp, kspdmp, mafia2mp, mafia2online, minecraft,
minecraftbedrock, minecraftvanilla, minetest, mumble, mumbleping, nadeo, openttd, palworld, quake1, quake2, quake3, renegadex, renegadexmaster, rfactor, ragemp, samp,
minecraftbedrock, minecraftvanilla, minetest, mumble, mumbleping, nadeo, openttd, palworld, quake1, quake2, quake3, renegadex, renegadexmaster, renown, rfactor, ragemp, samp,
satisfactory, soldat, savage2, starmade, starsiege, teamspeak2, teamspeak3, terraria, toxikk, tribes1, tribes1master, unreal2, ut3, valve,
vcmp, ventrilo, warsow, eldewrito, beammpmaster, beammp, dayz, theisleevrima, xonotic, altvmp, vintagestorymaster, vintagestory
}

20
protocols/renown.js Normal file
View file

@ -0,0 +1,20 @@
import Epic from './epic.js'
export default class renown extends Epic {
constructor () {
super()
// OAuth2 credentials provided by the game developer.
this.clientId = 'xyza7891XjE03sj3B404z0iQfQ4efjUj'
this.clientSecret = '2YY7STKJ5wJuFIyR8TaXaBPfhHZiAY13YuNPSIn+0WY'
this.deploymentId = '472a8286c61c408ca5ca1ec0401f07b7'
this.authByExternalToken = true
}
async run (state) {
await super.run(state)
state.name = state.raw.attributes.SERVERNAME_s
state.password = state.raw.attributes.PASSWORD_b
state.version = state.raw.attributes.SERVERVERSION_s
}
}

View file

@ -58,7 +58,7 @@ Object.entries(sortedGames).forEach(([id, game]) => {
if (game.options.protocol === 'valve' || game.options.protocol === 'dayz') {
notes.push('[Valve Protocol](#valve)')
}
if (game.options.protocol === 'epic' || game.options.protocol === 'asa' || game.options.protocol === 'theisleevrima') {
if (game.options.protocol === 'epic' || game.options.protocol === 'asa' || game.options.protocol === 'theisleevrima' || game.options.protocol === 'renown') {
notes.push('[EOS Protocol](#epic)')
}
lineArray[HeaderType.Notes] = notes.join(', ')