Commit graph

134 commits

Author SHA1 Message Date
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
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
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
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
CosminPerRam
59994bc086 [Games] Use port.unwrap_or instead of matching it 2023-03-03 18:02:54 +02:00
CosminPerRam
950c08c18e
[Protocol] GameSpy 1 support with the games Unreal Tournament and Battlefield 1942. (#9)
* Initial files + unreal tournament

* Fix master_querant

* Split by delimiter and collect into hashmap

* Furter port to accept more packets

* Improve getting the server's values

* Some initial players parsing

* Players parsing

* Add error handling

* Add some more fields

* Add Battlefield 1942 support.

* Add query_vars and some docs
2023-03-03 17:45:18 +02:00
CosminPerRam
cd4cbc09db [Games] V Rising support. 2023-02-19 18:37:10 +02:00
CosminPerRam
e26f0f871a [Protocol] Valve: Fix queries that require multiple challenge responses 2023-02-19 17:56:39 +02:00
CosminPerRam
99c87557c2 [Protocol] Valve: Reverse: No name players not being added to the list 2023-02-19 16:43:55 +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
fe46359e47 Games: Operation Harsh Doorstop support. 2023-02-18 19:00:54 +02:00
CosminPerRam
719ae9d591 Games: Avorion support. 2023-02-18 18:37:02 +02:00
CosminPerRam
e16efee488 Games: BrainBread 2 support. 2023-02-18 18:25:17 +02:00
CosminPerRam
eca9757421 Ballistic Overkill support. 2023-02-18 18:17:19 +02:00
CosminPerRam
df9005cc9f Games: Codename CURE support. 2023-02-18 18:09:20 +02:00
CosminPerRam
bdaa1c4f64 Move up SDTD Steam ID 2023-02-18 18:02:21 +02:00
CosminPerRam
649dfd81ed Games: Onset support. 2023-01-18 18:13:50 +02:00
CosminPerRam
2312ba9114 Games: Colony Survival support. 2023-01-18 18:06:08 +02:00
CosminPerRam
bbd2dd7d97 Games: Don't Starve Together support. 2023-01-18 17:57:19 +02:00
CosminPerRam
dfe544c6aa Bump version to 0.1.0 2023-01-17 02:02:49 +02:00
CosminPerRam
6ec2b8952c Update docs. 2023-01-17 01:21:34 +02:00
CosminPerRam
21a27fd9cc Protocol: Minecraft: Rename java's response struct to JavaResponse 2023-01-17 01:21:17 +02:00
CosminPerRam
f2ae81002e Protocol: Minecraft: Rename players-related fields 2023-01-17 01:01:53 +02:00
CosminPerRam
e2f42008b2 Games: Age of Chivalry support. 2023-01-16 23:10:16 +02:00
CosminPerRam
9c9a096b16 Valve Protocol: Extend split packets correctly 2023-01-16 22:44:55 +02:00
CosminPerRam
f03a1de035 Games: Add Project Zomboid support. 2023-01-16 22:03:28 +02:00
CosminPerRam
328de37b2d Games: Add Black Mesa support. 2023-01-16 21:33:28 +02:00
CosminPerRam
4a7eb400db Games: Add Battalion 1944 from-rules server information's 2023-01-13 23:52:45 +02:00
CosminPerRam
9bcbfbc198 Games: Add Battalion 1944 support. 2023-01-13 23:08:09 +02:00
CosminPerRam
018935fd29 Valve Protocol: Fix BadGame reported appid 2023-01-13 22:58:36 +02:00
CosminPerRam
ff789fcb90 Valve: Rename players-related fields 2023-01-13 19:36:03 +02:00
CosminPerRam
824c4d34c0 Add proper MSRV to Cargo.toml 2023-01-13 01:31:57 +02:00
CosminPerRam
3928d3a818 Implement std::error::Error for GDError 2023-01-13 01:00:31 +02:00