diff options
Diffstat (limited to 'minecraft-client/src/ping.rs')
| -rw-r--r-- | minecraft-client/src/ping.rs | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/minecraft-client/src/ping.rs b/minecraft-client/src/ping.rs deleted file mode 100644 index ff869d4e..00000000 --- a/minecraft-client/src/ping.rs +++ /dev/null @@ -1,44 +0,0 @@ -///! Ping Minecraft servers. -use minecraft_protocol::{ - connect::HandshakeConnection, - packets::{ - handshake::client_intention_packet::ClientIntentionPacket, - status::{ - clientbound_status_response_packet::ClientboundStatusResponsePacket, - serverbound_status_request_packet::ServerboundStatusRequestPacket, StatusPacket, - }, - ConnectionProtocol, PROTOCOL_VERSION, - }, - resolver, ServerAddress, -}; - -pub async fn ping_server( - address: &ServerAddress, -) -> Result<ClientboundStatusResponsePacket, String> { - let resolved_address = resolver::resolve_address(address).await?; - - let mut conn = HandshakeConnection::new(&resolved_address).await?; - - // send the client intention packet and switch to the status state - conn.write( - ClientIntentionPacket { - protocol_version: PROTOCOL_VERSION, - hostname: address.host.clone(), - port: address.port, - intention: ConnectionProtocol::Status, - } - .get(), - ) - .await; - let mut conn = conn.status(); - - // send the empty status request packet - conn.write(ServerboundStatusRequestPacket {}.get()).await; - - let packet = conn.read().await.unwrap(); - - match packet { - StatusPacket::ClientboundStatusResponsePacket(p) => Ok(*p), - _ => Err("Invalid packet type".to_string()), - } -} |
