Commit graph

209 commits

Author SHA1 Message Date
CosminPerRam
b3ba7df6d9 [Games] Add Hell Let Loose support. 2023-05-30 16:48:19 +03:00
CosminPerRam
06a2ceeda9 [Games] Add Quake 3 support and change players frags from u16 to i16 2023-05-30 16:23:37 +03:00
CosminPerRam
af5e0d1fbf [Games] Add Quake 1 support. 2023-05-30 16:18:04 +03:00
CosminPerRam
c874b463e3 [Protocol] Fix Quake 1 implementation. 2023-05-30 16:15:08 +03:00
CosminPerRam
f79f2ea2de [Games] Add Quake 2 support. 2023-05-30 15:57:17 +03:00
CosminPerRam
0ceb31bf86 [Crate] Apply cargo clippy fixes 2023-05-30 15:49:35 +03:00
CosminPerRam
d302d1173f
[Protocol] Add quake protocols. (#35)
* [Protocol] Initial packet receive implementation

* [Protocol] Add key extraction

* [Protocol] Fix new Ipv4Addr query address and get string with unended

* [Protocol] Properly parse the received data

* [Protocol] Add parse players

* [Protocol] Add bots

* [Protocol] Extract into functions

* [Protocol] Remove quotes from player name

* [Protocol] Add two and three files

* [Protocol] Make quake queries very modular

* [Protocol] Remove the need of a client instance

* [Protocol] Revesed if statement

* [Protocol] Apply clippy fixes and replace String by &str in get send header

* [Protocol] Add one and three implementations

* [Protocol] Add quake2 and quake3 to master_querant

* [Protocol] Fix Q2 implementation

* [Protocol] Change from Ipv4Addr to IpAddr

* [Protocol] Fix Q3 response header

* [Protocol] Fix Q3 response

* [Crate] Add Q1, 2 and 3 to changelog and protocols

* [Protocol] Extract client into separate file and add some docs
2023-05-30 15:33:41 +03:00
CosminPerRam
3dbc6498ed [Crate] Add Douile acknowledgement to Changelog 2023-05-29 11:19:16 +03:00
Tom
3f654e0dfd
[Protocol] Enable the use of Ipv6 addresses (#41)
Replace usages of Ipv4Addr with IpAddr which allows the use of either Ipv4 or Ipv6.

This patch essentially consists of running:
"sed -i 's/Ipv4Addr/IpAddr/g' src/**/*.rs examples/*"
and fixing the errors.
2023-05-29 11:10:21 +03:00
CosminPerRam
e620398615 [Crate] Changed all address &str to &Ipv4Addr 2023-05-27 00:41:41 +03:00
CosminPerRam
a69896f737 [Service] Fix tests 2023-05-08 15:34:59 +03:00
CosminPerRam
f843780469 [Service] Removed Filters and SearchFilters lifetimes and changed str instances to String 2023-05-08 15:31:38 +03:00
CosminPerRam
a8e2b51dbb Revert "[Service] Add merge methods on SearchFilters"
This reverts commit a17f5ad4d2.
2023-05-08 15:16:54 +03:00
CosminPerRam
a17f5ad4d2 [Service] Add merge methods on SearchFilters 2023-05-08 14:59:55 +03:00
CosminPerRam
fc52f3fe91 [Protocol] Add derives and serde derives to GatheringSettings 2023-05-08 02:08:22 +03:00
CosminPerRam
726bfd429f [Crate] Bump version to 0.2.2 2023-05-01 20:27:39 +03:00
CosminPerRam
33e8f43cb8 [Games] Add Crysis Wars support. 2023-04-30 01:26:12 +03:00
CosminPerRam
3ef599056a [Protocol] GS3 if no player/team data is gathered, dont try to create a struct 2023-04-30 01:20:16 +03:00
CosminPerRam
8abb657800 [Service] Update docs. 2023-04-30 00:50:51 +03:00
CosminPerRam
9f22a4eadf [Crate] Add no_services feature flag 2023-04-30 00:42:01 +03:00
CosminPerRam
4c4b9d6b45 [Crate] Edit serde feature to clarify serialization/deserialization for response types 2023-04-30 00:34:04 +03:00
CosminPerRam
6c9f554751 [Service] Make Filter to_bytes take self instead of &self 2023-04-30 00:22:47 +03:00
CosminPerRam
ed2934f3fa [Service] Replace repetitive code with a function 2023-04-30 00:20:24 +03:00
CosminPerRam
3b694815cc [Service] Add Copy trait to VMS Filter 2023-04-29 23:03:56 +03:00
CosminPerRam
e159cfebbd [Service] Valve Master Server change filter storage from Vec<Filter> to a HashMap variant for better speed 2023-04-29 22:57:10 +03:00
CosminPerRam
780d42067e [Protocol] Moved GS1 under gamespy::one instead of gamespy 2023-04-28 19:49:52 +03:00
CosminPerRam
c5fd58f794 [Protocol] Some cargo clippy improvements for GS one and three 2023-04-28 19:09:11 +03:00
CosminPerRam
4122d34cfa
[Service] Add valve master server query service (#34)
* [Service] Add initial files

* [Service] Add initial request packet

* [Service] Add filters

* [Service] Some clippy improvements

* [Service] Make query a vector of ipv4addr and port

* [Service] Add complete and singular query

* [Crate] Update md files

* [Service] Add docs and clippy adjustments

* [Service] Add hasTags and fix filters

* [Service] Use let some instead of match

* [Service] Add other filters

* [Service] Add nor and nand filters

* [Service] Remove 0.0.0.0:0 from query

* [Service] Remove dev testing test

* [Service] Add valve_master_server_query example
2023-04-28 18:00:04 +03:00
CosminPerRam
348147b415
[Game] Add Frontlines: Fuel of War support. (#31)
* [Game] Add initial files

* [Game] Initial support

* [Game] Add response struct

* [Game] Add query_with_timeout

* [Game] FFOW: Added some doc comments
2023-04-22 20:03:30 +03:00
CosminPerRam
786da81ea5
[Protocol] Add GameSpy 3 support. (#25)
* [Protocol] Gamespy3 initial code

* [Protocol] Add rest of challenge solving

* [Protocol] Remove unused stuff

* [Protocol] Remove adding unused bytes

* [Protocol] Clean up code

* [Protocol] Make gs3 a struct

* [Protocol] Add initial key-value parsing

* [Protocol] Manage multiple packets

* [Protocol] Split server vars and other vars

* Revert "[Protocol] Split server vars and other vars"

This reverts commit 9a930aeb68802fcf3d0908a2e031dfea054d37d0.

* [Protocol] Proper packet management and initial response struct

* [Protocol] Fix players_minimum

* [Protocol] Fix server vars to parse only the first packet

* [Protocol] Update CHANGELOG.md

* [Protocol] Initial player parsing

* [Protocol] Split GS one and three

* [Protocol] Add common code file

* [Protocol] Change static to const

* [Protocol] Fix players_online and break on data to map on empty key

* [Protocol] Remove unused types and printlns

* [Protocol] Add teams parsing

* [Protocol] Split key_values and parsing data

* [Crate] Update PROTOCOLS.md
2023-04-17 15:10:51 +03:00
Cain
1b13d39856
[Crate] Add formatting (#22)
* chore: add standard for formatting

* chore: manually tidy up imports and format

* chore: remove vscode and add to gitignore

* chore: alphabetically order and fix

* chore: format

* chore: fix format issue with payload

* chore: format as merge had unformatted code

* [format] Fix comments, change max width and binop operator

---------

Co-authored-by: CosminPerRam <cosmin.p@live.com>
2023-03-14 10:31:37 +02:00
CosminPerRam
e023e13236 [Crate] Add serde feature to changelog and lib doc 2023-03-13 17:02:51 +02: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
Cain
bd2e373d66
[Crate] Make clippy happy (#23)
* fix: clippy::type_complexity

* fix: clippy::needless_doctest_main

* fix: clippy::read_zero_byte_vec

* fix: clippy::useless_conversion

* fix: clippy::slow_vector_initialization
2023-03-13 11:28:49 +02:00
CosminPerRam
7f73eb582d [Crate] Update CHANGELOG to add optimizations thanks 2023-03-13 00:45:54 +02:00
CosminPerRam
9f6b3bae18 [Crate] Reorganize README. 2023-03-13 00:43:03 +02:00
CosminPerRam
7500b09b4d [Bufferer] Use struct functions internally too 2023-03-12 22:53:26 +02:00
Cain
568c53f129
[Tests] udp and tcp socket test (#17)
* impl(test): udp and tcp socket test

* fix(test): try and fix possable thread hang

* fix(test): move socket to thread

* [test/socket] Move listener outside of thread scope to make sure it is binded

* [test/socket] Let the OS to bind to an available port

---------

Co-authored-by: CosminPerRam <cosmin.p@live.com>
2023-03-12 01:07:36 +02:00
Cain
927d56b1ee
[Tests]: Timeout settings (#18) 2023-03-11 11:17:36 +02:00
CosminPerRam
3dacc09173 [Utils] Replace address and port as string string and additions to format! 2023-03-11 00:20:09 +02:00
CosminPerRam
7352c595e9 [Socket] Replace static with const for DEFAULT_PACKET_SIZE value 2023-03-11 00:00:31 +02:00
Cain
bf2a05f488
[Tests] result, display, trait and cloning (#19) 2023-03-10 22:27:30 +02:00
CosminPerRam
2865543975 [Repo] Add Discord Server link 2023-03-10 21:52:56 +02:00
CosminPerRam
a3cbb24d0d [Crate] Further use the Byteorder crate 2023-03-09 17:17:48 +02:00
CosminPerRam
9ad2f143dd [Crate] Use Byteorder crate 2023-03-09 16:41:13 +02:00
CosminPerRam
e163774685 [Protocols] Cargo clippy optimizations 2023-03-09 01:30:28 +02:00
CosminPerRam
e6562d30cb [Crate] Update links to point to gamedig organization rather than cosminperram 2023-03-08 21:50:34 +02:00
CosminPerRam
14c5edc1be [Games] Serious Sam support. 2023-03-04 21:36:01 +02:00
CosminPerRam
8992ffe4df [Docs] Match the docs example to the one from the readme 2023-03-04 14:04:38 +02:00
CosminPerRam
9d0cc15f4c [Crate] Update lib docs spelling 2023-03-04 13:47:20 +02:00