mirror of
https://github.com/tribufu/rust-gamedig
synced 2026-06-01 09:42:41 +00:00
Games: Add Project Zomboid support.
This commit is contained in:
parent
328de37b2d
commit
f03a1de035
6 changed files with 20 additions and 1 deletions
|
|
@ -7,6 +7,7 @@ Games:
|
||||||
- [Risk of Rain 2](https://store.steampowered.com/app/632360/Risk_of_Rain_2/) support.
|
- [Risk of Rain 2](https://store.steampowered.com/app/632360/Risk_of_Rain_2/) support.
|
||||||
- [Battalion 1944](https://store.steampowered.com/app/489940/BATTALION_Legacy/) support.
|
- [Battalion 1944](https://store.steampowered.com/app/489940/BATTALION_Legacy/) support.
|
||||||
- [Black Mesa](https://store.steampowered.com/app/362890/Black_Mesa/) support.
|
- [Black Mesa](https://store.steampowered.com/app/362890/Black_Mesa/) support.
|
||||||
|
- [Project Zomboid](https://store.steampowered.com/app/108600/Project_Zomboid/) support.
|
||||||
|
|
||||||
Protocols:
|
Protocols:
|
||||||
- Valve: Players with no name are no more added to the `players_details` field.
|
- Valve: Players with no name are no more added to the `players_details` field.
|
||||||
|
|
|
||||||
1
GAMES.md
1
GAMES.md
|
|
@ -33,6 +33,7 @@ A supported game is defined as a game that has been successfully tested, other g
|
||||||
| Risk of Rain 2 | ROR2 | Valve Protocol | Query port offset: 1. |
|
| Risk of Rain 2 | ROR2 | Valve Protocol | Query port offset: 1. |
|
||||||
| Battalion 1944 | BAT1944 | Valve Protocol | Query port offset: 3. It is strongly recommended to also query the rules, as the game sends server information's in them. |
|
| Battalion 1944 | BAT1944 | Valve Protocol | Query port offset: 3. It is strongly recommended to also query the rules, as the game sends server information's in them. |
|
||||||
| Black Mesa | BM | Valve Protocol | |
|
| Black Mesa | BM | Valve Protocol | |
|
||||||
|
| Project Zomboid | PZ | Valve Protocol | |
|
||||||
|
|
||||||
## Planned to add support:
|
## Planned to add support:
|
||||||
_
|
_
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
use std::env;
|
use std::env;
|
||||||
use gamedig::{aliens, arma2oa, ase, asrd, bat1944, bm, cs, cscz, csgo, css, dod, dods, doi, GDResult, gm, hl2dm, hldms, ins, insmic, inss, l4d, l4d2, mc, ror2, rust, sc, sdtd, tf, tf2, tfc, ts, unturned};
|
use gamedig::{aliens, arma2oa, ase, asrd, bat1944, bm, cs, cscz, csgo, css, dod, dods, doi, GDResult, gm, hl2dm, hldms, ins, insmic, inss, l4d, l4d2, mc, pz, ror2, rust, sc, sdtd, tf, tf2, tfc, ts, unturned};
|
||||||
use gamedig::protocols::minecraft::LegacyGroup;
|
use gamedig::protocols::minecraft::LegacyGroup;
|
||||||
use gamedig::protocols::valve;
|
use gamedig::protocols::valve;
|
||||||
use gamedig::protocols::valve::App;
|
use gamedig::protocols::valve::App;
|
||||||
|
|
@ -72,6 +72,7 @@ fn main() -> GDResult<()> {
|
||||||
"ror2" => println!("{:#?}", ror2::query(ip, port)?),
|
"ror2" => println!("{:#?}", ror2::query(ip, port)?),
|
||||||
"bat1944" => println!("{:#?}", bat1944::query(ip, port)?),
|
"bat1944" => println!("{:#?}", bat1944::query(ip, port)?),
|
||||||
"bm" => println!("{:#?}", bm::query(ip, port)?),
|
"bm" => println!("{:#?}", bm::query(ip, port)?),
|
||||||
|
"pz" => println!("{:#?}", pz::query(ip, port)?),
|
||||||
_ => panic!("Undefined game: {}", args[1])
|
_ => panic!("Undefined game: {}", args[1])
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -63,3 +63,5 @@ pub mod ror2;
|
||||||
pub mod bat1944;
|
pub mod bat1944;
|
||||||
/// Black Mesa
|
/// Black Mesa
|
||||||
pub mod bm;
|
pub mod bm;
|
||||||
|
/// Project Zomboid
|
||||||
|
pub mod pz;
|
||||||
|
|
|
||||||
12
src/games/pz.rs
Normal file
12
src/games/pz.rs
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
use crate::GDResult;
|
||||||
|
use crate::protocols::valve;
|
||||||
|
use crate::protocols::valve::{game, SteamID};
|
||||||
|
|
||||||
|
pub fn query(address: &str, port: Option<u16>) -> GDResult<game::Response> {
|
||||||
|
let valve_response = valve::query(address, match port {
|
||||||
|
None => 16261,
|
||||||
|
Some(port) => port
|
||||||
|
}, SteamID::PZ.as_app(), None, None)?;
|
||||||
|
|
||||||
|
Ok(game::Response::new_from_valve_response(valve_response))
|
||||||
|
}
|
||||||
|
|
@ -173,6 +173,8 @@ pub enum SteamID {
|
||||||
INSMIC = 17700,
|
INSMIC = 17700,
|
||||||
/// ARMA 2: Operation Arrowhead
|
/// ARMA 2: Operation Arrowhead
|
||||||
ARMA2OA = 33930,
|
ARMA2OA = 33930,
|
||||||
|
/// Project Zomboid
|
||||||
|
PZ = 108600,
|
||||||
/// Insurgency
|
/// Insurgency
|
||||||
INS = 222880,
|
INS = 222880,
|
||||||
/// Sven Co-op
|
/// Sven Co-op
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue