8.8 KiB
Who knows what the future holds...
0.X.Y - DD/MM/2023
Changes:
None.
Breaking:
None.
0.2.0 - 18/02/2023
Changes:
Games:
- Don't Starve Together support.
- Colony Survival support.
- Onset support.
- Codename CURE support.
- Ballistic Overkill support.
- BrainBread 2 support.
- Avorion support.
- Operation: Harsh Doorstop support.
Protocols:
- Valve:
appidis now a field in theResponsestruct.
Breaking:
Protocols:
- Valve:
due to some games being able to host a server from within the game AND from a dedicated server,
if you were to query one of them, the query would fail for the other one, as the
SteamIDenum for that game could specify only one id.
SteamIDis nowSteamApp, was an u32 enum, and now it's a simple enum.Appis nowEngine, theSourceenum's structure has been changed fromOption<u32>toOption<u32, Option<u32>>, where the first parameter is the game app id and the second is the dedicated server app id (if there is one).
0.1.0 - 17/01/2023
Changes:
Games:
- Risk of Rain 2 support.
- Battalion 1944 support.
- Black Mesa support.
- Project Zomboid support.
- Age of Chivalry support.
Protocols:
- Valve: Players with no name are no more added to the
players_detailsfield. - Valve: Split packets are now appending in the correct order.
Crate:
MSRVis now1.56.1(was1.58.1)
Breaking:
Protocols:
- Valve: The rules field is now a
HashMap<String, String>instead of aVec<ServerRule>(where theServerRulestructure had a name and a value fields). - Valve: Structs that contained the
players,max_playersandbotsfields have been renamed toplayers_online,players_maximumandplayers_botsrespectively. - Minecraft: Structs that contained the
online_players,max_playersandsample_playersfields have been renamed toplayers_online,players_maximumandplayers_samplerespectively. - Minecraft: The Java query response struct named
Responsehas been renamed toJavaResponse.
Errors:
- Besides the
BadGameerror, now no other errors returns details about what happened (as it was quite pointless).
Crate:
package.metadata.msrvhas been replaced withpackage.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.