feat: add BROKE PROTOCOL support (#651)

* Add support for BROKE PROTOCOL, querying master server

Plus support for master query through separate protocol

* Define json response via schema, optional data validation with Ajv (commented out)

* Fallback query from game data server listing (servers.json)

* docs: update CHANGELOG and GAMES_LIST for Broke Protocol
This commit is contained in:
RattleSN4K3 2024-10-13 16:21:19 +02:00 committed by GitHub
parent d2397b67e7
commit 899a39a393
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 455 additions and 1 deletions

View file

@ -53,6 +53,7 @@
| breach | Breach | [Valve Protocol](#valve) |
| breed | Breed | |
| brink | Brink | [Valve Protocol](#valve) |
| brokeprotocol | BROKE PROTOCOL | [Notes](#brokeprotocol) |
| c2d | CS2D | |
| c3db | Commandos 3: Destination Berlin | |
| cacr | Command and Conquer: Renegade | |
@ -497,6 +498,14 @@ And one of the following options for gaining access:
> **_NOTE:_** The protocol `hawakening` will query additional server info by requesting a matchmaking _token_, which will fail for full servers. Due to this, the IP address and port cannot be queried for such servers.
### <a name='brokeprotocol'></a>BROKE PROTOCOL
When querying a server on [BROKE PROTOCOL](https://brokeprotocol.com/), you have two options for querying the server:
1. Passing the `address` and `port` request fields (or `--address` and `--port` when using the cli to the server).
2. Setting the `serverId` request field or `--serverId` when using the cli to the publicId of the server.
You can acquire a _ServerId_ from the master query protocol `protocol-brokeprotocolmaster` (see `raw.servers[].raw.id`).
Protocols with Additional Notes
---