mirror of
https://github.com/tribufu/rust-gamedig
synced 2026-06-01 09:42:41 +00:00
[Games] Add Warsow support.
This commit is contained in:
parent
58f7ff8aab
commit
0f9a10f2fb
6 changed files with 16 additions and 0 deletions
|
|
@ -14,6 +14,7 @@ Generic query:
|
||||||
Games:
|
Games:
|
||||||
- [Halo: Combat Evolved](https://en.wikipedia.org/wiki/Halo:_Combat_Evolved) support.
|
- [Halo: Combat Evolved](https://en.wikipedia.org/wiki/Halo:_Combat_Evolved) support.
|
||||||
- [Just Cause 2: Multiplayer](https://store.steampowered.com/app/259080/Just_Cause_2_Multiplayer_Mod/) support.
|
- [Just Cause 2: Multiplayer](https://store.steampowered.com/app/259080/Just_Cause_2_Multiplayer_Mod/) support.
|
||||||
|
- [Warsow](https://warsow.net/) support.
|
||||||
|
|
||||||
### Breaking...
|
### Breaking...
|
||||||
Protocols:
|
Protocols:
|
||||||
|
|
|
||||||
1
GAMES.md
1
GAMES.md
|
|
@ -58,6 +58,7 @@ Beware of the `Notes` column, as it contains information about query port offset
|
||||||
| Soldier of Fortune 2 | SOF2 | Quake 3 | |
|
| Soldier of Fortune 2 | SOF2 | Quake 3 | |
|
||||||
| Halo: Combat Evolved | HALOCE | GameSpy 2 | |
|
| Halo: Combat Evolved | HALOCE | GameSpy 2 | |
|
||||||
| Just Cause 2: Multiplayer | JC2MP | GameSpy 3 (*Altered) | |
|
| Just Cause 2: Multiplayer | JC2MP | GameSpy 3 (*Altered) | |
|
||||||
|
| Warsow | WARSOW | Quake 3 | |
|
||||||
|
|
||||||
## Planned to add support:
|
## Planned to add support:
|
||||||
_
|
_
|
||||||
|
|
|
||||||
|
|
@ -57,6 +57,7 @@ use gamedig::{
|
||||||
unturned,
|
unturned,
|
||||||
ut,
|
ut,
|
||||||
vr,
|
vr,
|
||||||
|
warsow,
|
||||||
GDResult,
|
GDResult,
|
||||||
};
|
};
|
||||||
use std::env;
|
use std::env;
|
||||||
|
|
@ -191,6 +192,7 @@ fn main() -> GDResult<()> {
|
||||||
"_gamespy2" => println!("{:#?}", gamespy::two::query(address, None)),
|
"_gamespy2" => println!("{:#?}", gamespy::two::query(address, None)),
|
||||||
"haloce" => println!("{:#?}", haloce::query(ip, port)?),
|
"haloce" => println!("{:#?}", haloce::query(ip, port)?),
|
||||||
"jc2mp" => println!("{:#?}", jc2mp::query(ip, port)?),
|
"jc2mp" => println!("{:#?}", jc2mp::query(ip, port)?),
|
||||||
|
"warsow" => println!("{:#?}", warsow::query(ip, port)?),
|
||||||
_ => panic!("Undefined game: {}", args[1]),
|
_ => panic!("Undefined game: {}", args[1]),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -83,4 +83,5 @@ pub static GAMES: Map<&'static str, Game> = phf_map! {
|
||||||
"ut" => game!("Unreal Tournament", 7778, Protocol::Gamespy(GameSpyVersion::One)),
|
"ut" => game!("Unreal Tournament", 7778, Protocol::Gamespy(GameSpyVersion::One)),
|
||||||
"vr" => game!("V Rising", 27016, Protocol::Valve(SteamApp::VR)),
|
"vr" => game!("V Rising", 27016, Protocol::Valve(SteamApp::VR)),
|
||||||
"jc2mp" => game!("Just Cause 2: Multiplayer", 7777, Protocol::PROPRIETARY(ProprietaryProtocol::JC2MP)),
|
"jc2mp" => game!("Just Cause 2: Multiplayer", 7777, Protocol::PROPRIETARY(ProprietaryProtocol::JC2MP)),
|
||||||
|
"warsow" => game!("Warsow", 44400, Protocol::Quake(QuakeVersion::Three)),
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -111,6 +111,8 @@ pub mod unturned;
|
||||||
pub mod ut;
|
pub mod ut;
|
||||||
/// V Rising
|
/// V Rising
|
||||||
pub mod vr;
|
pub mod vr;
|
||||||
|
/// Warsow
|
||||||
|
pub mod warsow;
|
||||||
|
|
||||||
use crate::protocols::gamespy::GameSpyVersion;
|
use crate::protocols::gamespy::GameSpyVersion;
|
||||||
use crate::protocols::quake::QuakeVersion;
|
use crate::protocols::quake::QuakeVersion;
|
||||||
|
|
|
||||||
9
src/games/warsow.rs
Normal file
9
src/games/warsow.rs
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
use crate::protocols::quake;
|
||||||
|
use crate::protocols::quake::two::Player;
|
||||||
|
use crate::protocols::quake::Response;
|
||||||
|
use crate::GDResult;
|
||||||
|
use std::net::{IpAddr, SocketAddr};
|
||||||
|
|
||||||
|
pub fn query(address: &IpAddr, port: Option<u16>) -> GDResult<Response<Player>> {
|
||||||
|
quake::three::query(&SocketAddr::new(*address, port.unwrap_or(44400)), None)
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue