* feat: initial minetest support
* move player to master, remove comments
* add markdown lines
* oops, change player namespace
* fix some edge cases
* add entry to responses, tweak field names
* feat: add initial epic client auth call
* fix: working client auth
* feat: unfinished initial EOS query
* first successful query
* first successful server query
* run fmt
* be a bit more detailed about servers
* properly run fmt for sure this time fr fr
* port of what node gamedig has done
* feat: remove query_raw_values to query_raw
* feat: add raw field to epic response
* feat: pass SocketAddr to epic
* feat: remove unused pub access to internal only struct
* feat: add initial generic impl
* fix: possibly conditional comp
* feat: add epic to the protocol list
* feat: add version and add epic to RESPONSES.md
* feat: add asa to definitions
* feat: add initial protocol macros
* feat: conditional serde ser and des
* fix: cfg serde stuff
* fix: epic macro warn dead code
* partial feature gate epic to tls
* fix: remove asa from game definitions
* feat: savage 2 support
* fix: add savage 2 to definitions
* chore: run rustfmt
* fix: config serde use
* fix: remove needless borrow
* docs: add savage 2 to protocols.md
* 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>
* [Protocol] Standardize The Ship fields
* [Protocol] Standardize FFOW fields
* [Protocol] Rename Valve's protocol field to protocol_version
* [Protocol] Rename Minecraft's version_protocol field to protocol_version
* [Protocol] Rename Valve's version field to game_version
* [Protocol] Rename Minecraft java version_name to game_version
* [Crate] Reformat RESPONSES.md
* [Protocol] Renamed Minecraft Java players_sample to players
* [Protocol] Rename Quake (1,2,3) version field to game_version
* [Protocol] Rename quake (1 and 2) game_type field to game_mode
* [Protocol] Rename Valve, FFOW, TS game field to game_mode
* [Generics] Rename game field/function to game_mode
* [Protocol] Change players_minimum, _maximum and _bots from those who werent u8 or u32 to u32
* [Protocol] Change instances of player score field type from u32 to i32
* [Crate] Nicer gramar in CHANGELOG
* [Protocol] Apply clippy fixes
* Define games as structs
* Create table of response types
* Ensure serde is always included
* Remove server_ prefix in GenericResponse
* Make players online/max non-optional in generic response
* Use already existing minecraft server enum
* Implement ExtraResponses to prevent cloning when creating generic
* Add game definitions
* Add doc comments to generic types
* Include players in gamespy extra responses
* Add custom response types for TheShip and FFOW
* Cargo format differing files
* Final cleanup