server from db working

This commit is contained in:
2026-05-31 23:59:51 +02:00
parent 2303f06fea
commit b818f7eaa3
12 changed files with 203 additions and 69 deletions

View File

@ -1,26 +1,24 @@
use crate::minecraft::client::client::Client;
use json::object;
use crate::minecraft::varint::varint_write;
use std::collections::VecDeque;
use tokio::net::TcpStream;
impl Client {
pub async fn login_intent_handle(&mut self, mut _packet: &mut VecDeque<u8>, _packet_id: i32) -> Result<(),String> {
let stream = TcpStream::connect("play.hypixel.net:25565").await.map_err(|_| "failed to connect to remote host".to_string())?;
let mut new_handshake = self.handshake.as_ref().unwrap().clone();
new_handshake.server_address = "play.hypixel.net".to_string();
new_handshake.server_port = 25565;
let reason_json = object! {
"type": "text",
"text": "login to start not implemented yet",
"color": "red"
};
let mut response: Vec<u8> = vec![];
let response_json = json::stringify(reason_json);
let mut response_json_len = varint_write(response_json.len() as i32);
let handshake_packet = new_handshake.to_packet();
let mut packet = Vec::new();
packet.extend(varint_write(handshake_packet.len() as i32));
packet.extend(handshake_packet);
self.out_stream = Some(stream);
let _ = self.out_stream.as_ref().unwrap().writable().await;
let _ = self.out_stream.as_ref().unwrap().try_write(packet.as_slice());
println!("[{}] sent handshake to server", self);
response.append(&mut response_json_len);
response.append(&mut response_json.as_bytes().into());
self.send_packet(0x0, response).await;
Ok(())
}
}