From b5afff068aa0bd705ebab114c18b76f4d7fe9915 Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Sat, 8 Mar 2025 13:51:50 -0500 Subject: [PATCH] Add dummy lobby server This doesn't respond or read anything yet, it's just for testing. --- Cargo.lock | 3 ++- Cargo.toml | 2 +- run.sh | 3 ++- src/bin/kawari-lobby.rs | 28 ++++++++++++++++++++++++++++ 4 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 src/bin/kawari-lobby.rs diff --git a/Cargo.lock b/Cargo.lock index feefe21..eb5dc0b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "addr2line" @@ -654,6 +654,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" dependencies = [ "backtrace", + "bytes", "libc", "mio", "num_cpus", diff --git a/Cargo.toml b/Cargo.toml index 52e5e78..fb6c7a3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -28,7 +28,7 @@ panic = "abort" [dependencies] axum = { version = "0.6", features = ["json", "tokio", "http1", "form", "query", "headers"], default-features = false } serde_json = { version = "1.0", default-features = false } -tokio = { version = "1.37", features = ["macros", "rt", "rt-multi-thread"], default-features = false } +tokio = { version = "1.37", features = ["macros", "rt", "rt-multi-thread", "io-util"], default-features = false } tracing = { version = "0.1", default-features = false } serde = { version = "1.0", features = ["derive"], default-features = false } tracing-subscriber = { version = "0.3", features = ["fmt"], default-features = false } diff --git a/run.sh b/run.sh index 6972d2c..5fe4b3a 100755 --- a/run.sh +++ b/run.sh @@ -7,4 +7,5 @@ cargo run -q --package kawari --bin kawari-frontier & cargo run -q --package kawari --bin kawari-login & cargo run -q --package kawari --bin kawari-patch & cargo run -q --package kawari --bin kawari-web & -wait \ No newline at end of file +cargo run -q --package kawari --bin kawari-lobby & +wait diff --git a/src/bin/kawari-lobby.rs b/src/bin/kawari-lobby.rs new file mode 100644 index 0000000..fcdf675 --- /dev/null +++ b/src/bin/kawari-lobby.rs @@ -0,0 +1,28 @@ +use tokio::io::AsyncReadExt; +use tokio::net::TcpListener; + +#[tokio::main] +async fn main() { + tracing_subscriber::fmt::init(); + + let listener = TcpListener::bind("127.0.0.1:7000").await.unwrap(); + + tracing::info!("Lobby server started on 7000"); + + loop { + let (socket, _) = listener.accept().await.unwrap(); + let (mut read, _) = tokio::io::split(socket); + + tokio::spawn(async move { + let mut buf = [0; 2056]; + loop { + let n = read + .read(&mut buf) + .await + .expect("Failed to read data!"); + + println!("Recieved data: {:#?}", &buf[..n]); + } + }); + } +}