* fix: minecraft id naming inconsistencies
* fix: minecraft legacy beta 1.8 being wrongly id named in definitions
* docs: Update CHANGELOG to document minecraft legacy renames
* docs: Update CHANGELOG to note removal of legacy versions game names being prefixed with 'v'
* feat: add initial password checking
* feat: add password string check and made the field a bool
* chore: fix formatting
* feat: add password to has_password common response
* 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>
* Fix wrongly named game ids of l4d, l4d2 and q3a
* Specify how edition/protocol names are appended to games, rule 7
* Clarify rule 6 regarding numbers
* Add/Update badge
* Fix rule 7 misswording
* Fix 7 Days to Die
* List id changes in the changelog
* Forgot to fix test
* Apply Douile suggestion regarding rule 6
Co-authored-by: Tom <25043847+Douile@users.noreply.github.com>
* Fix typo on rule 6 and wrap text
* Clarify further rule 7
---------
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Tom <25043847+Douile@users.noreply.github.com>
* Remove the SteamApp enum.
* Further removal
* Replace SteamApp with Engine on game! usage
* Add removal of SteamApp in changelog
* docs: Update reference of SteamApp to Engine
* Update the docs of the Engine type to be more descriptive.
* [Games] Add macro to replace valve game query implementations
This somewhat reduces repeated code (#120), and also adds auto-generated
doc comments to all valve game query functions.
* [Games] Add macro to replace gamespy game query implementations
This somewhat reduces repeated code (#120), and also adds auto-generated
doc comments to all gamespy game query functions.
* [Games] Add macro to replace quake game query implementations
This somewhat reduces repeated code (#120), and also adds auto-generated
doc comments to all quake game query functions.
* [Games] Move all valve game modules into a single file using macros
Vastly reduces the number of files. However does break the game
definition-per-file test, so that was removed.
* [Games] Move all quake game modules into a single file using macros
* [Games] Move all gamespy game modules into a single file using macros
* [Docs] Update CHANGELOG
* [Docs] Improve game query function generation macro documentation
* [Games] Add missed Halo: Combat Evolved to gamespy
* Apply new id naming
* Fix failing CI on all features
* Update changelog
* Rename tf2 example to teamfortress2
* Fix typo in steamapp game names
* Rename minecraft legacy versions
* Apply CI node badge fix by Douile
* Add/Update badge
---------
Co-authored-by: GitHub Action <action@github.com>
* Add initial CONTRIBUTING.md file
* Update CONTRIBUTING.md
Co-authored-by: Tom <25043847+Douile@users.noreply.github.com>
* Specify to look whether there is an existing relevant issue first
* Specify that ids are lowercased only
* Fix tyope.
* Specify special case with multiple editions/versions
* Clarify an id already existing and fix typo
* Add new rule to specify what to do about names that being with numbers
* Simplify numbering rules
* Simplify numbering rules
* Specify on #1 unless #4 applies
* Specify naming for game names
* Add rule regarding mods that add ability for queries
* Remake rule 7 to include protocol naming
* Specify lowercase aplhanumeric
---------
Co-authored-by: Tom <25043847+Douile@users.noreply.github.com>
* [Protocol] Gamespy1 don't skip "playername" field (#88)
* [Protocol] Gamespy1 make more player fields optional (#88)
These fields seem to be missing from bf1942 queries so make them
optional.