feat: backport 4.3.0 changes into master (#432)

* chore: backport all 4.3.0 changes

* docs: remove changelog line that does not apply
This commit is contained in:
CosminPerRam 2023-12-03 17:52:17 +02:00 committed by GitHub
parent d37c5b7f2b
commit 89515cb677
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 48 additions and 3 deletions

21
protocols/eldewrito.js Normal file
View file

@ -0,0 +1,21 @@
import Core from './core.js'
export default class eldewrito extends Core {
async run (state) {
const json = await this.request({
url: 'http://' + this.options.address + ':' + this.options.port,
responseType: 'json'
})
for (const one of json.players) {
state.players.push({ name: one.name, team: one.team })
}
state.name = json.name
state.map = json.map
state.maxplayers = json.maxPlayers
state.connect = this.options.address + ':' + json.port
state.raw = json
}
}

View file

@ -8,6 +8,7 @@ import cs2d from './cs2d.js'
import discord from './discord.js'
import doom3 from './doom3.js'
import eco from './eco.js'
import eldewrito from './eldewrito.js'
import epic from './epic.js'
import ffow from './ffow.js'
import fivem from './fivem.js'
@ -53,5 +54,5 @@ export {
gamespy2, gamespy3, geneshift, goldsrc, hexen2, jc2mp, kspdmp, mafia2mp, mafia2online, minecraft,
minecraftbedrock, minecraftvanilla, mumble, mumbleping, nadeo, openttd, quake1, quake2, quake3, rfactor, samp,
savage2, starmade, starsiege, teamspeak2, teamspeak3, terraria, tribes1, tribes1master, unreal2, ut3, valve,
vcmp, ventrilo, warsow
vcmp, ventrilo, warsow, eldewrito
}

View file

@ -42,7 +42,7 @@ export default class minecraftvanilla extends Core {
const str = reader.rest().toString('utf8')
this.logger.debug(str)
const json = JSON.parse(str)
const json = JSON.parse(str.substring(0, strLen))
delete json.favicon
state.raw = json
@ -57,6 +57,16 @@ export default class minecraftvanilla extends Core {
})
}
}
// Better Compatibility Checker mod support
let bccJson = {}
if (str.length > strLen) {
const bccStr = str.substring(strLen + 1)
bccJson = JSON.parse(bccStr)
}
state.raw.bcc = bccJson
}
varIntBuffer (num) {