Commit graph

50 commits

Author SHA1 Message Date
Cain
36d957ceb4
Merge branch 'main' into feat/rootless-capture 2024-01-18 01:56:14 +00:00
Cain
15004f3dae
chore: optimize further 2024-01-17 23:44:47 +00:00
Tom
b248a7661e
feat: Move ID tests into their own crate with a CLI (#177)
* fix: ID tests not in correct directory

* refactor: Move game-id test logic into its own crate

* id-tests: Add CLI that reads JSON input

* id-tests: Update crate docs

* Remove node ID test

* id-tests: Don't try to parse unneeded info

* id-tests: Enable cli feature by default
2024-01-11 01:31:02 +02:00
Cain
0e241056bf
fix: remove unused manifest key in cargo.toml 2023-12-24 11:01:08 +00:00
Cain
a11ca7f9aa chore: add release opts 2023-11-08 21:11:25 +00:00
Douile
d34d615784
[CI] Update CI to work with workspaces 2023-10-18 00:29:21 +01:00
Cain
80f6b87991 refator: copy cli into mono 2023-10-16 23:20:47 +01:00
CosminPerRam
66ae3c296e [Crate] Bump version to 0.4.1 2023-10-13 00:43:22 +03:00
CosminPerRam
2106e965e4 [Crate] Bump version to 0.4.0 2023-10-07 19:27:43 +03:00
CosminPerRam
a3800f3ba4 [Crate] Update byteorder from 1.4 to 1.5 2023-10-07 18:58:21 +03:00
CosminPerRam
40d4be2ceb Remove CosminPerRam from authors as he is not the sole maintainer anymore 2023-10-07 18:36:32 +03:00
CosminPerRam
a8489e4353 [Crate] Remove license-file field due to cargo warning that only one is needed. 2023-09-21 23:18:25 +03:00
CosminPerRam
8468c2b821 [Crate] Update Cargo.toml to add license-file and categories fields 2023-09-11 14:57:49 +03:00
Tom
5e7e010d24
[Crate] Add rich error type (#80)
* Add rich error type with source and backtrace

Adds a rich error type that will take a backtrace and allow capturing
the source of the error. The best way to use this is with the included
helpers that will automatically capture the backtrace and convert the
source error:

```
GDRichError::packet_bad_from_into("Reason packet was bad")
```

* [Crate] Bump MSRV to 1.65.0

This is required for backtraces in rich errors.

* Remove leftover debug logging

* [Errors] Replace variant overloads with single .rich method on kind enum

This overhaul replaces the exhaustive impls of each variant as multiple
methods on the rich error type with a singular .rich() method on the
kind enum. This consumes the variant and converts it to a rich error
with a source (.into() can be used if a source is not needed).

I also took the liberty of replacing all usages with the this new method
as I saw fit (adding various error messages) and converting a few
PacketBad errors to TypeParse errors when they are the result of parse
failing.

* Fix problem with rustdoc

* Remove BadGame's owned string

* Rename GDError to GDErrorKind

* Rename GDRichError to GDError

* Remove error impl from GDErrorKind

* Fix tests not passing

* Use error context everywhere map_err is used

* Improve GDError display formatter

* Add tests for new error type
2023-08-05 12:36:48 +03:00
CosminPerRam
bec0f518b4 [Crate] Bump version to 0.3.0 2023-07-18 15:58:49 +03:00
CosminPerRam
84118d2590 [Crate] Generalize dependencies 2023-07-18 15:52:47 +03:00
CosminPerRam
bf8c087b94
[CI] Using recommended CI Cargo audit Github action and update serde (#70)
* [CI] Using recommended CI Github action

* [Crate] Update serde dependencies
2023-07-10 17:09:22 +03:00
Tom
f3a792e325
[Crate] Swap no_games, no_services for games, services (#61) 2023-06-27 02:12:57 +03:00
Tom
d853189e06
[Games] Programmatic games by storing information as data (#45)
* 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
2023-06-13 21:49:58 +03:00
CosminPerRam
c73334f45d [Crate] Fix msrv and change it to 1.60 2023-06-06 22:58:24 +03:00
CosminPerRam
d1ca19647d [Crate] Bump version to 0.2.3 2023-06-02 01:19:32 +03:00
CosminPerRam
726bfd429f [Crate] Bump version to 0.2.2 2023-05-01 20:27:39 +03:00
CosminPerRam
9f22a4eadf [Crate] Add no_services feature flag 2023-04-30 00:42:01 +03:00
Cain
84af4230f7
[Crate] Add feature: serde (#21)
* feat(serde): add additional derives

* fix: remove attr on internal enum

* fix add missing derive
2023-03-13 16:51:33 +02:00
CosminPerRam
9ad2f143dd [Crate] Use Byteorder crate 2023-03-09 16:41:13 +02:00
CosminPerRam
e6562d30cb [Crate] Update links to point to gamedig organization rather than cosminperram 2023-03-08 21:50:34 +02:00
CosminPerRam
04299c1a2c [Crate] Bump version to 0.2.1. 2023-03-03 18:09:17 +02:00
CosminPerRam
ab43675ae5 [Crate] Add feature 'no_games' 2023-02-18 22:13:25 +02:00
CosminPerRam
150bc1762e [Protocol] Valve: support app and dedicated app id 2023-02-18 21:44:17 +02:00
CosminPerRam
dfe544c6aa Bump version to 0.1.0 2023-01-17 02:02:49 +02:00
CosminPerRam
824c4d34c0 Add proper MSRV to Cargo.toml 2023-01-13 01:31:57 +02:00
CosminPerRam
1e99aebbac Bump version to 0.0.7 2023-01-03 00:36:35 +02:00
CosminPerRam
e66fa014ca Bumped version to 0.0.6! 2022-11-28 22:10:35 +02:00
CosminPerRam
3d95f08ef4 Removed DNS resolving as it was not needed 2022-11-28 01:13:08 +02:00
CosminPerRam
e709cb3ce5 Edited GAMES.md, PROTOCOLS.md and changed 'verify' keyword to 'query' in Cargo.toml 2022-11-28 00:23:19 +02:00
CosminPerRam
ee0223a7a3
Minecraft implementation (#6)
* Initial minecraft support

* Made previews_chat an option

* Better error handling and removed version structure

* Minecraft Server types

* Fixed compilation and renamed stuff

* 'extract till you drop!' extracted sockets

* extracted java version and fixed socket udp receive

* Legacy 1.4 and 1.6 implementation (incomplete)

* Furter implementation

* Implementations work

* Protocol beta v1.8+ implemented

* Removed bedrock support

* Added auto query

* Renamed minecraft to mc and added to md's

* Docs, renames and small optimization changes

* Changed java version to be able to return None on players sample
2022-11-24 22:52:54 +02:00
CosminPerRam
f04c883269 Forgot cargo.toml version bump 2022-11-15 21:10:31 +02:00
cosminperram
faaedf44f0 Version bump! 2022-10-23 14:06:08 +03:00
CosminPerRam
e8cbe7b9f5
DNS Resolver Implementation (#4)
* [dns-resolver] Added trust-dns-resolver and restored cargo.lock

* [dns_resolver] Implemented feature
2022-10-22 14:58:59 +03:00
cosminperram
6159a7c385 Version bump! 2022-10-22 02:39:06 +03:00
cosminperram
3b4dd9d9e4 Decompression support 2022-10-22 02:27:11 +03:00
CosminPerRam
21d2bc45a1 Bumped version and modified README 2022-10-20 13:09:11 +03:00
CosminPerRam
00ead6d946 Documentation update 2022-10-20 12:49:22 +03:00
CosminPerRam
192d50a11d Specified MIT license and made the valve protocol check if the queried game is the right game 2022-10-18 18:20:37 +03:00
CosminPerRam
fa4e72f80a Bumped the Cargo.toml package version to mark the first usable version! 2022-10-16 03:28:07 +03:00
CosminPerRam
73c8ade3a2 Modified public presentation files 2022-10-16 03:23:18 +03:00
CosminPerRam
e2be20ee53 Removed one keyword as max is 5 2022-10-14 21:39:26 +03:00
CosminPerRam
aa253b84e5 Changed version to 0.0.0 as it is not usable yet 2022-10-14 21:38:50 +03:00
CosminPerRam
af28d2b17e Removed rust prefix from cargo package name 2022-10-14 21:36:05 +03:00
CosminPerRam
f0844319ea Initial cargo file 2022-10-14 21:35:23 +03:00