rust-gamedig/CHANGELOG.md
2023-01-13 19:36:03 +02:00

6.8 KiB

Who knows what the future holds...

X - DD/MM/YYYY

Changes:

Games:

Protocols:

  • Valve: Players with no name are no more added to the players_details field.

Crate:

  • MSRV is now 1.56.1 (from 1.58.1)

Breaking:

Protocols:

  • Valve: The rules field is now a HashMap<String, String> instead of a Vec<ServerRule> (where the ServerRule structure had a name and a value fields).
  • Valve: ServerInfo's players, max_players and bots have been renamed to players_online, players_maximum and players_bots respectively.
  • Valve: Response's players, max_players and bots have been renamed to players_online, players_maximum and players_bots respectively.

Errors:

  • Besides the BadGame error, now no other errors returns details about what happened (as it was quite pointless).

Crate:

  • package.metadata.msrv has been replaced with package.rust-version

0.0.7 - 03/01/2023

Changes:

Minecraft bedrock edition support.
Fix Minecraft legacy v1.6 max/online players count being reversed.
Added query_legacy_specific method to the Minecraft protocol.

Breaking:

Removed query_specific from the mc protocol in favor of query_java, query_legacy and query_legacy_specific.
Some public functions that are meant to be used only internally were made private.

0.0.6 - 28/11/2022

Minecraft support (bedrock not supported yet).
7 Days To Die support.
ARK: Survival Evolved support.
Unturned support.
The Forest support.
Team Fortress Classic support.
Sven Co-op support.
Rust support.
Counter-Strike support.
Arma 2: Operation Arrowhead support.
Day of Infamy support.
Half-Life Deathmatch: Source support.
Successfully tested Alien Swarm and Insurgency: Modern Infantry Combat.
Restored rules response for Counter-Strike: Global Offensive (note: for a full player list response, the cvar host_players_show must be set to 2).
Increased Valve Protocol PACKET_SIZE from 1400 to 6144 (because some games send larger packets than the specified protocol size).
Removed DNS resolving as it was not needed.
Valve Protocol minor optimizations.

0.0.5 - 15/11/2022

Added SocketBind error, regarding failing to bind a socket.
Socket custom timeout capability (with an error if provided durations are zero).
Because of this, a parameter similar to GatherSettings has been added on the Valve Protocol Query. Support for GoldSrc split packets and obsolete A2S_INFO response.
Changed the Valve Protocol app parameter to represent the engine responses. It is now an enum of:

  • Source(Option<u32>) - A Source response with optionally, the id (if the id is present and the response id is not the same, the query fails), if it isn't provided, find it.
  • GoldSrc(bool) - A GoldSrc response with the option to enforce the obsolete A2S_INFO response.

Fixed Source multi-packet response crash due to when a certain app with a certain protocol doesn't have the Size field.
Reduced Valve Protocol PACKET_SIZE to be as specified from 2048 to 1400.
Counter-Strike: Condition Zero implementation.
Day of Defeat implementation.
Games besides CSGO and TS now have the same response structure.

0.0.4 - 23/10/2022

Queries now support DNS resolve.
Changed uses a bit, example: from use gamedig::valve::ValveProtocol::query to use gamedig::protocols::valve::query.
Changed Valve Protocol Query parameters to (ip, port, app, gather_settings), changes include:

  • the app is now optional, being None means to anonymously query the server.
  • gather_settings is now also an optional, being None means all query settings.

Valve Protocol now supports querying anonymous apps (see previous lines).
Better bad game error.
Alien Swarm implementation (not tested).
Alien Swarm: Reactive Drop implementation.
Insurgency implementation.
Insurgency: Sandstorm implementation.
Insurgency: Modern Infantry Combat implementation (not tested).

0.0.3 - 22/10/2022

Valve protocol now properly supports multi-packet responses (compressed ones not tested).
CSGO, TF2 and TS now have independent Responses, if you want a generic one, query the protocol.
Counter Strike: Source implementation (if protocol is 7, queries with multi-packet responses will crash).
Day of Defeat: Source implementation.
Garry's Mod implementation.
Half-Life 2 Deathmatch implementation.
Left 4 Dead implementation.
Left 4 Dead 2 implementation.

0.0.2 - 20/10/2022

Further implementation of the Valve protocol (PLAYERS and RULES queries).
Counter Strike: Global Offensive implementation.
The Ship implementation.
The library now has error handling.

0.0.1 - 16/10/2022

The first usable version of the crate, yay!
It brings:
Initial implementation of the Valve server query protocol.
Initial Team Fortress 2 support.

0.0.0 - 15/10/2022

The first markdown, the crate is unusable as it doesn't contain anything helpful.