[Game] Apply new id naming (#114)

* Apply new id naming

* Fix failing CI on all features

* Update changelog

* Rename tf2 example to teamfortress2

* Fix typo in steamapp game names

* Rename minecraft legacy versions

* Apply CI node badge fix by Douile

* Add/Update badge

---------

Co-authored-by: GitHub Action <action@github.com>
This commit is contained in:
CosminPerRam 2023-10-06 17:20:30 +03:00 committed by GitHub
parent b4c61781fb
commit 5280ecb3c6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
38 changed files with 231 additions and 232 deletions

View file

@ -7,7 +7,7 @@ use std::net::{IpAddr, SocketAddr};
pub fn query(address: &IpAddr, port: Option<u16>) -> GDResult<game::Response> {
let valve_response = valve::query(
&SocketAddr::new(*address, port.unwrap_or(2304)),
SteamApp::ARMA2OA.as_engine(),
SteamApp::A2OA.as_engine(),
None,
None,
)?;

View file

@ -7,7 +7,7 @@ use std::net::{IpAddr, SocketAddr};
pub fn query(address: &IpAddr, port: Option<u16>) -> GDResult<game::Response> {
let valve_response = valve::query(
&SocketAddr::new(*address, port.unwrap_or(27015)),
SteamApp::TF2.as_engine(),
SteamApp::AOC.as_engine(),
None,
None,
)?;

View file

@ -7,7 +7,7 @@ use std::net::{IpAddr, SocketAddr};
pub fn query(address: &IpAddr, port: Option<u16>) -> GDResult<game::Response> {
let valve_response = valve::query(
&SocketAddr::new(*address, port.unwrap_or(27015)),
SteamApp::CS.as_engine(),
SteamApp::ASE.as_engine(),
None,
None,
)?;

View file

@ -8,7 +8,7 @@ use std::net::{IpAddr, SocketAddr};
pub fn query(address: &IpAddr, port: Option<u16>) -> GDResult<game::Response> {
let mut valve_response = valve::query(
&SocketAddr::new(*address, port.unwrap_or(7780)),
SteamApp::BAT1944.as_engine(),
SteamApp::BATTALION1944.as_engine(),
None,
None,
)?;

View file

@ -7,7 +7,7 @@ use std::net::{IpAddr, SocketAddr};
pub fn query(address: &IpAddr, port: Option<u16>) -> GDResult<game::Response> {
let valve_response = valve::query(
&SocketAddr::new(*address, port.unwrap_or(27015)),
SteamApp::AGEOFCHIVALRY.as_engine(),
SteamApp::COUNTERSTRIKE.as_engine(),
None,
None,
)?;

View file

@ -28,26 +28,26 @@ pub static GAMES: Map<&'static str, Game> = phf_map! {
"minecraft" => game!("Minecraft", 25565, Protocol::Minecraft(None)),
"minecraftping" => game!("Minecraft", 25565, Protocol::Minecraft(None)),
// Query with specific minecraft protocols
"minecraftbe" => game!("Minecraft (bedrock)", 19132, Protocol::Minecraft(Some(Server::Bedrock))),
"minecraftpe" => game!("Minecraft (bedrock/pocket edition)", 19132, Protocol::Minecraft(Some(Server::Bedrock))),
"minecraftbedrock" => game!("Minecraft (bedrock)", 19132, Protocol::Minecraft(Some(Server::Bedrock))),
"minecraftpocket" => game!("Minecraft (bedrock/pocket edition)", 19132, Protocol::Minecraft(Some(Server::Bedrock))),
"minecraftjava" => game!("Minecraft (java)", 25565, Protocol::Minecraft(Some(Server::Java))),
"minecraft-legacy-1.6" => game!("Minecraft (legacy v1.6)", 25565, Protocol::Minecraft(Some(Server::Legacy(LegacyGroup::V1_6)))),
"minecraft-legacy-1.4" => game!("Minecraft (legacy v1.4-1.5)", 25565, Protocol::Minecraft(Some(Server::Legacy(LegacyGroup::V1_4)))),
"minecraft-legacy-b1.8" => game!("Minecraft (legacy vB1.8-1.3)", 25565, Protocol::Minecraft(Some(Server::Legacy(LegacyGroup::VB1_8)))),
"minecraftlegacy16" => game!("Minecraft (legacy v1.6)", 25565, Protocol::Minecraft(Some(Server::Legacy(LegacyGroup::V1_6)))),
"minecraftlegacy15" => game!("Minecraft (legacy v1.4-1.5)", 25565, Protocol::Minecraft(Some(Server::Legacy(LegacyGroup::V1_5)))),
"minecraftlegacy13" => game!("Minecraft (legacy vB1.8-1.3)", 25565, Protocol::Minecraft(Some(Server::Legacy(LegacyGroup::V1_3)))),
"alienswarm" => game!("Alien Swarm", 27015, Protocol::Valve(SteamApp::ALIENSWARM)),
"ageofchivalry" => game!("Age of Chivalry", 27015, Protocol::Valve(SteamApp::AGEOFCHIVALRY)),
"arma2oa" => game!("ARMA 2: Operation Arrowhead", 2304, Protocol::Valve(SteamApp::ARMA2OA)),
"arkse" => game!("ARK: Survival Evolved", 27015, Protocol::Valve(SteamApp::ARKSE)),
"aoc" => game!("Age of Chivalry", 27015, Protocol::Valve(SteamApp::AOC)),
"a2oa" => game!("ARMA 2: Operation Arrowhead", 2304, Protocol::Valve(SteamApp::A2OA)),
"ase" => game!("ARK: Survival Evolved", 27015, Protocol::Valve(SteamApp::ASE)),
"asrd" => game!("Alien Swarm: Reactive Drop", 2304, Protocol::Valve(SteamApp::ASRD)),
"avorion" => game!("Avorion", 27020, Protocol::Valve(SteamApp::AVORION)),
"bat1944" => game!("Battalion 1944", 7780, Protocol::Valve(SteamApp::BAT1944)),
"battalion1944" => game!("Battalion 1944", 7780, Protocol::Valve(SteamApp::BATTALION1944)),
"brainbread2" => game!("BrainBread 2", 27015, Protocol::Valve(SteamApp::BRAINBREAD2)),
"bf1942" => game!("Battlefield 1942", 23000, Protocol::Gamespy(GameSpyVersion::One)),
"battlefield1942" => game!("Battlefield 1942", 23000, Protocol::Gamespy(GameSpyVersion::One)),
"blackmesa" => game!("Black Mesa", 27015, Protocol::Valve(SteamApp::BLACKMESA)),
"ballisticoverkill" => game!("Ballistic Overkill", 27016, Protocol::Valve(SteamApp::BALLISTICOVERKILL)),
"codenamecure" => game!("Codename CURE", 27015, Protocol::Valve(SteamApp::CODENAMECURE)),
"colonysurvival" => game!("Colony Survival", 27004, Protocol::Valve(SteamApp::COLONYSURVIVAL)),
"cs" => game!("Counter-Strike", 27015, Protocol::Valve(SteamApp::CS)),
"counterstrike" => game!("Counter-Strike", 27015, Protocol::Valve(SteamApp::COUNTERSTRIKE)),
"cscz" => game!("Counter Strike: Condition Zero", 27015, Protocol::Valve(SteamApp::CSCZ)),
"csgo" => game!("Counter-Strike: Global Offensive", 27015, Protocol::Valve(SteamApp::CSGO)),
"css" => game!("Counter-Strike: Source", 27015, Protocol::Valve(SteamApp::CSS)),
@ -59,35 +59,35 @@ pub static GAMES: Map<&'static str, Game> = phf_map! {
"dst" => game!("Don't Starve Together", 27016, Protocol::Valve(SteamApp::DST)),
"ffow" => game!("Frontlines: Fuel of War", 5478, Protocol::PROPRIETARY(ProprietaryProtocol::FFOW)),
"garrysmod" => game!("Garry's Mod", 27016, Protocol::Valve(SteamApp::GARRYSMOD)),
"hl2dm" => game!("Half-Life 2 Deathmatch", 27015, Protocol::Valve(SteamApp::HL2DM)),
"haloce" => game!("Halo: Combat Evolved", 2302, Protocol::Gamespy(GameSpyVersion::Two)),
"hldms" => game!("Half-Life Deathmatch: Source", 27015, Protocol::Valve(SteamApp::HLDMS)),
"hl2d" => game!("Half-Life 2 Deathmatch", 27015, Protocol::Valve(SteamApp::HL2D)),
"hce" => game!("Halo: Combat Evolved", 2302, Protocol::Gamespy(GameSpyVersion::Two)),
"hlds" => game!("Half-Life Deathmatch: Source", 27015, Protocol::Valve(SteamApp::HLDS)),
"hll" => game!("Hell Let Loose", 26420, Protocol::Valve(SteamApp::HLL)),
"insurgency" => game!("Insurgency", 27015, Protocol::Valve(SteamApp::INSURGENCY)),
"insurgencymic" => game!("Insurgency: Modern Infantry Combat", 27015, Protocol::Valve(SteamApp::INSURGENCYMIC)),
"imic" => game!("Insurgency: Modern Infantry Combat", 27015, Protocol::Valve(SteamApp::IMIC)),
"insurgencysandstorm" => game!("Insurgency: Sandstorm", 27131, Protocol::Valve(SteamApp::INSURGENCYSANDSTORM)),
"left4dead" => game!("Left 4 Dead", 27015, Protocol::Valve(SteamApp::LEFT4DEAD)),
"left4dead2" => game!("Left 4 Dead 2", 27015, Protocol::Valve(SteamApp::LEFT4DEAD2)),
"ohd" => game!("Operation: Harsh Doorstop", 27005, Protocol::Valve(SteamApp::OHD)),
"onset" => game!("Onset", 7776, Protocol::Valve(SteamApp::ONSET)),
"przomboid" => game!("Project Zomboid", 16261, Protocol::Valve(SteamApp::PRZOMBOID)),
"projectzomboid" => game!("Project Zomboid", 16261, Protocol::Valve(SteamApp::PROJECTZOMBOID)),
"quake1" => game!("Quake 1", 27500, Protocol::Quake(QuakeVersion::One)),
"quake2" => game!("Quake 2", 27910, Protocol::Quake(QuakeVersion::Two)),
"quake3" => game!("Quake 3: Arena", 27960, Protocol::Quake(QuakeVersion::Three)),
"ror2" => game!("Risk of Rain 2", 27016, Protocol::Valve(SteamApp::ROR2)),
"rust" => game!("Rust", 27015, Protocol::Valve(SteamApp::RUST)),
"svencoop" => game!("Sven Co-op", 27015, Protocol::Valve(SteamApp::SVEENCOOP)),
"sco" => game!("Sven Co-op", 27015, Protocol::Valve(SteamApp::SCO)),
"7d2d" => game!("7 Days To Die", 26900, Protocol::Valve(SteamApp::SD2D)),
"sof2" => game!("Soldier of Fortune 2", 20100, Protocol::Quake(QuakeVersion::Three)),
"ss" => game!("Serious Sam", 25601, Protocol::Gamespy(GameSpyVersion::One)),
"serioussam" => game!("Serious Sam", 25601, Protocol::Gamespy(GameSpyVersion::One)),
"theforest" => game!("The Forest", 27016, Protocol::Valve(SteamApp::THEFOREST)),
"tf2" => game!("Team Fortress 2", 27015, Protocol::Valve(SteamApp::TF2)),
"teamfortress2" => game!("Team Fortress 2", 27015, Protocol::Valve(SteamApp::TEAMFORTRESS2)),
"tfc" => game!("Team Fortress Classic", 27015, Protocol::Valve(SteamApp::TFC)),
"ship" => game!("The Ship", 27015, Protocol::PROPRIETARY(ProprietaryProtocol::TheShip)),
"theship" => game!("The Ship", 27015, Protocol::PROPRIETARY(ProprietaryProtocol::TheShip)),
"unturned" => game!("Unturned", 27015, Protocol::Valve(SteamApp::UNTURNED)),
"ut" => game!("Unreal Tournament", 7778, Protocol::Gamespy(GameSpyVersion::One)),
"unrealtournament" => game!("Unreal Tournament", 7778, Protocol::Gamespy(GameSpyVersion::One)),
"vrising" => game!("V Rising", 27016, Protocol::Valve(SteamApp::VRISING)),
"jc2mp" => game!("Just Cause 2: Multiplayer", 7777, Protocol::PROPRIETARY(ProprietaryProtocol::JC2MP)),
"jc2m" => game!("Just Cause 2: Multiplayer", 7777, Protocol::PROPRIETARY(ProprietaryProtocol::JC2M)),
"warsow" => game!("Warsow", 44400, Protocol::Quake(QuakeVersion::Three)),
};
@ -101,7 +101,7 @@ mod test {
let ignore = [
"mod", // Module file
"definitions", // This file
"mc", // Has various defs
"minecraft", // Has various defs
"sd2d", // Module names cannot start with numbers
];

View file

@ -7,7 +7,7 @@ use std::net::{IpAddr, SocketAddr};
pub fn query(address: &IpAddr, port: Option<u16>) -> GDResult<game::Response> {
let valve_response = valve::query(
&SocketAddr::new(*address, port.unwrap_or(27015)),
SteamApp::ARKSE.as_engine(),
SteamApp::HL2D.as_engine(),
None,
None,
)?;

View file

@ -1,16 +0,0 @@
use crate::{
protocols::valve::{self, game, SteamApp},
GDResult,
};
use std::net::{IpAddr, SocketAddr};
pub fn query(address: &IpAddr, port: Option<u16>) -> GDResult<game::Response> {
let valve_response = valve::query(
&SocketAddr::new(*address, port.unwrap_or(27015)),
SteamApp::HLDMS.as_engine(),
None,
None,
)?;
Ok(game::Response::new_from_valve_response(valve_response))
}

View file

@ -7,7 +7,7 @@ use std::net::{IpAddr, SocketAddr};
pub fn query(address: &IpAddr, port: Option<u16>) -> GDResult<game::Response> {
let valve_response = valve::query(
&SocketAddr::new(*address, port.unwrap_or(27015)),
SteamApp::HL2DM.as_engine(),
SteamApp::HLDS.as_engine(),
None,
None,
)?;

16
src/games/imic.rs Normal file
View file

@ -0,0 +1,16 @@
use crate::{
protocols::valve::{self, game, SteamApp},
GDResult,
};
use std::net::{IpAddr, SocketAddr};
pub fn query(address: &IpAddr, port: Option<u16>) -> GDResult<game::Response> {
let valve_response = valve::query(
&SocketAddr::new(*address, port.unwrap_or(27015)),
SteamApp::IMIC.as_engine(),
None,
None,
)?;
Ok(game::Response::new_from_valve_response(valve_response))
}

View file

@ -1,16 +0,0 @@
use crate::{
protocols::valve::{self, game, SteamApp},
GDResult,
};
use std::net::{IpAddr, SocketAddr};
pub fn query(address: &IpAddr, port: Option<u16>) -> GDResult<game::Response> {
let valve_response = valve::query(
&SocketAddr::new(*address, port.unwrap_or(27015)),
SteamApp::INSURGENCYMIC.as_engine(),
None,
None,
)?;
Ok(game::Response::new_from_valve_response(valve_response))
}

View file

@ -37,7 +37,7 @@ pub struct Response {
}
impl CommonResponse for Response {
fn as_original(&self) -> GenericResponse { GenericResponse::JC2MP(self) }
fn as_original(&self) -> GenericResponse { GenericResponse::JC2M(self) }
fn game_version(&self) -> Option<&str> { Some(&self.game_version) }
fn description(&self) -> Option<&str> { Some(&self.description) }

View file

@ -3,14 +3,14 @@
#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};
/// Age of Chivalry
pub mod ageofchivalry;
/// ARMA 2: Operation Arrowhead
pub mod a2oa;
/// Alien Swarm
pub mod alienswarm;
/// Age of Chivalry
pub mod aoc;
/// ARK: Survival Evolved
pub mod arkse;
/// ARMA 2: Operation Arrowhead
pub mod arma2oa;
pub mod ase;
/// Alien Swarm: Reactive Drop
pub mod asrd;
/// Avorion
@ -18,9 +18,9 @@ pub mod avorion;
/// Ballistic Overkill
pub mod ballisticoverkill;
/// Battalion 1944
pub mod bat1944;
pub mod battalion1944;
/// Battlefield 1942
pub mod bf1942;
pub mod battlefield1942;
/// Black Mesa
pub mod blackmesa;
/// BrainBread 2
@ -29,12 +29,12 @@ pub mod brainbread2;
pub mod codenamecure;
/// Colony Survival
pub mod colonysurvival;
/// Counter-Strike
pub mod counterstrike;
/// Creativerse
pub mod creativerse;
/// Crysis Wars
pub mod crysiswars;
/// Counter-Strike
pub mod cs;
/// Counter Strike: Condition Zero
pub mod cscz;
/// Counter-Strike: Global Offensive
@ -54,33 +54,33 @@ pub mod ffow;
/// Garry's Mod
pub mod garrysmod;
/// Halo: Combat Evolved
pub mod haloce;
pub mod hce;
/// Half-Life 2 Deathmatch
pub mod hl2dm;
pub mod hl2d;
/// Half-Life Deathmatch: Source
pub mod hldms;
pub mod hlds;
/// Hell Let Loose
pub mod hll;
/// Insurgency: Modern Infantry Combat
pub mod imic;
/// Insurgency
pub mod insurgency;
/// Insurgency: Modern Infantry Combat
pub mod insurgencymic;
/// Insurgency: Sandstorm
pub mod insurgencysandstorm;
/// Just Cause 2: Multiplayer
pub mod jc2mp;
pub mod jc2m;
/// Left 4 Dead
pub mod left4dead;
/// Left 4 Dead 2
pub mod left4dead2;
/// Minecraft
pub mod mc;
pub mod minecraft;
/// Operation: Harsh Doorstop
pub mod ohd;
/// Onset
pub mod onset;
/// Project Zomboid
pub mod przomboid;
pub mod projectzomboid;
/// Quake 1
pub mod quake1;
/// Quake 2
@ -91,26 +91,26 @@ pub mod quake3;
pub mod ror2;
/// Rust
pub mod rust;
/// Sven Co-op
pub mod sco;
/// 7 Days To Die
pub mod sd2d;
/// The Ship
pub mod ship;
/// Serious Sam
pub mod serioussam;
/// Soldier of Fortune 2
pub mod sof2;
/// Serious Sam
pub mod ss;
/// Sven Co-op
pub mod svencoop;
/// Team Fortress 2
pub mod tf2;
pub mod teamfortress2;
/// Team Fortress Classic
pub mod tfc;
/// The Forest
pub mod theforest;
/// The Ship
pub mod theship;
/// Unreal Tournament
pub mod unrealtournament;
/// Unturned
pub mod unturned;
/// Unreal Tournament
pub mod ut;
/// V Rising
pub mod vrising;
/// Warsow
@ -222,12 +222,10 @@ pub fn query_with_timeout_and_extra_settings(
Protocol::PROPRIETARY(protocol) => {
match protocol {
ProprietaryProtocol::TheShip => {
ship::query_with_timeout(address, port, timeout_settings).map(Box::new)?
theship::query_with_timeout(address, port, timeout_settings).map(Box::new)?
}
ProprietaryProtocol::FFOW => ffow::query_with_timeout(address, port, timeout_settings).map(Box::new)?,
ProprietaryProtocol::JC2MP => {
jc2mp::query_with_timeout(address, port, timeout_settings).map(Box::new)?
}
ProprietaryProtocol::JC2M => jc2m::query_with_timeout(address, port, timeout_settings).map(Box::new)?,
}
}
})

View file

@ -7,7 +7,7 @@ use std::net::{IpAddr, SocketAddr};
pub fn query(address: &IpAddr, port: Option<u16>) -> GDResult<game::Response> {
let valve_response = valve::query(
&SocketAddr::new(*address, port.unwrap_or(16261)),
SteamApp::PRZOMBOID.as_engine(),
SteamApp::PROJECTZOMBOID.as_engine(),
None,
None,
)?;

16
src/games/sco.rs Normal file
View file

@ -0,0 +1,16 @@
use crate::{
protocols::valve::{self, game, SteamApp},
GDResult,
};
use std::net::{IpAddr, SocketAddr};
pub fn query(address: &IpAddr, port: Option<u16>) -> GDResult<game::Response> {
let valve_response = valve::query(
&SocketAddr::new(*address, port.unwrap_or(27015)),
SteamApp::SCO.as_engine(),
None,
None,
)?;
Ok(game::Response::new_from_valve_response(valve_response))
}

View file

@ -1,16 +0,0 @@
use crate::{
protocols::valve::{self, game, SteamApp},
GDResult,
};
use std::net::{IpAddr, SocketAddr};
pub fn query(address: &IpAddr, port: Option<u16>) -> GDResult<game::Response> {
let valve_response = valve::query(
&SocketAddr::new(*address, port.unwrap_or(27015)),
SteamApp::SVEENCOOP.as_engine(),
None,
None,
)?;
Ok(game::Response::new_from_valve_response(valve_response))
}

View file

@ -0,0 +1,16 @@
use crate::{
protocols::valve::{self, game, SteamApp},
GDResult,
};
use std::net::{IpAddr, SocketAddr};
pub fn query(address: &IpAddr, port: Option<u16>) -> GDResult<game::Response> {
let valve_response = valve::query(
&SocketAddr::new(*address, port.unwrap_or(27015)),
SteamApp::TEAMFORTRESS2.as_engine(),
None,
None,
)?;
Ok(game::Response::new_from_valve_response(valve_response))
}

View file

@ -136,7 +136,7 @@ pub fn query_with_timeout(
) -> GDResult<Response> {
let valve_response = valve::query(
&SocketAddr::new(*address, port.unwrap_or(27015)),
SteamApp::SHIP.as_engine(),
SteamApp::THESHIP.as_engine(),
None,
timeout_settings,
)?;

View file

@ -4,9 +4,9 @@
//!
//! ## For a specific game
//! ```
//! use gamedig::games::tf2;
//! use gamedig::games::teamfortress2;
//!
//! let response = tf2::query(&"127.0.0.1".parse().unwrap(), None); // None is the default port (which is 27015), could also be Some(27015)
//! let response = teamfortress2::query(&"127.0.0.1".parse().unwrap(), None); // None is the default port (which is 27015), could also be Some(27015)
//! match response { // Result type, must check what it is...
//! Err(error) => println!("Couldn't query, error: {}", error),
//! Ok(r) => println!("{:#?}", r)
@ -17,7 +17,7 @@
//! ```
//! use gamedig::games::{GAMES, query};
//!
//! let game = GAMES.get("tf2").unwrap(); // Get a game definition, the full list can be found in src/games/mod.rs
//! let game = GAMES.get("teamfortress2").unwrap(); // Get a game definition, the full list can be found in src/games/mod.rs
//! let response = query(game, &"127.0.0.1".parse().unwrap(), None); // None will use the default port
//! match response {
//! Err(error) => println!("Couldn't query, error: {}", error),

View file

@ -14,12 +14,12 @@ use std::net::SocketAddr;
use byteorder::BigEndian;
pub struct LegacyBV1_8 {
pub struct LegacyV1_3 {
socket: TcpSocket,
retry_count: usize,
}
impl LegacyBV1_8 {
impl LegacyV1_3 {
fn new(address: &SocketAddr, timeout_settings: Option<TimeoutSettings>) -> GDResult<Self> {
let socket = TcpSocket::new(address)?;
socket.apply_timeout(&timeout_settings)?;
@ -72,7 +72,7 @@ impl LegacyBV1_8 {
favicon: None,
previews_chat: None,
enforces_secure_chat: None,
server_type: Server::Legacy(LegacyGroup::VB1_8),
server_type: Server::Legacy(LegacyGroup::V1_3),
})
}

View file

@ -13,12 +13,12 @@ use crate::{
};
use std::net::SocketAddr;
pub struct LegacyV1_4 {
pub struct LegacyV1_5 {
socket: TcpSocket,
retry_count: usize,
}
impl LegacyV1_4 {
impl LegacyV1_5 {
fn new(address: &SocketAddr, timeout_settings: Option<TimeoutSettings>) -> GDResult<Self> {
let socket = TcpSocket::new(address)?;
socket.apply_timeout(&timeout_settings)?;
@ -75,7 +75,7 @@ impl LegacyV1_4 {
favicon: None,
previews_chat: None,
enforces_secure_chat: None,
server_type: Server::Legacy(LegacyGroup::V1_4),
server_type: Server::Legacy(LegacyGroup::V1_5),
})
}

View file

@ -4,8 +4,8 @@ use crate::{
protocol::{
bedrock::Bedrock,
java::Java,
legacy_bv1_8::LegacyBV1_8,
legacy_v1_4::LegacyV1_4,
legacy_v1_3::LegacyV1_3,
legacy_v1_5::LegacyV1_5,
legacy_v1_6::LegacyV1_6,
},
BedrockResponse,
@ -20,8 +20,8 @@ use std::net::SocketAddr;
mod bedrock;
mod java;
mod legacy_bv1_8;
mod legacy_v1_4;
mod legacy_v1_3;
mod legacy_v1_5;
mod legacy_v1_6;
/// Queries a Minecraft server with all the protocol variants one by one (Java
@ -61,11 +61,11 @@ pub fn query_legacy(address: &SocketAddr, timeout_settings: Option<TimeoutSettin
return Ok(response);
}
if let Ok(response) = query_legacy_specific(LegacyGroup::V1_4, address, timeout_settings.clone()) {
if let Ok(response) = query_legacy_specific(LegacyGroup::V1_5, address, timeout_settings.clone()) {
return Ok(response);
}
if let Ok(response) = query_legacy_specific(LegacyGroup::VB1_8, address, timeout_settings) {
if let Ok(response) = query_legacy_specific(LegacyGroup::V1_3, address, timeout_settings) {
return Ok(response);
}
@ -80,8 +80,8 @@ pub fn query_legacy_specific(
) -> GDResult<JavaResponse> {
match group {
LegacyGroup::V1_6 => LegacyV1_6::query(address, timeout_settings),
LegacyGroup::V1_4 => LegacyV1_4::query(address, timeout_settings),
LegacyGroup::VB1_8 => LegacyBV1_8::query(address, timeout_settings),
LegacyGroup::V1_5 => LegacyV1_5::query(address, timeout_settings),
LegacyGroup::V1_3 => LegacyV1_3::query(address, timeout_settings),
}
}

View file

@ -35,9 +35,9 @@ pub enum LegacyGroup {
/// 1.6
V1_6,
/// 1.4 - 1.5
V1_4,
V1_5,
/// Beta 1.8 - 1.3
VB1_8,
V1_3,
}
/// Information about a player.

View file

@ -13,7 +13,7 @@ use serde::{Deserialize, Serialize};
pub enum ProprietaryProtocol {
TheShip,
FFOW,
JC2MP,
JC2M,
}
/// Enumeration of all valid protocol types
@ -36,11 +36,11 @@ pub enum GenericResponse<'a> {
Quake(quake::VersionedResponse<'a>),
Valve(&'a valve::Response),
#[cfg(feature = "games")]
TheShip(&'a crate::games::ship::Response),
TheShip(&'a crate::games::theship::Response),
#[cfg(feature = "games")]
FFOW(&'a crate::games::ffow::Response),
#[cfg(feature = "games")]
JC2MP(&'a crate::games::jc2mp::Response),
JC2M(&'a crate::games::jc2m::Response),
}
/// All player types
@ -52,9 +52,9 @@ pub enum GenericPlayer<'a> {
Minecraft(&'a minecraft::Player),
Gamespy(gamespy::VersionedPlayer<'a>),
#[cfg(feature = "games")]
TheShip(&'a crate::games::ship::TheShipPlayer),
TheShip(&'a crate::games::theship::TheShipPlayer),
#[cfg(feature = "games")]
JCMP2(&'a crate::games::jc2mp::Player),
JCMP2(&'a crate::games::jc2m::Player),
}
pub trait CommonResponse {

View file

@ -304,7 +304,7 @@ impl ValveProtocol {
let environment_type = Environment::from_gldsrc(buffer.read()?)?;
let has_password = buffer.read::<u8>()? == 1;
let vac_secured = buffer.read::<u8>()? == 1;
let the_ship = match *engine == SteamApp::SHIP.as_engine() {
let the_ship = match *engine == SteamApp::THESHIP.as_engine() {
false => None,
true => {
Some(TheShip {
@ -389,11 +389,11 @@ impl ValveProtocol {
name: buffer.read_string::<Utf8Decoder>(None)?,
score: buffer.read()?,
duration: buffer.read()?,
deaths: match *engine == SteamApp::SHIP.as_engine() {
deaths: match *engine == SteamApp::THESHIP.as_engine() {
false => None,
true => Some(buffer.read()?),
},
money: match *engine == SteamApp::SHIP.as_engine() {
money: match *engine == SteamApp::THESHIP.as_engine() {
false => None,
true => Some(buffer.read()?),
},

View file

@ -254,7 +254,7 @@ impl Request {
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub enum SteamApp {
/// Counter-Strike
CS,
COUNTERSTRIKE,
/// Creativerse
CREATIVERSE,
/// Team Fortress Classic
@ -268,11 +268,11 @@ pub enum SteamApp {
/// Day of Defeat: Source
DODS,
/// Half-Life 2 Deathmatch
HL2DM,
HL2D,
/// Half-Life Deathmatch: Source
HLDMS,
HLDS,
/// Team Fortress 2
TF2,
TEAMFORTRESS2,
/// Left 4 Dead
LEFT4DEAD,
/// Left 4 Dead
@ -282,26 +282,26 @@ pub enum SteamApp {
/// Counter-Strike: Global Offensive
CSGO,
/// The Ship
SHIP,
THESHIP,
/// Garry's Mod
GARRYSMOD,
/// Age of Chivalry
AGEOFCHIVALRY,
AOC,
/// Insurgency: Modern Infantry Combat
INSURGENCYMIC,
IMIC,
/// ARMA 2: Operation Arrowhead
ARMA2OA,
A2OA,
/// Project Zomboid
PRZOMBOID,
PROJECTZOMBOID,
/// Insurgency
INSURGENCY,
/// Sven Co-op
SVEENCOOP,
SCO,
/// 7 Days To Die
SD2D,
/// Rust
RUST,
/// Vallistic Overkill
/// Ballistic Overkill
BALLISTICOVERKILL,
/// Don't Starve Together
DST,
@ -322,9 +322,9 @@ pub enum SteamApp {
/// Unturned
UNTURNED,
/// ARK: Survival Evolved
ARKSE,
ASE,
/// Battalion 1944
BAT1944,
BATTALION1944,
/// Insurgency: Sandstorm
INSURGENCYSANDSTORM,
/// Alien Swarm: Reactive Drop
@ -347,19 +347,19 @@ impl SteamApp {
match self {
Self::CSS => Engine::new_source(240),
Self::DODS => Engine::new_source(300),
Self::HL2DM => Engine::new_source(320),
Self::HLDMS => Engine::new_source(360),
Self::TF2 => Engine::new_source(440),
Self::HL2D => Engine::new_source(320),
Self::HLDS => Engine::new_source(360),
Self::TEAMFORTRESS2 => Engine::new_source(440),
Self::LEFT4DEAD => Engine::new_source(500),
Self::LEFT4DEAD2 => Engine::new_source(550),
Self::ALIENSWARM => Engine::new_source(630),
Self::CSGO => Engine::new_source(730),
Self::SHIP => Engine::new_source(2400),
Self::THESHIP => Engine::new_source(2400),
Self::GARRYSMOD => Engine::new_source(4000),
Self::AGEOFCHIVALRY => Engine::new_source(17510),
Self::INSURGENCYMIC => Engine::new_source(17700),
Self::ARMA2OA => Engine::new_source(33930),
Self::PRZOMBOID => Engine::new_source(108_600),
Self::AOC => Engine::new_source(17510),
Self::IMIC => Engine::new_source(17700),
Self::A2OA => Engine::new_source(33930),
Self::PROJECTZOMBOID => Engine::new_source(108_600),
Self::INSURGENCY => Engine::new_source(222_880),
Self::SD2D => Engine::new_source(251_570),
Self::RUST => Engine::new_source(252_490),
@ -374,8 +374,8 @@ impl SteamApp {
Self::DOI => Engine::new_source(447_820),
Self::THEFOREST => Engine::new_source(556_450),
Self::UNTURNED => Engine::new_source(304_930),
Self::ARKSE => Engine::new_source(346_110),
Self::BAT1944 => Engine::new_source(489_940),
Self::ASE => Engine::new_source(346_110),
Self::BATTALION1944 => Engine::new_source(489_940),
Self::INSURGENCYSANDSTORM => Engine::new_source(581_320),
Self::ASRD => Engine::new_source(563_560),
Self::ROR2 => Engine::new_source(632_360),