mirror of
https://github.com/tribufu/rust-gamedig
synced 2026-05-06 15:27:28 +00:00
* WIP: Add unreal2 protocol * Add/Update badge * protocols/unreal2: Update doc comments and TODOs * protocols/unreal2: Don't pre-allocate as many bot players * protocols/unreal2: Use "encoding-rs" for decoding unreal2 strings * Add/Update badge * protocols/unreal2: Add constants for player pre-allocation. Also improve some doc comments and update PACKET_SIZE. * protocols/unreal2: Early break when enough players have been parsed Add a fast-path to avoid waiting for packet timeout when we have parsed as many players as specified in the server info packet. * protocols/unreal2: Use HashSet to store mutators * protocols/unreal2: Handle server sending multiple values for a rule * protocols/unreal2: Add GatheringSettings to control what to query GatheringSettings allows skipping querying rules and/or players which can make the query return much faster. This also required moving each individual query into its own helper. * protocols/unreal2: Add more derives to types * protocols/unreal2: Simplify ServerInfo::parse() Co-Authored-By: CosminPerRam <cosmin.p@live.com> * Docs: Add unreal2 protocol documentation I used a website to generate the markdown RESPONSES table, the save file from this website is included to make updating the table easier in the future. https://www.tablesgenerator.com/markdown_tables * Add/Update badge * protocols/unreal2: Use the correct encoding for UCS2 strings * Docs: Remove unnecessary TGN file --------- Co-authored-by: GitHub Action <action@github.com> Co-authored-by: CosminPerRam <cosmin.p@live.com>
3.8 KiB
3.8 KiB
A protocol is defined as proprietary if it is being used only for a single scope (or series, like Minecraft).
Supported protocols:
| Name | For | Proprietary? | Documentation reference | Notes |
|---|---|---|---|---|
| Valve Protocol | Games | No | Server Queries | In some cases, the players details query might contain some 0-length named players. Multi-packet decompression not tested. |
| Minecraft | Games | Yes | Java: List Server Protocol Bedrock: Node-GameDig Source |
|
| GameSpy | Games | No | One: Node-GameDig Source Two: Node-GameDig Source Three: Node-GameDig Source | These protocols are not really standardized, gamedig tries to get the most common fields amongst its supported games, if there are parsing problems, use the query_vars function. |
| Quake | Games | No | One: Node-GameDig Source Two: Node-GameDig Source Three: Node-GameDig Source | |
| Unreal2 | Games | Yes | Node-GameDig Source | Sometimes servers send strings that node-gamedig would treat as latin1 that are UTF-8 encoded, when this happens the remove color code breaks because latin1 decodes the colour sequences differently. Some games provide additional info at the end of the server info packet, this is not currently handled (see the node implementation). Some games use a bot player to denote the team names, this is not currently handled. |
Planned to add support:
_