diff --git a/src/games/mc.rs b/src/games/mc.rs index 32443e7..6b03328 100644 --- a/src/games/mc.rs +++ b/src/games/mc.rs @@ -1,15 +1,15 @@ use crate::{GDError, GDResult}; use crate::protocols::minecraft; -use crate::protocols::minecraft::{Response, LegacyGroup, BedrockResponse}; +use crate::protocols::minecraft::{JavaResponse, LegacyGroup, BedrockResponse}; /// Query with all the protocol variants one by one (Java -> Bedrock -> Legacy (1.6 -> 1.4 -> Beta 1.8)). -pub fn query(address: &str, port: Option) -> GDResult { +pub fn query(address: &str, port: Option) -> GDResult { if let Ok(response) = query_java(address, port) { return Ok(response); } if let Ok(response) = query_bedrock(address, port) { - return Ok(Response::from_bedrock_response(response)); + return Ok(JavaResponse::from_bedrock_response(response)); } if let Ok(response) = query_legacy(address, port) { @@ -20,17 +20,17 @@ pub fn query(address: &str, port: Option) -> GDResult { } /// Query a Java Server. -pub fn query_java(address: &str, port: Option) -> GDResult { +pub fn query_java(address: &str, port: Option) -> GDResult { minecraft::query_java(address, port_or_java_default(port), None) } /// Query a (Java) Legacy Server (1.6 -> 1.4 -> Beta 1.8). -pub fn query_legacy(address: &str, port: Option) -> GDResult { +pub fn query_legacy(address: &str, port: Option) -> GDResult { minecraft::query_legacy(address, port_or_java_default(port), None) } /// Query a specific (Java) Legacy Server. -pub fn query_legacy_specific(group: LegacyGroup, address: &str, port: Option) -> GDResult { +pub fn query_legacy_specific(group: LegacyGroup, address: &str, port: Option) -> GDResult { minecraft::query_legacy_specific(group, address, port_or_java_default(port), None) } diff --git a/src/protocols/minecraft/protocol/java.rs b/src/protocols/minecraft/protocol/java.rs index 1d95c03..e71ecb1 100644 --- a/src/protocols/minecraft/protocol/java.rs +++ b/src/protocols/minecraft/protocol/java.rs @@ -2,7 +2,7 @@ use serde_json::Value; use crate::GDResult; use crate::GDError::{JsonParse, PacketBad}; use crate::bufferer::{Bufferer, Endianess}; -use crate::protocols::minecraft::{as_varint, get_string, get_varint, Player, Response, Server}; +use crate::protocols::minecraft::{as_varint, get_string, get_varint, Player, JavaResponse, Server}; use crate::protocols::types::TimeoutSettings; use crate::socket::{Socket, TcpSocket}; @@ -65,7 +65,7 @@ impl Java { Ok(()) } - fn get_info(&mut self) -> GDResult { + fn get_info(&mut self) -> GDResult { self.send_handshake()?; self.send_status_request()?; self.send_ping_request()?; @@ -107,7 +107,7 @@ impl Java { }) }; - Ok(Response { + Ok(JavaResponse { version_name, version_protocol, players_maximum: max_players, @@ -121,7 +121,7 @@ impl Java { }) } - pub fn query(address: &str, port: u16, timeout_settings: Option) -> GDResult { + pub fn query(address: &str, port: u16, timeout_settings: Option) -> GDResult { Java::new(address, port, timeout_settings)?.get_info() } } diff --git a/src/protocols/minecraft/protocol/legacy_bv1_8.rs b/src/protocols/minecraft/protocol/legacy_bv1_8.rs index e02e7dc..e4cdf29 100644 --- a/src/protocols/minecraft/protocol/legacy_bv1_8.rs +++ b/src/protocols/minecraft/protocol/legacy_bv1_8.rs @@ -2,7 +2,7 @@ use crate::GDResult; use crate::bufferer::{Bufferer, Endianess}; use crate::GDError::{PacketBad, ProtocolFormat}; -use crate::protocols::minecraft::{LegacyGroup, Response, Server}; +use crate::protocols::minecraft::{LegacyGroup, JavaResponse, Server}; use crate::protocols::types::TimeoutSettings; use crate::socket::{Socket, TcpSocket}; use crate::utils::error_by_expected_size; @@ -25,7 +25,7 @@ impl LegacyBV1_8 { self.socket.send(&[0xFE]) } - fn get_info(&mut self) -> GDResult { + fn get_info(&mut self) -> GDResult { self.send_initial_request()?; let mut buffer = Bufferer::new_with_data(Endianess::Big, &self.socket.receive(None)?); @@ -48,7 +48,7 @@ impl LegacyBV1_8 { let max_players = split[2].parse() .map_err(|_| PacketBad)?; - Ok(Response { + Ok(JavaResponse { version_name: "Beta 1.8+".to_string(), version_protocol: -1, players_maximum: max_players, @@ -62,7 +62,7 @@ impl LegacyBV1_8 { }) } - pub fn query(address: &str, port: u16, timeout_settings: Option) -> GDResult { + pub fn query(address: &str, port: u16, timeout_settings: Option) -> GDResult { LegacyBV1_8::new(address, port, timeout_settings)?.get_info() } } diff --git a/src/protocols/minecraft/protocol/legacy_v1_4.rs b/src/protocols/minecraft/protocol/legacy_v1_4.rs index cdd5a95..69195eb 100644 --- a/src/protocols/minecraft/protocol/legacy_v1_4.rs +++ b/src/protocols/minecraft/protocol/legacy_v1_4.rs @@ -2,7 +2,7 @@ use crate::GDResult; use crate::bufferer::{Bufferer, Endianess}; use crate::GDError::{PacketBad, ProtocolFormat}; -use crate::protocols::minecraft::{LegacyGroup, Response, Server}; +use crate::protocols::minecraft::{LegacyGroup, JavaResponse, Server}; use crate::protocols::minecraft::protocol::legacy_v1_6::LegacyV1_6; use crate::protocols::types::TimeoutSettings; use crate::socket::{Socket, TcpSocket}; @@ -26,7 +26,7 @@ impl LegacyV1_4 { self.socket.send(&[0xFE, 0x01]) } - fn get_info(&mut self) -> GDResult { + fn get_info(&mut self) -> GDResult { self.send_initial_request()?; let mut buffer = Bufferer::new_with_data(Endianess::Big, &self.socket.receive(None)?); @@ -53,7 +53,7 @@ impl LegacyV1_4 { let max_players = split[2].parse() .map_err(|_| PacketBad)?; - Ok(Response { + Ok(JavaResponse { version_name: "1.4+".to_string(), version_protocol: -1, players_maximum: max_players, @@ -67,7 +67,7 @@ impl LegacyV1_4 { }) } - pub fn query(address: &str, port: u16, timeout_settings: Option) -> GDResult { + pub fn query(address: &str, port: u16, timeout_settings: Option) -> GDResult { LegacyV1_4::new(address, port, timeout_settings)?.get_info() } } diff --git a/src/protocols/minecraft/protocol/legacy_v1_6.rs b/src/protocols/minecraft/protocol/legacy_v1_6.rs index da86356..6188dbf 100644 --- a/src/protocols/minecraft/protocol/legacy_v1_6.rs +++ b/src/protocols/minecraft/protocol/legacy_v1_6.rs @@ -1,7 +1,7 @@ use crate::GDResult; use crate::GDError::{PacketBad, ProtocolFormat}; use crate::bufferer::{Bufferer, Endianess}; -use crate::protocols::minecraft::{LegacyGroup, Response, Server}; +use crate::protocols::minecraft::{LegacyGroup, JavaResponse, Server}; use crate::protocols::types::TimeoutSettings; use crate::socket::{Socket, TcpSocket}; use crate::utils::error_by_expected_size; @@ -46,7 +46,7 @@ impl LegacyV1_6 { Ok(state) } - pub fn get_response(buffer: &mut Bufferer) -> GDResult { + pub fn get_response(buffer: &mut Bufferer) -> GDResult { let packet_string = buffer.get_string_utf16()?; let split: Vec<&str> = packet_string.split("\x00").collect(); @@ -61,7 +61,7 @@ impl LegacyV1_6 { let max_players = split[4].parse() .map_err(|_| PacketBad)?; - Ok(Response { + Ok(JavaResponse { version_name, version_protocol, players_maximum: max_players, @@ -75,7 +75,7 @@ impl LegacyV1_6 { }) } - fn get_info(&mut self) -> GDResult { + fn get_info(&mut self) -> GDResult { self.send_initial_request()?; let mut buffer = Bufferer::new_with_data(Endianess::Big, &self.socket.receive(None)?); @@ -94,7 +94,7 @@ impl LegacyV1_6 { LegacyV1_6::get_response(&mut buffer) } - pub fn query(address: &str, port: u16, timeout_settings: Option) -> GDResult { + pub fn query(address: &str, port: u16, timeout_settings: Option) -> GDResult { LegacyV1_6::new(address, port, timeout_settings)?.get_info() } } diff --git a/src/protocols/minecraft/protocol/mod.rs b/src/protocols/minecraft/protocol/mod.rs index 2750b45..73bcb90 100644 --- a/src/protocols/minecraft/protocol/mod.rs +++ b/src/protocols/minecraft/protocol/mod.rs @@ -1,6 +1,6 @@ use crate::GDError::AutoQuery; use crate::GDResult; -use crate::protocols::minecraft::{BedrockResponse, LegacyGroup, Response}; +use crate::protocols::minecraft::{BedrockResponse, LegacyGroup, JavaResponse}; use crate::protocols::minecraft::protocol::bedrock::Bedrock; use crate::protocols::minecraft::protocol::java::Java; use crate::protocols::minecraft::protocol::legacy_v1_4::LegacyV1_4; @@ -15,13 +15,13 @@ mod legacy_bv1_8; mod bedrock; /// Queries a Minecraft server with all the protocol variants one by one (Java -> Bedrock -> Legacy (1.6 -> 1.4 -> Beta 1.8)). -pub fn query(address: &str, port: u16, timeout_settings: Option) -> GDResult { +pub fn query(address: &str, port: u16, timeout_settings: Option) -> GDResult { if let Ok(response) = query_java(address, port, timeout_settings.clone()) { return Ok(response); } if let Ok(response) = query_bedrock(address, port, timeout_settings.clone()) { - return Ok(Response::from_bedrock_response(response)); + return Ok(JavaResponse::from_bedrock_response(response)); } if let Ok(response) = query_legacy(address, port, timeout_settings) { @@ -32,12 +32,12 @@ pub fn query(address: &str, port: u16, timeout_settings: Option } /// Query a Java Server. -pub fn query_java(address: &str, port: u16, timeout_settings: Option) -> GDResult { +pub fn query_java(address: &str, port: u16, timeout_settings: Option) -> GDResult { Java::query(address, port, timeout_settings) } /// Query a (Java) Legacy Server (1.6 -> 1.4 -> Beta 1.8). -pub fn query_legacy(address: &str, port: u16, timeout_settings: Option) -> GDResult { +pub fn query_legacy(address: &str, port: u16, timeout_settings: Option) -> GDResult { if let Ok(response) = query_legacy_specific(LegacyGroup::V1_6, address, port, timeout_settings.clone()) { return Ok(response); } @@ -54,7 +54,7 @@ pub fn query_legacy(address: &str, port: u16, timeout_settings: Option) -> GDResult { +pub fn query_legacy_specific(group: LegacyGroup, address: &str, port: u16, timeout_settings: Option) -> GDResult { match group { LegacyGroup::V1_6 => LegacyV1_6::query(address, port, timeout_settings), LegacyGroup::V1_4 => LegacyV1_4::query(address, port, timeout_settings), diff --git a/src/protocols/minecraft/types.rs b/src/protocols/minecraft/types.rs index b974b73..aa85e82 100644 --- a/src/protocols/minecraft/types.rs +++ b/src/protocols/minecraft/types.rs @@ -38,9 +38,9 @@ pub struct Player { pub id: String } -/// A query response. +/// A Java query response. #[derive(Debug)] -pub struct Response { +pub struct JavaResponse { /// Version name, example: "1.19.2". pub version_name: String, /// Version protocol, example: 760 (for 1.19.2). @@ -88,7 +88,7 @@ pub struct BedrockResponse { pub server_type: Server } -impl Response { +impl JavaResponse { pub fn from_bedrock_response(response: BedrockResponse) -> Self { Self { version_name: response.version_name,