Commit graph

120 commits

Author SHA1 Message Date
CosminPerRam
e57efb392d
feat: nova-life amboise support (#203) 2024-05-05 23:52:43 +03:00
CosminPerRam
50ccac3cc9 feat: replace reduntant closure for method call 2024-05-01 18:55:20 +03:00
CosminPerRam
78b52c0d23 feat: replace two cases of not using fun call on unwrapping 2024-05-01 18:51:48 +03:00
CosminPerRam
c2f6a68648 feat: make GameMode::as_str constant 2024-05-01 18:50:05 +03:00
CosminPerRam
32c267621e feat: add eq where partialeq is already and is possible 2024-05-01 18:48:11 +03:00
CosminPerRam
1877a16457 feat: use Self instead of struct name whereas applicable 2024-05-01 18:46:37 +03:00
CosminPerRam
f53635993e feat: use map_or_else instead of if else on option 2024-05-01 18:44:21 +03:00
CosminPerRam
829ab5b7f2
feat: add arma reforger support (#202) 2024-04-28 23:47:17 +03:00
dependabot[bot]
ddd95be413
chore(deps): update webbrowser requirement in /crates/cli (#201)
Updates the requirements on [webbrowser](https://github.com/amodm/webbrowser-rs) to permit the latest version.
- [Release notes](https://github.com/amodm/webbrowser-rs/releases)
- [Changelog](https://github.com/amodm/webbrowser-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/amodm/webbrowser-rs/compare/v0.8.12...v1.0.0)

---
updated-dependencies:
- dependency-name: webbrowser
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-28 22:43:27 +03:00
CosminPerRam
462677f928 fix: aliens vs predator specify year as there is also an older game not to be confused with 2024-04-28 22:28:41 +03:00
CosminPerRam
4df721e3b6 feat: add Aliens vs. Predator support 2024-04-28 22:25:35 +03:00
CosminPerRam
45ffa53de3
feat: add Ark: Survival Ascended support (#197)
* 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
2024-04-21 18:53:33 +03:00
CosminPerRam
8a17bd6345 chore: add underscore for pvak2 steam ids 2024-04-14 23:16:09 +03:00
CosminPerRam
66a9ed8b3f feat: add PixARK support. 2024-04-14 23:15:17 +03:00
CosminPerRam
3c9f109942 chore: reformat markdown files 2024-04-14 23:08:11 +03:00
CosminPerRam
29f1098daf feat: add Pirates, Knights and Vinkins 2 support 2024-04-14 23:06:43 +03:00
CosminPerRam
9264d5fe4a feat: add myth of empires support 2024-04-07 23:09:16 +03:00
CosminPerRam
a207c39915
feat: add enshrouded support (#199) 2024-04-07 23:04:04 +03:00
CosminPerRam
f488658afc feat: add mordhau support 2024-03-24 23:59:22 +02:00
CosminPerRam
6e53ef0c22
feat(http): add per-request headers option (#196)
* http: Add per-request headers option

* http: Improve tests

---------

Co-authored-by: Douile <douile@douile.com>
2024-03-16 17:57:07 +02:00
CosminPerRam
ea6140c5d9 docs(lib): fix eco not being hyperlinked in changelog 2024-03-15 18:30:49 +02:00
CosminPerRam
275fb7d4cd
feat: release 0.5.0 (#191)
* feat: add initial crates readmes

* feat: add initial CLI readme

* fix: some links

* feat: fix node badge, split changelogs, fix some other links add docs in cli

* feat: feature the gamedig site in the lib

* feat: fill in cli package fields

* feat: set CLI version to 0.1.0

* feat: update changelogs to set vers

* feat: update the release workflow
2024-03-15 18:14:59 +02:00
CosminPerRam
04803996cd fix: counter strike 2 gid 2024-03-10 23:41:43 +02:00
CosminPerRam
967dc37d64 feat: add Double Action: Boogaloo support 2024-03-10 23:39:39 +02:00
CosminPerRam
82b7a5f169 feat: add counter-strike 2 support 2024-03-10 23:36:04 +02:00
dependabot[bot]
b2e34b32f8
chore(deps): update base64 requirement in /crates/cli (#192)
Updates the requirements on [base64](https://github.com/marshallpierce/rust-base64) to permit the latest version.
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.21.7...v0.22.0)

---
updated-dependencies:
- dependency-name: base64
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-04 17:29:00 +02:00
CosminPerRam
8a38d742f6 chore: run formatting on minecraft types 2024-02-26 00:16:59 +02:00
CosminPerRam
a9fcfe1bb3 tests: add minecraft varint and string types 2024-02-26 00:15:33 +02:00
CosminPerRam
b913b0c7e7 fix: remove unused test 2024-02-25 23:56:21 +02:00
CosminPerRam
1080a94bd2 fix: replace 2 instances of .get(0) with .first() 2024-02-25 23:54:19 +02:00
CosminPerRam
c1454805bb
feat: add black ops 3 support (#189)
* feat: add black ops 3 support

* chore: formatting
2024-02-25 23:50:27 +02:00
CosminPerRam
ef017d4703 docs: fix gramatical error in eco protocol 2024-02-25 19:39:27 +02:00
CosminPerRam
310b62664c
feat: http client and eco support (#175)
* feat: initial http and eco support

* http: Replace reqwest with ureq and add HTTPS support

ureq markets itself as a lightweight blocking HTTP client which might be
a good choice for rust-gamedig at the moment. However the main reason
for changing to ureq is that it allows setting a "resolver" function
which overrides the IP address to connect to. This is useful because it
allows us to pass a URL with the desired hostname without the HTTP
library doing an extra DNS lookup (this allows HTTPS to work when we
specify the exact IP and port to connect to external to the URL).

Other changes in this commit are:
- Feature gated things that depend on serde: this means that the eco
  game won't be available if the library is compiled without serde
- Added the TLS feature to enable TLS support in the HTTP library
- Added HTTPSettings to set the protocol (HTTP/HTTPS) and the hostname
- Setting a user-agent string on HTTP requests (allows the server to see
  what program is being used to query them)
- Store the address as a parsed Url so we don't re-parse it on every
  request
- Add a method to POST JSON data and parse response
- Renamed the request() method to get_json() in anticipation of a future
  method that will send a GET request and handle the raw bytes instead
  of using serde
- Improved documentation

* eco: Add generic impls

* eco: fixes

* http: Add headers to HttpSettings and rename from HTTPSettings

* eco: Add extra request settings

* http: Add support for querying raw bytes

* http: Add unit-tests

* http: Rename HttpProtocol

* crate: Make serde dependency non-optional

The serde feature now only enable serde derivations for our types that
don't need it for the library to function.

* http: Add helper for creating HttpClients to query APIs

Adds the from_url helper that should make working with master server web
APIs easier.

* Add/Update badge

* crate: Require games feature for eco example

* docs: Update changelog

---------

Co-authored-by: Douile <douile@douile.com>
2024-02-10 18:26:49 +00:00
Cain
e86e80522b
feat: Add packet capture functionality and many more CLI improvements (#182) 2024-02-07 22:31:31 +00:00
Cain
7369dbab19 refactor: use slices where possable in pcap 2024-02-07 16:10:04 +00:00
Cain
730c938ad2 chore: format 2024-02-07 15:30:20 +00:00
Cain
7b37e71221 chore: remove unused else 2024-02-07 15:29:13 +00:00
Cain
9a2b953fff refactor: capture socket and move to capture dir 2024-02-07 15:28:41 +00:00
Cain
c34392a3da refactor: pcap packet buffer size 2024-02-07 15:26:17 +00:00
Tom
fd497764f8
feat: Improve doc-comments for ErrorKind (#186)
* Improve doc-comments for ErrorKind

* error: Improve ErrorKind::BadGame doc comment

* error: fmt ErrorKind doc comments
2024-02-06 17:06:54 +02:00
Cain
48aa5115c0 fix: add xml utf8 and semver declaration 2024-02-02 21:10:41 +00:00
Cain
4675b24ff3 refactor: better xml support and error prop 2024-02-02 20:57:07 +00:00
Cain
744230455c revert: lib default feat to exclude packet capture 2024-02-02 02:34:02 +00:00
Cain
5310200181 fix: cli xml feat not having json dep 2024-02-02 02:01:25 +00:00
Cain
422cb57efa chore: update cli default features 2024-02-02 02:00:15 +00:00
Cain
df51521a79 fix: remove bug panic due to xml protocol format now being supported 2024-02-02 01:58:48 +00:00
Cain
5365845bb5 fix: cli xml LastElementNameNotAvailable error case 2024-02-02 01:44:44 +00:00
Cain
8f381f733c chore: change cli header year 2024-02-02 00:45:17 +00:00
Douile
bba9f5f11b
cli: Improve capture help string 2024-01-22 22:02:34 +00:00
Tom
89ed19f089
feat(protocols): Add more control over gathering additional information (#180)
* protocols: Add more control over gathering additional information

Adds GatherToggle which allows choosing the behaviour for how the query
handles fetching additional information. The choices are:
- DontGather - Don't attempt to fetch information
- AttemptGather - Try to fetch the information but ignore errors
- Required - Try to fetch information and fail if it errors

A handy macro was also added to utils to dispatch additional queries
based on a GatherToggle value.

* Add/Update badge

* protocols: Improve GatherToggle enum names

Co-Authored-By: Cain <75994858+cainthebest@users.noreply.github.com>
Co-Authored-By: CosminPerRam <cosmin.p@live.com>

* Add/Update badge

---------

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Cain <75994858+cainthebest@users.noreply.github.com>
Co-authored-by: CosminPerRam <cosmin.p@live.com>
2024-01-22 13:36:17 +02:00