diff options
| author | mat <github@matdoes.dev> | 2021-12-15 23:10:55 -0600 |
|---|---|---|
| committer | mat <github@matdoes.dev> | 2021-12-15 23:10:55 -0600 |
| commit | 9642558f8f8d983a7087f15d68be8cf07a85f0c2 (patch) | |
| tree | 5f0a967f005cd5db510a13ab290c8ad6669b25aa /minecraft-client | |
| parent | 72aefe871ca4983431b1a0b707b472e73ffea836 (diff) | |
| download | azalea-drasl-9642558f8f8d983a7087f15d68be8cf07a85f0c2.tar.xz | |
azalea
Diffstat (limited to 'minecraft-client')
| -rw-r--r-- | minecraft-client/Cargo.toml | 9 | ||||
| -rw-r--r-- | minecraft-client/src/connect.rs | 53 | ||||
| -rw-r--r-- | minecraft-client/src/crypt.rs | 0 | ||||
| -rw-r--r-- | minecraft-client/src/lib.rs | 13 | ||||
| -rw-r--r-- | minecraft-client/src/ping.rs | 44 |
5 files changed, 0 insertions, 119 deletions
diff --git a/minecraft-client/Cargo.toml b/minecraft-client/Cargo.toml deleted file mode 100644 index 10a0ecbf..00000000 --- a/minecraft-client/Cargo.toml +++ /dev/null @@ -1,9 +0,0 @@ -[package] -name = "minecraft-client" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -minecraft-protocol = { path = "../minecraft-protocol" }
\ No newline at end of file diff --git a/minecraft-client/src/connect.rs b/minecraft-client/src/connect.rs deleted file mode 100644 index 5eedbf96..00000000 --- a/minecraft-client/src/connect.rs +++ /dev/null @@ -1,53 +0,0 @@ -///! Connect to Minecraft servers. -use minecraft_protocol::{ - connect::HandshakeConnection, - packets::{ - handshake::client_intention_packet::ClientIntentionPacket, - login::{serverbound_hello_packet::ServerboundHelloPacket, LoginPacket}, - ConnectionProtocol, PROTOCOL_VERSION, - }, - resolver, ServerAddress, -}; - -pub async fn join_server(address: &ServerAddress) -> Result<(), String> { - let username = "bot".to_string(); - - let resolved_address = resolver::resolve_address(address).await?; - - let mut conn = HandshakeConnection::new(&resolved_address).await?; - - // handshake - conn.write( - ClientIntentionPacket { - protocol_version: PROTOCOL_VERSION, - hostname: address.host.clone(), - port: address.port, - intention: ConnectionProtocol::Login, - } - .get(), - ) - .await; - let mut conn = conn.login(); - - // login start - conn.write(ServerboundHelloPacket { username }.get()).await; - - // encryption request - loop { - match conn.read().await.unwrap() { - LoginPacket::ClientboundHelloPacket(encryption_request_packet) => { - println!( - "Got encryption request {:?} {:?}", - encryption_request_packet.nonce, encryption_request_packet.public_key - ); - } - _ => (), - } - } - - // TODO: client auth - - // TODO: encryption response - - Ok(()) -} diff --git a/minecraft-client/src/crypt.rs b/minecraft-client/src/crypt.rs deleted file mode 100644 index e69de29b..00000000 --- a/minecraft-client/src/crypt.rs +++ /dev/null diff --git a/minecraft-client/src/lib.rs b/minecraft-client/src/lib.rs deleted file mode 100644 index d4ceebde..00000000 --- a/minecraft-client/src/lib.rs +++ /dev/null @@ -1,13 +0,0 @@ -//! Significantly abstract minecraft-protocol so it's actually useable for bots. - -pub mod connect; -pub mod ping; - -#[cfg(test)] -mod tests { - #[test] - fn it_works() { - let result = 2 + 2; - assert_eq!(result, 4); - } -} 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()), - } -} |
